more fixes for test cases

mysql-test/suite/innodb/include/restart_and_reinit.inc:
  drop and recreate mysql.innodb* tables when deleting innodb table spaces
mysql-test/t/ssl_8k_key-master.opt:
  with loose- prefix ssl errors are ignored
sql-common/client.c:
  compiler warnings
sql/field.cc:
  use the new function
sql/item.cc:
  don't convert time to double or decimal via longlong,
  this loses sub-second part.
  Use dedicated functions.
sql/item.h:
  incorrect cast_to_int type for params
sql/item_strfunc.cc:
  use the new function
sql/lex.h:
  unused
sql/my_decimal.h:
  helper macro
sql/sql_plugin.cc:
  workaround for a compiler warning
sql/sql_yacc.yy:
  unused
sql/transaction.cc:
  fix the merge for SERVER_STATUS_IN_TRANS_READONLY protocol flag
storage/sphinx/CMakeLists.txt:
  compiler warnings
This commit is contained in:
Sergei Golubchik 2012-10-01 13:15:29 +02:00
parent adf6e145f7
commit 416d0aebbf
54 changed files with 377 additions and 1089 deletions

View File

@ -498,7 +498,6 @@ mysql-test/r/*.err
mysql-test/r/*.log mysql-test/r/*.log
mysql-test/r/*.out mysql-test/r/*.out
mysql-test/r/*.reject mysql-test/r/*.reject
mysql-test/std_data/*.pem
mysql-test/var mysql-test/var
mysql.kdevprj mysql.kdevprj
mysql.proj mysql.proj
@ -1145,3 +1144,4 @@ sql/db.opt
./install_manifest_*.txt ./install_manifest_*.txt
typescript typescript
storage/perfschema/gen_pfs_lex_token storage/perfschema/gen_pfs_lex_token
storage/perfschema/pfs_lex_token.h

1
TODO
View File

@ -23,7 +23,6 @@ Features recoded
- Added support of timestamps to ha_write and ha_update. - Added support of timestamps to ha_write and ha_update.
Fetures half done: Fetures half done:
- Support for TRANSACTION READ ONLY | READ WRITE
- CF_XXX states added to init_update_queries() but not otherwise used. - CF_XXX states added to init_update_queries() but not otherwise used.
Short time TODO: Short time TODO:

View File

@ -285,6 +285,7 @@ enum enum_server_command
*/ */
#define SERVER_STATUS_IN_TRANS_READONLY 8192 #define SERVER_STATUS_IN_TRANS_READONLY 8192
/** /**
Server status flags that must be cleared when starting Server status flags that must be cleared when starting
execution of a new SQL statement. execution of a new SQL statement.

View File

@ -17,3 +17,6 @@ sum_distinct-big : Bug#11764126 2010-11-15 mattiasj was not tested
archive-big : Bug#11817185 2011-03-10 Anitha Disabled since this leads to timeout on Solaris Sparc archive-big : Bug#11817185 2011-03-10 Anitha Disabled since this leads to timeout on Solaris Sparc
log_tables-big : Bug#11756699 2010-11-15 mattiasj report already exists log_tables-big : Bug#11756699 2010-11-15 mattiasj report already exists
mysql_embedded : Bug#12561297 2011-05-14 Anitha Dependent on PB2 changes - eventum#41836 mysql_embedded : Bug#12561297 2011-05-14 Anitha Dependent on PB2 changes - eventum#41836
ssl_crl_clients_valid : broken upstream
ssl_crl : broken upstream
ssl_crl_clrpath : broken upstream

View File

@ -1,4 +1,7 @@
-- require r/openssl.require -- source include/have_ssl_communication.inc
disable_query_log; let $crllen=`select length(trim(coalesce(@@ssl_crl, ''))) + length(trim(coalesce(@@ssl_crlpath, '')))`;
show variables like "have_openssl"; if (!$crllen)
enable_query_log; {
skip Needs OpenSSL;
}

View File

@ -1,4 +0,0 @@
-- require r/have_ssl.require
disable_query_log;
show variables like 'have_ssl';
enable_query_log;

View File

@ -1,4 +1,4 @@
-- require r/have_ssl.require if (`SELECT count(*) = 0 FROM information_schema.GLOBAL_VARIABLES WHERE
disable_query_log; VARIABLE_NAME = 'have_ssl' AND VARIABLE_VALUE = 'YES'`){
show variables like 'have_ssl'; skip Needs SSL;
enable_query_log; }

View File

@ -1,8 +1,4 @@
-- require r/have_ssl_is_yes_or_disabled_only.require if (`SELECT count(*) = 0 FROM information_schema.GLOBAL_VARIABLES WHERE
disable_query_log; VARIABLE_NAME = 'have_ssl' AND VARIABLE_VALUE <> 'NO'`){
# "yes" means that the ssl library is found and the server can communicate using SSL. skip Needs SSL;
# "no" means that there are no SSL functions in the server. }
# "disabled" means that ssl functions exist, but communication is disabled for some reason.
replace_regex s/(YES|DISABLED)/yesordisabled/;
show variables like "have_ssl";
enable_query_log;

View File

@ -8,10 +8,9 @@ CREATE TABLE db1.t1(a INT);
SELECT CURRENT_USER(); SELECT CURRENT_USER();
CURRENT_USER() CURRENT_USER()
user1@localhost user1@localhost
SHOW VARIABLES LIKE "%read_only%"; SHOW VARIABLES LIKE "read_only%";
Variable_name Value Variable_name Value
read_only ON read_only ON
tx_read_only OFF
INSERT INTO db1.t1 VALUES (1); INSERT INTO db1.t1 VALUES (1);
ERROR HY000: The MariaDB server is running with the --read-only option so it cannot execute this statement ERROR HY000: The MariaDB server is running with the --read-only option so it cannot execute this statement
DROP DATABASE db1; DROP DATABASE db1;

View File

@ -1,2 +0,0 @@
Variable_name Value
have_ssl YES

View File

@ -1,2 +0,0 @@
Variable_name Value
have_ssl yesordisabled

View File

@ -1,2 +0,0 @@
Variable_name Value
have_openssl YES

View File

@ -0,0 +1,63 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
a5:85:ec:60:b1:68:44:22
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=BG, ST=Plovdiv, O=Oracle, OU=MySQL, CN=MySQL CRL test CA certificate
Validity
Not Before: Jun 17 07:27:51 2011 GMT
Not After : Jun 15 07:27:51 2016 GMT
Subject: C=BG, ST=Plovdiv, O=Oracle, OU=MySQL, CN=MySQL CRL test CA certificate
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:9b:08:0b:96:19:57:fb:21:79:f4:16:c9:b8:2c:
13:2e:e1:fe:5f:6b:18:7d:d4:c4:d7:cd:66:a6:62:
0e:b7:28:b1:39:76:62:6e:5a:4a:80:f6:0e:8e:84:
3e:cf:2f:91:0d:36:6d:8b:b5:f9:78:96:f0:5f:82:
a2:b2:d8:fc:b3:46:b5:30:24:b3:a8:77:60:6c:05:
c9:8f:82:fd:ad:9f:26:23:29:56:5b:02:6f:f2:00:
31:86:60:b7:8c:56:b3:95:a8:8d:a9:bb:6b:91:fd:
5d:f5:6a:21:45:85:63:78:0e:0f:0e:03:6d:53:73:
0d:6c:aa:5b:f9:fc:fa:fd:f7
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
C4:1D:2C:68:3F:5F:29:51:EC:C5:54:61:CE:16:13:D2:72:5D:63:E8
X509v3 Authority Key Identifier:
keyid:C4:1D:2C:68:3F:5F:29:51:EC:C5:54:61:CE:16:13:D2:72:5D:63:E8
DirName:/C=BG/ST=Plovdiv/O=Oracle/OU=MySQL/CN=MySQL CRL test CA certificate
serial:A5:85:EC:60:B1:68:44:22
X509v3 Basic Constraints:
CA:TRUE
Signature Algorithm: sha1WithRSAEncryption
73:dd:2e:76:71:25:c2:fe:7a:c5:46:ca:f2:c7:a0:43:f0:c7:
3c:24:8d:a6:bd:8d:f2:7c:db:03:1b:2b:8a:c8:23:ae:ef:71:
25:33:5b:10:61:e7:7d:89:30:a8:67:25:2e:e0:06:30:77:da:
b8:87:e5:91:cd:c7:8f:c9:7b:3d:9e:86:80:44:02:6b:d1:06:
85:5d:28:78:cc:a7:a8:35:ac:f7:77:6d:e2:c7:a3:37:bc:9f:
d3:bf:4a:ca:09:dc:d0:78:0c:59:c7:db:4b:67:f1:09:6d:a9:
7a:50:2f:1d:2c:a6:b8:81:0e:e6:4b:ee:d9:be:ae:a5:6a:d7:
56:c4
-----BEGIN CERTIFICATE-----
MIIDHDCCAoWgAwIBAgIJAKWF7GCxaEQiMA0GCSqGSIb3DQEBBQUAMGgxCzAJBgNV
BAYTAkJHMRAwDgYDVQQIEwdQbG92ZGl2MQ8wDQYDVQQKEwZPcmFjbGUxDjAMBgNV
BAsTBU15U1FMMSYwJAYDVQQDEx1NeVNRTCBDUkwgdGVzdCBDQSBjZXJ0aWZpY2F0
ZTAeFw0xMTA2MTcwNzI3NTFaFw0xNjA2MTUwNzI3NTFaMGgxCzAJBgNVBAYTAkJH
MRAwDgYDVQQIEwdQbG92ZGl2MQ8wDQYDVQQKEwZPcmFjbGUxDjAMBgNVBAsTBU15
U1FMMSYwJAYDVQQDEx1NeVNRTCBDUkwgdGVzdCBDQSBjZXJ0aWZpY2F0ZTCBnzAN
BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAmwgLlhlX+yF59BbJuCwTLuH+X2sYfdTE
181mpmIOtyixOXZiblpKgPYOjoQ+zy+RDTZti7X5eJbwX4Kistj8s0a1MCSzqHdg
bAXJj4L9rZ8mIylWWwJv8gAxhmC3jFazlaiNqbtrkf1d9WohRYVjeA4PDgNtU3MN
bKpb+fz6/fcCAwEAAaOBzTCByjAdBgNVHQ4EFgQUxB0saD9fKVHsxVRhzhYT0nJd
Y+gwgZoGA1UdIwSBkjCBj4AUxB0saD9fKVHsxVRhzhYT0nJdY+ihbKRqMGgxCzAJ
BgNVBAYTAkJHMRAwDgYDVQQIEwdQbG92ZGl2MQ8wDQYDVQQKEwZPcmFjbGUxDjAM
BgNVBAsTBU15U1FMMSYwJAYDVQQDEx1NeVNRTCBDUkwgdGVzdCBDQSBjZXJ0aWZp
Y2F0ZYIJAKWF7GCxaEQiMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEA
c90udnElwv56xUbK8segQ/DHPCSNpr2N8nzbAxsrisgjru9xJTNbEGHnfYkwqGcl
LuAGMHfauIflkc3Hj8l7PZ6GgEQCa9EGhV0oeMynqDWs93dt4sejN7yf079Kygnc
0HgMWcfbS2fxCW2pelAvHSymuIEO5kvu2b6upWrXVsQ=
-----END CERTIFICATE-----

View File

@ -0,0 +1,62 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
a5:85:ec:60:b1:68:44:24
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=BG, ST=Plovdiv, O=Oracle, OU=MySQL, CN=MySQL CRL test CA certificate
Validity
Not Before: Jun 17 07:32:32 2011 GMT
Not After : Jun 16 07:32:32 2014 GMT
Subject: C=BG, ST=Plovdiv, L=Plovdiv, O=Oracle, OU=MySQL, CN=MySQL CRL test client certificate
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:bd:18:bf:c5:37:7e:f7:8a:1d:22:c0:4f:5a:70:
51:ea:df:56:4f:29:e9:c7:a5:8a:ab:5a:48:b5:f9:
bf:cd:2a:73:f8:fa:13:20:fd:33:17:11:93:51:f0:
4f:fa:a5:6a:bc:37:94:92:de:7d:c1:09:c6:43:c0:
f7:cd:dd:ac:06:bf:fe:0c:9f:fc:ec:5b:83:a1:1e:
34:d8:af:50:17:4d:84:51:20:44:76:81:d1:12:76:
06:fb:05:29:59:47:0f:9d:97:f1:41:2f:92:0d:e4:
b6:c1:fb:cf:75:95:a9:0f:cf:b3:4f:69:a3:d1:14:
e9:6b:cf:be:53:bd:4e:3f:5d
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
39:37:9C:0B:9F:E4:8E:48:48:71:23:2B:CA:F0:C1:F9:0B:F2:0A:D0
X509v3 Authority Key Identifier:
keyid:C4:1D:2C:68:3F:5F:29:51:EC:C5:54:61:CE:16:13:D2:72:5D:63:E8
Signature Algorithm: sha1WithRSAEncryption
18:03:42:13:af:86:c3:eb:9c:40:4a:d8:9e:e7:25:e1:43:7b:
2f:55:1b:e6:ec:bf:9b:56:b3:c7:cb:78:cd:d2:00:46:39:96:
d8:f8:cd:9d:0e:e7:97:51:93:f8:5b:ed:4f:5a:16:6b:56:fb:
c0:d1:58:3c:7f:e9:64:aa:11:03:ff:3b:5e:9d:6d:c8:53:a8:
4a:30:f7:a6:ae:7c:e0:ed:16:c4:a0:07:9c:75:1a:23:58:13:
70:9e:aa:cc:b8:1d:70:26:85:ad:e1:f3:34:83:1b:e0:72:44:
c4:28:d5:c5:6a:43:83:47:fe:8b:ab:ac:07:55:ff:2c:d9:0f:
5f:c7
-----BEGIN CERTIFICATE-----
MIIC3zCCAkigAwIBAgIJAKWF7GCxaEQkMA0GCSqGSIb3DQEBBQUAMGgxCzAJBgNV
BAYTAkJHMRAwDgYDVQQIEwdQbG92ZGl2MQ8wDQYDVQQKEwZPcmFjbGUxDjAMBgNV
BAsTBU15U1FMMSYwJAYDVQQDEx1NeVNRTCBDUkwgdGVzdCBDQSBjZXJ0aWZpY2F0
ZTAeFw0xMTA2MTcwNzMyMzJaFw0xNDA2MTYwNzMyMzJaMH4xCzAJBgNVBAYTAkJH
MRAwDgYDVQQIEwdQbG92ZGl2MRAwDgYDVQQHEwdQbG92ZGl2MQ8wDQYDVQQKEwZP
cmFjbGUxDjAMBgNVBAsTBU15U1FMMSowKAYDVQQDEyFNeVNRTCBDUkwgdGVzdCBj
bGllbnQgY2VydGlmaWNhdGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAL0Y
v8U3fveKHSLAT1pwUerfVk8p6celiqtaSLX5v80qc/j6EyD9MxcRk1HwT/qlarw3
lJLefcEJxkPA983drAa//gyf/Oxbg6EeNNivUBdNhFEgRHaB0RJ2BvsFKVlHD52X
8UEvkg3ktsH7z3WVqQ/Ps09po9EU6WvPvlO9Tj9dAgMBAAGjezB5MAkGA1UdEwQC
MAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRl
MB0GA1UdDgQWBBQ5N5wLn+SOSEhxIyvK8MH5C/IK0DAfBgNVHSMEGDAWgBTEHSxo
P18pUezFVGHOFhPScl1j6DANBgkqhkiG9w0BAQUFAAOBgQAYA0ITr4bD65xAStie
5yXhQ3svVRvm7L+bVrPHy3jN0gBGOZbY+M2dDueXUZP4W+1PWhZrVvvA0Vg8f+lk
qhED/ztenW3IU6hKMPemrnzg7RbEoAecdRojWBNwnqrMuB1wJoWt4fM0gxvgckTE
KNXFakODR/6Lq6wHVf8s2Q9fxw==
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQC9GL/FN373ih0iwE9acFHq31ZPKenHpYqrWki1+b/NKnP4+hMg
/TMXEZNR8E/6pWq8N5SS3n3BCcZDwPfN3awGv/4Mn/zsW4OhHjTYr1AXTYRRIER2
gdESdgb7BSlZRw+dl/FBL5IN5LbB+891lakPz7NPaaPRFOlrz75TvU4/XQIDAQAB
AoGAYMe37rIWk47mlpCijIEMDA++Vsn20q2RKV4N9MUcO19M99LV036DlXzzT26V
II1k8Wvo6Lpi1lewV6D9symPDwuxO3L/lSwInVSbAaCkRYq7BlpL+ShxsUpWT788
ealwFTj3TeM1MCHpFwvO0xGBqFVk+ZadCNZjvwdQi44JCykCQQDqJgOTPPniq5Lk
J6d+KWiCPVAEnEWk5lR0jQ2NZhSm4fFmCd0v6bNYhztk7dizSOiIrXnPLXx9Z8v0
rwKr5WrHAkEAzr5ps9d/t4V60vAJCK+Sq1b+Qj42yEnH2eIjKAUFO63jkPtpOv9h
nzYJTqajvEkHbYJ92elpzGx47FuSOjzAuwJAYpZC5xnDdSccoCf6I+q3cC70pBxQ
TpAUe0ZwsFqM039KrtX0ZZoWw22dGm/yz/ogvnucUBks03iCrbGKhGoCPQJAdlhj
U5I5Rsl+vH6w/Srbz37Vvv+0BkTNxPiA3Wi6TSZGDPkNjLshm6yn+UDEm4RGXzaC
ahoF+QHi2pG0i+e4/wJBAOmbrYbjE2LAzIBy0NvRHslPABTK4zn1L9lzU5XIjV9r
y8JiMfGNC5r7To/ERlFUlMbaPA5Zm9XNrZhDROMZLTc=
-----END RSA PRIVATE KEY-----

View File

@ -0,0 +1,62 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
a5:85:ec:60:b1:68:44:23
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=BG, ST=Plovdiv, O=Oracle, OU=MySQL, CN=MySQL CRL test CA certificate
Validity
Not Before: Jun 17 07:29:11 2011 GMT
Not After : Jun 16 07:29:11 2014 GMT
Subject: C=BG, ST=Plovdiv, L=Plovdiv, O=Oracle, OU=MySQL, CN=MySQL CRL test server certificate
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:c4:c6:01:29:db:e6:62:40:07:bd:43:ce:37:8e:
90:0e:3c:86:cc:6a:0c:40:8e:8e:30:27:f2:84:d3:
59:e8:7d:e7:97:1e:0d:36:08:0b:cc:28:bb:86:b0:
0a:64:8c:55:33:f6:ce:19:00:08:b9:93:ca:84:7e:
9a:4e:81:91:e2:56:32:2a:de:b5:1f:82:b9:8f:33:
f4:87:f8:10:84:69:69:9a:79:58:08:9a:29:dc:09:
79:27:90:ec:af:c8:2d:5f:2e:c1:e1:4a:f1:52:21:
37:58:d4:f9:ef:49:ce:a9:9d:eb:dc:f4:34:30:40:
d0:d7:38:54:94:2e:d1:ac:25
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
4A:18:8F:0C:A3:CF:D7:4A:38:83:07:FC:26:E3:EB:96:32:73:FA:8C
X509v3 Authority Key Identifier:
keyid:C4:1D:2C:68:3F:5F:29:51:EC:C5:54:61:CE:16:13:D2:72:5D:63:E8
Signature Algorithm: sha1WithRSAEncryption
61:74:cc:62:70:9e:1f:3e:96:ac:cd:54:4f:34:60:1c:27:51:
f4:d5:f8:2e:d7:18:11:86:4e:b5:52:8c:a1:ef:28:c9:43:d7:
23:2a:22:15:4a:a3:e7:ff:76:fa:25:be:ed:30:05:ea:12:aa:
3f:c8:ab:a7:22:02:ea:cf:50:d4:43:31:5f:51:de:4c:e1:fa:
31:ba:2e:4e:d8:a4:3d:80:ad:17:83:67:0f:1b:6f:0b:74:43:
ce:36:cb:2f:17:9e:6e:ae:c6:eb:ec:93:70:69:82:42:04:b3:
a7:31:1f:65:70:ff:06:ce:9c:22:8a:dc:7d:92:bc:04:24:ca:
20:66
-----BEGIN CERTIFICATE-----
MIIC3zCCAkigAwIBAgIJAKWF7GCxaEQjMA0GCSqGSIb3DQEBBQUAMGgxCzAJBgNV
BAYTAkJHMRAwDgYDVQQIEwdQbG92ZGl2MQ8wDQYDVQQKEwZPcmFjbGUxDjAMBgNV
BAsTBU15U1FMMSYwJAYDVQQDEx1NeVNRTCBDUkwgdGVzdCBDQSBjZXJ0aWZpY2F0
ZTAeFw0xMTA2MTcwNzI5MTFaFw0xNDA2MTYwNzI5MTFaMH4xCzAJBgNVBAYTAkJH
MRAwDgYDVQQIEwdQbG92ZGl2MRAwDgYDVQQHEwdQbG92ZGl2MQ8wDQYDVQQKEwZP
cmFjbGUxDjAMBgNVBAsTBU15U1FMMSowKAYDVQQDEyFNeVNRTCBDUkwgdGVzdCBz
ZXJ2ZXIgY2VydGlmaWNhdGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMTG
ASnb5mJAB71DzjeOkA48hsxqDECOjjAn8oTTWeh955ceDTYIC8wou4awCmSMVTP2
zhkACLmTyoR+mk6BkeJWMiretR+CuY8z9If4EIRpaZp5WAiaKdwJeSeQ7K/ILV8u
weFK8VIhN1jU+e9Jzqmd69z0NDBA0Nc4VJQu0awlAgMBAAGjezB5MAkGA1UdEwQC
MAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRl
MB0GA1UdDgQWBBRKGI8Mo8/XSjiDB/wm4+uWMnP6jDAfBgNVHSMEGDAWgBTEHSxo
P18pUezFVGHOFhPScl1j6DANBgkqhkiG9w0BAQUFAAOBgQBhdMxicJ4fPpaszVRP
NGAcJ1H01fgu1xgRhk61Uoyh7yjJQ9cjKiIVSqPn/3b6Jb7tMAXqEqo/yKunIgLq
z1DUQzFfUd5M4foxui5O2KQ9gK0Xg2cPG28LdEPONssvF55ursbr7JNwaYJCBLOn
MR9lcP8Gzpwiitx9krwEJMogZg==
-----END CERTIFICATE-----

View File

@ -0,0 +1,15 @@
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDExgEp2+ZiQAe9Q843jpAOPIbMagxAjo4wJ/KE01nofeeXHg02
CAvMKLuGsApkjFUz9s4ZAAi5k8qEfppOgZHiVjIq3rUfgrmPM/SH+BCEaWmaeVgI
mincCXknkOyvyC1fLsHhSvFSITdY1PnvSc6pnevc9DQwQNDXOFSULtGsJQIDAQAB
AoGAfecnZW4jWegYS5xv/RJF0CYgJfkQv9m21s8omJ5W37B3lzSORW0eh1Hkswg+
jhlQhwA63Lot2vfaU65h8ytqeGSxUSj0X8bVCsG+7aoQOxeowZs+CLgWPHmXbXw8
BI9mFbfkIQ/1x5yMSTv0BNRGUtg+t5FGPsmWxSUtfTme4CECQQDxQGEoesrJ25uE
MUcrTSeVpNmzqA8e41+8YIzbyi8nmwzp5gbsgIIF6/P5iMo1T7nIal/8N+FQMft4
Ebzb0ZFNAkEA0M2JmH/ctyDQ7RbQx5lVwiHYn9a3inusvsV47kfH24kdRZYSymI8
of7O8SGkHFJNeYsJmM3UrsNDlbSd+sCaOQJBAKoM+i8hVp2weU9VuNex28wkVfvH
41ifZtUOrVsjidd9+D1KkejUsFHiPqfOntGzL74wFRZggSYZBStePWQotSUCQH29
aMDnLtkw79/2v1+TnSs9CqCmwvyoIYz4iiykGVzBI1mGWGZ75ht/wMtBAPz1Kyao
be0Q9qUPfaGnlQMt/TECQGrMh32zFPFR98yNS6JDVAVib+d5SaJsV5HXXqKCYxQR
u1sv7YeF4/Y+TPKpBSasDNZHQ3zex0M9YOgI+9eEBHk=
-----END RSA PRIVATE KEY-----

View File

@ -25,7 +25,7 @@ sub skip_combinations {
unless defined $::mysqld_variables{'debug-dbug'}; unless defined $::mysqld_variables{'debug-dbug'};
$skip{'include/have_ssl_communication.inc'} = $skip{'include/have_ssl_communication.inc'} =
$skip{'include/have_ssl.inc'} = 'Requires SSL' $skip{'include/have_ssl_crypto_functs.inc'} = 'Requires SSL'
unless defined $::mysqld_variables{'ssl-ca'}; unless defined $::mysqld_variables{'ssl-ca'};
$skip{'include/not_windows.inc'} = 'Requires not Windows' if IS_WINDOWS; $skip{'include/not_windows.inc'} = 'Requires not Windows' if IS_WINDOWS;

View File

@ -5,6 +5,12 @@
# #
source include/not_embedded.inc; source include/not_embedded.inc;
--disable_query_log
let $innodb_index_stats = query_get_value(show create table mysql.innodb_index_stats, Create Table, 1);
let $innodb_table_stats = query_get_value(show create table mysql.innodb_table_stats, Create Table, 1);
let $database=`select database()`;
drop table mysql.innodb_index_stats, mysql.innodb_table_stats;
let $_server_id= `SELECT @@server_id`; let $_server_id= `SELECT @@server_id`;
let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.$_server_id.expect; let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.$_server_id.expect;
let $datadir= `SELECT @@datadir`; let $datadir= `SELECT @@datadir`;
@ -18,3 +24,9 @@ enable_reconnect;
source include/wait_until_connected_again.inc; source include/wait_until_connected_again.inc;
disable_reconnect; disable_reconnect;
--disable_query_log
use mysql;
eval $innodb_table_stats;
eval $innodb_index_stats;
eval use $database;
--enable_query_log

View File

@ -13,18 +13,8 @@ INDEX (customer_id),
FOREIGN KEY (customer_id) FOREIGN KEY (customer_id)
REFERENCES customer(id) REFERENCES customer(id)
) ENGINE=INNODB; ) ENGINE=INNODB;
SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS; SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
CONSTRAINT_CATALOG def WHERE table_name = 'product_order';
CONSTRAINT_SCHEMA mysql
CONSTRAINT_NAME innodb_index_stats_ibfk_1
UNIQUE_CONSTRAINT_CATALOG def
UNIQUE_CONSTRAINT_SCHEMA mysql
UNIQUE_CONSTRAINT_NAME PRIMARY
MATCH_OPTION NONE
UPDATE_RULE RESTRICT
DELETE_RULE RESTRICT
TABLE_NAME innodb_index_stats
REFERENCED_TABLE_NAME innodb_table_stats
CONSTRAINT_CATALOG def CONSTRAINT_CATALOG def
CONSTRAINT_SCHEMA test CONSTRAINT_SCHEMA test
CONSTRAINT_NAME product_order_ibfk_1 CONSTRAINT_NAME product_order_ibfk_1

View File

@ -18,7 +18,8 @@ CREATE TABLE product_order (no INT NOT NULL AUTO_INCREMENT,
REFERENCES customer(id) REFERENCES customer(id)
) ENGINE=INNODB; ) ENGINE=INNODB;
query_vertical SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS; query_vertical SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
WHERE table_name = 'product_order';
DROP TABLE product_order; DROP TABLE product_order;
DROP TABLE product; DROP TABLE product;

View File

@ -76,7 +76,7 @@ SELECT DIGEST, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARNINGS,
SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest; SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest;
DIGEST DIGEST_TEXT COUNT_STAR SUM_ROWS_AFFECTED SUM_WARNINGS SUM_ERRORS DIGEST DIGEST_TEXT COUNT_STAR SUM_ROWS_AFFECTED SUM_WARNINGS SUM_ERRORS
NULL NULL 29 21 1 2 NULL NULL 29 21 1 2
d238cb191361f39845a6adb2961f5501 TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1 0 0 0 05a0fd27e76f6e38420b5dcae970c1d1 TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1 0 0 0
SHOW VARIABLES LIKE "performance_schema_digests_size"; SHOW VARIABLES LIKE "performance_schema_digests_size";
Variable_name Value Variable_name Value
performance_schema_digests_size 2 performance_schema_digests_size 2

View File

@ -75,28 +75,28 @@ Warning 1265 Data truncated for column 'c' at row 1
SELECT DIGEST, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARNINGS, SELECT DIGEST, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARNINGS,
SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest; SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest;
DIGEST DIGEST_TEXT COUNT_STAR SUM_ROWS_AFFECTED SUM_WARNINGS SUM_ERRORS DIGEST DIGEST_TEXT COUNT_STAR SUM_ROWS_AFFECTED SUM_WARNINGS SUM_ERRORS
d238cb191361f39845a6adb2961f5501 TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1 0 0 0 05a0fd27e76f6e38420b5dcae970c1d1 TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1 0 0 0
85d75a1b361e6afe5460639bddfc88ed SELECT ? FROM t1 1 0 0 0 cc0d093a57fbe1694ee003da61a18f50 SELECT ? FROM t1 1 0 0 0
83d5ef3dc373ad216098b07c72e61063 SELECT ? FROM `t1` 1 0 0 0 0bf450b7940cf3dd7fc720fdd6281d77 SELECT ? FROM `t1` 1 0 0 0
ea6492426a33544a059bc12766c5ba3d SELECT ?, ... FROM t1 2 0 0 0 3ea6d9e2c71e6fe84643d647f257ef22 SELECT ?, ... FROM t1 2 0 0 0
c050a704c0817ec2865ead136ceea6ec SELECT ? FROM t2 1 0 0 0 e9d6214db9270d8e3b12694483a7ece0 SELECT ? FROM t2 1 0 0 0
a98062477bd693dacfc0df96c68c5585 SELECT ?, ... FROM t2 2 0 0 0 8bfd768d8ce6c88ca3ace9e9eaf74fad SELECT ?, ... FROM t2 2 0 0 0
72470fa90a09ac60fb0ab822a3d6ade0 INSERT INTO t1 VALUES (?) 1 1 0 0 49358f164df227c622fa9438e17c5a45 INSERT INTO t1 VALUES (?) 1 1 0 0
3f5fd5225f11e3e8d5e8bda8ee6c1546 INSERT INTO t2 VALUES (?) 1 1 0 0 b5777ff47c7e7d37c738c3bbc99a5f50 INSERT INTO t2 VALUES (?) 1 1 0 0
2057d54e44b8760b5414781df21e53e5 INSERT INTO t3 VALUES (...) 1 1 0 0 b8f5b0056d36e62b060d605227e26bfb INSERT INTO t3 VALUES (...) 1 1 0 0
b6becf79cc1c5b9faf07bcd4680e87d1 INSERT INTO t4 VALUES (...) 1 1 0 0 835ec262d10fbedce1e31c397bdae877 INSERT INTO t4 VALUES (...) 1 1 0 0
7d68bb708120922be9668e8c29b2ba7e INSERT INTO t5 VALUES (...) 1 1 0 0 c0cfc65392e6ea3d51708967b0795f09 INSERT INTO t5 VALUES (...) 1 1 0 0
16760e44bae66c003e39919411b8adbb INSERT INTO t1 VALUES (?) /* , ... */ 2 7 0 0 3e743e4d942c7b76fccddbf15211367e INSERT INTO t1 VALUES (?) /* , ... */ 2 7 0 0
29df714911c3f9b83460385a21b5386d INSERT INTO t3 VALUES (...) /* , ... */ 1 3 0 0 6048c5411fb3037b4db7a24eed82b83c INSERT INTO t3 VALUES (...) /* , ... */ 1 3 0 0
5504ad628fc868be29157ccf556c6175 INSERT INTO t5 VALUES (...) /* , ... */ 1 3 0 0 2312fd042d1232cd30e4172c69b0b2e4 INSERT INTO t5 VALUES (...) /* , ... */ 1 3 0 0
0babf2f70315be35a2a9ad6d3d800960 SELECT ? + ? 3 0 0 0 33ebf25ca2afeea44fd5390801df4a0a SELECT ? + ? 3 0 0 0
060c9d59b5b13bc4ec6188ec4f2822b1 SELECT ? 1 0 0 0 eb4368e66ef2ee0713b22abe1b94b5e7 SELECT ? 1 0 0 0
bce3f7384ae2ab78354b031184fde12d CREATE SCHEMA statements_digest_temp 2 2 0 0 bce3f7384ae2ab78354b031184fde12d CREATE SCHEMA statements_digest_temp 2 2 0 0
2a0e36afeaac85dc117c3856388a4fae DROP SCHEMA statements_digest_temp 2 0 0 0 2a0e36afeaac85dc117c3856388a4fae DROP SCHEMA statements_digest_temp 2 0 0 0
8761fd6b83357bdd00acd0b301cd1d43 SELECT ? FROM t11 1 0 0 1 5a6f99b35d55cdcb4c9bd755ff6bed58 SELECT ? FROM t11 1 0 0 1
2707097430c8f6e7b8c60d15d1f3ff9a CREATE TABLE t11 ( c CHARACTER (?) ) 2 0 0 1 88305d7ed153aeef764d4fb992f28034 CREATE TABLE t11 ( c CHARACTER (?) ) 2 0 0 1
503e81940feaf05afaafc435903f6bc3 INSERT INTO t11 VALUES (?) 1 1 1 0 2a533c9f7e3b5d9dac18c4f8a0a49e53 INSERT INTO t11 VALUES (?) 1 1 1 0
cb0f8f969018eb9b6019e9fe069f6e2a SHOW WARNINGS 1 0 0 0 35c70a6aa7abc3da331ef84b3663534b SHOW WARNINGS 1 0 0 0
#################################### ####################################
# CLEANUP # CLEANUP
#################################### ####################################

View File

@ -88,28 +88,28 @@ Warning 1265 Data truncated for column 'c' at row 1
#################################### ####################################
SELECT digest, digest_text, count_star FROM performance_schema.events_statements_summary_by_digest; SELECT digest, digest_text, count_star FROM performance_schema.events_statements_summary_by_digest;
digest digest_text count_star digest digest_text count_star
d238cb191361f39845a6adb2961f5501 TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1 05a0fd27e76f6e38420b5dcae970c1d1 TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1
85d75a1b361e6afe5460639bddfc88ed SELECT ? FROM t1 1 cc0d093a57fbe1694ee003da61a18f50 SELECT ? FROM t1 1
83d5ef3dc373ad216098b07c72e61063 SELECT ? FROM `t1` 1 0bf450b7940cf3dd7fc720fdd6281d77 SELECT ? FROM `t1` 1
ea6492426a33544a059bc12766c5ba3d SELECT ?, ... FROM t1 2 3ea6d9e2c71e6fe84643d647f257ef22 SELECT ?, ... FROM t1 2
c050a704c0817ec2865ead136ceea6ec SELECT ? FROM t2 1 e9d6214db9270d8e3b12694483a7ece0 SELECT ? FROM t2 1
a98062477bd693dacfc0df96c68c5585 SELECT ?, ... FROM t2 2 8bfd768d8ce6c88ca3ace9e9eaf74fad SELECT ?, ... FROM t2 2
72470fa90a09ac60fb0ab822a3d6ade0 INSERT INTO t1 VALUES (?) 1 49358f164df227c622fa9438e17c5a45 INSERT INTO t1 VALUES (?) 1
3f5fd5225f11e3e8d5e8bda8ee6c1546 INSERT INTO t2 VALUES (?) 1 b5777ff47c7e7d37c738c3bbc99a5f50 INSERT INTO t2 VALUES (?) 1
2057d54e44b8760b5414781df21e53e5 INSERT INTO t3 VALUES (...) 1 b8f5b0056d36e62b060d605227e26bfb INSERT INTO t3 VALUES (...) 1
b6becf79cc1c5b9faf07bcd4680e87d1 INSERT INTO t4 VALUES (...) 1 835ec262d10fbedce1e31c397bdae877 INSERT INTO t4 VALUES (...) 1
7d68bb708120922be9668e8c29b2ba7e INSERT INTO t5 VALUES (...) 1 c0cfc65392e6ea3d51708967b0795f09 INSERT INTO t5 VALUES (...) 1
16760e44bae66c003e39919411b8adbb INSERT INTO t1 VALUES (?) /* , ... */ 2 3e743e4d942c7b76fccddbf15211367e INSERT INTO t1 VALUES (?) /* , ... */ 2
29df714911c3f9b83460385a21b5386d INSERT INTO t3 VALUES (...) /* , ... */ 1 6048c5411fb3037b4db7a24eed82b83c INSERT INTO t3 VALUES (...) /* , ... */ 1
5504ad628fc868be29157ccf556c6175 INSERT INTO t5 VALUES (...) /* , ... */ 1 2312fd042d1232cd30e4172c69b0b2e4 INSERT INTO t5 VALUES (...) /* , ... */ 1
0babf2f70315be35a2a9ad6d3d800960 SELECT ? + ? 3 33ebf25ca2afeea44fd5390801df4a0a SELECT ? + ? 3
060c9d59b5b13bc4ec6188ec4f2822b1 SELECT ? 1 eb4368e66ef2ee0713b22abe1b94b5e7 SELECT ? 1
bce3f7384ae2ab78354b031184fde12d CREATE SCHEMA statements_digest_temp 2 bce3f7384ae2ab78354b031184fde12d CREATE SCHEMA statements_digest_temp 2
2a0e36afeaac85dc117c3856388a4fae DROP SCHEMA statements_digest_temp 2 2a0e36afeaac85dc117c3856388a4fae DROP SCHEMA statements_digest_temp 2
8761fd6b83357bdd00acd0b301cd1d43 SELECT ? FROM t11 1 5a6f99b35d55cdcb4c9bd755ff6bed58 SELECT ? FROM t11 1
2707097430c8f6e7b8c60d15d1f3ff9a CREATE TABLE t11 ( c CHARACTER (?) ) 2 88305d7ed153aeef764d4fb992f28034 CREATE TABLE t11 ( c CHARACTER (?) ) 2
503e81940feaf05afaafc435903f6bc3 INSERT INTO t11 VALUES (?) 1 2a533c9f7e3b5d9dac18c4f8a0a49e53 INSERT INTO t11 VALUES (?) 1
cb0f8f969018eb9b6019e9fe069f6e2a SHOW WARNINGS 1 35c70a6aa7abc3da331ef84b3663534b SHOW WARNINGS 1
SELECT digest, digest_text FROM performance_schema.events_statements_current; SELECT digest, digest_text FROM performance_schema.events_statements_current;
digest digest_text digest digest_text
#################################### ####################################

View File

@ -8,5 +8,5 @@ SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1
#################################### ####################################
SELECT digest, digest_text, count_star FROM events_statements_summary_by_digest; SELECT digest, digest_text, count_star FROM events_statements_summary_by_digest;
digest digest_text count_star digest digest_text count_star
d01d4cae378e1362fa70663f43b189d1 TRUNCATE TABLE events_statements_summary_by_digest 1 e56a507698736d9cf34a6b043f9e5ed8 TRUNCATE TABLE events_statements_summary_by_digest 1
99d318822f9c746b71583a9d71b49fff SELECT ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ... 1 9eef21cb9bfa3ff9732c95e0ef47dbf1 SELECT ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ... 1

View File

@ -22,7 +22,7 @@
# # # #
############################################################################### ###############################################################################
-- source include/have_ssl.inc -- source include/have_ssl_communication.inc
--echo '#---------------------BS_STVARS_045_01----------------------#' --echo '#---------------------BS_STVARS_045_01----------------------#'
#################################################################### ####################################################################

View File

@ -22,7 +22,7 @@
# # # #
############################################################################### ###############################################################################
-- source include/have_ssl.inc -- source include/have_ssl_communication.inc
--echo '#---------------------BS_STVARS_047_01----------------------#' --echo '#---------------------BS_STVARS_047_01----------------------#'
#################################################################### ####################################################################

View File

@ -22,7 +22,7 @@
# # # #
############################################################################### ###############################################################################
-- source include/have_ssl.inc -- source include/have_ssl_communication.inc
--echo '#---------------------BS_STVARS_049_01----------------------#' --echo '#---------------------BS_STVARS_049_01----------------------#'
#################################################################### ####################################################################

View File

@ -1179,7 +1179,7 @@ let $rows = 1;
--source suite/vcol/inc/vcol_supported_sql_funcs.inc --source suite/vcol/inc/vcol_supported_sql_funcs.inc
#--echo # DES_ENCRYPT(), DES_DECRYPT() #--echo # DES_ENCRYPT(), DES_DECRYPT()
#--source include/have_ssl.inc #--source include/have_ssl_communication.inc
#let $cols = a varchar(1024), b varchar(1024) as (des_encrypt(des_decrypt(a,'adf'),'adf')); #let $cols = a varchar(1024), b varchar(1024) as (des_encrypt(des_decrypt(a,'adf'),'adf'));
#let $values1 = 'MySQL',default; #let $values1 = 'MySQL',default;
#let $rows = 1; #let $rows = 1;

View File

@ -12,7 +12,7 @@ CREATE TABLE db1.t1(a INT);
connect (con1,localhost,user1,,); connect (con1,localhost,user1,,);
connection con1; connection con1;
SELECT CURRENT_USER(); SELECT CURRENT_USER();
SHOW VARIABLES LIKE "%read_only%"; SHOW VARIABLES LIKE "read_only%";
--error ER_OPTION_PREVENTS_STATEMENT --error ER_OPTION_PREVENTS_STATEMENT
INSERT INTO db1.t1 VALUES (1); INSERT INTO db1.t1 VALUES (1);

View File

@ -1 +1 @@
--loose-ssl-key=$MYSQL_TEST_DIR/std_data/server8k-key.pem --loose-ssl-cert=$MYSQL_TEST_DIR/std_data/server8k-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/server8k-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/server8k-cert.pem

View File

@ -5,7 +5,7 @@
--echo # BUG#11760210 - SSL_CIPHER_LIST NOT SET OR RETURNED FOR "SHOW STATUS LIKE 'SSL_CIPHER_LIST'" --echo # BUG#11760210 - SSL_CIPHER_LIST NOT SET OR RETURNED FOR "SHOW STATUS LIKE 'SSL_CIPHER_LIST'"
--echo # --echo #
-- source include/have_ssl.inc -- source include/have_ssl_communication.inc
# Save the initial number of concurrent sessions # Save the initial number of concurrent sessions
--source include/count_sessions.inc --source include/count_sessions.inc

View File

@ -1,14 +1,7 @@
# This test should work in embedded server after we fix mysqltest # This test should work in embedded server after we fix mysqltest
-- source include/not_embedded.inc -- source include/not_embedded.inc
-- source include/have_ssl_communication.inc
-- source include/have_openssl.inc -- source include/have_openssl.inc
let $crllen=`select length(trim(coalesce(@@ssl_crl, ''))) + length(trim(coalesce(@@ssl_crlpath, '')))`;
if (!$crllen)
{
skip Needs OpenSSL;
}
--echo # test --crl for the client : should connect --echo # test --crl for the client : should connect
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
--exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-valid-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-valid-cert.pem test --ssl-crl=$MYSQL_TEST_DIR/std_data/crl-client-revoked.crl -e "SHOW VARIABLES like '%ssl%';" --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-valid-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-valid-cert.pem test --ssl-crl=$MYSQL_TEST_DIR/std_data/crl-client-revoked.crl -e "SHOW VARIABLES like '%ssl%';"

View File

@ -1,14 +1,7 @@
# This test should work in embedded server after we fix mysqltest # This test should work in embedded server after we fix mysqltest
-- source include/not_embedded.inc -- source include/not_embedded.inc
-- source include/have_ssl_communication.inc
-- source include/have_openssl.inc -- source include/have_openssl.inc
let $crllen=`select length(trim(coalesce(@@ssl_crl, ''))) + length(trim(coalesce(@@ssl_crlpath, '')))`;
if (!$crllen)
{
skip Needs OpenSSL;
}
--echo # Test clients with and without CRL lists --echo # Test clients with and without CRL lists
let $ssl_base = --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-server-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-server-cert.pem; let $ssl_base = --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-server-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-server-cert.pem;
@ -36,13 +29,13 @@ let $admin_suffix = --default-character-set=latin1 -S $MASTER_MYSOCK -P $MASTER_
--echo # Test mysqladmin connecting to a server with a certificate revoked by -crl --echo # Test mysqladmin connecting to a server with a certificate revoked by -crl
--disable_result_log --disable_result_log
--replace_regex /.*mysqladmin.*: connect/mysqladmin: connect/ --replace_regex /.*mysqladmin.*: connect/mysqladmin: connect/
--error 1 --error 2
--exec $MYSQLADMIN $admin_prefix $ssl_crl $admin_suffix 2>&1 --exec $MYSQLADMIN $admin_prefix $ssl_crl $admin_suffix 2>&1
--enable_result_log --enable_result_log
--disable_result_log --disable_result_log
--echo # Test mysqladmin connecting to a server with a certificate revoked by -crlpath --echo # Test mysqladmin connecting to a server with a certificate revoked by -crlpath
--replace_regex /.*mysqladmin.*: connect/mysqladmin: connect/ --replace_regex /.*mysqladmin.*: connect/mysqladmin: connect/
--error 1 --error 2
--exec $MYSQLADMIN $admin_prefix $ssl_crlpath $admin_suffix 2>&1 --exec $MYSQLADMIN $admin_prefix $ssl_crlpath $admin_suffix 2>&1
--enable_result_log --enable_result_log

View File

@ -1,14 +1,7 @@
# This test should work in embedded server after we fix mysqltest # This test should work in embedded server after we fix mysqltest
-- source include/not_embedded.inc -- source include/not_embedded.inc
-- source include/have_ssl_communication.inc
-- source include/have_openssl.inc -- source include/have_openssl.inc
let $crllen=`select length(trim(coalesce(@@ssl_crl, ''))) + length(trim(coalesce(@@ssl_crlpath, '')))`;
if (!$crllen)
{
skip Needs OpenSSL;
}
--echo # Test clients with and without CRL lists --echo # Test clients with and without CRL lists
let $ssl_base = --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-server-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-server-cert.pem; let $ssl_base = --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-server-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-server-cert.pem;

View File

@ -1,14 +1,7 @@
# This test should work in embedded server after we fix mysqltest # This test should work in embedded server after we fix mysqltest
-- source include/not_embedded.inc -- source include/not_embedded.inc
-- source include/have_ssl_communication.inc
-- source include/have_openssl.inc -- source include/have_openssl.inc
let $crllen=`select length(trim(coalesce(@@ssl_crl, ''))) + length(trim(coalesce(@@ssl_crlpath, '')))`;
if (!$crllen)
{
skip Needs OpenSSL;
}
--echo # test --crl for the client : should connect --echo # test --crl for the client : should connect
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
--exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-valid-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-valid-cert.pem test --ssl-crl=$MYSQL_TEST_DIR/std_data/crl-client-revoked.crl -e "SHOW VARIABLES like '%ssl%';" --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-valid-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-valid-cert.pem test --ssl-crl=$MYSQL_TEST_DIR/std_data/crl-client-revoked.crl -e "SHOW VARIABLES like '%ssl%';"

View File

@ -127,7 +127,7 @@ const char *def_shared_memory_base_name= default_shared_memory_base_name;
static void mysql_close_free_options(MYSQL *mysql); static void mysql_close_free_options(MYSQL *mysql);
static void mysql_close_free(MYSQL *mysql); static void mysql_close_free(MYSQL *mysql);
static void mysql_prune_stmt_list(MYSQL *mysql); static void mysql_prune_stmt_list(MYSQL *mysql);
static int cli_report_progress(MYSQL *mysql, uchar *packet, uint length); static int cli_report_progress(MYSQL *mysql, char *packet, uint length);
#if !defined(__WIN__) #if !defined(__WIN__)
static int wait_for_data(my_socket fd, uint timeout); static int wait_for_data(my_socket fd, uint timeout);
@ -783,7 +783,7 @@ restart:
{ {
if (len > 3) if (len > 3)
{ {
uchar *pos= net->read_pos+1; char *pos= (char*) net->read_pos+1;
uint last_errno=uint2korr(pos); uint last_errno=uint2korr(pos);
if (last_errno == 65535 && if (last_errno == 65535 &&
@ -1064,10 +1064,11 @@ static void cli_flush_use_result(MYSQL *mysql, my_bool flush_all_results)
1 error 1 error
*/ */
static int cli_report_progress(MYSQL *mysql, uchar *packet, uint length) static int cli_report_progress(MYSQL *mysql, char *pkt, uint length)
{ {
uint stage, max_stage, proc_length; uint stage, max_stage, proc_length;
double progress; double progress;
uchar *packet= (uchar*)pkt;
uchar *start= packet; uchar *start= packet;
if (length < 5) if (length < 5)
@ -1411,7 +1412,7 @@ void mysql_read_default_options(struct st_mysql_options *options,
break; break;
case OPT_plugin_dir: case OPT_plugin_dir:
{ {
char buff[FN_REFLEN], buff2[FN_REFLEN]; char buff[FN_REFLEN], buff2[FN_REFLEN], *buff2_ptr= buff2;
if (strlen(opt_arg) >= FN_REFLEN) if (strlen(opt_arg) >= FN_REFLEN)
opt_arg[FN_REFLEN]= '\0'; opt_arg[FN_REFLEN]= '\0';
if (my_realpath(buff, opt_arg, 0)) if (my_realpath(buff, opt_arg, 0))
@ -1421,7 +1422,7 @@ void mysql_read_default_options(struct st_mysql_options *options,
break; break;
} }
convert_dirname(buff, buff2, NULL); convert_dirname(buff, buff2, NULL);
EXTENSION_SET_STRING(options, plugin_dir, buff2); EXTENSION_SET_STRING(options, plugin_dir, buff2_ptr);
} }
break; break;
case OPT_default_auth: case OPT_default_auth:

View File

@ -1455,7 +1455,6 @@ end:
else else
{ {
ulong saved_master_access; ulong saved_master_access;
bool save_tx_read_only;
thd->set_query(sp_sql.c_ptr_safe(), sp_sql.length()); thd->set_query(sp_sql.c_ptr_safe(), sp_sql.length());
@ -1463,11 +1462,14 @@ end:
NOTE: even if we run in read-only mode, we should be able to lock NOTE: even if we run in read-only mode, we should be able to lock
the mysql.event table for writing. In order to achieve this, we the mysql.event table for writing. In order to achieve this, we
should call mysql_lock_tables() under the super-user. should call mysql_lock_tables() under the super-user.
Same goes for transaction access mode.
Temporarily reset it to read-write.
*/ */
saved_master_access= thd->security_ctx->master_access; saved_master_access= thd->security_ctx->master_access;
thd->security_ctx->master_access |= SUPER_ACL; thd->security_ctx->master_access |= SUPER_ACL;
save_tx_read_only= thd->tx_read_only; bool save_tx_read_only= thd->tx_read_only;
thd->tx_read_only= false; thd->tx_read_only= false;
ret= Events::drop_event(thd, dbname, name, FALSE); ret= Events::drop_event(thd, dbname, name, FALSE);

View File

@ -411,6 +411,8 @@ Event_scheduler::start()
We should run the event scheduler thread under the super-user privileges. We should run the event scheduler thread under the super-user privileges.
In particular, this is needed to be able to lock the mysql.event table In particular, this is needed to be able to lock the mysql.event table
for writing when the server is running in the read-only mode. for writing when the server is running in the read-only mode.
Same goes for transaction access mode. Set it to read-write for this thd.
*/ */
new_thd->security_ctx->master_access |= SUPER_ACL; new_thd->security_ctx->master_access |= SUPER_ACL;
new_thd->variables.tx_read_only= false; new_thd->variables.tx_read_only= false;

View File

@ -1069,7 +1069,6 @@ Events::load_events_from_db(THD *thd)
bool ret= TRUE; bool ret= TRUE;
uint count= 0; uint count= 0;
ulong saved_master_access; ulong saved_master_access;
bool save_tx_read_only;
DBUG_ENTER("Events::load_events_from_db"); DBUG_ENTER("Events::load_events_from_db");
DBUG_PRINT("enter", ("thd: 0x%lx", (long) thd)); DBUG_PRINT("enter", ("thd: 0x%lx", (long) thd));
@ -1078,11 +1077,14 @@ Events::load_events_from_db(THD *thd)
NOTE: even if we run in read-only mode, we should be able to lock the NOTE: even if we run in read-only mode, we should be able to lock the
mysql.event table for writing. In order to achieve this, we should call mysql.event table for writing. In order to achieve this, we should call
mysql_lock_tables() under the super user. mysql_lock_tables() under the super user.
Same goes for transaction access mode.
Temporarily reset it to read-write.
*/ */
saved_master_access= thd->security_ctx->master_access; saved_master_access= thd->security_ctx->master_access;
thd->security_ctx->master_access |= SUPER_ACL; thd->security_ctx->master_access |= SUPER_ACL;
save_tx_read_only= thd->tx_read_only; bool save_tx_read_only= thd->tx_read_only;
thd->tx_read_only= false; thd->tx_read_only= false;
ret= db_repository->open_event_table(thd, TL_WRITE, &table); ret= db_repository->open_event_table(thd, TL_WRITE, &table);

View File

@ -4845,8 +4845,7 @@ my_decimal *Field_timestamp_hires::val_decimal(my_decimal *d)
{ {
MYSQL_TIME ltime; MYSQL_TIME ltime;
get_date(&ltime, 0); get_date(&ltime, 0);
longlong intg= TIME_to_ulonglong(&ltime); return TIME_to_my_decimal(&ltime, d);
return seconds2my_decimal(ltime.neg, intg, ltime.second_part, d);
} }
int Field_timestamp_hires::store_decimal(const my_decimal *d) int Field_timestamp_hires::store_decimal(const my_decimal *d)
@ -5066,8 +5065,7 @@ my_decimal *Field_temporal::val_decimal(my_decimal *d)
bzero(&ltime, sizeof(ltime)); bzero(&ltime, sizeof(ltime));
ltime.time_type= mysql_type_to_time_type(type()); ltime.time_type= mysql_type_to_time_type(type());
} }
longlong intg= TIME_to_ulonglong(&ltime); return TIME_to_my_decimal(&ltime, d);
return seconds2my_decimal(ltime.neg, intg, ltime.second_part, d);
} }
/**************************************************************************** /****************************************************************************

View File

@ -3459,7 +3459,7 @@ double Item_param::val_real()
This works for example when user says SELECT ?+0.0 and supplies This works for example when user says SELECT ?+0.0 and supplies
time value for the placeholder. time value for the placeholder.
*/ */
return ulonglong2double(TIME_to_ulonglong(&value.time)); return TIME_to_double(&value.time);
case NULL_VALUE: case NULL_VALUE:
return 0.0; return 0.0;
default: default:
@ -3517,9 +3517,7 @@ my_decimal *Item_param::val_decimal(my_decimal *dec)
return dec; return dec;
case TIME_VALUE: case TIME_VALUE:
{ {
longlong i= (longlong) TIME_to_ulonglong(&value.time); return TIME_to_my_decimal(&value.time, dec);
int2my_decimal(E_DEC_FATAL_ERROR, i, 0, dec);
return dec;
} }
case NULL_VALUE: case NULL_VALUE:
return 0; return 0;

View File

@ -2231,7 +2231,6 @@ public:
Item_param(uint pos_in_query_arg); Item_param(uint pos_in_query_arg);
enum Item_result result_type () const { return item_result_type; } enum Item_result result_type () const { return item_result_type; }
enum Item_result cast_to_int_type() const { return item_result_type; }
enum Type type() const { return item_type; } enum Type type() const { return item_type; }
enum_field_types field_type() const { return param_type; } enum_field_types field_type() const { return param_type; }

View File

@ -4399,10 +4399,7 @@ my_decimal *Item_dyncol_get::val_decimal(my_decimal *decimal_value)
case DYN_COL_DATETIME: case DYN_COL_DATETIME:
case DYN_COL_DATE: case DYN_COL_DATE:
case DYN_COL_TIME: case DYN_COL_TIME:
decimal_value= seconds2my_decimal(val.x.time_value.neg, decimal_value= TIME_to_my_decimal(&val.x.time_value, decimal_value);
TIME_to_ulonglong(&val.x.time_value),
val.x.time_value.second_part,
decimal_value);
break; break;
} }
return decimal_value; return decimal_value;

View File

@ -400,7 +400,6 @@ static SYMBOL symbols[] = {
{ "OLD_PASSWORD", SYM(OLD_PASSWORD)}, { "OLD_PASSWORD", SYM(OLD_PASSWORD)},
{ "ON", SYM(ON)}, { "ON", SYM(ON)},
{ "ONE", SYM(ONE_SYM)}, { "ONE", SYM(ONE_SYM)},
{ "ONE_SHOT", SYM(ONE_SHOT_SYM)},
{ "ONLINE", SYM(ONLINE_SYM)}, { "ONLINE", SYM(ONLINE_SYM)},
{ "ONLY", SYM(ONLY_SYM)}, { "ONLY", SYM(ONLY_SYM)},
{ "OPEN", SYM(OPEN_SYM)}, { "OPEN", SYM(OPEN_SYM)},

View File

@ -343,6 +343,10 @@ bool my_decimal2seconds(const my_decimal *d, ulonglong *sec, ulong *microsec);
my_decimal *seconds2my_decimal(bool sign, ulonglong sec, ulong microsec, my_decimal *seconds2my_decimal(bool sign, ulonglong sec, ulong microsec,
my_decimal *d); my_decimal *d);
#define TIME_to_my_decimal(TIME, DECIMAL) \
seconds2my_decimal((TIME)->neg, TIME_to_ulonglong(TIME), \
(TIME)->second_part, (DECIMAL))
int my_decimal2int(uint mask, const decimal_t *d, bool unsigned_flag, int my_decimal2int(uint mask, const decimal_t *d, bool unsigned_flag,
longlong *l); longlong *l);

View File

@ -4366,9 +4366,9 @@ void THD::set_status_no_good_index_used()
#endif #endif
} }
void THD::set_command(enum enum_server_command command_arg) void THD::set_command(enum enum_server_command command)
{ {
m_command= command_arg; m_command= command;
#ifdef HAVE_PSI_THREAD_INTERFACE #ifdef HAVE_PSI_THREAD_INTERFACE
PSI_CALL(set_thread_command)(m_command); PSI_CALL(set_thread_command)(m_command);
#endif #endif

View File

@ -3966,7 +3966,7 @@ end_with_restore_list:
} }
else else
{ {
/* Reset the isolation level if no chaining transaction. */ /* Reset the isolation level and access mode if no chaining transaction.*/
thd->tx_isolation= (enum_tx_isolation) thd->variables.tx_isolation; thd->tx_isolation= (enum_tx_isolation) thd->variables.tx_isolation;
thd->tx_read_only= thd->variables.tx_read_only; thd->tx_read_only= thd->variables.tx_read_only;
} }
@ -4000,7 +4000,7 @@ end_with_restore_list:
} }
else else
{ {
/* Reset the isolation level if no chaining transaction. */ /* Reset the isolation level and access mode if no chaining transaction.*/
thd->tx_isolation= (enum_tx_isolation) thd->variables.tx_isolation; thd->tx_isolation= (enum_tx_isolation) thd->variables.tx_isolation;
thd->tx_read_only= thd->variables.tx_read_only; thd->tx_read_only= thd->variables.tx_read_only;
} }
@ -4520,7 +4520,7 @@ create_sp_error:
thd->mdl_context.release_transactional_locks(); thd->mdl_context.release_transactional_locks();
/* /*
We've just done a commit, reset transaction We've just done a commit, reset transaction
isolation level to the session default. isolation level and access mode to the session default.
*/ */
thd->tx_isolation= (enum_tx_isolation) thd->variables.tx_isolation; thd->tx_isolation= (enum_tx_isolation) thd->variables.tx_isolation;
thd->tx_read_only= thd->variables.tx_read_only; thd->tx_read_only= thd->variables.tx_read_only;
@ -4532,7 +4532,7 @@ create_sp_error:
thd->mdl_context.release_transactional_locks(); thd->mdl_context.release_transactional_locks();
/* /*
We've just done a rollback, reset transaction We've just done a rollback, reset transaction
isolation level to the session default. isolation level and access mode to the session default.
*/ */
thd->tx_isolation= (enum_tx_isolation) thd->variables.tx_isolation; thd->tx_isolation= (enum_tx_isolation) thd->variables.tx_isolation;
thd->tx_read_only= thd->variables.tx_read_only; thd->tx_read_only= thd->variables.tx_read_only;

View File

@ -1531,7 +1531,7 @@ int plugin_init(int *argc, char **argv, int flags)
/* prepare debug_sync service */ /* prepare debug_sync service */
DBUG_ASSERT(strcmp(list_of_services[5].name, "debug_sync_service") == 0); DBUG_ASSERT(strcmp(list_of_services[5].name, "debug_sync_service") == 0);
list_of_services[5].service= *(void**)&debug_sync_C_callback_ptr; list_of_services[5].service= reinterpret_cast<void*>(debug_sync_C_callback_ptr);
mysql_mutex_lock(&LOCK_plugin); mysql_mutex_lock(&LOCK_plugin);

View File

@ -1280,7 +1280,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
%token OFFSET_SYM %token OFFSET_SYM
%token OLD_PASSWORD %token OLD_PASSWORD
%token ON /* SQL-2003-R */ %token ON /* SQL-2003-R */
%token ONE_SHOT_SYM
%token ONE_SYM %token ONE_SYM
%token ONLY_SYM /* SQL-2003-R */ %token ONLY_SYM /* SQL-2003-R */
%token ONLINE_SYM %token ONLINE_SYM
@ -13299,7 +13298,6 @@ keyword_sp:
| NVARCHAR_SYM {} | NVARCHAR_SYM {}
| OFFSET_SYM {} | OFFSET_SYM {}
| OLD_PASSWORD {} | OLD_PASSWORD {}
| ONE_SHOT_SYM {}
| ONE_SYM {} | ONE_SYM {}
| ONLINE_SYM {} | ONLINE_SYM {}
| ONLY_SYM {} | ONLY_SYM {}
@ -13424,8 +13422,6 @@ keyword_sp:
| VIA_SYM {} | VIA_SYM {}
; ;
/* Option functions */
/* /*
SQLCOM_SET_OPTION statement. SQLCOM_SET_OPTION statement.

View File

@ -135,7 +135,9 @@ bool trans_begin(THD *thd, uint flags)
(thd->variables.option_bits & OPTION_TABLE_LOCK)) (thd->variables.option_bits & OPTION_TABLE_LOCK))
{ {
thd->variables.option_bits&= ~OPTION_TABLE_LOCK; thd->variables.option_bits&= ~OPTION_TABLE_LOCK;
thd->server_status&= ~SERVER_STATUS_IN_TRANS; thd->server_status&=
~(SERVER_STATUS_IN_TRANS | SERVER_STATUS_IN_TRANS_READONLY);
DBUG_PRINT("info", ("clearing SERVER_STATUS_IN_TRANS"));
res= test(ha_commit_trans(thd, TRUE)); res= test(ha_commit_trans(thd, TRUE));
} }
@ -178,6 +180,7 @@ bool trans_begin(THD *thd, uint flags)
thd->server_status|= SERVER_STATUS_IN_TRANS; thd->server_status|= SERVER_STATUS_IN_TRANS;
if (thd->tx_read_only) if (thd->tx_read_only)
thd->server_status|= SERVER_STATUS_IN_TRANS_READONLY; thd->server_status|= SERVER_STATUS_IN_TRANS_READONLY;
DBUG_PRINT("info", ("setting SERVER_STATUS_IN_TRANS"));
/* ha_start_consistent_snapshot() relies on OPTION_BEGIN flag set. */ /* ha_start_consistent_snapshot() relies on OPTION_BEGIN flag set. */
if (flags & MYSQL_START_TRANS_OPT_WITH_CONS_SNAPSHOT) if (flags & MYSQL_START_TRANS_OPT_WITH_CONS_SNAPSHOT)
@ -204,16 +207,18 @@ bool trans_commit(THD *thd)
if (trans_check(thd)) if (trans_check(thd))
DBUG_RETURN(TRUE); DBUG_RETURN(TRUE);
thd->server_status&= ~SERVER_STATUS_IN_TRANS; thd->server_status&=
~(SERVER_STATUS_IN_TRANS | SERVER_STATUS_IN_TRANS_READONLY);
DBUG_PRINT("info", ("clearing SERVER_STATUS_IN_TRANS"));
res= ha_commit_trans(thd, TRUE); res= ha_commit_trans(thd, TRUE);
if (res)
/* /*
if res is non-zero, then ha_commit_trans has rolled back the if res is non-zero, then ha_commit_trans has rolled back the
transaction, so the hooks for rollback will be called. transaction, so the hooks for rollback will be called.
*/ */
RUN_HOOK(transaction, after_rollback, (thd, FALSE)); if (res)
(void) RUN_HOOK(transaction, after_rollback, (thd, FALSE));
else else
RUN_HOOK(transaction, after_commit, (thd, FALSE)); (void) RUN_HOOK(transaction, after_commit, (thd, FALSE));
thd->variables.option_bits&= ~(OPTION_BEGIN | OPTION_KEEP_LOG); thd->variables.option_bits&= ~(OPTION_BEGIN | OPTION_KEEP_LOG);
thd->transaction.all.modified_non_trans_table= FALSE; thd->transaction.all.modified_non_trans_table= FALSE;
thd->lex->start_transaction_opt= 0; thd->lex->start_transaction_opt= 0;
@ -247,7 +252,9 @@ bool trans_commit_implicit(THD *thd)
/* Safety if one did "drop table" on locked tables */ /* Safety if one did "drop table" on locked tables */
if (!thd->locked_tables_mode) if (!thd->locked_tables_mode)
thd->variables.option_bits&= ~OPTION_TABLE_LOCK; thd->variables.option_bits&= ~OPTION_TABLE_LOCK;
thd->server_status&= ~SERVER_STATUS_IN_TRANS; thd->server_status&=
~(SERVER_STATUS_IN_TRANS | SERVER_STATUS_IN_TRANS_READONLY);
DBUG_PRINT("info", ("clearing SERVER_STATUS_IN_TRANS"));
res= test(ha_commit_trans(thd, TRUE)); res= test(ha_commit_trans(thd, TRUE));
} }
@ -256,7 +263,7 @@ bool trans_commit_implicit(THD *thd)
/* /*
Upon implicit commit, reset the current transaction Upon implicit commit, reset the current transaction
isolation level. We do not care about isolation level and access mode. We do not care about
@@session.completion_type since it's documented @@session.completion_type since it's documented
to not have any effect on implicit commit. to not have any effect on implicit commit.
*/ */
@ -284,9 +291,11 @@ bool trans_rollback(THD *thd)
if (trans_check(thd)) if (trans_check(thd))
DBUG_RETURN(TRUE); DBUG_RETURN(TRUE);
thd->server_status&= ~SERVER_STATUS_IN_TRANS; thd->server_status&=
~(SERVER_STATUS_IN_TRANS | SERVER_STATUS_IN_TRANS_READONLY);
DBUG_PRINT("info", ("clearing SERVER_STATUS_IN_TRANS"));
res= ha_rollback_trans(thd, TRUE); res= ha_rollback_trans(thd, TRUE);
RUN_HOOK(transaction, after_rollback, (thd, FALSE)); (void) RUN_HOOK(transaction, after_rollback, (thd, FALSE));
thd->variables.option_bits&= ~(OPTION_BEGIN | OPTION_KEEP_LOG); thd->variables.option_bits&= ~(OPTION_BEGIN | OPTION_KEEP_LOG);
thd->transaction.all.modified_non_trans_table= FALSE; thd->transaction.all.modified_non_trans_table= FALSE;
thd->lex->start_transaction_opt= 0; thd->lex->start_transaction_opt= 0;
@ -332,14 +341,14 @@ bool trans_commit_stmt(THD *thd)
} }
} }
if (res)
/* /*
if res is non-zero, then ha_commit_trans has rolled back the if res is non-zero, then ha_commit_trans has rolled back the
transaction, so the hooks for rollback will be called. transaction, so the hooks for rollback will be called.
*/ */
RUN_HOOK(transaction, after_rollback, (thd, FALSE)); if (res)
(void) RUN_HOOK(transaction, after_rollback, (thd, FALSE));
else else
RUN_HOOK(transaction, after_commit, (thd, FALSE)); (void) RUN_HOOK(transaction, after_commit, (thd, FALSE));
thd->transaction.stmt.reset(); thd->transaction.stmt.reset();
@ -379,7 +388,7 @@ bool trans_rollback_stmt(THD *thd)
} }
} }
RUN_HOOK(transaction, after_rollback, (thd, FALSE)); (void) RUN_HOOK(transaction, after_rollback, (thd, FALSE));
thd->transaction.stmt.reset(); thd->transaction.stmt.reset();
@ -756,7 +765,9 @@ bool trans_xa_commit(THD *thd)
thd->variables.option_bits&= ~(OPTION_BEGIN | OPTION_KEEP_LOG); thd->variables.option_bits&= ~(OPTION_BEGIN | OPTION_KEEP_LOG);
thd->transaction.all.modified_non_trans_table= FALSE; thd->transaction.all.modified_non_trans_table= FALSE;
thd->server_status&= ~SERVER_STATUS_IN_TRANS; thd->server_status&=
~(SERVER_STATUS_IN_TRANS | SERVER_STATUS_IN_TRANS_READONLY);
DBUG_PRINT("info", ("clearing SERVER_STATUS_IN_TRANS"));
xid_cache_delete(&thd->transaction.xid_state); xid_cache_delete(&thd->transaction.xid_state);
thd->transaction.xid_state.xa_state= XA_NOTR; thd->transaction.xid_state.xa_state= XA_NOTR;
@ -803,7 +814,9 @@ bool trans_xa_rollback(THD *thd)
thd->variables.option_bits&= ~(OPTION_BEGIN | OPTION_KEEP_LOG); thd->variables.option_bits&= ~(OPTION_BEGIN | OPTION_KEEP_LOG);
thd->transaction.all.modified_non_trans_table= FALSE; thd->transaction.all.modified_non_trans_table= FALSE;
thd->server_status&= ~SERVER_STATUS_IN_TRANS; thd->server_status&=
~(SERVER_STATUS_IN_TRANS | SERVER_STATUS_IN_TRANS_READONLY);
DBUG_PRINT("info", ("clearing SERVER_STATUS_IN_TRANS"));
xid_cache_delete(&thd->transaction.xid_state); xid_cache_delete(&thd->transaction.xid_state);
thd->transaction.xid_state.xa_state= XA_NOTR; thd->transaction.xid_state.xa_state= XA_NOTR;

View File

@ -1,909 +0,0 @@
/*
Copyright (c) 2011, 2012, Oracle, Monty Program Ab and others.
*/
/*
This file is generated, do not edit.
See file storage/perfschema/gen_pfs_lex_token.cc.
*/
struct lex_token_string
{
const char *m_token_string;
int m_token_length;
};
typedef struct lex_token_string lex_token_string;
lex_token_string lex_token_array[]=
{
/* PART 1: character tokens. */
/* 000 */ { "\x00", 1},
/* 001 */ { "\x01", 1},
/* 002 */ { "\x02", 1},
/* 003 */ { "\x03", 1},
/* 004 */ { "\x04", 1},
/* 005 */ { "\x05", 1},
/* 006 */ { "\x06", 1},
/* 007 */ { "\x07", 1},
/* 008 */ { "\x08", 1},
/* 009 */ { "\x09", 1},
/* 010 */ { "\x0a", 1},
/* 011 */ { "\x0b", 1},
/* 012 */ { "\x0c", 1},
/* 013 */ { "\x0d", 1},
/* 014 */ { "\x0e", 1},
/* 015 */ { "\x0f", 1},
/* 016 */ { "\x10", 1},
/* 017 */ { "\x11", 1},
/* 018 */ { "\x12", 1},
/* 019 */ { "\x13", 1},
/* 020 */ { "\x14", 1},
/* 021 */ { "\x15", 1},
/* 022 */ { "\x16", 1},
/* 023 */ { "\x17", 1},
/* 024 */ { "\x18", 1},
/* 025 */ { "\x19", 1},
/* 026 */ { "\x1a", 1},
/* 027 */ { "\x1b", 1},
/* 028 */ { "\x1c", 1},
/* 029 */ { "\x1d", 1},
/* 030 */ { "\x1e", 1},
/* 031 */ { "\x1f", 1},
/* 032 */ { "\x20", 1},
/* 033 */ { "\x21", 1},
/* 034 */ { "\x22", 1},
/* 035 */ { "\x23", 1},
/* 036 */ { "\x24", 1},
/* 037 */ { "\x25", 1},
/* 038 */ { "\x26", 1},
/* 039 */ { "\x27", 1},
/* 040 */ { "\x28", 1},
/* 041 */ { "\x29", 1},
/* 042 */ { "\x2a", 1},
/* 043 */ { "\x2b", 1},
/* 044 */ { "\x2c", 1},
/* 045 */ { "\x2d", 1},
/* 046 */ { "\x2e", 1},
/* 047 */ { "\x2f", 1},
/* 048 */ { "\x30", 1},
/* 049 */ { "\x31", 1},
/* 050 */ { "\x32", 1},
/* 051 */ { "\x33", 1},
/* 052 */ { "\x34", 1},
/* 053 */ { "\x35", 1},
/* 054 */ { "\x36", 1},
/* 055 */ { "\x37", 1},
/* 056 */ { "\x38", 1},
/* 057 */ { "\x39", 1},
/* 058 */ { "\x3a", 1},
/* 059 */ { "\x3b", 1},
/* 060 */ { "\x3c", 1},
/* 061 */ { "\x3d", 1},
/* 062 */ { "\x3e", 1},
/* 063 */ { "\x3f", 1},
/* 064 */ { "\x40", 1},
/* 065 */ { "\x41", 1},
/* 066 */ { "\x42", 1},
/* 067 */ { "\x43", 1},
/* 068 */ { "\x44", 1},
/* 069 */ { "\x45", 1},
/* 070 */ { "\x46", 1},
/* 071 */ { "\x47", 1},
/* 072 */ { "\x48", 1},
/* 073 */ { "\x49", 1},
/* 074 */ { "\x4a", 1},
/* 075 */ { "\x4b", 1},
/* 076 */ { "\x4c", 1},
/* 077 */ { "\x4d", 1},
/* 078 */ { "\x4e", 1},
/* 079 */ { "\x4f", 1},
/* 080 */ { "\x50", 1},
/* 081 */ { "\x51", 1},
/* 082 */ { "\x52", 1},
/* 083 */ { "\x53", 1},
/* 084 */ { "\x54", 1},
/* 085 */ { "\x55", 1},
/* 086 */ { "\x56", 1},
/* 087 */ { "\x57", 1},
/* 088 */ { "\x58", 1},
/* 089 */ { "\x59", 1},
/* 090 */ { "\x5a", 1},
/* 091 */ { "\x5b", 1},
/* 092 */ { "\x5c", 1},
/* 093 */ { "\x5d", 1},
/* 094 */ { "\x5e", 1},
/* 095 */ { "\x5f", 1},
/* 096 */ { "\x60", 1},
/* 097 */ { "\x61", 1},
/* 098 */ { "\x62", 1},
/* 099 */ { "\x63", 1},
/* 100 */ { "\x64", 1},
/* 101 */ { "\x65", 1},
/* 102 */ { "\x66", 1},
/* 103 */ { "\x67", 1},
/* 104 */ { "\x68", 1},
/* 105 */ { "\x69", 1},
/* 106 */ { "\x6a", 1},
/* 107 */ { "\x6b", 1},
/* 108 */ { "\x6c", 1},
/* 109 */ { "\x6d", 1},
/* 110 */ { "\x6e", 1},
/* 111 */ { "\x6f", 1},
/* 112 */ { "\x70", 1},
/* 113 */ { "\x71", 1},
/* 114 */ { "\x72", 1},
/* 115 */ { "\x73", 1},
/* 116 */ { "\x74", 1},
/* 117 */ { "\x75", 1},
/* 118 */ { "\x76", 1},
/* 119 */ { "\x77", 1},
/* 120 */ { "\x78", 1},
/* 121 */ { "\x79", 1},
/* 122 */ { "\x7a", 1},
/* 123 */ { "\x7b", 1},
/* 124 */ { "\x7c", 1},
/* 125 */ { "\x7d", 1},
/* 126 */ { "\x7e", 1},
/* 127 */ { "\x7f", 1},
/* 128 */ { "\x80", 1},
/* 129 */ { "\x81", 1},
/* 130 */ { "\x82", 1},
/* 131 */ { "\x83", 1},
/* 132 */ { "\x84", 1},
/* 133 */ { "\x85", 1},
/* 134 */ { "\x86", 1},
/* 135 */ { "\x87", 1},
/* 136 */ { "\x88", 1},
/* 137 */ { "\x89", 1},
/* 138 */ { "\x8a", 1},
/* 139 */ { "\x8b", 1},
/* 140 */ { "\x8c", 1},
/* 141 */ { "\x8d", 1},
/* 142 */ { "\x8e", 1},
/* 143 */ { "\x8f", 1},
/* 144 */ { "\x90", 1},
/* 145 */ { "\x91", 1},
/* 146 */ { "\x92", 1},
/* 147 */ { "\x93", 1},
/* 148 */ { "\x94", 1},
/* 149 */ { "\x95", 1},
/* 150 */ { "\x96", 1},
/* 151 */ { "\x97", 1},
/* 152 */ { "\x98", 1},
/* 153 */ { "\x99", 1},
/* 154 */ { "\x9a", 1},
/* 155 */ { "\x9b", 1},
/* 156 */ { "\x9c", 1},
/* 157 */ { "\x9d", 1},
/* 158 */ { "\x9e", 1},
/* 159 */ { "\x9f", 1},
/* 160 */ { "\xa0", 1},
/* 161 */ { "\xa1", 1},
/* 162 */ { "\xa2", 1},
/* 163 */ { "\xa3", 1},
/* 164 */ { "\xa4", 1},
/* 165 */ { "\xa5", 1},
/* 166 */ { "\xa6", 1},
/* 167 */ { "\xa7", 1},
/* 168 */ { "\xa8", 1},
/* 169 */ { "\xa9", 1},
/* 170 */ { "\xaa", 1},
/* 171 */ { "\xab", 1},
/* 172 */ { "\xac", 1},
/* 173 */ { "\xad", 1},
/* 174 */ { "\xae", 1},
/* 175 */ { "\xaf", 1},
/* 176 */ { "\xb0", 1},
/* 177 */ { "\xb1", 1},
/* 178 */ { "\xb2", 1},
/* 179 */ { "\xb3", 1},
/* 180 */ { "\xb4", 1},
/* 181 */ { "\xb5", 1},
/* 182 */ { "\xb6", 1},
/* 183 */ { "\xb7", 1},
/* 184 */ { "\xb8", 1},
/* 185 */ { "\xb9", 1},
/* 186 */ { "\xba", 1},
/* 187 */ { "\xbb", 1},
/* 188 */ { "\xbc", 1},
/* 189 */ { "\xbd", 1},
/* 190 */ { "\xbe", 1},
/* 191 */ { "\xbf", 1},
/* 192 */ { "\xc0", 1},
/* 193 */ { "\xc1", 1},
/* 194 */ { "\xc2", 1},
/* 195 */ { "\xc3", 1},
/* 196 */ { "\xc4", 1},
/* 197 */ { "\xc5", 1},
/* 198 */ { "\xc6", 1},
/* 199 */ { "\xc7", 1},
/* 200 */ { "\xc8", 1},
/* 201 */ { "\xc9", 1},
/* 202 */ { "\xca", 1},
/* 203 */ { "\xcb", 1},
/* 204 */ { "\xcc", 1},
/* 205 */ { "\xcd", 1},
/* 206 */ { "\xce", 1},
/* 207 */ { "\xcf", 1},
/* 208 */ { "\xd0", 1},
/* 209 */ { "\xd1", 1},
/* 210 */ { "\xd2", 1},
/* 211 */ { "\xd3", 1},
/* 212 */ { "\xd4", 1},
/* 213 */ { "\xd5", 1},
/* 214 */ { "\xd6", 1},
/* 215 */ { "\xd7", 1},
/* 216 */ { "\xd8", 1},
/* 217 */ { "\xd9", 1},
/* 218 */ { "\xda", 1},
/* 219 */ { "\xdb", 1},
/* 220 */ { "\xdc", 1},
/* 221 */ { "\xdd", 1},
/* 222 */ { "\xde", 1},
/* 223 */ { "\xdf", 1},
/* 224 */ { "\xe0", 1},
/* 225 */ { "\xe1", 1},
/* 226 */ { "\xe2", 1},
/* 227 */ { "\xe3", 1},
/* 228 */ { "\xe4", 1},
/* 229 */ { "\xe5", 1},
/* 230 */ { "\xe6", 1},
/* 231 */ { "\xe7", 1},
/* 232 */ { "\xe8", 1},
/* 233 */ { "\xe9", 1},
/* 234 */ { "\xea", 1},
/* 235 */ { "\xeb", 1},
/* 236 */ { "\xec", 1},
/* 237 */ { "\xed", 1},
/* 238 */ { "\xee", 1},
/* 239 */ { "\xef", 1},
/* 240 */ { "\xf0", 1},
/* 241 */ { "\xf1", 1},
/* 242 */ { "\xf2", 1},
/* 243 */ { "\xf3", 1},
/* 244 */ { "\xf4", 1},
/* 245 */ { "\xf5", 1},
/* 246 */ { "\xf6", 1},
/* 247 */ { "\xf7", 1},
/* 248 */ { "\xf8", 1},
/* 249 */ { "\xf9", 1},
/* 250 */ { "\xfa", 1},
/* 251 */ { "\xfb", 1},
/* 252 */ { "\xfc", 1},
/* 253 */ { "\xfd", 1},
/* 254 */ { "\xfe", 1},
/* 255 */ { "\xff", 1},
/* PART 2: named tokens. */
/* 256 */ { "(unknown)", 9},
/* 257 */ { "(unknown)", 9},
/* 258 */ { "(unknown)", 9},
/* 259 */ { "ACCESSIBLE", 10},
/* 260 */ { "ACTION", 6},
/* 261 */ { "ADD", 3},
/* 262 */ { "ADDDATE", 7},
/* 263 */ { "AFTER", 5},
/* 264 */ { "AGAINST", 7},
/* 265 */ { "AGGREGATE", 9},
/* 266 */ { "ALGORITHM", 9},
/* 267 */ { "ALL", 3},
/* 268 */ { "ALTER", 5},
/* 269 */ { "ALWAYS", 6},
/* 270 */ { "ANALYZE", 7},
/* 271 */ { "&&", 2},
/* 272 */ { "AND", 3},
/* 273 */ { "SOME", 4},
/* 274 */ { "AS", 2},
/* 275 */ { "ASC", 3},
/* 276 */ { "ASCII", 5},
/* 277 */ { "ASENSITIVE", 10},
/* 278 */ { "AT", 2},
/* 279 */ { "AUTHORS", 7},
/* 280 */ { "AUTOEXTEND_SIZE", 15},
/* 281 */ { "AUTO_INCREMENT", 14},
/* 282 */ { "AVG_ROW_LENGTH", 14},
/* 283 */ { "AVG", 3},
/* 284 */ { "BACKUP", 6},
/* 285 */ { "BEFORE", 6},
/* 286 */ { "BEGIN", 5},
/* 287 */ { "BETWEEN", 7},
/* 288 */ { "INT8", 4},
/* 289 */ { "BINARY", 6},
/* 290 */ { "BINLOG", 6},
/* 291 */ { "(bin)", 5},
/* 292 */ { "BIT_AND", 7},
/* 293 */ { "BIT_OR", 6},
/* 294 */ { "BIT", 3},
/* 295 */ { "BIT_XOR", 7},
/* 296 */ { "BLOB", 4},
/* 297 */ { "BLOCK", 5},
/* 298 */ { "BOOLEAN", 7},
/* 299 */ { "BOOL", 4},
/* 300 */ { "BOTH", 4},
/* 301 */ { "BTREE", 5},
/* 302 */ { "BY", 2},
/* 303 */ { "BYTE", 4},
/* 304 */ { "CACHE", 5},
/* 305 */ { "CALL", 4},
/* 306 */ { "CASCADE", 7},
/* 307 */ { "CASCADED", 8},
/* 308 */ { "CASE", 4},
/* 309 */ { "CAST", 4},
/* 310 */ { "CATALOG_NAME", 12},
/* 311 */ { "CHAIN", 5},
/* 312 */ { "CHANGE", 6},
/* 313 */ { "CHANGED", 7},
/* 314 */ { "CHARSET", 7},
/* 315 */ { "CHARACTER", 9},
/* 316 */ { "CHECKPOINT", 10},
/* 317 */ { "CHECKSUM", 8},
/* 318 */ { "CHECK", 5},
/* 319 */ { "CIPHER", 6},
/* 320 */ { "CLASS_ORIGIN", 12},
/* 321 */ { "CLIENT", 6},
/* 322 */ { "CLIENT_STATISTICS", 17},
/* 323 */ { "CLOSE", 5},
/* 324 */ { "COALESCE", 8},
/* 325 */ { "CODE", 4},
/* 326 */ { "COLLATE", 7},
/* 327 */ { "COLLATION", 9},
/* 328 */ { "FIELDS", 6},
/* 329 */ { "COLUMN_ADD", 10},
/* 330 */ { "COLUMN_CREATE", 13},
/* 331 */ { "COLUMN_DELETE", 13},
/* 332 */ { "COLUMN_EXISTS", 13},
/* 333 */ { "COLUMN_GET", 10},
/* 334 */ { "COLUMN_LIST", 11},
/* 335 */ { "COLUMN", 6},
/* 336 */ { "COLUMN_NAME", 11},
/* 337 */ { "COMMENT", 7},
/* 338 */ { "COMMITTED", 9},
/* 339 */ { "COMMIT", 6},
/* 340 */ { "COMPACT", 7},
/* 341 */ { "COMPLETION", 10},
/* 342 */ { "COMPRESSED", 10},
/* 343 */ { "CONCURRENT", 10},
/* 344 */ { "CONDITION", 9},
/* 345 */ { "CONNECTION", 10},
/* 346 */ { "CONSISTENT", 10},
/* 347 */ { "CONSTRAINT", 10},
/* 348 */ { "CONSTRAINT_CATALOG", 18},
/* 349 */ { "CONSTRAINT_NAME", 15},
/* 350 */ { "CONSTRAINT_SCHEMA", 17},
/* 351 */ { "CONTAINS", 8},
/* 352 */ { "CONTEXT", 7},
/* 353 */ { "CONTINUE", 8},
/* 354 */ { "CONTRIBUTORS", 12},
/* 355 */ { "CONVERT", 7},
/* 356 */ { "COUNT", 5},
/* 357 */ { "CPU", 3},
/* 358 */ { "CREATE", 6},
/* 359 */ { "CROSS", 5},
/* 360 */ { "CUBE", 4},
/* 361 */ { "CURDATE", 7},
/* 362 */ { "CURRENT_USER", 12},
/* 363 */ { "CURSOR", 6},
/* 364 */ { "CURSOR_NAME", 11},
/* 365 */ { "CURTIME", 7},
/* 366 */ { "SCHEMA", 6},
/* 367 */ { "SCHEMAS", 7},
/* 368 */ { "DATAFILE", 8},
/* 369 */ { "DATA", 4},
/* 370 */ { "DATETIME", 8},
/* 371 */ { "DATE_ADD", 8},
/* 372 */ { "DATE_SUB", 8},
/* 373 */ { "DATE", 4},
/* 374 */ { "DAY_HOUR", 8},
/* 375 */ { "DAY_MICROSECOND", 15},
/* 376 */ { "DAY_MINUTE", 10},
/* 377 */ { "DAY_SECOND", 10},
/* 378 */ { "SQL_TSI_DAY", 11},
/* 379 */ { "DEALLOCATE", 10},
/* 380 */ { "(decimal)", 9},
/* 381 */ { "DECIMAL", 7},
/* 382 */ { "DECLARE", 7},
/* 383 */ { "DEFAULT", 7},
/* 384 */ { "DEFINER", 7},
/* 385 */ { "DELAYED", 7},
/* 386 */ { "DELAY_KEY_WRITE", 15},
/* 387 */ { "DELETE", 6},
/* 388 */ { "DESC", 4},
/* 389 */ { "EXPLAIN", 7},
/* 390 */ { "DES_KEY_FILE", 12},
/* 391 */ { "DETERMINISTIC", 13},
/* 392 */ { "DIRECTORY", 9},
/* 393 */ { "DISABLE", 7},
/* 394 */ { "DISCARD", 7},
/* 395 */ { "DISK", 4},
/* 396 */ { "DISTINCTROW", 11},
/* 397 */ { "DIV", 3},
/* 398 */ { "FLOAT8", 6},
/* 399 */ { "DO", 2},
/* 400 */ { "DROP", 4},
/* 401 */ { "DUAL", 4},
/* 402 */ { "DUMPFILE", 8},
/* 403 */ { "DUPLICATE", 9},
/* 404 */ { "DYNAMIC", 7},
/* 405 */ { "EACH", 4},
/* 406 */ { "ELSE", 4},
/* 407 */ { "ELSEIF", 6},
/* 408 */ { "ENABLE", 6},
/* 409 */ { "ENCLOSED", 8},
/* 410 */ { "END", 3},
/* 411 */ { "ENDS", 4},
/* 412 */ { "", 0},
/* 413 */ { "ENGINES", 7},
/* 414 */ { "ENGINE", 6},
/* 415 */ { "ENUM", 4},
/* 416 */ { "=", 1},
/* 417 */ { "<=>", 3},
/* 418 */ { "ERROR", 5},
/* 419 */ { "ERRORS", 6},
/* 420 */ { "ESCAPED", 7},
/* 421 */ { "ESCAPE", 6},
/* 422 */ { "EVENTS", 6},
/* 423 */ { "EVENT", 5},
/* 424 */ { "EVERY", 5},
/* 425 */ { "EXAMINED", 8},
/* 426 */ { "EXECUTE", 7},
/* 427 */ { "EXISTS", 6},
/* 428 */ { "EXIT", 4},
/* 429 */ { "EXPANSION", 9},
/* 430 */ { "EXTENDED", 8},
/* 431 */ { "EXTENT_SIZE", 11},
/* 432 */ { "EXTRACT", 7},
/* 433 */ { "FALSE", 5},
/* 434 */ { "FAST", 4},
/* 435 */ { "FAULTS", 6},
/* 436 */ { "FETCH", 5},
/* 437 */ { "FILE", 4},
/* 438 */ { "FIRST", 5},
/* 439 */ { "FIXED", 5},
/* 440 */ { "(float)", 7},
/* 441 */ { "FLOAT4", 6},
/* 442 */ { "FLUSH", 5},
/* 443 */ { "FORCE", 5},
/* 444 */ { "FOREIGN", 7},
/* 445 */ { "FOR", 3},
/* 446 */ { "FOUND", 5},
/* 447 */ { "FROM", 4},
/* 448 */ { "FULL", 4},
/* 449 */ { "FULLTEXT", 8},
/* 450 */ { "FUNCTION", 8},
/* 451 */ { ">=", 2},
/* 452 */ { "GENERAL", 7},
/* 453 */ { "GENERATED", 9},
/* 454 */ { "GEOMETRYCOLLECTION", 18},
/* 455 */ { "GEOMETRY", 8},
/* 456 */ { "GET_FORMAT", 10},
/* 457 */ { "GLOBAL", 6},
/* 458 */ { "GRANT", 5},
/* 459 */ { "GRANTS", 6},
/* 460 */ { "GROUP", 5},
/* 461 */ { "GROUP_CONCAT", 12},
/* 462 */ { ">", 1},
/* 463 */ { "HANDLER", 7},
/* 464 */ { "HARD", 4},
/* 465 */ { "HASH", 4},
/* 466 */ { "HAVING", 6},
/* 467 */ { "HELP", 4},
/* 468 */ { "(hex)", 5},
/* 469 */ { "HIGH_PRIORITY", 13},
/* 470 */ { "HOST", 4},
/* 471 */ { "HOSTS", 5},
/* 472 */ { "HOUR_MICROSECOND", 16},
/* 473 */ { "HOUR_MINUTE", 11},
/* 474 */ { "HOUR_SECOND", 11},
/* 475 */ { "SQL_TSI_HOUR", 12},
/* 476 */ { "(id)", 4},
/* 477 */ { "IDENTIFIED", 10},
/* 478 */ { "(id_quoted)", 11},
/* 479 */ { "IF", 2},
/* 480 */ { "IGNORE", 6},
/* 481 */ { "IGNORE_SERVER_IDS", 17},
/* 482 */ { "IMPORT", 6},
/* 483 */ { "INDEXES", 7},
/* 484 */ { "INDEX", 5},
/* 485 */ { "INDEX_STATISTICS", 16},
/* 486 */ { "INFILE", 6},
/* 487 */ { "INITIAL_SIZE", 12},
/* 488 */ { "INNER", 5},
/* 489 */ { "INOUT", 5},
/* 490 */ { "INSENSITIVE", 11},
/* 491 */ { "INSERT", 6},
/* 492 */ { "INSERT_METHOD", 13},
/* 493 */ { "INSTALL", 7},
/* 494 */ { "INTERVAL", 8},
/* 495 */ { "INTO", 4},
/* 496 */ { "INTEGER", 7},
/* 497 */ { "INVOKER", 7},
/* 498 */ { "IN", 2},
/* 499 */ { "IO", 2},
/* 500 */ { "IPC", 3},
/* 501 */ { "IS", 2},
/* 502 */ { "ISOLATION", 9},
/* 503 */ { "ISSUER", 6},
/* 504 */ { "ITERATE", 7},
/* 505 */ { "JOIN", 4},
/* 506 */ { "KEYS", 4},
/* 507 */ { "KEY_BLOCK_SIZE", 14},
/* 508 */ { "KEY", 3},
/* 509 */ { "KILL", 4},
/* 510 */ { "LANGUAGE", 8},
/* 511 */ { "LAST", 4},
/* 512 */ { "<=", 2},
/* 513 */ { "LEADING", 7},
/* 514 */ { "LEAVES", 6},
/* 515 */ { "LEAVE", 5},
/* 516 */ { "LEFT", 4},
/* 517 */ { "LESS", 4},
/* 518 */ { "LEVEL", 5},
/* 519 */ { "(hostname)", 10},
/* 520 */ { "LIKE", 4},
/* 521 */ { "LIMIT", 5},
/* 522 */ { "LINEAR", 6},
/* 523 */ { "LINES", 5},
/* 524 */ { "LINESTRING", 10},
/* 525 */ { "LIST", 4},
/* 526 */ { "LOAD", 4},
/* 527 */ { "LOCAL", 5},
/* 528 */ { "LOCATOR", 7},
/* 529 */ { "LOCKS", 5},
/* 530 */ { "LOCK", 4},
/* 531 */ { "LOGFILE", 7},
/* 532 */ { "LOGS", 4},
/* 533 */ { "LONGBLOB", 8},
/* 534 */ { "LONGTEXT", 8},
/* 535 */ { "(long)", 6},
/* 536 */ { "LONG", 4},
/* 537 */ { "LOOP", 4},
/* 538 */ { "LOW_PRIORITY", 12},
/* 539 */ { "<", 1},
/* 540 */ { "MASTER_CONNECT_RETRY", 20},
/* 541 */ { "MASTER_HOST", 11},
/* 542 */ { "MASTER_LOG_FILE", 15},
/* 543 */ { "MASTER_LOG_POS", 14},
/* 544 */ { "MASTER_PASSWORD", 15},
/* 545 */ { "MASTER_PORT", 11},
/* 546 */ { "MASTER_SERVER_ID", 16},
/* 547 */ { "MASTER_SSL_CAPATH", 17},
/* 548 */ { "MASTER_SSL_CA", 13},
/* 549 */ { "MASTER_SSL_CERT", 15},
/* 550 */ { "MASTER_SSL_CIPHER", 17},
/* 551 */ { "MASTER_SSL_CRL", 14},
/* 552 */ { "MASTER_SSL_CRLPATH", 18},
/* 553 */ { "MASTER_SSL_KEY", 14},
/* 554 */ { "MASTER_SSL", 10},
/* 555 */ { "MASTER_SSL_VERIFY_SERVER_CERT", 29},
/* 556 */ { "MASTER", 6},
/* 557 */ { "MASTER_USER", 11},
/* 558 */ { "MASTER_HEARTBEAT_PERIOD", 23},
/* 559 */ { "MATCH", 5},
/* 560 */ { "MAX_CONNECTIONS_PER_HOUR", 24},
/* 561 */ { "MAX_QUERIES_PER_HOUR", 20},
/* 562 */ { "MAX_ROWS", 8},
/* 563 */ { "MAX_SIZE", 8},
/* 564 */ { "MAX", 3},
/* 565 */ { "MAX_UPDATES_PER_HOUR", 20},
/* 566 */ { "MAX_USER_CONNECTIONS", 20},
/* 567 */ { "MAXVALUE", 8},
/* 568 */ { "MEDIUMBLOB", 10},
/* 569 */ { "MIDDLEINT", 9},
/* 570 */ { "MEDIUMTEXT", 10},
/* 571 */ { "MEDIUM", 6},
/* 572 */ { "MEMORY", 6},
/* 573 */ { "MERGE", 5},
/* 574 */ { "MESSAGE_TEXT", 12},
/* 575 */ { "MICROSECOND", 11},
/* 576 */ { "MIGRATE", 7},
/* 577 */ { "MINUTE_MICROSECOND", 18},
/* 578 */ { "MINUTE_SECOND", 13},
/* 579 */ { "SQL_TSI_MINUTE", 14},
/* 580 */ { "MIN_ROWS", 8},
/* 581 */ { "MIN", 3},
/* 582 */ { "MODE", 4},
/* 583 */ { "MODIFIES", 8},
/* 584 */ { "MODIFY", 6},
/* 585 */ { "MOD", 3},
/* 586 */ { "SQL_TSI_MONTH", 13},
/* 587 */ { "MULTILINESTRING", 15},
/* 588 */ { "MULTIPOINT", 10},
/* 589 */ { "MULTIPOLYGON", 12},
/* 590 */ { "MUTEX", 5},
/* 591 */ { "MYSQL_ERRNO", 11},
/* 592 */ { "NAMES", 5},
/* 593 */ { "NAME", 4},
/* 594 */ { "NATIONAL", 8},
/* 595 */ { "NATURAL", 7},
/* 596 */ { "(nchar)", 7},
/* 597 */ { "NCHAR", 5},
/* 598 */ { "NDBCLUSTER", 10},
/* 599 */ { "!=", 2},
/* 600 */ { "~", 1},
/* 601 */ { "NEW", 3},
/* 602 */ { "NEXT", 4},
/* 603 */ { "NODEGROUP", 9},
/* 604 */ { "NONE", 4},
/* 605 */ { "!", 1},
/* 606 */ { "NOT", 3},
/* 607 */ { "NOW", 3},
/* 608 */ { "NO", 2},
/* 609 */ { "NO_WAIT", 7},
/* 610 */ { "NO_WRITE_TO_BINLOG", 18},
/* 611 */ { "NULL", 4},
/* 612 */ { "(num)", 5},
/* 613 */ { "NUMERIC", 7},
/* 614 */ { "NVARCHAR", 8},
/* 615 */ { "OFFSET", 6},
/* 616 */ { "OLD_PASSWORD", 12},
/* 617 */ { "ON", 2},
/* 618 */ { "ONE_SHOT", 8},
/* 619 */ { "ONE", 3},
/* 620 */ { "ONLY", 4},
/* 621 */ { "ONLINE", 6},
/* 622 */ { "OPEN", 4},
/* 623 */ { "OPTIMIZE", 8},
/* 624 */ { "OPTIONS", 7},
/* 625 */ { "OPTION", 6},
/* 626 */ { "OPTIONALLY", 10},
/* 627 */ { "|", 1},
/* 628 */ { "ORDER", 5},
/* 629 */ { "||", 2},
/* 630 */ { "OR", 2},
/* 631 */ { "OUTER", 5},
/* 632 */ { "OUTFILE", 7},
/* 633 */ { "OUT", 3},
/* 634 */ { "OWNER", 5},
/* 635 */ { "PACK_KEYS", 9},
/* 636 */ { "PAGE", 4},
/* 637 */ { "PAGE_CHECKSUM", 13},
/* 638 */ { "?", 1},
/* 639 */ { "PARSER", 6},
/* 640 */ { "PARSE_VCOL_EXPR", 15},
/* 641 */ { "PARTIAL", 7},
/* 642 */ { "PARTITIONING", 12},
/* 643 */ { "PARTITIONS", 10},
/* 644 */ { "PARTITION", 9},
/* 645 */ { "PASSWORD", 8},
/* 646 */ { "PERSISTENT", 10},
/* 647 */ { "PHASE", 5},
/* 648 */ { "PLUGINS", 7},
/* 649 */ { "PLUGIN", 6},
/* 650 */ { "POINT", 5},
/* 651 */ { "POLYGON", 7},
/* 652 */ { "PORT", 4},
/* 653 */ { "POSITION", 8},
/* 654 */ { "PRECISION", 9},
/* 655 */ { "PREPARE", 7},
/* 656 */ { "PRESERVE", 8},
/* 657 */ { "PREV", 4},
/* 658 */ { "PRIMARY", 7},
/* 659 */ { "PRIVILEGES", 10},
/* 660 */ { "PROCEDURE", 9},
/* 661 */ { "PROCESS", 7},
/* 662 */ { "PROCESSLIST", 11},
/* 663 */ { "PROFILE", 7},
/* 664 */ { "PROFILES", 8},
/* 665 */ { "PROXY", 5},
/* 666 */ { "PURGE", 5},
/* 667 */ { "SQL_TSI_QUARTER", 15},
/* 668 */ { "QUERY", 5},
/* 669 */ { "QUICK", 5},
/* 670 */ { "RANGE", 5},
/* 671 */ { "READS", 5},
/* 672 */ { "READ_ONLY", 9},
/* 673 */ { "READ", 4},
/* 674 */ { "READ_WRITE", 10},
/* 675 */ { "REAL", 4},
/* 676 */ { "REBUILD", 7},
/* 677 */ { "RECOVER", 7},
/* 678 */ { "REDOFILE", 8},
/* 679 */ { "REDO_BUFFER_SIZE", 16},
/* 680 */ { "REDUNDANT", 9},
/* 681 */ { "REFERENCES", 10},
/* 682 */ { "RLIKE", 5},
/* 683 */ { "RELAY", 5},
/* 684 */ { "RELAYLOG", 8},
/* 685 */ { "RELAY_LOG_FILE", 14},
/* 686 */ { "RELAY_LOG_POS", 13},
/* 687 */ { "RELAY_THREAD", 12},
/* 688 */ { "RELEASE", 7},
/* 689 */ { "RELOAD", 6},
/* 690 */ { "REMOVE", 6},
/* 691 */ { "RENAME", 6},
/* 692 */ { "REORGANIZE", 10},
/* 693 */ { "REPAIR", 6},
/* 694 */ { "REPEATABLE", 10},
/* 695 */ { "REPEAT", 6},
/* 696 */ { "REPLACE", 7},
/* 697 */ { "REPLICATION", 11},
/* 698 */ { "REQUIRE", 7},
/* 699 */ { "RESET", 5},
/* 700 */ { "RESIGNAL", 8},
/* 701 */ { "USER_RESOURCES", 14},
/* 702 */ { "RESTORE", 7},
/* 703 */ { "RESTRICT", 8},
/* 704 */ { "RESUME", 6},
/* 705 */ { "RETURNS", 7},
/* 706 */ { "RETURN", 6},
/* 707 */ { "REVOKE", 6},
/* 708 */ { "RIGHT", 5},
/* 709 */ { "ROLLBACK", 8},
/* 710 */ { "ROLLUP", 6},
/* 711 */ { "ROUTINE", 7},
/* 712 */ { "ROWS", 4},
/* 713 */ { "ROW_FORMAT", 10},
/* 714 */ { "ROW", 3},
/* 715 */ { "RTREE", 5},
/* 716 */ { "SAVEPOINT", 9},
/* 717 */ { "SCHEDULE", 8},
/* 718 */ { "SCHEMA_NAME", 11},
/* 719 */ { "SECOND_MICROSECOND", 18},
/* 720 */ { "SQL_TSI_SECOND", 14},
/* 721 */ { "SECURITY", 8},
/* 722 */ { "SELECT", 6},
/* 723 */ { "SENSITIVE", 9},
/* 724 */ { "SEPARATOR", 9},
/* 725 */ { "SERIALIZABLE", 12},
/* 726 */ { "SERIAL", 6},
/* 727 */ { "SESSION", 7},
/* 728 */ { "SERVER", 6},
/* 729 */ { "SERVER_OPTIONS", 14},
/* 730 */ { "SET", 3},
/* 731 */ { ":=", 2},
/* 732 */ { "SHARE", 5},
/* 733 */ { "<<", 2},
/* 734 */ { ">>", 2},
/* 735 */ { "SHOW", 4},
/* 736 */ { "SHUTDOWN", 8},
/* 737 */ { "SIGNAL", 6},
/* 738 */ { "SIGNED", 6},
/* 739 */ { "SIMPLE", 6},
/* 740 */ { "SLAVE", 5},
/* 741 */ { "SLOW", 4},
/* 742 */ { "SMALLINT", 8},
/* 743 */ { "SNAPSHOT", 8},
/* 744 */ { "SOCKET", 6},
/* 745 */ { "SOFT", 4},
/* 746 */ { "SONAME", 6},
/* 747 */ { "SOUNDS", 6},
/* 748 */ { "SOURCE", 6},
/* 749 */ { "SPATIAL", 7},
/* 750 */ { "SPECIFIC", 8},
/* 751 */ { "SQLEXCEPTION", 12},
/* 752 */ { "SQLSTATE", 8},
/* 753 */ { "SQLWARNING", 10},
/* 754 */ { "SQL_BIG_RESULT", 14},
/* 755 */ { "SQL_BUFFER_RESULT", 17},
/* 756 */ { "SQL_CACHE", 9},
/* 757 */ { "SQL_CALC_FOUND_ROWS", 19},
/* 758 */ { "SQL_NO_CACHE", 12},
/* 759 */ { "SQL_SMALL_RESULT", 16},
/* 760 */ { "SQL", 3},
/* 761 */ { "SQL_THREAD", 10},
/* 762 */ { "SSL", 3},
/* 763 */ { "STARTING", 8},
/* 764 */ { "STARTS", 6},
/* 765 */ { "START", 5},
/* 766 */ { "STATUS", 6},
/* 767 */ { "STDDEV_SAMP", 11},
/* 768 */ { "STDDEV_POP", 10},
/* 769 */ { "STOP", 4},
/* 770 */ { "STORAGE", 7},
/* 771 */ { "STRAIGHT_JOIN", 13},
/* 772 */ { "STRING", 6},
/* 773 */ { "SUBCLASS_ORIGIN", 15},
/* 774 */ { "SUBDATE", 7},
/* 775 */ { "SUBJECT", 7},
/* 776 */ { "SUBPARTITIONS", 13},
/* 777 */ { "SUBPARTITION", 12},
/* 778 */ { "SUBSTRING", 9},
/* 779 */ { "SUM", 3},
/* 780 */ { "SUPER", 5},
/* 781 */ { "SUSPEND", 7},
/* 782 */ { "SWAPS", 5},
/* 783 */ { "SWITCHES", 8},
/* 784 */ { "SYSDATE", 7},
/* 785 */ { "TABLES", 6},
/* 786 */ { "TABLESPACE", 10},
/* 787 */ { "TABLE_REF_PRIORITY", 18},
/* 788 */ { "TABLE_STATISTICS", 16},
/* 789 */ { "TABLE", 5},
/* 790 */ { "TABLE_CHECKSUM", 14},
/* 791 */ { "TABLE_NAME", 10},
/* 792 */ { "TEMPORARY", 9},
/* 793 */ { "TEMPTABLE", 9},
/* 794 */ { "TERMINATED", 10},
/* 795 */ { "(text)", 6},
/* 796 */ { "TEXT", 4},
/* 797 */ { "THAN", 4},
/* 798 */ { "THEN", 4},
/* 799 */ { "TIMESTAMP", 9},
/* 800 */ { "TIMESTAMPADD", 12},
/* 801 */ { "TIMESTAMPDIFF", 13},
/* 802 */ { "TIME", 4},
/* 803 */ { "TINYBLOB", 8},
/* 804 */ { "TINYINT", 7},
/* 805 */ { "TINYTEXT", 8},
/* 806 */ { "TO", 2},
/* 807 */ { "TRAILING", 8},
/* 808 */ { "TRANSACTION", 11},
/* 809 */ { "TRANSACTIONAL", 13},
/* 810 */ { "TRIGGERS", 8},
/* 811 */ { "TRIGGER", 7},
/* 812 */ { "TRIM", 4},
/* 813 */ { "TRUE", 4},
/* 814 */ { "TRUNCATE", 8},
/* 815 */ { "TYPES", 5},
/* 816 */ { "TYPE", 4},
/* 817 */ { "UDF_RETURNS", 11},
/* 818 */ { "(ulonglong)", 11},
/* 819 */ { "UNCOMMITTED", 11},
/* 820 */ { "UNDEFINED", 9},
/* 821 */ { "(_charset)", 10},
/* 822 */ { "UNDOFILE", 8},
/* 823 */ { "UNDO_BUFFER_SIZE", 16},
/* 824 */ { "UNDO", 4},
/* 825 */ { "UNICODE", 7},
/* 826 */ { "UNINSTALL", 9},
/* 827 */ { "UNION", 5},
/* 828 */ { "UNIQUE", 6},
/* 829 */ { "UNKNOWN", 7},
/* 830 */ { "UNLOCK", 6},
/* 831 */ { "UNSIGNED", 8},
/* 832 */ { "UNTIL", 5},
/* 833 */ { "UPDATE", 6},
/* 834 */ { "UPGRADE", 7},
/* 835 */ { "USAGE", 5},
/* 836 */ { "SYSTEM_USER", 11},
/* 837 */ { "USER_STATISTICS", 15},
/* 838 */ { "USE_FRM", 7},
/* 839 */ { "USE", 3},
/* 840 */ { "USING", 5},
/* 841 */ { "UTC_DATE", 8},
/* 842 */ { "UTC_TIMESTAMP", 13},
/* 843 */ { "UTC_TIME", 8},
/* 844 */ { "VALUES", 6},
/* 845 */ { "VALUE", 5},
/* 846 */ { "VARBINARY", 9},
/* 847 */ { "VARCHARACTER", 12},
/* 848 */ { "VARIABLES", 9},
/* 849 */ { "VAR_POP", 7},
/* 850 */ { "VARYING", 7},
/* 851 */ { "VAR_SAMP", 8},
/* 852 */ { "VIA", 3},
/* 853 */ { "VIEW", 4},
/* 854 */ { "VIRTUAL", 7},
/* 855 */ { "WAIT", 4},
/* 856 */ { "WARNINGS", 8},
/* 857 */ { "WEEK", 4},
/* 858 */ { "WHEN", 4},
/* 859 */ { "WHERE", 5},
/* 860 */ { "WHILE", 5},
/* 861 */ { "WITH", 4},
/* 862 */ { "WITH CUBE", 9},
/* 863 */ { "WITH ROLLUP", 11},
/* 864 */ { "WORK", 4},
/* 865 */ { "WRAPPER", 7},
/* 866 */ { "WRITE", 5},
/* 867 */ { "X509", 4},
/* 868 */ { "XA", 2},
/* 869 */ { "XML", 3},
/* 870 */ { "XOR", 3},
/* 871 */ { "YEAR_MONTH", 10},
/* 872 */ { "YEAR", 4},
/* 873 */ { "ZEROFILL", 8},
/* 874 */ { "?", 1},
/* 875 */ { "?, ...", 6},
/* 876 */ { "(?)", 3},
/* 877 */ { "(?) /* , ... */", 15},
/* 878 */ { "(...)", 5},
/* 879 */ { "(...) /* , ... */", 17},
/* 880 */ { "UNUSED", 6},
/* DUMMY */ { "", 0}
};
/* PFS specific tokens. */
#define TOK_PFS_GENERIC_VALUE 874
#define TOK_PFS_GENERIC_VALUE_LIST 875
#define TOK_PFS_ROW_SINGLE_VALUE 876
#define TOK_PFS_ROW_SINGLE_VALUE_LIST 877
#define TOK_PFS_ROW_MULTIPLE_VALUE 878
#define TOK_PFS_ROW_MULTIPLE_VALUE_LIST 879
#define TOK_PFS_UNUSED 880

View File

@ -1,4 +1,5 @@
ADD_DEFINITIONS(-DMYSQL_SERVER) ADD_DEFINITIONS(-DMYSQL_SERVER)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-strict-aliasing")
IF(MSVC) IF(MSVC)
LINK_LIBRARIES(ws2_32) LINK_LIBRARIES(ws2_32)
ENDIF(MSVC) ENDIF(MSVC)

View File

@ -7284,7 +7284,7 @@ static void test_date_frac()
{ {
int rc; int rc;
myheader("test_date"); myheader("test_date_frac");
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_date"); rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_date");
myquery(rc); myquery(rc);
@ -7404,6 +7404,8 @@ static void test_temporal_param()
double real= 123; double real= 123;
char dec[40]; char dec[40];
myheader("test_temporal_param");
/* Initialize param/fetch buffers for data, null flags, lengths */ /* Initialize param/fetch buffers for data, null flags, lengths */
memset(&my_bind, 0, sizeof(my_bind)); memset(&my_bind, 0, sizeof(my_bind));
memset(&my_bind2, 0, sizeof(my_bind2)); memset(&my_bind2, 0, sizeof(my_bind2));
@ -7478,9 +7480,9 @@ static void test_temporal_param()
printf("\n%lld %f '%s'\n", bigint, real, dec); printf("\n%lld %f '%s'\n", bigint, real, dec);
/* Check values. */ /* Check values. */
DIE_UNLESS(bigint == 20011020101100LL); DIE_UNLESS(bigint == 20011020101059LL);
DIE_UNLESS(real == 20011020101059.5); DIE_UNLESS(real == 20011020101059.5);
DIE_UNLESS(!strcmp(dec, "20011020101059.5")); DIE_UNLESS(!strcmp(dec, "20011020101059.500000"));
mysql_stmt_close(stmt); mysql_stmt_close(stmt);
@ -7522,9 +7524,9 @@ static void test_temporal_param()
printf("\n%lld %f '%s'\n", bigint, real, dec); printf("\n%lld %f '%s'\n", bigint, real, dec);
/* Check returned values */ /* Check returned values */
DIE_UNLESS(bigint == 101100); DIE_UNLESS(bigint == 101059);
DIE_UNLESS(real == 101059.5); DIE_UNLESS(real == 101059.5);
DIE_UNLESS(!strcmp(dec, "101059.5")); DIE_UNLESS(!strcmp(dec, "101059.500000"));
mysql_stmt_close(stmt); mysql_stmt_close(stmt);
} }
@ -20276,7 +20278,7 @@ static struct my_tests_st my_tests[]= {
{ "test_subselect", test_subselect }, { "test_subselect", test_subselect },
{ "test_date", test_date }, { "test_date", test_date },
{ "test_date_frac", test_date_frac }, { "test_date_frac", test_date_frac },
//{ "test_temporal_param", test_temporal_param }, XXX { "test_temporal_param", test_temporal_param },
{ "test_date_date", test_date_date }, { "test_date_date", test_date_date },
{ "test_date_time", test_date_time }, { "test_date_time", test_date_time },
{ "test_date_ts", test_date_ts }, { "test_date_ts", test_date_ts },
@ -20470,7 +20472,7 @@ static struct my_tests_st my_tests[]= {
{ "test_progress_reporting", test_progress_reporting }, { "test_progress_reporting", test_progress_reporting },
{ "test_bug11754979", test_bug11754979 }, { "test_bug11754979", test_bug11754979 },
{ "test_bug13001491", test_bug13001491 }, { "test_bug13001491", test_bug13001491 },
//{ "test_wl5968", test_wl5968 }, XXX { "test_wl5968", test_wl5968 },
{ 0, 0 } { 0, 0 }
}; };