diff options
-rw-r--r-- | Docs/manual.texi | 17 | ||||
-rw-r--r-- | sql/lex.h | 1 | ||||
-rw-r--r-- | sql/sql_lex.h | 3 | ||||
-rw-r--r-- | sql/sql_parse.cc | 1 | ||||
-rw-r--r-- | sql/sql_yacc.yy | 16 |
5 files changed, 29 insertions, 9 deletions
diff --git a/Docs/manual.texi b/Docs/manual.texi index 52d4b5059e3..e28a6820873 100644 --- a/Docs/manual.texi +++ b/Docs/manual.texi @@ -1722,7 +1722,7 @@ There hasn't been a single reported bug in this system for a long time. @item The C client code --- Stable No known problems. In early Version 3.20 releases, there were some limitations in the send/receive buffer size. As of Version 3.21, the buffer size is now -dynamic up to a default of 24M. +dynamic up to a default of 16M. @item Standard client programs --- Stable These include @code{mysql}, @code{mysqladmin}, @code{mysqlshow}, @@ -13197,7 +13197,10 @@ A @code{BLOB} or @code{TEXT} column with a maximum length of 16777215 @itemx LONGTEXT A @code{BLOB} or @code{TEXT} column with a maximum length of 4294967295 -(2^32 - 1) characters. @xref{Silent column changes}. +(2^32 - 1) characters. @xref{Silent column changes}. Note that because +the server/client protocol and MyISAM tables has currently a limit of +16M per communication packet / table row, you can't yet use this +the whole range of this type. @tindex ENUM @item ENUM('value1','value2',...) @@ -27780,7 +27783,7 @@ Dump only selected records; Note that QUOTES are mandatory! @example "--where=user='jimf'" "-wuserid>1" "-wuserid<1" @end example -@item -O net_buffer_length=#, where # < 24M +@item -O net_buffer_length=#, where # < 16M When creating multi-row-insert statements (as with option @code{--extended-insert} or @code{--opt}), @code{mysqldump} will create rows up to @code{net_buffer_length} length. If you increase this @@ -31225,7 +31228,7 @@ packet size (such as @code{DBI}), you need to set the packet size when you start the server. You cau use a command-line option to @code{mysqld} to set @code{max_allowed_packet} to a larger size. For example, if you are expecting to store the full length of a @code{BLOB} into a table, you'll need -to start the server with the @code{--set-variable=max_allowed_packet=24M} +to start the server with the @code{--set-variable=max_allowed_packet=16M} option. @cindex aborted connection @@ -32457,7 +32460,7 @@ library. See @ref{Programs}, for a list of these variables. The client has a maximum communication buffer size. The size of the buffer that is allocated initially (16K bytes) is automatically increased up to the -maximum size (the default maximum is 24M). Because buffer sizes are increased +maximum size (the maximum is 16M). Because buffer sizes are increased only as demand warrants, simply increasing the default maximum limit does not in itself cause more resources to be used. This size check is mostly a check for erroneous queries and communication packets. @@ -32468,7 +32471,7 @@ server-to-client traffic). Each thread's communication buffer is dynamically enlarged to handle any query or row up to the maximum limit. For example, if you have @code{BLOB} values that contain up to 16M of data, you must have a communication buffer limit of at least 16M (in both server and client). The -client's default maximum is 24M, but the default maximum in the server is +client's default maximum is 16M, but the default maximum in the server is 1M. You can increase this by changing the value of the @code{max_allowed_packet} parameter when the server is started. @xref{Server parameters}. @@ -40067,7 +40070,7 @@ All count structures in the client (@code{affected_rows()}, @code{insert_id()},...) are now of type @code{BIGINT} to allow 64-bit values to be used. This required a minor change in the @strong{MySQL} protocol which should affect -only old clients when using tables with @code{AUTO_INCREMENT} values > 24M. +only old clients when using tables with @code{AUTO_INCREMENT} values > 16M. @item The return type of @code{mysql_fetch_lengths()} has changed from @code{uint *} to @code{ulong *}. This may give a warning for old clients but should work diff --git a/sql/lex.h b/sql/lex.h index 3e64e3d12b8..7916eb467ef 100644 --- a/sql/lex.h +++ b/sql/lex.h @@ -248,6 +248,7 @@ static SYMBOL symbols[] = { { "RENAME", SYM(RENAME),0,0}, { "REPAIR", SYM(REPAIR),0,0}, { "REPLACE", SYM(REPLACE),0,0}, + { "RESET", SYM(RESET_SYM),0,0}, { "RESTORE", SYM(RESTORE_SYM),0,0}, { "RESTRICT", SYM(RESTRICT),0,0}, { "RETURNS", SYM(UDF_RETURNS_SYM),0,0}, diff --git a/sql/sql_lex.h b/sql/sql_lex.h index 05189afc907..aa1a326cad7 100644 --- a/sql/sql_lex.h +++ b/sql/sql_lex.h @@ -47,7 +47,8 @@ enum enum_sql_command { SQLCOM_ROLLBACK, SQLCOM_COMMIT, SQLCOM_SLAVE_START, SQLCOM_SLAVE_STOP, SQLCOM_BEGIN, SQLCOM_LOAD_MASTER_TABLE, SQLCOM_SHOW_CREATE, SQLCOM_SHOW_MASTER_STAT, SQLCOM_SHOW_SLAVE_STAT, SQLCOM_CHANGE_MASTER, - SQLCOM_RENAME_TABLE, SQLCOM_BACKUP_TABLE, SQLCOM_RESTORE_TABLE + SQLCOM_RENAME_TABLE, SQLCOM_BACKUP_TABLE, SQLCOM_RESTORE_TABLE, + SQLCOM_RESET }; enum lex_states { STATE_START, STATE_CHAR, STATE_IDENT, diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index ca8a7b5fe14..83355d08925 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -1674,6 +1674,7 @@ mysql_execute_command(void) break; } case SQLCOM_FLUSH: + case SQLCOM_RESET: if (check_access(thd,RELOAD_ACL,any_db) || check_db_used(thd, tables)) goto error; if (reload_acl_and_cache(thd, lex->type, tables)) diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index 76a11ebb8ff..2ab78a0e7a0 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -106,6 +106,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize); %token SELECT_SYM %token MASTER_SYM %token REPAIR +%token RESET_SYM %token SLAVE %token START_SYM %token STOP_SYM @@ -491,7 +492,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize); %type <NONE> query verb_clause create change select drop insert replace insert2 insert_values update delete show describe load alter optimize flush - begin commit rollback slave master_def master_defs + reset begin commit rollback slave master_def master_defs repair restore backup analyze check rename field_list field_list_item field_spec kill select_item_list select_item values_list no_braces @@ -550,6 +551,7 @@ verb_clause: | rename | repair | replace + | reset | restore | revoke | rollback @@ -2231,6 +2233,17 @@ opt_table_list: /* empty */ {} | table_list {} +reset: + RESET_SYM {Lex->sql_command= SQLCOM_RESET; Lex->type=0; } reset_options + +reset_options: + reset_options ',' reset_option + | reset_option + +reset_option: + SLAVE { Lex->type|= REFRESH_SLAVE; } + | MASTER_SYM { Lex->type|= REFRESH_MASTER; } + /* kill threads */ kill: @@ -2482,6 +2495,7 @@ keyword: | RAID_TYPE {} | RELOAD {} | REPAIR {} + | RESET_SYM {} | RESTORE_SYM {} | ROLLBACK_SYM {} | ROWS_SYM {} |