Staale, hello!
I like this patch.
Thanks for doing it!
cheers,
Andrei
PS
Looking at a "zoo" our system variable classes represent, I can't help
thinking one more time on converting it to a STL hierarchy...
template <class T>
class sys_var_thd :public sys_var ...
sys_var_thd<ulong> sys_auto_increment_increment;
... just trying to find someone who will like this idea :-)
> #At file:///export/home/tmp/ss156133/z/b22891-51/
>
> 2773 Staale Smedseng 2008-10-31
> A fix for Bug#22891 "session level max_allowed_packet can be
> set but is ignored".
>
> This patch makes @@session.max_allowed_packed and
> @@session.net_buffer_length read-only as suggested in the bug
> report. The user will have to use SET GLOBAL (and reconnect)
> to alter the session values of these variables.
>
> The error string ER_VARIABLE_IS_READONLY is introduced.
>
> Tests are modified accordingly.
> modified:
> mysql-test/r/func_compress.result
> mysql-test/r/max_allowed_packet_basic.result
> mysql-test/r/max_allowed_packet_func.result
> mysql-test/r/net_buffer_length_basic.result
> mysql-test/r/packet.result
> mysql-test/r/union.result
> mysql-test/r/variables.result
> mysql-test/t/func_compress.test
> mysql-test/t/innodb_bug34300.test
> mysql-test/t/max_allowed_packet_basic.test
> mysql-test/t/max_allowed_packet_func.test
> mysql-test/t/net_buffer_length_basic.test
> mysql-test/t/packet.test
> mysql-test/t/union.test
> mysql-test/t/variables.test
> sql/set_var.cc
> sql/set_var.h
> sql/share/errmsg.txt
>
> per-file messages:
> sql/set_var.cc
> The class sys_var_thd_ulong_session_readonly is introduced as
> a specialization of sys_var_thd_ulong implementing a read-only
> session variable. The class overrides check() and
> check_default() to achieve the read-only property for the
> session part of the variable.
> sql/set_var.h
> The class sys_var_thd_ulong_session_readonly is introduced as
> a specialization of sys_var_thd_ulong implementing a read-only
> session variable. The class overrides check() and
> check_default() to achieve the read-only property for the
> session part of the variable.
> === modified file 'mysql-test/r/func_compress.result'
> --- a/mysql-test/r/func_compress.result 2006-10-13 14:33:28 +0000
> +++ b/mysql-test/r/func_compress.result 2008-10-31 10:10:18 +0000
> @@ -68,7 +68,7 @@ Warnings:
> Error 1259 ZLIB: Input data corrupted
> Error 1256 Uncompressed data size too large; the maximum size is 1048576 (probably,
> length of uncompressed data was corrupted)
> drop table t1;
> -set @@max_allowed_packet=1048576*100;
> +set @@global.max_allowed_packet=1048576*100;
> select compress(repeat('aaaaaaaaaa', IF(XXX, 10, 10000000))) is null;
> compress(repeat('aaaaaaaaaa', IF(XXX, 10, 10000000))) is null
> 0
>
> === modified file 'mysql-test/r/max_allowed_packet_basic.result'
> --- a/mysql-test/r/max_allowed_packet_basic.result 2008-04-10 13:14:28 +0000
> +++ b/mysql-test/r/max_allowed_packet_basic.result 2008-10-31 10:10:18 +0000
> @@ -2,10 +2,7 @@ SET @start_global_value = @@global.max_a
> SELECT @start_global_value;
> @start_global_value
> 1048576
> -SET @start_session_value = @@session.max_allowed_packet;
> -SELECT @start_session_value;
> -@start_session_value
> -1048576
> +SET @@global.max_allowed_packet = DEFAULT;
> '#--------------------FN_DYNVARS_070_01-------------------------#'
> SET @@global.max_allowed_packet = 1000;
> Warnings:
> @@ -15,7 +12,9 @@ SELECT @@global.max_allowed_packet;
> @@global.max_allowed_packet
> 1048576
> SET @@session.max_allowed_packet = 20000;
> +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to
> assign the value
> SET @@session.max_allowed_packet = DEFAULT;
> +ERROR 42000: Variable 'max_allowed_packet' doesn't have a default value
> SELECT @@session.max_allowed_packet;
> @@session.max_allowed_packet
> 1048576
> @@ -24,10 +23,6 @@ SET @@global.max_allowed_packet = DEFAUL
> SELECT @@global.max_allowed_packet = 1048576;
> @@global.max_allowed_packet = 1048576
> 1
> -SET @@session.max_allowed_packet = DEFAULT;
> -SELECT @@session.max_allowed_packet = 1048576;
> -@@session.max_allowed_packet = 1048576
> -1
> '#--------------------FN_DYNVARS_070_03-------------------------#'
> SET @@global.max_allowed_packet = 1024;
> SELECT @@global.max_allowed_packet;
> @@ -48,25 +43,30 @@ SELECT @@global.max_allowed_packet;
> 1073740800
> '#--------------------FN_DYNVARS_070_04-------------------------#'
> SET @@session.max_allowed_packet = 1024;
> +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to
> assign the value
> SELECT @@session.max_allowed_packet;
> @@session.max_allowed_packet
> -1024
> +1048576
> SET @@session.max_allowed_packet = 1025;
> +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to
> assign the value
> SELECT @@session.max_allowed_packet;
> @@session.max_allowed_packet
> -1024
> +1048576
> SET @@session.max_allowed_packet = 65535;
> +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to
> assign the value
> SELECT @@session.max_allowed_packet;
> @@session.max_allowed_packet
> -64512
> +1048576
> SET @@session.max_allowed_packet = 1073741824;
> +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to
> assign the value
> SELECT @@session.max_allowed_packet;
> @@session.max_allowed_packet
> -1073741824
> +1048576
> SET @@session.max_allowed_packet = 1073741823;
> +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to
> assign the value
> SELECT @@session.max_allowed_packet;
> @@session.max_allowed_packet
> -1073740800
> +1048576
> '#------------------FN_DYNVARS_070_05-----------------------#'
> SET @@global.max_allowed_packet = 0;
> Warnings:
> @@ -103,37 +103,33 @@ SELECT @@global.max_allowed_packet;
> @@global.max_allowed_packet
> 1073741824
> SET @@session.max_allowed_packet = 0;
> -Warnings:
> -Warning 1292 Truncated incorrect max_allowed_packet value: '0'
> +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to
> assign the value
> SELECT @@session.max_allowed_packet;
> @@session.max_allowed_packet
> -1024
> +1048576
> SET @@session.max_allowed_packet = 1023;
> -Warnings:
> -Warning 1292 Truncated incorrect max_allowed_packet value: '1023'
> +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to
> assign the value
> SELECT @@session.max_allowed_packet;
> @@session.max_allowed_packet
> -1024
> +1048576
> SET @@session.max_allowed_packet = -2;
> -Warnings:
> -Warning 1292 Truncated incorrect max_allowed_packet value: '0'
> +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to
> assign the value
> SELECT @@session.max_allowed_packet;
> @@session.max_allowed_packet
> -1024
> +1048576
> SET @@session.max_allowed_packet = 65530.34.;
> ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds
> to your MySQL server version for the right syntax to use near '.' at line 1
> SET @@session.max_allowed_packet = 10737418241;
> -Warnings:
> -Warning 1292 Truncated incorrect max_allowed_packet value: '10737418241'
> +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to
> assign the value
> SELECT @@session.max_allowed_packet;
> @@session.max_allowed_packet
> -1073741824
> +1048576
> 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
> SET @@session.max_allowed_packet = test;
> ERROR 42000: Incorrect argument type to variable 'max_allowed_packet'
> SELECT @@session.max_allowed_packet;
> @@session.max_allowed_packet
> -1073741824
> +1048576
> '#------------------FN_DYNVARS_070_06-----------------------#'
> SELECT @@global.max_allowed_packet = VARIABLE_VALUE
> FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
> @@ -166,6 +162,7 @@ SELECT @@max_allowed_packet = @@global.m
> 0
> '#---------------------FN_DYNVARS_070_10----------------------#'
> SET @@max_allowed_packet = 100000;
> +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to
> assign the value
> SELECT @@max_allowed_packet = @@local.max_allowed_packet;
> @@max_allowed_packet = @@local.max_allowed_packet
> 1
> @@ -174,9 +171,10 @@ SELECT @@local.max_allowed_packet = @@se
> 1
> '#---------------------FN_DYNVARS_070_11----------------------#'
> SET max_allowed_packet = 1024;
> +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to
> assign the value
> SELECT @@max_allowed_packet;
> @@max_allowed_packet
> -1024
> +1048576
> SELECT local.max_allowed_packet;
> ERROR 42S02: Unknown table 'local' in field list
> SELECT session.max_allowed_packet;
> @@ -187,7 +185,6 @@ SET @@global.max_allowed_packet = @start
> SELECT @@global.max_allowed_packet;
> @@global.max_allowed_packet
> 1048576
> -SET @@session.max_allowed_packet = @start_session_value;
> SELECT @@session.max_allowed_packet;
> @@session.max_allowed_packet
> 1048576
>
> === modified file 'mysql-test/r/max_allowed_packet_func.result'
> --- a/mysql-test/r/max_allowed_packet_func.result 2008-04-18 09:38:41 +0000
> +++ b/mysql-test/r/max_allowed_packet_func.result 2008-10-31 10:10:18 +0000
> @@ -10,24 +10,15 @@ name BLOB
> '#--------------------FN_DYNVARS_070_01-------------------------#'
> ## Setting value of max_allowed packet and net_buffer_length to 1024 ##
> SET @@session.max_allowed_packet = 1024;
> -SET @@session.net_buffer_length = 1024;
> +ERROR HY000: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to
> assign the value
> SELECT @@session.max_allowed_packet;
> @@session.max_allowed_packet
> -1024
> +1048576
> +SET @@session.net_buffer_length = 1024;
> +ERROR HY000: SESSION variable 'net_buffer_length' is read-only. Use SET GLOBAL to
> assign the value
> SELECT @@session.net_buffer_length;
> @@session.net_buffer_length
> -1024
> -## Inserting and fetching data of length greater than 1024 ##
> -INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg,
> askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj!
jjj
>
> jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk");
> -SELECT length("aaaaaasssssssssssdddddddfffffgggg,
> askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj!
jjj
>
> jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk")
> as len;
> -len
> -1470
> -## Verifying record in table t1 ##
> -SELECT * from t1;
> -id name
> -1 aaassssssssddddddddffffffgggggggg,
> askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj!
jjj
>
> jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
> -'Bug#35381: Error is not coming on inserting and fetching data of length'
> -'greater than max_allowed_packet size at session level';
> +16384
> '#--------------------FN_DYNVARS_070_02-------------------------#'
> ## Setting value of max_allowed packet and net_buffer_length to 1024 ##
> SET @@global.max_allowed_packet = 1024;
>
> === modified file 'mysql-test/r/net_buffer_length_basic.result'
> --- a/mysql-test/r/net_buffer_length_basic.result 2008-04-10 13:14:28 +0000
> +++ b/mysql-test/r/net_buffer_length_basic.result 2008-10-31 10:10:18 +0000
> @@ -1,5 +1,5 @@
> SET @start_global_value = @@global.net_buffer_length;
> -SET @start_session_value = @@session.net_buffer_length;
> +SET @@global.net_buffer_length = DEFAULT;
> '#--------------------FN_DYNVARS_109_01-------------------------#'
> SET @@global.net_buffer_length = 10000;
> SET @@global.net_buffer_length = DEFAULT;
> @@ -7,7 +7,9 @@ SELECT @@global.net_buffer_length;
> @@global.net_buffer_length
> 16384
> SET @@session.net_buffer_length = 20000;
> +ERROR HY000: SESSION variable 'net_buffer_length' is read-only. Use SET GLOBAL to
> assign the value
> SET @@session.net_buffer_length = DEFAULT;
> +ERROR 42000: Variable 'net_buffer_length' doesn't have a default value
> SELECT @@session.net_buffer_length;
> @@session.net_buffer_length
> 16384
> @@ -16,10 +18,6 @@ SET @@global.net_buffer_length = DEFAULT
> SELECT @@global.net_buffer_length = 16384;
> @@global.net_buffer_length = 16384
> 1
> -SET @@session.net_buffer_length = DEFAULT;
> -SELECT @@session.net_buffer_length = 16384;
> -@@session.net_buffer_length = 16384
> -1
> '#--------------------FN_DYNVARS_109_03-------------------------#'
> SET @@global.net_buffer_length = 1024;
> SELECT @@global.net_buffer_length;
> @@ -43,27 +41,6 @@ SELECT @@global.net_buffer_length;
> 64512
> 'Bug# 34877: Invalid Values are coming in variable on assigning valid values';
> '#--------------------FN_DYNVARS_109_04-------------------------#'
> -SET @@session.net_buffer_length = 1024;
> -SELECT @@session.net_buffer_length;
> -@@session.net_buffer_length
> -1024
> -SET @@session.net_buffer_length = 1025;
> -SELECT @@session.net_buffer_length;
> -@@session.net_buffer_length
> -1024
> -SET @@session.net_buffer_length = 1048576;
> -SELECT @@session.net_buffer_length;
> -@@session.net_buffer_length
> -1048576
> -SET @@session.net_buffer_length = 1048575;
> -SELECT @@session.net_buffer_length;
> -@@session.net_buffer_length
> -1047552
> -SET @@session.net_buffer_length = 65535;
> -SELECT @@session.net_buffer_length;
> -@@session.net_buffer_length
> -64512
> -'Bug# 34877: Invalid Values are coming in variable on assigning valid values';
> '#------------------FN_DYNVARS_109_05-----------------------#'
> SET @@global.net_buffer_length = 0;
> Warnings:
> @@ -105,42 +82,12 @@ ERROR 42000: Incorrect argument type to
> SELECT @@global.net_buffer_length;
> @@global.net_buffer_length
> 1048576
> -SET @@session.net_buffer_length = 0;
> -Warnings:
> -Warning 1292 Truncated incorrect net_buffer_length value: '0'
> -SELECT @@session.net_buffer_length;
> -@@session.net_buffer_length
> -1024
> -SET @@session.net_buffer_length = -2;
> -Warnings:
> -Warning 1292 Truncated incorrect net_buffer_length value: '0'
> -SELECT @@session.net_buffer_length;
> -@@session.net_buffer_length
> -1024
> -SET @@session.net_buffer_length = 1048577;
> -Warnings:
> -Warning 1292 Truncated incorrect net_buffer_length value: '1048577'
> -SELECT @@session.net_buffer_length;
> -@@session.net_buffer_length
> -1048576
> -SET @@session.net_buffer_length = 1048576002;
> -Warnings:
> -Warning 1292 Truncated incorrect net_buffer_length value: '1048576002'
> -SELECT @@session.net_buffer_length;
> -@@session.net_buffer_length
> -1048576
> -SET @@session.net_buffer_length = 65530.34.;
> -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds
> to your MySQL server version for the right syntax to use near '.' at line 1
> -SET @@session.net_buffer_length = 65550;
> -SELECT @@session.net_buffer_length;
> -@@session.net_buffer_length
> -65536
> 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
> SET @@session.net_buffer_length = test;
> ERROR 42000: Incorrect argument type to variable 'net_buffer_length'
> SELECT @@session.net_buffer_length;
> @@session.net_buffer_length
> -65536
> +16384
> '#------------------FN_DYNVARS_109_06-----------------------#'
> SELECT @@global.net_buffer_length = VARIABLE_VALUE
> FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
> @@ -172,18 +119,10 @@ SELECT @@net_buffer_length = @@global.ne
> @@net_buffer_length = @@global.net_buffer_length
> 0
> '#---------------------FN_DYNVARS_109_10----------------------#'
> -SET @@net_buffer_length = 100000;
> -SELECT @@net_buffer_length = @@local.net_buffer_length;
> -@@net_buffer_length = @@local.net_buffer_length
> -1
> -SELECT @@local.net_buffer_length = @@session.net_buffer_length;
> -@@local.net_buffer_length = @@session.net_buffer_length
> -1
> '#---------------------FN_DYNVARS_109_11----------------------#'
> -SET net_buffer_length = 1024;
> SELECT @@net_buffer_length;
> @@net_buffer_length
> -1024
> +16384
> SELECT local.net_buffer_length;
> ERROR 42S02: Unknown table 'local' in field list
> SELECT session.net_buffer_length;
> @@ -191,4 +130,3 @@ ERROR 42S02: Unknown table 'session' in
> SELECT net_buffer_length = @@session.net_buffer_length;
> ERROR 42S22: Unknown column 'net_buffer_length' in 'field list'
> SET @@global.net_buffer_length = @start_global_value;
> -SET @@session.net_buffer_length = @start_session_value;
>
> === modified file 'mysql-test/r/packet.result'
> --- a/mysql-test/r/packet.result 2007-11-30 05:32:04 +0000
> +++ b/mysql-test/r/packet.result 2008-10-31 10:10:18 +0000
> @@ -1,32 +1,22 @@
> set global max_allowed_packet=100;
> Warnings:
> Warning 1292 Truncated incorrect max_allowed_packet value: '100'
> -set max_allowed_packet=100;
> -Warnings:
> -Warning 1292 Truncated incorrect max_allowed_packet value: '100'
> set global net_buffer_length=100;
> Warnings:
> Warning 1292 Truncated incorrect net_buffer_length value: '100'
> -set net_buffer_length=100;
> -Warnings:
> -Warning 1292 Truncated incorrect net_buffer_length value: '100'
> SELECT
> length("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!
aaa
> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") as len;
> len
> 1024
> select repeat('a',2000);
> repeat('a',2000)
> -NULL
> -Warnings:
> -Warning 1301 Result of repeat() was larger than max_allowed_packet (1024) -
> truncated
>
> +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!
aaa
>
> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!
aaa
> aaaaaaaaaaaaaaaaaaaaaa
> select @@net_buffer_length, @@max_allowed_packet;
> @@net_buffer_length @@max_allowed_packet
> 1024 1024
> SELECT
> length("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!
aaa
> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") as len;
> ERROR 08S01: Got a packet bigger than 'max_allowed_packet' bytes
> set global max_allowed_packet=default;
> -set max_allowed_packet=default;
> set global net_buffer_length=default;
> -set net_buffer_length=default;
> SELECT
> length("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
> as len;
> len
> 100
>
> === modified file 'mysql-test/r/union.result'
> --- a/mysql-test/r/union.result 2008-05-13 15:10:46 +0000
> +++ b/mysql-test/r/union.result 2008-10-31 10:10:18 +0000
> @@ -1343,10 +1343,10 @@ t3 CREATE TABLE `t3` (
> `left(a,100000000)` longtext
> ) ENGINE=MyISAM DEFAULT CHARSET=latin1
> drop tables t1,t2,t3;
> -SELECT @tmp_max:= @@max_allowed_packet;
> -@tmp_max:= @@max_allowed_packet
> +SELECT @tmp_max:= @@global.max_allowed_packet;
> +@tmp_max:= @@global.max_allowed_packet
> 1048576
> -SET max_allowed_packet=25000000;
> +SET @@global.max_allowed_packet=25000000;
> CREATE TABLE t1 (a mediumtext);
> CREATE TABLE t2 (b varchar(20));
> INSERT INTO t1 VALUES ('a');
> @@ -1384,7 +1384,7 @@ t3 CREATE TABLE `t3` (
> `a` varbinary(510) DEFAULT NULL
> ) ENGINE=MyISAM DEFAULT CHARSET=latin1
> DROP TABLES t1,t2,t3;
> -SET max_allowed_packet:= @tmp_max;
> +SET @@global.max_allowed_packet:= @tmp_max;
> create table t1 ( id int not null auto_increment, primary key (id), col1 int);
> insert into t1 (col1) values (2),(3),(4),(5),(6);
> select 99 union all select id from t1 order by 1;
>
> === modified file 'mysql-test/r/variables.result'
> --- a/mysql-test/r/variables.result 2008-03-28 15:10:04 +0000
> +++ b/mysql-test/r/variables.result 2008-10-31 10:10:18 +0000
> @@ -228,7 +228,6 @@ VARIABLE_NAME VARIABLE_VALUE
> MYISAM_MAX_SORT_FILE_SIZE FILE_SIZE
> set global net_retry_count=10, session net_retry_count=10;
> set global net_buffer_length=1024, net_write_timeout=200, net_read_timeout=300;
> -set session net_buffer_length=2048, net_write_timeout=500, net_read_timeout=600;
> show global variables like 'net_%';
> Variable_name Value
> net_buffer_length 1024
> @@ -243,57 +242,45 @@ NET_RETRY_COUNT 10
> NET_WRITE_TIMEOUT 200
> show session variables like 'net_%';
> Variable_name Value
> -net_buffer_length 2048
> -net_read_timeout 600
> +net_buffer_length 16384
> +net_read_timeout 30
> net_retry_count 10
> -net_write_timeout 500
> +net_write_timeout 60
> select * from information_schema.session_variables where variable_name like 'net_%'
> order by 1;
> VARIABLE_NAME VARIABLE_VALUE
> -NET_BUFFER_LENGTH 2048
> -NET_READ_TIMEOUT 600
> +NET_BUFFER_LENGTH 16384
> +NET_READ_TIMEOUT 30
> NET_RETRY_COUNT 10
> -NET_WRITE_TIMEOUT 500
> -set session net_buffer_length=8000, global net_read_timeout=900,
> net_write_timeout=1000;
> +NET_WRITE_TIMEOUT 60
> +set global net_buffer_length=8000, global net_read_timeout=900,
> net_write_timeout=1000;
> show global variables like 'net_%';
> Variable_name Value
> -net_buffer_length 1024
> +net_buffer_length 7168
> net_read_timeout 900
> net_retry_count 10
> net_write_timeout 1000
> select * from information_schema.global_variables where variable_name like 'net_%'
> order by 1;
> VARIABLE_NAME VARIABLE_VALUE
> -NET_BUFFER_LENGTH 1024
> +NET_BUFFER_LENGTH 7168
> NET_READ_TIMEOUT 900
> NET_RETRY_COUNT 10
> NET_WRITE_TIMEOUT 1000
> -show session variables like 'net_%';
> -Variable_name Value
> -net_buffer_length 7168
> -net_read_timeout 600
> -net_retry_count 10
> -net_write_timeout 500
> -select * from information_schema.session_variables where variable_name like 'net_%'
> order by 1;
> -VARIABLE_NAME VARIABLE_VALUE
> -NET_BUFFER_LENGTH 7168
> -NET_READ_TIMEOUT 600
> -NET_RETRY_COUNT 10
> -NET_WRITE_TIMEOUT 500
> -set net_buffer_length=1;
> +set global net_buffer_length=1;
> Warnings:
> Warning 1292 Truncated incorrect net_buffer_length value: '1'
> -show variables like 'net_buffer_length';
> +show global variables like 'net_buffer_length';
> Variable_name Value
> net_buffer_length 1024
> -select * from information_schema.session_variables where variable_name like
> 'net_buffer_length';
> +select * from information_schema.global_variables where variable_name like
> 'net_buffer_length';
> VARIABLE_NAME VARIABLE_VALUE
> NET_BUFFER_LENGTH 1024
> -set net_buffer_length=2000000000;
> +set global net_buffer_length=2000000000;
> Warnings:
> Warning 1292 Truncated incorrect net_buffer_length value: '2000000000'
> -show variables like 'net_buffer_length';
> +show global variables like 'net_buffer_length';
> Variable_name Value
> net_buffer_length 1048576
> -select * from information_schema.session_variables where variable_name like
> 'net_buffer_length';
> +select * from information_schema.global_variables where variable_name like
> 'net_buffer_length';
> VARIABLE_NAME VARIABLE_VALUE
> NET_BUFFER_LENGTH 1048576
> set character set cp1251_koi8;
> @@ -461,7 +448,7 @@ select @@long_query_time;
> @@long_query_time
> 100.000001
> set low_priority_updates=1;
> -set max_allowed_packet=100;
> +set global max_allowed_packet=100;
> Warnings:
> Warning 1292 Truncated incorrect max_allowed_packet value: '100'
> set global max_binlog_cache_size=100;
> @@ -485,7 +472,7 @@ select @@max_user_connections;
> 100
> set global max_write_lock_count=100;
> set myisam_sort_buffer_size=100;
> -set net_buffer_length=100;
> +set global net_buffer_length=100;
> Warnings:
> Warning 1292 Truncated incorrect net_buffer_length value: '100'
> set net_read_timeout=100;
>
> === modified file 'mysql-test/t/func_compress.test'
> --- a/mysql-test/t/func_compress.test 2006-10-13 14:09:22 +0000
> +++ b/mysql-test/t/func_compress.test 2008-10-31 10:10:18 +0000
> @@ -43,8 +43,11 @@ drop table t1;
> # note that when LOW_MEMORY is set the "test" below is meaningless
> #
>
> -set @@max_allowed_packet=1048576*100;
> +set @@global.max_allowed_packet=1048576*100;
> --replace_result "''" XXX "'1'" XXX
> +
> +# reconnect to make the new max packet size take effect
> +--connect (newconn, localhost, root,,)
> eval select compress(repeat('aaaaaaaaaa', IF('$LOW_MEMORY', 10, 10000000))) is
> null;
>
> #
>
> === modified file 'mysql-test/t/innodb_bug34300.test'
> --- a/mysql-test/t/innodb_bug34300.test 2008-08-20 22:18:33 +0000
> +++ b/mysql-test/t/innodb_bug34300.test 2008-10-31 10:10:18 +0000
> @@ -8,7 +8,9 @@
> -- disable_query_log
> -- disable_result_log
>
> -SET @@max_allowed_packet=16777216;
> +# set packet size and reconnect
> +SET @@global.max_allowed_packet=16777216;
> +--connect (newconn, localhost, root,,)
>
> DROP TABLE IF EXISTS bug34300;
> CREATE TABLE bug34300 (
>
> === modified file 'mysql-test/t/max_allowed_packet_basic.test'
> --- a/mysql-test/t/max_allowed_packet_basic.test 2008-04-10 13:14:28 +0000
> +++ b/mysql-test/t/max_allowed_packet_basic.test 2008-10-31 10:10:18 +0000
> @@ -36,8 +36,13 @@
>
> SET @start_global_value = @@global.max_allowed_packet;
> SELECT @start_global_value;
> -SET @start_session_value = @@session.max_allowed_packet;
> -SELECT @start_session_value;
> +
> +# give a known value to @@session.max_allowed_packet by assigning to
> +# @@global and setting up a new connection (for deterministic result
> +# file diffing)
> +SET @@global.max_allowed_packet = DEFAULT;
> +connect (conn1, localhost, root,,);
> +
>
>
> --echo '#--------------------FN_DYNVARS_070_01-------------------------#'
> @@ -49,7 +54,9 @@ SET @@global.max_allowed_packet = 1000;
> SET @@global.max_allowed_packet = DEFAULT;
> SELECT @@global.max_allowed_packet;
>
> +--Error ER_VARIABLE_IS_READONLY
> SET @@session.max_allowed_packet = 20000;
> +--Error ER_NO_DEFAULT
> SET @@session.max_allowed_packet = DEFAULT;
> SELECT @@session.max_allowed_packet;
>
> @@ -62,9 +69,6 @@ SELECT @@session.max_allowed_packet;
> SET @@global.max_allowed_packet = DEFAULT;
> SELECT @@global.max_allowed_packet = 1048576;
>
> -SET @@session.max_allowed_packet = DEFAULT;
> -SELECT @@session.max_allowed_packet = 1048576;
> -
>
> --echo '#--------------------FN_DYNVARS_070_03-------------------------#'
> ############################################################################
> @@ -86,14 +90,19 @@ SELECT @@global.max_allowed_packet;
> # Change the value of max_allowed_packet to a valid value for SESSION Scope #
> #############################################################################
>
> +--Error ER_VARIABLE_IS_READONLY
> SET @@session.max_allowed_packet = 1024;
> SELECT @@session.max_allowed_packet;
> +--Error ER_VARIABLE_IS_READONLY
> SET @@session.max_allowed_packet = 1025;
> SELECT @@session.max_allowed_packet;
> +--Error ER_VARIABLE_IS_READONLY
> SET @@session.max_allowed_packet = 65535;
> SELECT @@session.max_allowed_packet;
> +--Error ER_VARIABLE_IS_READONLY
> SET @@session.max_allowed_packet = 1073741824;
> SELECT @@session.max_allowed_packet;
> +--Error ER_VARIABLE_IS_READONLY
> SET @@session.max_allowed_packet = 1073741823;
> SELECT @@session.max_allowed_packet;
>
> @@ -118,14 +127,18 @@ SELECT @@global.max_allowed_packet;
> SET @@global.max_allowed_packet = test;
> SELECT @@global.max_allowed_packet;
>
> +--Error ER_VARIABLE_IS_READONLY
> SET @@session.max_allowed_packet = 0;
> SELECT @@session.max_allowed_packet;
> +--Error ER_VARIABLE_IS_READONLY
> SET @@session.max_allowed_packet = 1023;
> SELECT @@session.max_allowed_packet;
> +--Error ER_VARIABLE_IS_READONLY
> SET @@session.max_allowed_packet = -2;
> SELECT @@session.max_allowed_packet;
> --Error ER_PARSE_ERROR
> SET @@session.max_allowed_packet = 65530.34.;
> +--Error ER_VARIABLE_IS_READONLY
> SET @@session.max_allowed_packet = 10737418241;
> SELECT @@session.max_allowed_packet;
> --echo 'Bug # 34837: Errors are not coming on assigning invalid values to
> variable';
> @@ -180,6 +193,7 @@ SELECT @@max_allowed_packet = @@global.m
> # Check if accessing variable with SESSION,LOCAL and without SCOPE points to same
> session variable #
>
> ########################################################################################################
>
> +--Error ER_VARIABLE_IS_READONLY
> SET @@max_allowed_packet = 100000;
> SELECT @@max_allowed_packet = @@local.max_allowed_packet;
> SELECT @@local.max_allowed_packet = @@session.max_allowed_packet;
> @@ -190,6 +204,7 @@ SELECT @@local.max_allowed_packet = @@se
> # Check if max_allowed_packet can be accessed with and without @@ sign #
> #############################################################################
>
> +--Error ER_VARIABLE_IS_READONLY
> SET max_allowed_packet = 1024;
> SELECT @@max_allowed_packet;
> --Error ER_UNKNOWN_TABLE
> @@ -204,9 +219,9 @@ SELECT max_allowed_packet = @@session.ma
> # Restore initial value #
> ####################################
>
> +connection default;
> SET @@global.max_allowed_packet = @start_global_value;
> SELECT @@global.max_allowed_packet;
> -SET @@session.max_allowed_packet = @start_session_value;
> SELECT @@session.max_allowed_packet;
>
>
>
> === modified file 'mysql-test/t/max_allowed_packet_func.test'
> --- a/mysql-test/t/max_allowed_packet_func.test 2008-04-23 09:36:17 +0000
> +++ b/mysql-test/t/max_allowed_packet_func.test 2008-10-31 10:10:18 +0000
> @@ -43,26 +43,19 @@ name BLOB
>
> --echo '#--------------------FN_DYNVARS_070_01-------------------------#'
> ###############################################################################
> -# Setting initial value of max_allowed_packet to 1024 at session level and
> -# verifying its behavior after inserting data greater than 1024 bytes
> +# Setting initial value of max_allowed_packet to 1024 at session level
> +# should result in an error (session variable is readonly)
> ###############################################################################
>
> --echo ## Setting value of max_allowed packet and net_buffer_length to 1024 ##
> +--error ER_VARIABLE_IS_READONLY
> SET @@session.max_allowed_packet = 1024;
> -SET @@session.net_buffer_length = 1024;
> SELECT @@session.max_allowed_packet;
> -SELECT @@session.net_buffer_length;
> -
> ---echo ## Inserting and fetching data of length greater than 1024 ##
> -INSERT into t1(name) values("aaassssssssddddddddffffffgggggggg,
> askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj!
jjj
>
> jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk");
> -
> -SELECT length("aaaaaasssssssssssdddddddfffffgggg,
> askdlfjalsdkjfalksdjflaksdjfalkjdflaksjdflakjdflajsflajflajdfalsjfdlajfladjslfajdflajdsflajsflakjsdfla;kjflsdjkf;aljfa;lkdsfjla;sjlkajffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllakjsdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa;;;;;;;;;;;;;;;;;;;;;;;;;;;dsklfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj!
jjj
>
> jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkljffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdkskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk")
> as len;
>
> ---echo ## Verifying record in table t1 ##
> -SELECT * from t1;
> +--error ER_VARIABLE_IS_READONLY
> +SET @@session.net_buffer_length = 1024;
> +SELECT @@session.net_buffer_length;
>
> ---echo 'Bug#35381: Error is not coming on inserting and fetching data of length'
> ---echo 'greater than max_allowed_packet size at session level';
>
> --echo '#--------------------FN_DYNVARS_070_02-------------------------#'
> ###############################################################################
>
> === modified file 'mysql-test/t/net_buffer_length_basic.test'
> --- a/mysql-test/t/net_buffer_length_basic.test 2008-04-10 13:14:28 +0000
> +++ b/mysql-test/t/net_buffer_length_basic.test 2008-10-31 10:10:18 +0000
> @@ -38,9 +38,13 @@
> SET @start_global_value = @@global.net_buffer_length;
> # Due to differences in results of linux and windows
> #SELECT @start_global_value;
> -SET @start_session_value = @@session.net_buffer_length;
> -#SELECT @start_session_value;
>
> +# give a known value to @@session.net_buffer_length by assigning to
> +# @@global and setting up a new connection (for deterministic result
> +# file diffing)
> +SET @@global.net_buffer_length = DEFAULT;
> +connect(con1,localhost,root,,);
> +connection con1;
>
> --echo '#--------------------FN_DYNVARS_109_01-------------------------#'
> #################################################################
> @@ -51,7 +55,9 @@ SET @@global.net_buffer_length = 10000;
> SET @@global.net_buffer_length = DEFAULT;
> SELECT @@global.net_buffer_length;
>
> +--Error ER_VARIABLE_IS_READONLY
> SET @@session.net_buffer_length = 20000;
> +--Error ER_NO_DEFAULT
> SET @@session.net_buffer_length = DEFAULT;
> SELECT @@session.net_buffer_length;
>
> @@ -64,9 +70,6 @@ SELECT @@session.net_buffer_length;
> SET @@global.net_buffer_length = DEFAULT;
> SELECT @@global.net_buffer_length = 16384;
>
> -SET @@session.net_buffer_length = DEFAULT;
> -SELECT @@session.net_buffer_length = 16384;
> -
>
> --echo '#--------------------FN_DYNVARS_109_03-------------------------#'
> ###########################################################################
> @@ -91,17 +94,7 @@ SELECT @@global.net_buffer_length;
> # Change the value of net_buffer_length to a valid value for SESSION Scope #
> ############################################################################
>
> -SET @@session.net_buffer_length = 1024;
> -SELECT @@session.net_buffer_length;
> -SET @@session.net_buffer_length = 1025;
> -SELECT @@session.net_buffer_length;
> -SET @@session.net_buffer_length = 1048576;
> -SELECT @@session.net_buffer_length;
> -SET @@session.net_buffer_length = 1048575;
> -SELECT @@session.net_buffer_length;
> -SET @@session.net_buffer_length = 65535;
> -SELECT @@session.net_buffer_length;
> ---echo 'Bug# 34877: Invalid Values are coming in variable on assigning valid
> values';
> +# Bug#22891: SESSION net_buffer_length is now read-only; assignments skipped
>
>
> --echo '#------------------FN_DYNVARS_109_05-----------------------#'
> @@ -126,18 +119,8 @@ SELECT @@global.net_buffer_length;
> SET @@global.net_buffer_length = test;
> SELECT @@global.net_buffer_length;
>
> -SET @@session.net_buffer_length = 0;
> -SELECT @@session.net_buffer_length;
> -SET @@session.net_buffer_length = -2;
> -SELECT @@session.net_buffer_length;
> -SET @@session.net_buffer_length = 1048577;
> -SELECT @@session.net_buffer_length;
> -SET @@session.net_buffer_length = 1048576002;
> -SELECT @@session.net_buffer_length;
> ---Error ER_PARSE_ERROR
> -SET @@session.net_buffer_length = 65530.34.;
> -SET @@session.net_buffer_length = 65550;
> -SELECT @@session.net_buffer_length;
> +# Bug#22891: SESSION net_buffer_length is now read-only; assignments skipped
> +
> --echo 'Bug # 34837: Errors are not coming on assigning invalid values to
> variable';
>
> --Error ER_WRONG_TYPE_FOR_VAR
> @@ -190,9 +173,7 @@ SELECT @@net_buffer_length = @@global.ne
> # Check if accessing variable with SESSION,LOCAL and without SCOPE points to same
> session variable #
>
> ########################################################################################################
>
> -SET @@net_buffer_length = 100000;
> -SELECT @@net_buffer_length = @@local.net_buffer_length;
> -SELECT @@local.net_buffer_length = @@session.net_buffer_length;
> +# Bug#22891: SESSION net_buffer_length is now read-only; assignments skipped
>
>
> --echo '#---------------------FN_DYNVARS_109_11----------------------#'
> @@ -200,7 +181,7 @@ SELECT @@local.net_buffer_length = @@ses
> # Check if net_buffer_length can be accessed with and without @@ sign #
> ############################################################################
>
> -SET net_buffer_length = 1024;
> +# Bug#22891: SESSION net_buffer_length is now read-only; assignments skipped
> SELECT @@net_buffer_length;
> --Error ER_UNKNOWN_TABLE
> SELECT local.net_buffer_length;
> @@ -214,11 +195,11 @@ SELECT net_buffer_length = @@session.net
> # Restore initial value #
> ####################################
>
> +connection default;
> +
> SET @@global.net_buffer_length = @start_global_value;
> # Due to differences in results of linux and windows
> #SELECT @@global.net_buffer_length;
> -SET @@session.net_buffer_length = @start_session_value;
> -#SELECT @@session.net_buffer_length;
>
>
> ######################################################
>
> === modified file 'mysql-test/t/packet.test'
> --- a/mysql-test/t/packet.test 2005-08-04 00:38:55 +0000
> +++ b/mysql-test/t/packet.test 2008-10-31 10:10:18 +0000
> @@ -8,30 +8,30 @@
> # Check protocol handling
> #
>
> -connect (con1,localhost,root,,);
> -
> -connection con1;
> +# setting values below minimum threshold of 1024 will cause truncating
> set global max_allowed_packet=100;
> -set max_allowed_packet=100;
> set global net_buffer_length=100;
> -set net_buffer_length=100;
> -# Have to be > 1024 as min value of net_buffer_length is 1024
> +
> +# is not yet in effect
> SELECT
> length("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!
aaa
> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") as len;
> -# Should return NULL as 2000 is bigger than max_allowed_packet
> select repeat('a',2000);
>
> #
> -# Connection 2 should get error for too big packets
> +# Connection 1 should get error for too big packets
> #
> -connect (con2,localhost,root,,);
> -connection con2;
> +connect (con1,localhost,root,,);
> +connection con1;
> select @@net_buffer_length, @@max_allowed_packet;
> --error 1153
> SELECT
> length("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!
aaa
> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") as len;
> +
> +#
> +# Reset to default values and reconnect
> +#
> set global max_allowed_packet=default;
> -set max_allowed_packet=default;
> set global net_buffer_length=default;
> -set net_buffer_length=default;
> +connect (con2,localhost,root,,);
> +connection con2;
> SELECT
> length("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
> as len;
> select length(repeat('a',2000));
>
>
> === modified file 'mysql-test/t/union.test'
> --- a/mysql-test/t/union.test 2008-05-13 15:10:46 +0000
> +++ b/mysql-test/t/union.test 2008-10-31 10:10:18 +0000
> @@ -861,8 +861,10 @@ drop tables t1,t2,t3;
> # exceeds mediumtext maximum length
> #
>
> -SELECT @tmp_max:= @@max_allowed_packet;
> -SET max_allowed_packet=25000000;
> +SELECT @tmp_max:= @@global.max_allowed_packet;
> +SET @@global.max_allowed_packet=25000000;
> +# switching connection to allow the new max_allowed_packet take effect
> +--connect (newconn, localhost, root,,)
> CREATE TABLE t1 (a mediumtext);
> CREATE TABLE t2 (b varchar(20));
> INSERT INTO t1 VALUES ('a');
> @@ -884,7 +886,9 @@ INSERT INTO t1 VALUES ('a');
> CREATE TABLE t3 SELECT REPEAT(a,2) AS a FROM t1 UNION SELECT b FROM t2;
> SHOW CREATE TABLE t3;
> DROP TABLES t1,t2,t3;
> -SET max_allowed_packet:= @tmp_max;
> +--connection default
> +SET @@global.max_allowed_packet:= @tmp_max;
> +--disconnect newconn
>
> #
> # Bug #10032 Bug in parsing UNION with ORDER BY when one node does not use FROM
>
> === modified file 'mysql-test/t/variables.test'
> --- a/mysql-test/t/variables.test 2008-03-28 15:10:04 +0000
> +++ b/mysql-test/t/variables.test 2008-10-31 10:10:18 +0000
> @@ -146,25 +146,23 @@ show global variables like 'myisam_max_s
> --replace_result 9223372036853727232 FILE_SIZE 2146435072 FILE_SIZE
> select * from information_schema.global_variables where variable_name like
> 'myisam_max_sort_file_size';
>
> +# bug#22891: modified to take read-only SESSION net_buffer_length into account
> set global net_retry_count=10, session net_retry_count=10;
> set global net_buffer_length=1024, net_write_timeout=200, net_read_timeout=300;
> -set session net_buffer_length=2048, net_write_timeout=500, net_read_timeout=600;
> show global variables like 'net_%';
> select * from information_schema.global_variables where variable_name like 'net_%'
> order by 1;
> show session variables like 'net_%';
> select * from information_schema.session_variables where variable_name like 'net_%'
> order by 1;
> -set session net_buffer_length=8000, global net_read_timeout=900,
> net_write_timeout=1000;
> +set global net_buffer_length=8000, global net_read_timeout=900,
> net_write_timeout=1000;
> show global variables like 'net_%';
> select * from information_schema.global_variables where variable_name like 'net_%'
> order by 1;
> -show session variables like 'net_%';
> -select * from information_schema.session_variables where variable_name like 'net_%'
> order by 1;
> -set net_buffer_length=1;
> -show variables like 'net_buffer_length';
> -select * from information_schema.session_variables where variable_name like
> 'net_buffer_length';
> +set global net_buffer_length=1;
> +show global variables like 'net_buffer_length';
> +select * from information_schema.global_variables where variable_name like
> 'net_buffer_length';
> #warning 1292
> -set net_buffer_length=2000000000;
> -show variables like 'net_buffer_length';
> -select * from information_schema.session_variables where variable_name like
> 'net_buffer_length';
> +set global net_buffer_length=2000000000;
> +show global variables like 'net_buffer_length';
> +select * from information_schema.global_variables where variable_name like
> 'net_buffer_length';
>
> set character set cp1251_koi8;
> show variables like "character_set_client";
> @@ -274,7 +272,7 @@ select @@long_query_time;
> set long_query_time=100.000001;
> select @@long_query_time;
> set low_priority_updates=1;
> -set max_allowed_packet=100;
> +set global max_allowed_packet=100;
> set global max_binlog_cache_size=100;
> set global max_binlog_size=100;
> set global max_connect_errors=100;
> @@ -288,7 +286,7 @@ set global max_user_connections=100;
> select @@max_user_connections;
> set global max_write_lock_count=100;
> set myisam_sort_buffer_size=100;
> -set net_buffer_length=100;
> +set global net_buffer_length=100;
> set net_read_timeout=100;
> set net_write_timeout=100;
> set global query_cache_limit=100;
>
> === modified file 'sql/set_var.cc'
> --- a/sql/set_var.cc 2008-10-06 09:29:42 +0000
> +++ b/sql/set_var.cc 2008-10-31 10:10:18 +0000
> @@ -296,7 +296,7 @@ static sys_var_thd_bool sys_sql_low_prio
> &SV::low_priority_updates,
> fix_low_priority_updates);
> #endif
> -static sys_var_thd_ulong sys_max_allowed_packet(&vars, "max_allowed_packet",
> +static sys_var_thd_ulong_session_readonly sys_max_allowed_packet(&vars,
> "max_allowed_packet",
> &SV::max_allowed_packet);
> static sys_var_long_ptr sys_max_binlog_cache_size(&vars,
> "max_binlog_cache_size",
> &max_binlog_cache_size);
> @@ -369,7 +369,7 @@ static sys_var_thd_enum sys_myis
> &myisam_stats_method_typelib,
> NULL);
>
> -static sys_var_thd_ulong sys_net_buffer_length(&vars, "net_buffer_length",
> +static sys_var_thd_ulong_session_readonly sys_net_buffer_length(&vars,
> "net_buffer_length",
> &SV::net_buffer_length);
> static sys_var_thd_ulong sys_net_read_timeout(&vars, "net_read_timeout",
> &SV::net_read_timeout,
> @@ -2847,6 +2847,18 @@ uchar *sys_var_max_user_conn::value_ptr(
> }
>
>
> +bool sys_var_thd_ulong_session_readonly::check(THD *thd, set_var *var)
> +{
> + if (var->type != OPT_GLOBAL)
> + {
> + my_error(ER_VARIABLE_IS_READONLY, MYF(0), "SESSION", name, "GLOBAL");
> + return TRUE;
> + }
> +
> + return sys_var_thd_ulong::check(thd, var);
> +}
> +
> +
> bool sys_var_thd_lc_time_names::check(THD *thd, set_var *var)
> {
> MY_LOCALE *locale_match;
>
> === modified file 'sql/set_var.h'
> --- a/sql/set_var.h 2008-09-09 10:19:31 +0000
> +++ b/sql/set_var.h 2008-10-31 10:10:18 +0000
> @@ -1025,6 +1025,29 @@ public:
> };
>
>
> +/**
> + * @brief This is a specialization of sys_var_thd_ulong that implements a
> + read-only session variable. The class overrides check() and check_default()
> + to achieve the read-only property for the session part of the variable.
> + */
> +class sys_var_thd_ulong_session_readonly : public sys_var_thd_ulong
> +{
> +public:
> + sys_var_thd_ulong_session_readonly(sys_var_chain *chain_arg,
> + const char *name_arg, ulong SV::*offset_arg,
> + sys_check_func c_func= NULL,
> + sys_after_update_func au_func= NULL,
> + Binlog_status_enum bl_status_arg=
> NOT_IN_BINLOG):
> + sys_var_thd_ulong(chain_arg, name_arg, offset_arg, c_func, au_func,
> bl_status_arg)
> + { }
> + bool check(THD *thd, set_var *var);
> + bool check_default(enum_var_type type)
> + {
> + return type != OPT_GLOBAL || !option_limits;
> + }
> +};
> +
> +
> class sys_var_microseconds :public sys_var_thd
> {
> ulonglong SV::*offset;
>
> === modified file 'sql/share/errmsg.txt'
> --- a/sql/share/errmsg.txt 2008-08-06 14:20:41 +0000
> +++ b/sql/share/errmsg.txt 2008-10-31 10:10:18 +0000
> @@ -6133,3 +6133,6 @@ ER_NEED_REPREPARE
>
> ER_DELAYED_NOT_SUPPORTED
> eng "DELAYED option not supported for table '%-.192s'"
> +
> +ER_VARIABLE_IS_READONLY
> + eng "%s variable '%s' is read-only. Use SET %s to assign the value"
>
>
> --
> MySQL Code Commits Mailing List
> For list archives: http://lists.mysql.com/commits
> To unsubscribe: http://lists.mysql.com/commits?unsub=1