mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Fixed wrong mysql-test
New german error messages BitKeeper/deleted/.del-ATIS-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg~d002b0bc548ff8b3: Delete: sql-bench/Results/ATIS-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-RUN-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg~e938a858bd12aa8d: Delete: sql-bench/Results/RUN-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-alter-table-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg~14360865bbba479f: Delete: sql-bench/Results/alter-table-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-big-tables-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg~b6be70bb51013cad: Delete: sql-bench/Results/big-tables-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-connect-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg~1b715c6fd72e913e: Delete: sql-bench/Results/connect-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-create-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg~f3b1d326092bf44: Delete: sql-bench/Results/create-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-insert-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg~a0143553cccb54e2: Delete: sql-bench/Results/insert-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-select-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg~4ffc9cf4be665ea2: Delete: sql-bench/Results/select-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-wisconsin-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg~1ed1dc6abd24e7e3: Delete: sql-bench/Results/wisconsin-pg-Linux_2.4.0_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-ATIS-mysql_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~2ac8fe298953d43: Delete: sql-bench/Results/ATIS-mysql_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-ATIS-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~cf0d806760eefef2: Delete: sql-bench/Results/ATIS-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-ATIS-pg_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~e625af7f600bf930: Delete: sql-bench/Results/ATIS-pg_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-RUN-mysql_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~a88e954bc8de5460: Delete: sql-bench/Results/RUN-mysql_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-RUN-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~d922a0fcc1009130: Delete: sql-bench/Results/RUN-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-RUN-pg_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~840503a555e420ec: Delete: sql-bench/Results/RUN-pg_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-alter-table-mysql_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~ee94f987797ca948: Delete: sql-bench/Results/alter-table-mysql_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-alter-table-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~2f516d2c108a9e05: Delete: sql-bench/Results/alter-table-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-alter-table-pg_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~6e532c1936df1737: Delete: sql-bench/Results/alter-table-pg_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-big-tables-mysql_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~28b688e2cd4b6bb3: Delete: sql-bench/Results/big-tables-mysql_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-big-tables-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~6d8209bf72b663ed: Delete: sql-bench/Results/big-tables-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-big-tables-pg_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~c87333d6fe04433e: Delete: sql-bench/Results/big-tables-pg_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-connect-mysql_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~1cf5d5f0d70a3fa0: Delete: sql-bench/Results/connect-mysql_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-connect-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~7ed15d6fd1a5944c: Delete: sql-bench/Results/connect-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-connect-pg_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~ab58fffa30dce97e: Delete: sql-bench/Results/connect-pg_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-create-mysql_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~fc207468e871ff69: Delete: sql-bench/Results/create-mysql_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-create-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~241c337935ae1524: Delete: sql-bench/Results/create-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-create-pg_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~4e5a2ab4907748d4: Delete: sql-bench/Results/create-pg_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-insert-mysql_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~975e26cac59161fa: Delete: sql-bench/Results/insert-mysql_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-insert-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~27b7a557c3cb07a: Delete: sql-bench/Results/insert-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-insert-pg_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~a85a6f0477c13f83: Delete: sql-bench/Results/insert-pg_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-select-mysql_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~34a39fbcb58d8945: Delete: sql-bench/Results/select-mysql_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-select-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~8ef771713f89e1: Delete: sql-bench/Results/select-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-select-pg_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~4f7795c27eaab86b: Delete: sql-bench/Results/select-pg_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-wisconsin-mysql_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~8101a5823c17e58a: Delete: sql-bench/Results/wisconsin-mysql_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-wisconsin-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~6a468dcd3e6f5405: Delete: sql-bench/Results/wisconsin-pg-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-wisconsin-pg_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg~24a02e007a58bf73: Delete: sql-bench/Results/wisconsin-pg_fast-Linux_2.2.14_my_SMP_i686-cmp-mysql,pg Docs/internals.texi: Added MySQL protocol Docs/manual.texi: Added links configure.in: Update to 39a mysql-test/t/check.test: Added missing drop table mysql-test/t/compare.test: Added missing drop table sql/share/german/errmsg.txt: Update
This commit is contained in:
@ -47,7 +47,7 @@ This is a manual about @strong{MySQL} internals.
|
||||
@menu
|
||||
@end menu
|
||||
|
||||
@node caching
|
||||
@node caching,,,
|
||||
@chapter How MySQL handles caching
|
||||
|
||||
@strong{MySQL} has the following caches:
|
||||
@ -89,7 +89,7 @@ found rows are cached in a join cache. One SELECT query can use many
|
||||
join caches in the worst case.
|
||||
@end itemize
|
||||
|
||||
@node flush tables
|
||||
@node flush tables,,,
|
||||
@chapter How MySQL handles flush tables
|
||||
|
||||
@itemize @bullet
|
||||
@ -134,7 +134,7 @@ After this it will give other threads a chance to open the same tables.
|
||||
|
||||
@end itemize
|
||||
|
||||
@node Filesort
|
||||
@node Filesort,,,
|
||||
@chapter How MySQL does sorting (filesort)
|
||||
|
||||
@itemize @bullet
|
||||
@ -174,7 +174,7 @@ and then we read the rows in the sorted order into a row buffer
|
||||
|
||||
@end itemize
|
||||
|
||||
@node Coding guidelines
|
||||
@node Coding guidelines,,,
|
||||
@chapter Coding guidelines
|
||||
|
||||
@itemize @bullet
|
||||
@ -289,7 +289,7 @@ Use pointers rather than array indexing when operating on strings.
|
||||
|
||||
@end itemize
|
||||
|
||||
@node mysys functions
|
||||
@node mysys functions,,,
|
||||
@chapter mysys functions
|
||||
|
||||
Functions i mysys: (For flags se my_sys.h)
|
||||
@ -433,6 +433,205 @@ Functions i mysys: (For flags se my_sys.h)
|
||||
void end_key_cache _A((void));
|
||||
- End key-cacheing.
|
||||
|
||||
@node protocol,,,
|
||||
@chapter MySQL client/server protocol
|
||||
|
||||
Raw packet without compression
|
||||
==============================
|
||||
-------------------------------------------------
|
||||
| Packet Length | Packet no | Data |
|
||||
| 3 Bytes | 1 Byte | n Bytes |
|
||||
-------------------------------------------------
|
||||
|
||||
3 Byte packet length
|
||||
The length is calculated with int3store
|
||||
See include/global.h for details.
|
||||
The max packetsize can be 16 MB.
|
||||
1 Byte packet no
|
||||
|
||||
If no compression is used the first 4 bytes of each paket
|
||||
is the header of the paket.
|
||||
The packet number is incremented for each sent packet. The first
|
||||
packet starts with 0
|
||||
|
||||
n Byte data
|
||||
|
||||
The packet length can be recalculated with:
|
||||
length = byte1 + (256 * byte2) + (256 * 256 * byte3)
|
||||
|
||||
Raw packet with compression
|
||||
===========================
|
||||
-----------------------------------------------------
|
||||
| Packet Length | Packet no | Uncomp. Packet Length |
|
||||
| 3 Bytes | 1 Byte | 3 Bytes |
|
||||
-----------------------------------------------------
|
||||
|
||||
3 Byte packet length
|
||||
The length is calculated with int3store
|
||||
See include/global.h for details.
|
||||
The max packetsize can be 16 MB.
|
||||
1 Byte packet no
|
||||
3 Byte uncompressed packet length
|
||||
|
||||
If compression is used the first 7 bytes of each paket
|
||||
is the header of the paket.
|
||||
|
||||
Basic packets
|
||||
==============
|
||||
OK-packet
|
||||
For details see sql/net_pkg.cc
|
||||
function send_ok
|
||||
-------------------------------------------------
|
||||
| Header | No of Rows | Affected Rows |
|
||||
| | 1 Byte | 1-8 Byte |
|
||||
-------------------------------------------------
|
||||
| ID (last_insert_id) | Status | Length |
|
||||
| 1-8 Byte | 2 Byte | 1-8 Byte |
|
||||
-------------------------------------------------
|
||||
| Messagetext |
|
||||
| n Byte |
|
||||
-------------------------------------------------
|
||||
|
||||
Header
|
||||
1 byte number of rows ? (always 0 ?)
|
||||
1-8 bytes affected rows
|
||||
1-8 byte id (last_insert_id)
|
||||
2 byte Status (usually 0)
|
||||
If the OK-packege includes a message:
|
||||
1-8 bytes length of message
|
||||
n bytes messagetext
|
||||
|
||||
Error-packet
|
||||
-------------------------------------------------
|
||||
| Header | Statuscode | Error no |
|
||||
| | 1 Byte | 2 Byte |
|
||||
-------------------------------------------------
|
||||
| Messagetext | 0x00 |
|
||||
| n Byte | 1 Byte |
|
||||
-------------------------------------------------
|
||||
|
||||
Header
|
||||
1 byte status code (0xFF = ERROR)
|
||||
2 byte error number (is only sent to new 3.23 clients.
|
||||
n byte errortext
|
||||
1 byte 0x00
|
||||
|
||||
|
||||
|
||||
The communication
|
||||
=================
|
||||
|
||||
> Packet from server to client
|
||||
< Paket from client tor server
|
||||
|
||||
Login
|
||||
------
|
||||
> 1. packet
|
||||
Header
|
||||
1 byte protocolversion
|
||||
n byte serverversion
|
||||
1 byte 0x00
|
||||
4 byte threadnumber
|
||||
8 byte crypt seed
|
||||
1 byte 0x00
|
||||
2 byte CLIENT_xxx options (see include/mysql_com.h
|
||||
that is supported by the server
|
||||
1 byte number of current server charset
|
||||
2 byte server status variables (SERVER_STATUS_xxx flags)
|
||||
13 byte 0x00 (not used yet).
|
||||
|
||||
< 2. packet
|
||||
Header
|
||||
2 byte CLIENT_xxx options
|
||||
3 byte max_allowed_packet for the client
|
||||
n byte username
|
||||
1 byte 0x00
|
||||
8 byte crypted password
|
||||
1 byte 0x00
|
||||
n byte databasename
|
||||
1 byte 0x00
|
||||
|
||||
> 3. packet
|
||||
OK-packet
|
||||
|
||||
|
||||
Command
|
||||
--------
|
||||
< 1. packet
|
||||
Header
|
||||
1 byte command type (e.g.0x03 = query)
|
||||
n byte query
|
||||
|
||||
Result set (after command)
|
||||
--------------------------
|
||||
> 2. packet
|
||||
Header
|
||||
1-8 byte field_count (packed with net_store_length())
|
||||
|
||||
If field_count == 0 (command):
|
||||
1-8 byte affected rows
|
||||
1-8 byte insert id
|
||||
2 bytes server_status (SERVER_STATUS_xx)
|
||||
|
||||
If field_count == NULL_LENGTH (251)
|
||||
LOAD DATA LOCAL INFILE
|
||||
|
||||
If field_count > 0 Result Set:
|
||||
|
||||
> n packets
|
||||
Header Info
|
||||
Column description: 5 data object /column
|
||||
(See code in unpack_fields())
|
||||
|
||||
Columninfo for each column:
|
||||
1 data block table_name
|
||||
1 byte length of block
|
||||
n byte data
|
||||
1 data block field_name
|
||||
1 byte length of block...
|
||||
n byte data
|
||||
1 data block display length of field
|
||||
1 byte length of block
|
||||
3 bytes display length of filed
|
||||
1 data block type field of type (enum_field_types)
|
||||
1 byte length of block
|
||||
1 bytexs field of type
|
||||
1 data block flags
|
||||
1 byte length of block
|
||||
2 byte flags for the columns (NOT_NULL_FLAG, ZEROFILL_FLAG....)
|
||||
1 byte decimals
|
||||
|
||||
if table definition:
|
||||
1 data block default value
|
||||
|
||||
Actual result (one packet per row):
|
||||
4 byte header
|
||||
1-8 byte length of data
|
||||
n data
|
||||
|
||||
|
||||
Fieldtype Codes:
|
||||
================
|
||||
|
||||
display_length |enum_field_type |flags
|
||||
----------------------------------------------------
|
||||
Blob 03 FF FF 00 |01 FC |03 90 00 00
|
||||
Mediumblob 03 FF FF FF |01 FC |03 90 00 00
|
||||
Tinyblob 03 FF 00 00 |01 FC |03 90 00 00
|
||||
Text 03 FF FF 00 |01 FC |03 10 00 00
|
||||
Mediumtext 03 FF FF FF |01 FC |03 10 00 00
|
||||
Tinytext 03 FF 00 00 |01 FC |03 10 00 00
|
||||
Integer 03 0B 00 00 |01 03 |03 03 42 00
|
||||
Mediumint 03 09 00 00 |01 09 |03 00 00 00
|
||||
Smallint 03 06 00 00 |01 02 |03 00 00 00
|
||||
Tinyint 03 04 00 00 |01 01 |03 00 00 00
|
||||
Varchar 03 XX 00 00 |01 FD |03 00 00 00
|
||||
Enum 03 05 00 00 |01 FE |03 00 01 00
|
||||
Datetime 03 13 00 00 |01 0C |03 00 00 00
|
||||
Timestamp 03 0E 00 00 |01 07 |03 61 04 00
|
||||
Time 03 08 00 00 |01 0B |03 00 00 00
|
||||
Date 03 0A 00 00 |01 0A |03 00 00 00
|
||||
|
||||
|
||||
@c The Index was empty, and ugly, so I removed it. (jcole, Sep 7, 2000)
|
||||
|
||||
|
Reference in New Issue
Block a user