summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Docs/manual.texi17
-rw-r--r--sql/lex.h1
-rw-r--r--sql/sql_lex.h3
-rw-r--r--sql/sql_parse.cc1
-rw-r--r--sql/sql_yacc.yy16
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 {}