Commit 00625e0f authored by monty@donna.mysql.com's avatar monty@donna.mysql.com

Added RESET command

parent 4337694a
...@@ -1722,7 +1722,7 @@ There hasn't been a single reported bug in this system for a long time. ...@@ -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 @item The C client code --- Stable
No known problems. In early Version 3.20 releases, there were some limitations 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 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 @item Standard client programs --- Stable
These include @code{mysql}, @code{mysqladmin}, @code{mysqlshow}, 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 ...@@ -13197,7 +13197,10 @@ A @code{BLOB} or @code{TEXT} column with a maximum length of 16777215
@itemx LONGTEXT @itemx LONGTEXT
A @code{BLOB} or @code{TEXT} column with a maximum length of 4294967295 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 @tindex ENUM
@item ENUM('value1','value2',...) @item ENUM('value1','value2',...)
...@@ -27780,7 +27783,7 @@ Dump only selected records; Note that QUOTES are mandatory! ...@@ -27780,7 +27783,7 @@ Dump only selected records; Note that QUOTES are mandatory!
@example @example
"--where=user='jimf'" "-wuserid>1" "-wuserid<1" "--where=user='jimf'" "-wuserid>1" "-wuserid<1"
@end example @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 When creating multi-row-insert statements (as with option
@code{--extended-insert} or @code{--opt}), @code{mysqldump} will create @code{--extended-insert} or @code{--opt}), @code{mysqldump} will create
rows up to @code{net_buffer_length} length. If you increase this 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 ...@@ -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 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 @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 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. option.
@cindex aborted connection @cindex aborted connection
...@@ -32457,7 +32460,7 @@ library. See @ref{Programs}, for a list of these variables. ...@@ -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 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 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 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 in itself cause more resources to be used. This size check is mostly a check
for erroneous queries and communication packets. for erroneous queries and communication packets.
...@@ -32468,7 +32471,7 @@ server-to-client traffic). Each thread's communication buffer is dynamically ...@@ -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 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 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 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 1M. You can increase this by changing the value of the
@code{max_allowed_packet} parameter when the server is started. @xref{Server @code{max_allowed_packet} parameter when the server is started. @xref{Server
parameters}. parameters}.
...@@ -40067,7 +40070,7 @@ All count structures in the client (@code{affected_rows()}, ...@@ -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 @code{insert_id()},...) are now of type @code{BIGINT} to allow 64-bit values
to be used. to be used.
This required a minor change in the @strong{MySQL} protocol which should affect 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 @item
The return type of @code{mysql_fetch_lengths()} has changed from @code{uint *} 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 to @code{ulong *}. This may give a warning for old clients but should work
...@@ -248,6 +248,7 @@ static SYMBOL symbols[] = { ...@@ -248,6 +248,7 @@ static SYMBOL symbols[] = {
{ "RENAME", SYM(RENAME),0,0}, { "RENAME", SYM(RENAME),0,0},
{ "REPAIR", SYM(REPAIR),0,0}, { "REPAIR", SYM(REPAIR),0,0},
{ "REPLACE", SYM(REPLACE),0,0}, { "REPLACE", SYM(REPLACE),0,0},
{ "RESET", SYM(RESET_SYM),0,0},
{ "RESTORE", SYM(RESTORE_SYM),0,0}, { "RESTORE", SYM(RESTORE_SYM),0,0},
{ "RESTRICT", SYM(RESTRICT),0,0}, { "RESTRICT", SYM(RESTRICT),0,0},
{ "RETURNS", SYM(UDF_RETURNS_SYM),0,0}, { "RETURNS", SYM(UDF_RETURNS_SYM),0,0},
......
...@@ -47,7 +47,8 @@ enum enum_sql_command { ...@@ -47,7 +47,8 @@ enum enum_sql_command {
SQLCOM_ROLLBACK, SQLCOM_COMMIT, SQLCOM_SLAVE_START, SQLCOM_SLAVE_STOP, SQLCOM_ROLLBACK, SQLCOM_COMMIT, SQLCOM_SLAVE_START, SQLCOM_SLAVE_STOP,
SQLCOM_BEGIN, SQLCOM_LOAD_MASTER_TABLE, SQLCOM_SHOW_CREATE, SQLCOM_BEGIN, SQLCOM_LOAD_MASTER_TABLE, SQLCOM_SHOW_CREATE,
SQLCOM_SHOW_MASTER_STAT, SQLCOM_SHOW_SLAVE_STAT, SQLCOM_CHANGE_MASTER, 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, enum lex_states { STATE_START, STATE_CHAR, STATE_IDENT,
......
...@@ -1674,6 +1674,7 @@ mysql_execute_command(void) ...@@ -1674,6 +1674,7 @@ mysql_execute_command(void)
break; break;
} }
case SQLCOM_FLUSH: case SQLCOM_FLUSH:
case SQLCOM_RESET:
if (check_access(thd,RELOAD_ACL,any_db) || check_db_used(thd, tables)) if (check_access(thd,RELOAD_ACL,any_db) || check_db_used(thd, tables))
goto error; goto error;
if (reload_acl_and_cache(thd, lex->type, tables)) if (reload_acl_and_cache(thd, lex->type, tables))
......
...@@ -106,6 +106,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize); ...@@ -106,6 +106,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%token SELECT_SYM %token SELECT_SYM
%token MASTER_SYM %token MASTER_SYM
%token REPAIR %token REPAIR
%token RESET_SYM
%token SLAVE %token SLAVE
%token START_SYM %token START_SYM
%token STOP_SYM %token STOP_SYM
...@@ -491,7 +492,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize); ...@@ -491,7 +492,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%type <NONE> %type <NONE>
query verb_clause create change select drop insert replace insert2 query verb_clause create change select drop insert replace insert2
insert_values update delete show describe load alter optimize flush 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 repair restore backup analyze check rename
field_list field_list_item field_spec kill field_list field_list_item field_spec kill
select_item_list select_item values_list no_braces select_item_list select_item values_list no_braces
...@@ -550,6 +551,7 @@ verb_clause: ...@@ -550,6 +551,7 @@ verb_clause:
| rename | rename
| repair | repair
| replace | replace
| reset
| restore | restore
| revoke | revoke
| rollback | rollback
...@@ -2231,6 +2233,17 @@ opt_table_list: ...@@ -2231,6 +2233,17 @@ opt_table_list:
/* empty */ {} /* empty */ {}
| table_list {} | 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 threads */
kill: kill:
...@@ -2482,6 +2495,7 @@ keyword: ...@@ -2482,6 +2495,7 @@ keyword:
| RAID_TYPE {} | RAID_TYPE {}
| RELOAD {} | RELOAD {}
| REPAIR {} | REPAIR {}
| RESET_SYM {}
| RESTORE_SYM {} | RESTORE_SYM {}
| ROLLBACK_SYM {} | ROLLBACK_SYM {}
| ROWS_SYM {} | ROWS_SYM {}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment