mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1 sql/sql_class.h: Auto merged
This commit is contained in:
commit
28b783eada
33 changed files with 536 additions and 136 deletions
|
@ -841,6 +841,241 @@ serg@serg.mysql.com|mysql-test/t/sel000027.test|20001211130731|23677|ab44bb57a58
|
|||
serg@serg.mysql.com|mysql-test/t/sel000028.test|20001211130731|28317|db9bfc0a808fb629
|
||||
serg@serg.mysql.com|mysql-test/t/sel000029.test|20001211130731|32917|6aae34dbb3ee86d9
|
||||
serg@serg.mysql.com|mysql-test/t/sel000030.test|20001211130732|03110|a29683eac3e7b706
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_alter_sjis.result|20050107081527|04225|2ec1fd4929b5638e
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_alter_ucs2.result|20050107081527|11825|f3ac4ae77651d4f4
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_alter_ujis.result|20050107081528|17309|2c37b350cc1614b7
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_alter_utf8.result|20050107081528|57925|2916262ef0a8467c
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_charlength_sjis.result|20050107081528|32479|2d7cc0bab6a08fb7
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_charlength_ucs2.result|20050107081529|38657|a904397e286b018d
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_charlength_ujis.result|20050107081529|63265|a3e5fab4dda3f63
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_charlength_utf8.result|20050107081529|19050|8f33e213f34b75c4
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_charset_sjis.result|20050107081530|05840|92bcb5996a61c9bc
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_charset_ucs2.result|20050107081530|27322|9f3eb425f5a8a94e
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_charset_ujis.result|20050107081530|48971|ccce22a3ed33edb
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_charset_utf8.result|20050107081530|04766|6be23c27e03aaef
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_convert_sjis.result|20050107081530|26438|e16736c277401654
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_convert_ucs2.result|20050107081531|13914|845b174a4e12fdf5
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_convert_ujis.result|20050107081531|35726|ea4382cfe092a050
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_convert_utf8.result|20050107081531|58104|b90186d893390496
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_create_db_sjis.result|20050107081531|14644|d35a81ed738ce5ba
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_create_db_ucs2.result|20050107081532|01516|94fe34e7cf948cf4
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_create_db_ujis.result|20050107081532|23036|4d5552d56ab27619
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_create_db_utf8.result|20050107081532|44748|374e13cc2ae5b0fa
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_create_tbl_sjis.result|20050107081532|00620|eee512b72025128e
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_create_tbl_ucs2.result|20050107081532|22012|c0187e924a3b5cdc
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_create_tbl_ujis.result|20050107081533|09019|e8763bd889fa5d1
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_create_tbl_utf8.result|20050107081533|30411|b9afcd7fdbca71bf
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_enum_sjis.result|20050107081533|52491|68150e74f7d83182
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_enum_ucs2.result|20050107081533|08926|50375a296eea1a4c
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_enum_ujis.result|20050107081533|30516|26c8e1122bdac1f1
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_enum_utf8.result|20050107081534|17587|577e655491905344
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_insert_sjis.result|20050107081534|39290|67147bffbcee5282
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_insert_ucs2.result|20050107081534|61019|2a3faa20c3360cfb
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_insert_ujis.result|20050107081534|17136|5e7b2c0407b9eae
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_insert_utf8.result|20050107081535|04220|62fa831c2b8a02e9
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_instr_sjis.result|20050107081535|25969|abfcff6cbdae1925
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_instr_ucs2.result|20050107081535|47754|be297a9ec05c0e0a
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_instr_ujis.result|20050107081535|03623|f42e09a2a6736f23
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_instr_utf8.result|20050107081535|24952|8fc889df4669cd6
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_join_sjis.result|20050107081536|12369|396a43a5ac83bda3
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_join_ucs2.result|20050107081536|34440|f112f6b3a020dcb5
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_join_ujis.result|20050107081536|56149|dab3a2b2f5e31eb5
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_join_utf8.result|20050107081536|12246|6661d21d7c485970
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_left_sjis.result|20050107081536|33732|c4d6b2814e85710f
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_left_ucs2.result|20050107081537|20829|ebc1bcd92b01ba3
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_left_ujis.result|20050107081537|42728|c88e3ddf34290212
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_left_utf8.result|20050107081537|64357|702b2e408597f5ef
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_length_sjis.result|20050107081537|20201|ab84fe078f8c50e
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_length_ucs2.result|20050107081538|07211|f79c430972fe4242
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_length_ujis.result|20050107081538|28829|92e66a0d987080ab
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_length_utf8.result|20050107081538|50725|f3e1ec3c827572ef
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_like_sjis.result|20050107081538|07207|497ea317a9779e08
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_like_ucs2.result|20050107081538|29018|dff13e955936a635
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_like_ujis.result|20050107081539|16190|5aaf14c5cc0eb3d7
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_like_utf8.result|20050107081539|38032|e62cf43214334eaf
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_locate_sjis.result|20050107081539|59851|f5cd5bb0720f1388
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_locate_ucs2.result|20050107081539|16013|397f3c3ecc929da
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_locate_ujis.result|20050107081540|05016|a0746377dc240841
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_locate_utf8.result|20050107081540|26599|65816e1c9ea27fbc
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_lpad_sjis.result|20050107081540|48453|be23445a258c2efb
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_lpad_ucs2.result|20050107081540|04446|10797352d768da53
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_lpad_ujis.result|20050107081540|26224|75165c42c9da07e8
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_lpad_utf8.result|20050107081541|13606|36ad2d19941abede
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_ltrim_sjis.result|20050107081541|35572|2b3b542ec89a8440
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_ltrim_ucs2.result|20050107081541|57615|cab66782e2d918b7
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_ltrim_ujis.result|20050107081541|13734|5e405409e03dca3
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_ltrim_utf8.result|20050107081542|00849|5f64c2575080fb2e
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_ps_sjis.result|20050107081542|22464|194a85125571489c
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_ps_ujis.result|20050107081542|44552|1d31f04dc3869387
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_replace_sjis.result|20050107081542|00673|76b3f6fab7cce305
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_replace_ucs2.result|20050107081542|22178|40a5c69f7fb9ad70
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_replace_ujis.result|20050107081543|09299|ab8af1803ff6de87
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_replace_utf8.result|20050107081543|31103|34a42201cf18603f
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_reverse_sjis.result|20050107081543|53242|2fd638c1bbea9de
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_reverse_ucs2.result|20050107081543|09440|bcae1663ff14df06
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_reverse_ujis.result|20050107081543|31543|69792ccfb7d3b59b
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_reverse_utf8.result|20050107081544|19023|30e4181e77154299
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_right_sjis.result|20050107081544|40814|84b8e7d33c6cc088
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_right_ucs2.result|20050107081544|62694|20e50c73803406e0
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_right_ujis.result|20050107081544|18674|2bd13ccf7478f32b
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_right_utf8.result|20050107081545|06019|b26626fbc0c8fa25
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_rpad_sjis.result|20050107081545|47717|a6cb9a00a34d9280
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_rpad_ucs2.result|20050107081545|03933|6f310a21c6a3ad7f
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_rpad_ujis.result|20050107081545|25719|419271caa26c24cd
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_rpad_utf8.result|20050107081546|12990|e1cd2ebd6c0208ea
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_rtrim_sjis.result|20050107081546|34719|d23e6090f98e8fbc
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_rtrim_ucs2.result|20050107081546|56850|f2fe2a72c482aa49
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_rtrim_ujis.result|20050107081546|13304|1e865c1ccf400e23
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_rtrim_utf8.result|20050107081547|00440|8b2e0fffb1bc5cd4
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_select_sjis.result|20050107081547|22111|60535594c5605694
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_select_ucs2.result|20050107081547|44100|71c3558952cbc6ad
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_select_ujis.result|20050107081547|00264|f0e2860f90982398
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_select_utf8.result|20050107081547|21895|eeef381fbf2d9c95
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_subquery_sjis.result|20050107081548|09502|b652bee325136852
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_subquery_ucs2.result|20050107081548|31516|8a8aa66dad072fed
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_subquery_ujis.result|20050107081548|53490|8add4d2433058e8e
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_subquery_utf8.result|20050107081548|09693|cdeb3a8f901a6efb
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_substring_sjis.result|20050107081549|05596|fee80f00e654153
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_substring_ucs2.result|20050107081549|28016|238f41941bf1cde2
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_substring_ujis.result|20050107081549|50377|1d6072226dc693ac
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_substring_utf8.result|20050107081549|06796|2dba8103bf4ad46d
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_trim_sjis.result|20050107081549|28652|8a103fbcece5bf25
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_trim_ucs2.result|20050107081550|15970|ac4cba762dc14e28
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_trim_ujis.result|20050107081550|37865|4df912345aac10f1
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_trim_utf8.result|20050107081550|60045|79cba16887bf3b1f
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_union_ujis.result|20050107081550|16675|f0d464252c220c15
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_update_sjis.result|20050107081551|03970|13dc7639ad1ec6e5
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_update_ucs2.result|20050107081551|25688|8fc9b1f31d32a21f
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_update_ujis.result|20050107081551|47775|93f6c8b3f5622aff
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_update_utf8.result|20050107081551|04259|24a758ee1768afcc
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_where_sjis.result|20050107081551|26138|cb97323da2f50869
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_where_ucs2.result|20050107081552|13450|b3dad356facc16be
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_where_ujis.result|20050107081552|35250|4e3045c764bfa364
|
||||
shuichi@mysql.com|mysql-test/suite/jp/r/jp_where_utf8.result|20050107081552|57088|143422da49ad0cdb
|
||||
shuichi@mysql.com|mysql-test/suite/jp/std_data/jisx0201_sjis.dat|20050107081552|13191|3b811e51d64f83c7
|
||||
shuichi@mysql.com|mysql-test/suite/jp/std_data/jisx0201_ucs2.dat|20050107083211|03894|85975a083dfb7a54
|
||||
shuichi@mysql.com|mysql-test/suite/jp/std_data/jisx0201_ujis.dat|20050107081605|05898|699c7c58964df90
|
||||
shuichi@mysql.com|mysql-test/suite/jp/std_data/jisx0201_utf8.dat|20050107081606|12116|74d43073bf069bc7
|
||||
shuichi@mysql.com|mysql-test/suite/jp/std_data/jisx0208_sjis.dat|20050107081606|52743|9e8273f37d55fc4
|
||||
shuichi@mysql.com|mysql-test/suite/jp/std_data/jisx0208_sjis2.dat|20050107083212|14086|38a382ad2316ccf0
|
||||
shuichi@mysql.com|mysql-test/suite/jp/std_data/jisx0208_sjis3.dat|20050107081608|13836|8661d7801d6d35c
|
||||
shuichi@mysql.com|mysql-test/suite/jp/std_data/jisx0208_ucs2.dat|20050107081608|54705|269e953196baf762
|
||||
shuichi@mysql.com|mysql-test/suite/jp/std_data/jisx0208_ujis.dat|20050107081608|29492|e5d30a2aadd8062a
|
||||
shuichi@mysql.com|mysql-test/suite/jp/std_data/jisx0208_utf8.dat|20050107081609|35613|db4e6eadc27ec29e
|
||||
shuichi@mysql.com|mysql-test/suite/jp/std_data/jisx0212_ucs2.dat|20050107081609|10803|4fbb36024a7d47d0
|
||||
shuichi@mysql.com|mysql-test/suite/jp/std_data/jisx0212_ujis.dat|20050107081610|17128|bedeb2aa4cf2103d
|
||||
shuichi@mysql.com|mysql-test/suite/jp/std_data/jisx0212_utf8.dat|20050107081610|58355|6f46c105f00e6da7
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_alter_sjis.test|20050107081610|33134|f7c41740399a114a
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_alter_ucs2.test|20050107081611|40070|8aded01010aa4027
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_alter_ujis.test|20050107081611|04428|ddd8a1d2c2b10744
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_alter_utf8.test|20050107081611|26011|749a0e3b6ba599d2
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_charlength_sjis.test|20050107081612|13318|38dc8c4a77af62a4
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_charlength_ucs2.test|20050107081612|35063|fe5674c6b12d2b1
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_charlength_ujis.test|20050107081612|57379|e901fbd29981385b
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_charlength_utf8.test|20050107081612|13800|36ef1b7b55dc4a1b
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_charset_sjis.test|20050107081613|01245|daf9bbe53b34f1a8
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_charset_ucs2.test|20050107081613|22978|ea01c4415d5ef4a4
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_charset_ujis.test|20050107081613|45096|ca893d3a1c4a5fab
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_charset_utf8.test|20050107081613|01406|9d3ffec1489a799b
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_convert_sjis.test|20050107081613|23086|a7fbf85ce0fc9591
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_convert_ucs2.test|20050107081614|10458|84828e6663159064
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_convert_ujis.test|20050107081614|32393|a64465e0725243
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_convert_utf8.test|20050107081614|54260|8f344fb86504b604
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_create_db_sjis.test|20050107081614|10489|40a1631cffd46fe
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_create_db_ucs2.test|20050107081614|32422|8f034f1fb0ae644b
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_create_db_ujis.test|20050107081615|20478|bbdb04d1a483939b
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_create_db_utf8.test|20050107081615|42908|1f4418fddb751c58
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_create_tbl_sjis.test|20050107081615|64880|448ff3eaff962456
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_create_tbl_ucs2.test|20050107081615|21081|b2bafda9e7a3f226
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_create_tbl_ujis.test|20050107081616|08589|1477760d458bb313
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_create_tbl_utf8.test|20050107081616|30689|a1d12ccab39f74f3
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_enum_sjis.test|20050107081616|53230|9b863b7e4728f82a
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_enum_ucs2.test|20050107081617|23149|f05f1cbbe3740670
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_enum_ujis.test|20050107081618|10643|ac136bedb31cf9a8
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_enum_utf8.test|20050107081618|46561|43460e3947ac3d24
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_insert_sjis.test|20050107081618|02948|b32f23f3f588ea9a
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_insert_ucs2.test|20050107081618|24774|783e8b896271e49e
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_insert_ujis.test|20050107081619|12298|3f9c8c41cd92faa3
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_insert_utf8.test|20050107081619|37128|e4ab71ff1f780509
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_instr_sjis.test|20050107081619|59453|25fc516136ca9159
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_instr_ucs2.test|20050107081619|15956|673e221671a2770d
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_instr_ujis.test|20050107081620|03773|75c1239ff59d928a
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_instr_utf8.test|20050107081620|26260|ed912ad48a1893a8
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_join_sjis.test|20050107081620|49077|59a36a82ee570052
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_join_ucs2.test|20050107081620|05668|7d8665f03f26863d
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_join_ujis.test|20050107081620|27737|ecdf5e86cbda74cb
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_join_utf8.test|20050107081621|15489|b98f58e8a4a65e7b
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_left_sjis.test|20050107081621|41478|91fcd07aaac68648
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_left_ucs2.test|20050107081621|63674|65929b80d0271c86
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_left_ujis.test|20050107081621|20110|2a5ce575491289f4
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_left_utf8.test|20050107081622|07679|932150eea8460d1
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_length_sjis.test|20050107081622|30138|22fc722d29faeb92
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_length_ucs2.test|20050107081622|52718|81dcde6618d6a22d
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_length_ujis.test|20050107081622|09451|d5be7e1b3b4fb88b
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_length_utf8.test|20050107081622|31964|cfd3ea368b652b5b
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_like_sjis.test|20050107081623|19721|1db71ef08ca802d0
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_like_ucs2.test|20050107081623|42415|55eee7f0b2b984cd
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_like_ujis.test|20050107081623|64766|4136ccd8cd83eee5
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_like_utf8.test|20050107081623|21529|556e575385ee58f
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_locate_sjis.test|20050107081624|09362|ac12c88e8477d736
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_locate_ucs2.test|20050107081624|31699|e6e0cc4752262b9f
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_locate_ujis.test|20050107081624|54042|afa7eadd28fa536e
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_locate_utf8.test|20050107081624|10934|307d85c4cd318e62
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_lpad_sjis.test|20050107081624|33252|29972178e7d58d93
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_lpad_ucs2.test|20050107081625|21025|b722d1ed662e03c8
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_lpad_ujis.test|20050107081625|44023|c1feeadebdfc0ff9
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_lpad_utf8.test|20050107081625|01097|2f3347de2a42b9d6
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_ltrim_sjis.test|20050107081625|23224|fb954f6d4b2a20ac
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_ltrim_ucs2.test|20050107081626|11079|998157355fe96143
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_ltrim_ujis.test|20050107081626|33500|aab63ba3302196a2
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_ltrim_utf8.test|20050107081626|55883|8193f90a6ed58d36
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_ps_sjis.test|20050107081626|12674|2f1450a52f147fec
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_ps_ujis.test|20050107081627|00495|7b0eb3ca59abb12
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_replace_sjis.test|20050107081627|23008|a74ce2aca0e5ac66
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_replace_ucs2.test|20050107081627|45674|71b7010127493fb
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_replace_ujis.test|20050107081627|02501|cfe2af6b3db381c0
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_replace_utf8.test|20050107081627|24683|57e905b35703072
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_reverse_sjis.test|20050107081628|12962|f40219e9e488fc23
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_reverse_ucs2.test|20050107081628|35555|2c0e7ad52ec9ca65
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_reverse_ujis.test|20050107081628|57942|c353d85f4e92f5df
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_reverse_utf8.test|20050107081628|14597|e2588c2a3dcf63a
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_right_sjis.test|20050107081629|02304|14af84f068332d50
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_right_ucs2.test|20050107081629|24565|729a8377aa8100e4
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_right_ujis.test|20050107081629|47409|a839209fac19b930
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_right_utf8.test|20050107081629|04400|ada246cab13f1811
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_rpad_sjis.test|20050107081629|26583|9ae895ba98c4d31
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_rpad_ucs2.test|20050107081630|14467|cc7b3b62ee6dae28
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_rpad_ujis.test|20050107081630|37003|9c869c17899db4c7
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_rpad_utf8.test|20050107081630|59835|a8ed7c9ff559c38d
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_rtrim_sjis.test|20050107081630|16798|82a8f174f2ac5988
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_rtrim_ucs2.test|20050107081631|04558|1f90bdf68ed4d6d0
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_rtrim_ujis.test|20050107081631|26878|1804ccc6518b5d9
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_rtrim_utf8.test|20050107081631|49568|74375ee1105781bd
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_select_sjis.test|20050107081631|06299|b1151637493de45
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_select_ucs2.test|20050107081632|27924|3364d51b3168f562
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_select_ujis.test|20050107081632|50639|721b5841964bf8e6
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_select_utf8.test|20050107081632|07426|37222d28b4cfe7c8
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_subquery_sjis.test|20050107081632|29631|c92ff81669eb652
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_subquery_ucs2.test|20050107084021|10337|4b920d28fc9dc5aa
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_subquery_ujis.test|20050107083216|33062|3f51b47de1fb0c17
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_subquery_utf8.test|20050107081637|15503|fe599c9515084385
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_substring_sjis.test|20050107081638|08555|305285c02185f498
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_substring_ucs2.test|20050107081638|36441|ddc58f642ca61418
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_substring_ujis.test|20050107081638|64337|2cc53c02a5cc4879
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_substring_utf8.test|20050107081638|26081|55bb4e11bc747e5d
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_trim_sjis.test|20050107081639|19046|ec18bf7845064d09
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_trim_ucs2.test|20050107081639|46660|583edc63a51fd799
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_trim_ujis.test|20050107081639|06910|87aad3c53be879fd
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_trim_utf8.test|20050107081639|29347|b35fcc89b5fa47c3
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_union_ujis.test|20050107081640|17665|1eb842f74190b3c1
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_update_sjis.test|20050107081640|40239|d21d19721f975c74
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_update_ucs2.test|20050107081640|62869|3dad27b824548037
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_update_ujis.test|20050107081640|19575|5c3da888e148065b
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_update_utf8.test|20050107081641|07967|bc3adabdd5ac865
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_where_sjis.test|20050107081641|30584|e2886fcc8b23152f
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_where_ucs2.test|20050107081641|53233|b3c07768684ddfdb
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_where_ujis.test|20050107081641|10027|9e123ef3c645b66a
|
||||
shuichi@mysql.com|mysql-test/suite/jp/t/jp_where_utf8.test|20050107081641|32217|59fb529f60d9d8bc
|
||||
tfr@sarvik.tfr.cafe.ee|Docs/Flags/costarica.eps|20020228162345|64529|31ade79a89683616
|
||||
tfr@sarvik.tfr.cafe.ee|Docs/Flags/costarica.gif|20020228162348|36945|364ca7338682f71
|
||||
tfr@sarvik.tfr.cafe.ee|Docs/Flags/costarica.txt|20020228162350|33044|e155c53c10374ff
|
||||
|
|
|
@ -38,7 +38,7 @@ $opt_dry_run= undef;
|
|||
$opt_export_only= undef;
|
||||
$opt_help= $opt_verbose= 0;
|
||||
$opt_log= undef;
|
||||
$opt_mail= "";
|
||||
$opt_mail= "build\@mysql.com";
|
||||
$opt_pull= undef;
|
||||
$opt_revision= undef;
|
||||
$opt_suffix= "";
|
||||
|
@ -431,6 +431,7 @@ Options:
|
|||
include a log file snippet, if logging is enabled)
|
||||
Note that the \@-Sign needs to be quoted!
|
||||
Example: --mail=user\\\@domain.com
|
||||
Default: build\@mysql.com
|
||||
-q, --quiet Be quiet
|
||||
-p, --pull Update the source BK trees before building
|
||||
-r, --revision=<rev> Export the tree as of revision <rev>
|
||||
|
|
|
@ -73,7 +73,7 @@ LINK32=xilink6.exe
|
|||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBMYSQLD_EXPORTS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MT /W3 /Z7 /Od /I "../include" /I "../libmysqld" /I "../sql" /I "../regex" /I "../bdb/build_win32" /I "../zlib" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "HAVE_BERKELEY_DB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "HAVE_INNOBASE_DB" /D "USE_TLS" /D "__WIN__" /FD /GZ /c
|
||||
# ADD CPP /nologo /MT /W3 /Z7 /Od /I "../include" /I "../libmysqld" /I "../sql" /I "../regex" /I "../bdb/build_win32" /I "../zlib" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "SAFEMALLOC" /D "HAVE_BERKELEY_DB" /D "USE_SYMDIR" /D "SIGNAL_WITH_VIO_CLOSE" /D "HAVE_DLOPEN" /D "EMBEDDED_LIBRARY" /D "HAVE_INNOBASE_DB" /D "USE_TLS" /D "__WIN__" /FD /GZ /c
|
||||
# SUBTRACT CPP /X /Fr
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
|
|
|
@ -58,7 +58,7 @@ BSC32=bscmake.exe
|
|||
# ADD BSC32 /nologo
|
||||
LINK32=xilink6.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"../client_release/mysqld-opt.exe"
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_release\vio.lib ..\lib_release\isam.lib ..\lib_release\merge.lib ..\lib_release\mysys.lib ..\lib_release\strings.lib ..\lib_release\regex.lib ..\lib_release\heap.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"../client_release/mysqld.exe"
|
||||
# SUBTRACT LINK32 /debug
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqld - Win32 Debug"
|
||||
|
@ -84,7 +84,7 @@ BSC32=bscmake.exe
|
|||
# ADD BSC32 /nologo
|
||||
LINK32=xilink6.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_debug\dbug.lib ..\lib_debug\vio.lib ..\lib_debug\isam.lib ..\lib_debug\merge.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap.lib ..\lib_debug\bdb.lib ..\lib_debug\innodb.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqld.exe" /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Wsock32.lib ..\lib_debug\dbug.lib ..\lib_debug\vio.lib ..\lib_debug\isam.lib ..\lib_debug\merge.lib ..\lib_debug\mysys.lib ..\lib_debug\strings.lib ..\lib_debug\regex.lib ..\lib_debug\heap.lib ..\lib_debug\bdb.lib ..\lib_debug\innodb.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../client_debug/mysqld-debug.exe" /pdbtype:sept
|
||||
|
||||
!ELSEIF "$(CFG)" == "mysqld - Win32 nt"
|
||||
|
||||
|
|
|
@ -330,6 +330,16 @@ static sig_handler mysql_end(int sig);
|
|||
int main(int argc,char *argv[])
|
||||
{
|
||||
char buff[80];
|
||||
char *defaults, *extra_defaults;
|
||||
char *emb_argv[3];
|
||||
int emb_argc= 1;
|
||||
|
||||
emb_argv[0]= argv[0];
|
||||
get_defaults_files(argc, argv, &defaults, &extra_defaults);
|
||||
if (defaults)
|
||||
emb_argv[emb_argc++]= defaults;
|
||||
if (extra_defaults)
|
||||
emb_argv[emb_argc++]= extra_defaults;
|
||||
|
||||
MY_INIT(argv[0]);
|
||||
DBUG_ENTER("main");
|
||||
|
@ -375,7 +385,7 @@ int main(int argc,char *argv[])
|
|||
my_end(0);
|
||||
exit(1);
|
||||
}
|
||||
if (mysql_server_init(0, NULL, (char**) server_default_groups))
|
||||
if (mysql_server_init(emb_argc, emb_argv, (char**) server_default_groups))
|
||||
{
|
||||
free_defaults(defaults_argv);
|
||||
my_end(0);
|
||||
|
|
|
@ -47,7 +47,7 @@ my_bool _hash_init(HASH *hash, CHARSET_INFO *charset,
|
|||
uint key_length, hash_get_key get_key,
|
||||
void (*free_element)(void*), uint flags CALLER_INFO_PROTO);
|
||||
void hash_free(HASH *tree);
|
||||
void hash_reset(HASH *hash);
|
||||
void my_hash_reset(HASH *hash);
|
||||
byte *hash_element(HASH *hash,uint idx);
|
||||
gptr hash_search(HASH *info,const byte *key,uint length);
|
||||
gptr hash_next(HASH *info,const byte *key,uint length);
|
||||
|
|
|
@ -738,6 +738,8 @@ extern void reset_root_defaults(MEM_ROOT *mem_root, uint block_size,
|
|||
extern char *strdup_root(MEM_ROOT *root,const char *str);
|
||||
extern char *strmake_root(MEM_ROOT *root,const char *str,uint len);
|
||||
extern char *memdup_root(MEM_ROOT *root,const char *str,uint len);
|
||||
extern void get_defaults_files(int argc, char **argv,
|
||||
char **defaults, char **extra_defaults);
|
||||
extern int load_defaults(const char *conf_file, const char **groups,
|
||||
int *argc, char ***argv);
|
||||
extern void free_defaults(char **argv);
|
||||
|
|
|
@ -1763,7 +1763,7 @@ os_file_flush(
|
|||
#else
|
||||
int ret;
|
||||
|
||||
#ifdef HAVE_DARWIN_THREADS
|
||||
#if defined(HAVE_DARWIN_THREADS) && defined(F_FULLFSYNC)
|
||||
/* Apple has disabled fsync() for internal disk drives in OS X. That
|
||||
caused corruption for a user when he tested a power outage. Let us in
|
||||
OS X use a nonstandard flush method recommended by an Apple
|
||||
|
|
|
@ -219,12 +219,13 @@ static my_bool emb_mysql_read_query_result(MYSQL *mysql)
|
|||
static int emb_stmt_execute(MYSQL_STMT *stmt)
|
||||
{
|
||||
DBUG_ENTER("emb_stmt_execute");
|
||||
char header[4];
|
||||
int4store(header, stmt->stmt_id);
|
||||
THD *thd= (THD*)stmt->mysql->thd;
|
||||
thd->client_param_count= stmt->param_count;
|
||||
thd->client_params= stmt->params;
|
||||
if (emb_advanced_command(stmt->mysql, COM_EXECUTE,0,0,
|
||||
(const char*)&stmt->stmt_id,sizeof(stmt->stmt_id),
|
||||
1) ||
|
||||
header, sizeof(header), 1) ||
|
||||
emb_mysql_read_query_result(stmt->mysql))
|
||||
{
|
||||
NET *net= &stmt->mysql->net;
|
||||
|
|
|
@ -143,6 +143,9 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
|
|||
db ? db : "(Null)",
|
||||
user ? user : "(Null)"));
|
||||
|
||||
if (!host || !host[0])
|
||||
host= mysql->options.host;
|
||||
|
||||
if (mysql->options.methods_to_use == MYSQL_OPT_USE_REMOTE_CONNECTION ||
|
||||
(mysql->options.methods_to_use == MYSQL_OPT_GUESS_CONNECTION &&
|
||||
host && *host && strcmp(host,LOCAL_HOST)))
|
||||
|
|
|
@ -9,13 +9,13 @@ DataDir= CHOOSE_FILESYSTEM
|
|||
MaxNoOfOrderedIndexes= CHOOSE_MaxNoOfOrderedIndexes
|
||||
|
||||
[ndbd]
|
||||
HostName= CHOOSE_HOSTNAME_1
|
||||
HostName= CHOOSE_HOSTNAME_1 # hostname is a valid network adress
|
||||
|
||||
[ndbd]
|
||||
HostName= CHOOSE_HOSTNAME_2
|
||||
HostName= CHOOSE_HOSTNAME_2 # hostname is a valid network adress
|
||||
|
||||
[ndb_mgmd]
|
||||
DataDir= CHOOSE_FILESYSTEM
|
||||
DataDir= CHOOSE_FILESYSTEM #
|
||||
PortNumber= CHOOSE_PORT_MGM
|
||||
|
||||
[mysqld]
|
||||
|
|
|
@ -817,3 +817,15 @@ drop table t1;
|
|||
select 'c' like '\_' as want0;
|
||||
want0
|
||||
0
|
||||
create table t1 (id integer, a varchar(100) character set utf8 collate utf8_unicode_ci);
|
||||
insert into t1 values (1, 'Test');
|
||||
select * from t1 where soundex(a) = soundex('Test');
|
||||
id a
|
||||
1 Test
|
||||
select * from t1 where soundex(a) = soundex('TEST');
|
||||
id a
|
||||
1 Test
|
||||
select * from t1 where soundex(a) = soundex('test');
|
||||
id a
|
||||
1 Test
|
||||
drop table t1;
|
||||
|
|
|
@ -420,3 +420,19 @@ count(*)-8
|
|||
select count(*)-9 from t1 use index (ti) where ti <= '23:59:59';
|
||||
count(*)-9
|
||||
0
|
||||
drop table t1;
|
||||
create table t1(a int primary key, b int not null, index(b));
|
||||
insert into t1 values (1,1), (2,2);
|
||||
set autocommit=0;
|
||||
begin;
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
2
|
||||
ALTER TABLE t1 ADD COLUMN c int;
|
||||
select a from t1 where b = 2;
|
||||
a
|
||||
2
|
||||
show tables;
|
||||
Tables_in_test
|
||||
t1
|
||||
drop table t1;
|
||||
|
|
9
mysql-test/r/rpl_many_optimize.result
Normal file
9
mysql-test/r/rpl_many_optimize.result
Normal file
|
@ -0,0 +1,9 @@
|
|||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
create table t1 (a int not null auto_increment primary key, b int, key(b));
|
||||
INSERT INTO t1 (a) VALUES (1),(2);
|
||||
drop table t1;
|
|
@ -666,3 +666,12 @@ drop table t1;
|
|||
#
|
||||
select 'c' like '\_' as want0;
|
||||
|
||||
#
|
||||
# Bug #7730 Server crash using soundex on an utf8 table
|
||||
#
|
||||
create table t1 (id integer, a varchar(100) character set utf8 collate utf8_unicode_ci);
|
||||
insert into t1 values (1, 'Test');
|
||||
select * from t1 where soundex(a) = soundex('Test');
|
||||
select * from t1 where soundex(a) = soundex('TEST');
|
||||
select * from t1 where soundex(a) = soundex('test');
|
||||
drop table t1;
|
||||
|
|
|
@ -236,3 +236,21 @@ select count(*)-5 from t1 use index (ti) where ti < '10:11:11';
|
|||
select count(*)-6 from t1 use index (ti) where ti <= '10:11:11';
|
||||
select count(*)-8 from t1 use index (ti) where ti < '23:59:59';
|
||||
select count(*)-9 from t1 use index (ti) where ti <= '23:59:59';
|
||||
|
||||
drop table t1;
|
||||
|
||||
# bug#7798
|
||||
create table t1(a int primary key, b int not null, index(b));
|
||||
insert into t1 values (1,1), (2,2);
|
||||
connect (con1,localhost,,,test);
|
||||
connect (con2,localhost,,,test);
|
||||
connection con1;
|
||||
set autocommit=0;
|
||||
begin;
|
||||
select count(*) from t1;
|
||||
connection con2;
|
||||
ALTER TABLE t1 ADD COLUMN c int;
|
||||
connection con1;
|
||||
select a from t1 where b = 2;
|
||||
show tables;
|
||||
drop table t1;
|
||||
|
|
20
mysql-test/t/rpl_many_optimize.test
Normal file
20
mysql-test/t/rpl_many_optimize.test
Normal file
|
@ -0,0 +1,20 @@
|
|||
# Test for BUG#7658 "optimize crashes slave thread (1 in 1000)]"
|
||||
|
||||
source include/master-slave.inc;
|
||||
|
||||
create table t1 (a int not null auto_increment primary key, b int, key(b));
|
||||
INSERT INTO t1 (a) VALUES (1),(2);
|
||||
# Now many OPTIMIZE to test if we crash (BUG#7658)
|
||||
let $1=300;
|
||||
disable_query_log;
|
||||
disable_result_log;
|
||||
while ($1)
|
||||
{
|
||||
eval OPTIMIZE TABLE t1;
|
||||
dec $1;
|
||||
}
|
||||
enable_result_log;
|
||||
enable_query_log;
|
||||
drop table t1;
|
||||
# Bug was that slave segfaulted after ~ a hundred of OPTIMIZE (or ANALYZE)
|
||||
sync_slave_with_master;
|
|
@ -78,6 +78,36 @@ static int search_default_file_with_ext(DYNAMIC_ARRAY *args, MEM_ROOT *alloc,
|
|||
static char *remove_end_comment(char *ptr);
|
||||
|
||||
|
||||
/*
|
||||
Gets --defaults-file and --defaults-extra-file options from command line.
|
||||
|
||||
SYNOPSIS
|
||||
get_defaults_files()
|
||||
argc Pointer to argc of original program
|
||||
argv Pointer to argv of original program
|
||||
defaults --defaults-file option
|
||||
extra_defaults --defaults-extra-file option
|
||||
|
||||
RETURN
|
||||
defaults and extra_defaults will be set to appropriate items
|
||||
of argv array, or to NULL if there are no such options
|
||||
*/
|
||||
|
||||
void get_defaults_files(int argc, char **argv,
|
||||
char **defaults, char **extra_defaults)
|
||||
{
|
||||
*defaults=0;
|
||||
*extra_defaults=0;
|
||||
if (argc >= 2)
|
||||
{
|
||||
if (is_prefix(argv[1],"--defaults-file="))
|
||||
*defaults= argv[1];
|
||||
else if (is_prefix(argv[1],"--defaults-extra-file="))
|
||||
*extra_defaults= argv[1];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Read options from configurations files
|
||||
|
||||
|
@ -111,7 +141,7 @@ static char *remove_end_comment(char *ptr);
|
|||
|
||||
|
||||
int load_defaults(const char *conf_file, const char **groups,
|
||||
int *argc, char ***argv)
|
||||
int *argc, char ***argv)
|
||||
{
|
||||
DYNAMIC_ARRAY args;
|
||||
const char **dirs, *forced_default_file;
|
||||
|
@ -143,21 +173,14 @@ int load_defaults(const char *conf_file, const char **groups,
|
|||
DBUG_RETURN(0);
|
||||
}
|
||||
|
||||
/* Check if we want to force the use a specific default file */
|
||||
forced_default_file=0;
|
||||
if (*argc >= 2)
|
||||
{
|
||||
if (is_prefix(argv[0][1],"--defaults-file="))
|
||||
{
|
||||
forced_default_file=strchr(argv[0][1],'=')+1;
|
||||
args_used++;
|
||||
}
|
||||
else if (is_prefix(argv[0][1],"--defaults-extra-file="))
|
||||
{
|
||||
defaults_extra_file=strchr(argv[0][1],'=')+1;
|
||||
args_used++;
|
||||
}
|
||||
}
|
||||
get_defaults_files(*argc, *argv,
|
||||
(char **)&forced_default_file, &defaults_extra_file);
|
||||
if (forced_default_file)
|
||||
forced_default_file= strchr(forced_default_file,'=')+1;
|
||||
if (defaults_extra_file)
|
||||
defaults_extra_file= strchr(defaults_extra_file,'=')+1;
|
||||
|
||||
args_used+= (forced_default_file ? 1 : 0) + (defaults_extra_file ? 1 : 0);
|
||||
|
||||
group.count=0;
|
||||
group.name= "defaults";
|
||||
|
|
|
@ -122,13 +122,13 @@ void hash_free(HASH *hash)
|
|||
Delete all elements from the hash (the hash itself is to be reused).
|
||||
|
||||
SYNOPSIS
|
||||
hash_reset()
|
||||
my_hash_reset()
|
||||
hash the hash to delete elements of
|
||||
*/
|
||||
|
||||
void hash_reset(HASH *hash)
|
||||
void my_hash_reset(HASH *hash)
|
||||
{
|
||||
DBUG_ENTER("hash_reset");
|
||||
DBUG_ENTER("my_hash_reset");
|
||||
DBUG_PRINT("enter",("hash: 0x%lxd",hash));
|
||||
|
||||
hash_free_elements(hash);
|
||||
|
|
|
@ -54,7 +54,11 @@ struct NdbThread* NdbThread_Create(NDB_THREAD_FUNC *p_thread_func,
|
|||
strnmov(tmpThread->thread_name,p_thread_name,sizeof(tmpThread->thread_name));
|
||||
|
||||
pthread_attr_init(&thread_attr);
|
||||
#if (SIZEOF_CHARP == 8)
|
||||
pthread_attr_setstacksize(&thread_attr, 2*thread_stack_size);
|
||||
#else
|
||||
pthread_attr_setstacksize(&thread_attr, thread_stack_size);
|
||||
#endif
|
||||
#ifdef USE_PTHREAD_EXTRAS
|
||||
/* Guard stack overflow with a 2k databuffer */
|
||||
pthread_attr_setguardsize(&thread_attr, 2048);
|
||||
|
|
|
@ -992,7 +992,11 @@ Backup::execUTIL_SEQUENCE_CONF(Signal* signal)
|
|||
}//if
|
||||
ndbrequire(ptr.p->masterData.state.getState() == DEFINING);
|
||||
|
||||
ptr.p->backupId = conf->sequenceValue[0];
|
||||
{
|
||||
Uint64 backupId;
|
||||
memcpy(&backupId,conf->sequenceValue,8);
|
||||
ptr.p->backupId= (Uint32)backupId;
|
||||
}
|
||||
ptr.p->backupKey[0] = (getOwnNodeId() << 16) | (ptr.p->backupId & 0xFFFF);
|
||||
ptr.p->backupKey[1] = NdbTick_CurrentMillisecond();
|
||||
|
||||
|
|
|
@ -1879,7 +1879,6 @@ void Dbtc::packKeyData000Lab(Signal* signal,
|
|||
Uint32 totalLen)
|
||||
{
|
||||
CacheRecord * const regCachePtr = cachePtr.p;
|
||||
UintR Tmp;
|
||||
|
||||
jam();
|
||||
Uint32 len = 0;
|
||||
|
@ -8503,14 +8502,16 @@ void Dbtc::execSCAN_TABREQ(Signal* signal)
|
|||
apiConnectptr.i = scanTabReq->apiConnectPtr;
|
||||
tabptr.i = scanTabReq->tableId;
|
||||
|
||||
if (apiConnectptr.i >= capiConnectFilesize ||
|
||||
tabptr.i >= ctabrecFilesize) {
|
||||
if (apiConnectptr.i >= capiConnectFilesize)
|
||||
{
|
||||
jam();
|
||||
warningHandlerLab(signal);
|
||||
return;
|
||||
}//if
|
||||
|
||||
ptrAss(apiConnectptr, apiConnectRecord);
|
||||
ApiConnectRecord * transP = apiConnectptr.p;
|
||||
|
||||
if (transP->apiConnectstate != CS_CONNECTED) {
|
||||
jam();
|
||||
// could be left over from TCKEYREQ rollback
|
||||
|
@ -8524,9 +8525,16 @@ void Dbtc::execSCAN_TABREQ(Signal* signal)
|
|||
} else {
|
||||
jam();
|
||||
errCode = ZSTATE_ERROR;
|
||||
goto SCAN_TAB_error;
|
||||
goto SCAN_TAB_error_no_state_change;
|
||||
}
|
||||
}
|
||||
|
||||
if(tabptr.i >= ctabrecFilesize)
|
||||
{
|
||||
errCode = ZUNKNOWN_TABLE_ERROR;
|
||||
goto SCAN_TAB_error;
|
||||
}
|
||||
|
||||
ptrAss(tabptr, tableRecord);
|
||||
if ((aiLength == 0) ||
|
||||
(!tabptr.p->checkTable(schemaVersion)) ||
|
||||
|
@ -8621,8 +8629,18 @@ void Dbtc::execSCAN_TABREQ(Signal* signal)
|
|||
errCode = ZNO_SCANREC_ERROR;
|
||||
goto SCAN_TAB_error;
|
||||
|
||||
SCAN_TAB_error:
|
||||
SCAN_TAB_error:
|
||||
jam();
|
||||
/**
|
||||
* Prepare for up coming ATTRINFO/KEYINFO
|
||||
*/
|
||||
transP->apiConnectstate = CS_ABORTING;
|
||||
transP->abortState = AS_IDLE;
|
||||
transP->transid[0] = transid1;
|
||||
transP->transid[1] = transid2;
|
||||
|
||||
SCAN_TAB_error_no_state_change:
|
||||
|
||||
ScanTabRef * ref = (ScanTabRef*)&signal->theData[0];
|
||||
ref->apiConnectPtr = transP->ndbapiConnect;
|
||||
ref->transId1 = transid1;
|
||||
|
|
|
@ -14,19 +14,11 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||
|
||||
/**
|
||||
* O_DIRECT
|
||||
*/
|
||||
#if 0
|
||||
//#ifdef NDB_LINUX
|
||||
#ifndef _GNU_SOURCE
|
||||
#define _GNU_SOURCE
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <ndb_global.h>
|
||||
#include <my_sys.h>
|
||||
#include <my_pthread.h>
|
||||
|
||||
#include "Error.hpp"
|
||||
#include <Error.hpp>
|
||||
#include "AsyncFile.hpp"
|
||||
|
||||
#include <ErrorHandlingMacros.hpp>
|
||||
|
@ -35,13 +27,12 @@
|
|||
#include <NdbThread.h>
|
||||
#include <signaldata/FsOpenReq.hpp>
|
||||
|
||||
#if 0
|
||||
#ifdef HAVE_PREAD
|
||||
// This is for pread and pwrite
|
||||
#ifndef __USE_UNIX98
|
||||
#define __USE_UNIX98
|
||||
#endif
|
||||
#endif
|
||||
// use this to test broken pread code
|
||||
//#define HAVE_BROKEN_PREAD
|
||||
|
||||
#ifdef HAVE_BROKEN_PREAD
|
||||
#undef HAVE_PWRITE
|
||||
#undef HAVE_PREAD
|
||||
#endif
|
||||
|
||||
#if defined NDB_WIN32 || defined NDB_OSE || defined NDB_SOFTOSE
|
||||
|
@ -91,6 +82,7 @@ static int numAsyncFiles = 0;
|
|||
|
||||
extern "C" void * runAsyncFile(void* arg)
|
||||
{
|
||||
my_thread_init();
|
||||
((AsyncFile*)arg)->run();
|
||||
return (NULL);
|
||||
}
|
||||
|
@ -395,9 +387,12 @@ AsyncFile::readBuffer(char * buf, size_t size, off_t offset){
|
|||
if(dwSFP != offset) {
|
||||
return GetLastError();
|
||||
}
|
||||
#elif defined NDB_OSE || defined NDB_SOFTOSE
|
||||
return_value = lseek(theFd, offset, SEEK_SET);
|
||||
if (return_value != offset) {
|
||||
#elif ! defined(HAVE_PREAD)
|
||||
off_t seek_val;
|
||||
while((seek_val= lseek(theFd, offset, SEEK_SET)) == (off_t)-1
|
||||
&& errno == EINTR);
|
||||
if(seek_val == (off_t)-1)
|
||||
{
|
||||
return errno;
|
||||
}
|
||||
#endif
|
||||
|
@ -416,7 +411,7 @@ AsyncFile::readBuffer(char * buf, size_t size, off_t offset){
|
|||
return GetLastError();
|
||||
}
|
||||
bytes_read = dwBytesRead;
|
||||
#elif defined NDB_OSE || defined NDB_SOFTOSE
|
||||
#elif ! defined(HAVE_PREAD)
|
||||
return_value = ::read(theFd, buf, size);
|
||||
#else // UNIX
|
||||
return_value = ::pread(theFd, buf, size, offset);
|
||||
|
@ -469,7 +464,7 @@ AsyncFile::readReq( Request * request)
|
|||
void
|
||||
AsyncFile::readvReq( Request * request)
|
||||
{
|
||||
#if defined NDB_OSE || defined NDB_SOFTOSE
|
||||
#if ! defined(HAVE_PREAD)
|
||||
readReq(request);
|
||||
return;
|
||||
#elif defined NDB_WIN32
|
||||
|
@ -499,7 +494,7 @@ AsyncFile::readvReq( Request * request)
|
|||
|
||||
int
|
||||
AsyncFile::extendfile(Request* request) {
|
||||
#if defined NDB_OSE || defined NDB_SOFTOSE
|
||||
#if ! defined(HAVE_PWRITE)
|
||||
// Find max size of this file in this request
|
||||
int maxOffset = 0;
|
||||
int maxSize = 0;
|
||||
|
@ -608,27 +603,13 @@ AsyncFile::writeBuffer(const char * buf, size_t size, off_t offset,
|
|||
if(dwSFP != offset) {
|
||||
return GetLastError();
|
||||
}
|
||||
#elif defined NDB_OSE || defined NDB_SOFTOSE
|
||||
return_value = lseek(theFd, offset, SEEK_SET);
|
||||
if (return_value != offset) {
|
||||
DEBUG(ndbout_c("AsyncFile::writeReq, err1: return_value=%d, offset=%d\n",
|
||||
return_value, chunk_offset));
|
||||
PRINT_ERRORANDFLAGS(0);
|
||||
if (errno == 78) {
|
||||
// Could not write beyond end of file, try to extend file
|
||||
DEBUG(ndbout_c("AsyncFile::writeReq, Extend. file! filename=\"%s\" \n",
|
||||
theFileName.c_str()));
|
||||
return_value = extendfile(request);
|
||||
if (return_value == -1) {
|
||||
return errno;
|
||||
}
|
||||
return_value = lseek(theFd, offset, SEEK_SET);
|
||||
if (return_value != offset) {
|
||||
return errno;
|
||||
}
|
||||
} else {
|
||||
return errno;
|
||||
}
|
||||
#elif ! defined(HAVE_PWRITE)
|
||||
off_t seek_val;
|
||||
while((seek_val= lseek(theFd, offset, SEEK_SET)) == (off_t)-1
|
||||
&& errno == EINTR);
|
||||
if(seek_val == (off_t)-1)
|
||||
{
|
||||
return errno;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -650,7 +631,7 @@ AsyncFile::writeBuffer(const char * buf, size_t size, off_t offset,
|
|||
DEBUG(ndbout_c("Warning partial write %d != %d", bytes_written, bytes_to_write));
|
||||
}
|
||||
|
||||
#elif defined NDB_OSE || defined NDB_SOFTOSE
|
||||
#elif ! defined(HAVE_PWRITE)
|
||||
return_value = ::write(theFd, buf, bytes_to_write);
|
||||
#else // UNIX
|
||||
return_value = ::pwrite(theFd, buf, bytes_to_write, offset);
|
||||
|
@ -889,6 +870,7 @@ void AsyncFile::endReq()
|
|||
{
|
||||
// Thread is ended with return
|
||||
if (theWriteBuffer) NdbMem_Free(theWriteBuffer);
|
||||
my_thread_end();
|
||||
NdbThread_Exit(0);
|
||||
}
|
||||
|
||||
|
|
|
@ -824,7 +824,8 @@ Suma::execUTIL_SEQUENCE_CONF(Signal* signal)
|
|||
return;
|
||||
}
|
||||
|
||||
Uint32 subId = conf->sequenceValue[0];
|
||||
Uint64 subId;
|
||||
memcpy(&subId,conf->sequenceValue,8);
|
||||
Uint32 subData = conf->senderData;
|
||||
|
||||
SubscriberPtr subbPtr;
|
||||
|
@ -832,8 +833,8 @@ Suma::execUTIL_SEQUENCE_CONF(Signal* signal)
|
|||
|
||||
|
||||
CreateSubscriptionIdConf * subconf = (CreateSubscriptionIdConf*)conf;
|
||||
subconf->subscriptionId = subId;
|
||||
subconf->subscriptionKey =(getOwnNodeId() << 16) | (subId & 0xFFFF);
|
||||
subconf->subscriptionId = (Uint32)subId;
|
||||
subconf->subscriptionKey =(getOwnNodeId() << 16) | (Uint32)(subId & 0xFFFF);
|
||||
subconf->subscriberData = subbPtr.p->m_senderData;
|
||||
|
||||
sendSignal(subbPtr.p->m_subscriberRef, GSN_CREATE_SUBID_CONF, signal,
|
||||
|
|
|
@ -228,13 +228,21 @@ bool InitConfigFileParser::parseNameValuePair(Context& ctx, const char* line)
|
|||
|
||||
Vector<BaseString> tmp_string_split;
|
||||
if (BaseString(line).split(tmp_string_split,
|
||||
BaseString("=:"),
|
||||
2) != 2)
|
||||
"=:", 2) != 2)
|
||||
{
|
||||
ctx.reportError("Parse error");
|
||||
return false;
|
||||
}
|
||||
|
||||
// *************************************
|
||||
// Remove all after #
|
||||
// *************************************
|
||||
|
||||
Vector<BaseString> tmp_string_split2;
|
||||
tmp_string_split[1].split(tmp_string_split2,
|
||||
"#", 2);
|
||||
tmp_string_split[1]=tmp_string_split2[0];
|
||||
|
||||
// *************************************
|
||||
// Remove leading and trailing chars
|
||||
// *************************************
|
||||
|
|
|
@ -321,8 +321,9 @@ HANDLE create_named_pipe(NET *net, uint connect_timeout, char **arg_host,
|
|||
{
|
||||
net->last_errno=CR_NAMEDPIPEOPEN_ERROR;
|
||||
strmov(net->sqlstate, unknown_sqlstate);
|
||||
sprintf(net->last_error,ER(net->last_errno),host, unix_socket,
|
||||
(ulong) GetLastError());
|
||||
my_snprintf(net->last_error, sizeof(net->last_error)-1,
|
||||
ER(net->last_errno), host, unix_socket,
|
||||
(ulong) GetLastError());
|
||||
return INVALID_HANDLE_VALUE;
|
||||
}
|
||||
/* wait for for an other instance */
|
||||
|
@ -330,8 +331,9 @@ HANDLE create_named_pipe(NET *net, uint connect_timeout, char **arg_host,
|
|||
{
|
||||
net->last_errno=CR_NAMEDPIPEWAIT_ERROR;
|
||||
strmov(net->sqlstate, unknown_sqlstate);
|
||||
sprintf(net->last_error,ER(net->last_errno),host, unix_socket,
|
||||
(ulong) GetLastError());
|
||||
my_snprintf(net->last_error, sizeof(net->last_error)-1,
|
||||
ER(net->last_errno), host, unix_socket,
|
||||
(ulong) GetLastError());
|
||||
return INVALID_HANDLE_VALUE;
|
||||
}
|
||||
}
|
||||
|
@ -339,8 +341,9 @@ HANDLE create_named_pipe(NET *net, uint connect_timeout, char **arg_host,
|
|||
{
|
||||
net->last_errno=CR_NAMEDPIPEOPEN_ERROR;
|
||||
strmov(net->sqlstate, unknown_sqlstate);
|
||||
sprintf(net->last_error,ER(net->last_errno),host, unix_socket,
|
||||
(ulong) GetLastError());
|
||||
my_snprintf(net->last_error, sizeof(net->last_error)-1,
|
||||
ER(net->last_errno), host, unix_socket,
|
||||
(ulong) GetLastError());
|
||||
return INVALID_HANDLE_VALUE;
|
||||
}
|
||||
dwMode = PIPE_READMODE_BYTE | PIPE_WAIT;
|
||||
|
@ -349,8 +352,9 @@ HANDLE create_named_pipe(NET *net, uint connect_timeout, char **arg_host,
|
|||
CloseHandle( hPipe );
|
||||
net->last_errno=CR_NAMEDPIPESETSTATE_ERROR;
|
||||
strmov(net->sqlstate, unknown_sqlstate);
|
||||
sprintf(net->last_error,ER(net->last_errno),host, unix_socket,
|
||||
(ulong) GetLastError());
|
||||
my_snprintf(net->last_error, sizeof(net->last_error)-1,
|
||||
ER(net->last_errno),host, unix_socket,
|
||||
(ulong) GetLastError());
|
||||
return INVALID_HANDLE_VALUE;
|
||||
}
|
||||
*arg_host=host ; *arg_unix_socket=unix_socket; /* connect arg */
|
||||
|
@ -563,9 +567,11 @@ err:
|
|||
net->last_errno=error_allow;
|
||||
strmov(net->sqlstate, unknown_sqlstate);
|
||||
if (error_allow == CR_SHARED_MEMORY_EVENT_ERROR)
|
||||
sprintf(net->last_error,ER(net->last_errno),suffix_pos,error_code);
|
||||
my_snprintf(net->last_error,sizeof(net->last_error)-1,
|
||||
ER(net->last_errno),suffix_pos,error_code);
|
||||
else
|
||||
sprintf(net->last_error,ER(net->last_errno),error_code);
|
||||
my_snprintf(net->last_error,sizeof(net->last_error)-1,
|
||||
ER(net->last_errno),error_code);
|
||||
return(INVALID_HANDLE_VALUE);
|
||||
}
|
||||
return(handle_map);
|
||||
|
@ -794,7 +800,8 @@ static int check_license(MYSQL *mysql)
|
|||
if (net->last_errno == ER_UNKNOWN_SYSTEM_VARIABLE)
|
||||
{
|
||||
net->last_errno= CR_WRONG_LICENSE;
|
||||
sprintf(net->last_error, ER(net->last_errno), required_license);
|
||||
my_snprintf(net->last_error, sizeof(net->last_error)-1,
|
||||
ER(net->last_errno), required_license);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
@ -811,7 +818,8 @@ static int check_license(MYSQL *mysql)
|
|||
strncmp(row[0], required_license, sizeof(required_license))))
|
||||
{
|
||||
net->last_errno= CR_WRONG_LICENSE;
|
||||
sprintf(net->last_error, ER(net->last_errno), required_license);
|
||||
my_snprintf(net->last_error, sizeof(net->last_error)-1,
|
||||
ER(net->last_errno), required_license);
|
||||
}
|
||||
mysql_free_result(res);
|
||||
return net->last_errno;
|
||||
|
@ -1628,7 +1636,8 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
|
|||
sock=0;
|
||||
unix_socket = 0;
|
||||
host=mysql->options.shared_memory_base_name;
|
||||
sprintf(host_info=buff, ER(CR_SHARED_MEMORY_CONNECTION), host);
|
||||
my_snprintf(host_info=buff, sizeof(buff)-1,
|
||||
ER(CR_SHARED_MEMORY_CONNECTION), host);
|
||||
}
|
||||
}
|
||||
#endif /* HAVE_SMEM */
|
||||
|
@ -1648,7 +1657,8 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
|
|||
{
|
||||
net->last_errno=CR_SOCKET_CREATE_ERROR;
|
||||
strmov(net->sqlstate, unknown_sqlstate);
|
||||
sprintf(net->last_error,ER(net->last_errno),socket_errno);
|
||||
my_snprintf(net->last_error,sizeof(net->last_error)-1,
|
||||
ER(net->last_errno),socket_errno);
|
||||
goto error;
|
||||
}
|
||||
net->vio = vio_new(sock, VIO_TYPE_SOCKET, TRUE);
|
||||
|
@ -1662,7 +1672,8 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
|
|||
socket_errno));
|
||||
net->last_errno=CR_CONNECTION_ERROR;
|
||||
strmov(net->sqlstate, unknown_sqlstate);
|
||||
sprintf(net->last_error,ER(net->last_errno),unix_socket,socket_errno);
|
||||
my_snprintf(net->last_error,sizeof(net->last_error)-1,
|
||||
ER(net->last_errno),unix_socket,socket_errno);
|
||||
goto error;
|
||||
}
|
||||
mysql->options.protocol=MYSQL_PROTOCOL_SOCKET;
|
||||
|
@ -1692,7 +1703,8 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
|
|||
else
|
||||
{
|
||||
net->vio=vio_new_win32pipe(hPipe);
|
||||
sprintf(host_info=buff, ER(CR_NAMEDPIPE_CONNECTION), unix_socket);
|
||||
my_snprintf(host_info=buff, sizeof(buff)-1,
|
||||
ER(CR_NAMEDPIPE_CONNECTION), unix_socket);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -1705,7 +1717,7 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
|
|||
port=mysql_port;
|
||||
if (!host)
|
||||
host=LOCAL_HOST;
|
||||
sprintf(host_info=buff,ER(CR_TCP_CONNECTION),host);
|
||||
my_snprintf(host_info=buff,sizeof(buff)-1,ER(CR_TCP_CONNECTION),host);
|
||||
DBUG_PRINT("info",("Server name: '%s'. TCP sock: %d", host,port));
|
||||
#ifdef MYSQL_SERVER
|
||||
thr_alarm_init(&alarmed);
|
||||
|
@ -1720,7 +1732,8 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
|
|||
{
|
||||
net->last_errno=CR_IPSOCK_ERROR;
|
||||
strmov(net->sqlstate, unknown_sqlstate);
|
||||
sprintf(net->last_error,ER(net->last_errno),socket_errno);
|
||||
my_snprintf(net->last_error,sizeof(net->last_error)-1,
|
||||
ER(net->last_errno),socket_errno);
|
||||
goto error;
|
||||
}
|
||||
net->vio = vio_new(sock,VIO_TYPE_TCPIP,FALSE);
|
||||
|
@ -1747,7 +1760,8 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
|
|||
my_gethostbyname_r_free();
|
||||
net->last_errno=CR_UNKNOWN_HOST;
|
||||
strmov(net->sqlstate, unknown_sqlstate);
|
||||
sprintf(net->last_error, ER(CR_UNKNOWN_HOST), host, tmp_errno);
|
||||
my_snprintf(net->last_error, sizeof(net->last_error)-1,
|
||||
ER(CR_UNKNOWN_HOST), host, tmp_errno);
|
||||
goto error;
|
||||
}
|
||||
memcpy(&sock_addr.sin_addr, hp->h_addr,
|
||||
|
@ -1762,7 +1776,8 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
|
|||
host));
|
||||
net->last_errno= CR_CONN_HOST_ERROR;
|
||||
strmov(net->sqlstate, unknown_sqlstate);
|
||||
sprintf(net->last_error ,ER(CR_CONN_HOST_ERROR), host, socket_errno);
|
||||
my_snprintf(net->last_error, sizeof(net->last_error)-1,
|
||||
ER(CR_CONN_HOST_ERROR), host, socket_errno);
|
||||
goto error;
|
||||
}
|
||||
}
|
||||
|
@ -1815,8 +1830,9 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
|
|||
{
|
||||
strmov(net->sqlstate, unknown_sqlstate);
|
||||
net->last_errno= CR_VERSION_ERROR;
|
||||
sprintf(net->last_error, ER(CR_VERSION_ERROR), mysql->protocol_version,
|
||||
PROTOCOL_VERSION);
|
||||
my_snprintf(net->last_error, sizeof(net->last_error)-1,
|
||||
ER(CR_VERSION_ERROR), mysql->protocol_version,
|
||||
PROTOCOL_VERSION);
|
||||
goto error;
|
||||
}
|
||||
end=strend((char*) net->read_pos+1);
|
||||
|
|
|
@ -341,10 +341,8 @@ ARCHIVE_SHARE *ha_archive::get_share(const char *table_name, TABLE *table)
|
|||
if ((share->archive_write= gzopen(share->data_file_name, "ab")) == NULL)
|
||||
goto error2;
|
||||
if (my_hash_insert(&archive_open_tables, (byte*) share))
|
||||
goto error2;
|
||||
thr_lock_init(&share->lock);
|
||||
if (pthread_mutex_init(&share->mutex,MY_MUTEX_INIT_FAST))
|
||||
goto error3;
|
||||
thr_lock_init(&share->lock);
|
||||
}
|
||||
share->use_count++;
|
||||
pthread_mutex_unlock(&archive_mutex);
|
||||
|
@ -352,14 +350,13 @@ ARCHIVE_SHARE *ha_archive::get_share(const char *table_name, TABLE *table)
|
|||
return share;
|
||||
|
||||
error3:
|
||||
VOID(pthread_mutex_destroy(&share->mutex));
|
||||
thr_lock_delete(&share->lock);
|
||||
/* We close, but ignore errors since we already have errors */
|
||||
(void)gzclose(share->archive_write);
|
||||
error2:
|
||||
my_close(share->meta_file,MYF(0));
|
||||
error:
|
||||
pthread_mutex_unlock(&archive_mutex);
|
||||
VOID(pthread_mutex_destroy(&share->mutex));
|
||||
my_free((gptr) share, MYF(0));
|
||||
|
||||
return NULL;
|
||||
|
@ -493,23 +490,30 @@ int ha_archive::create(const char *name, TABLE *table_arg,
|
|||
if ((archive= gzdopen(create_file, "ab")) == NULL)
|
||||
{
|
||||
error= errno;
|
||||
delete_table(name);
|
||||
goto error;
|
||||
goto error2;
|
||||
}
|
||||
if (write_data_header(archive))
|
||||
{
|
||||
gzclose(archive);
|
||||
goto error2;
|
||||
error= errno;
|
||||
goto error3;
|
||||
}
|
||||
|
||||
if (gzclose(archive))
|
||||
{
|
||||
error= errno;
|
||||
goto error2;
|
||||
}
|
||||
|
||||
my_close(create_file, MYF(0));
|
||||
|
||||
DBUG_RETURN(0);
|
||||
|
||||
error3:
|
||||
/* We already have an error, so ignore results of gzclose. */
|
||||
(void)gzclose(archive);
|
||||
error2:
|
||||
error= errno;
|
||||
delete_table(name);
|
||||
my_close(create_file, MYF(0));
|
||||
delete_table(name);
|
||||
error:
|
||||
/* Return error number, if we got one */
|
||||
DBUG_RETURN(error ? error : -1);
|
||||
|
@ -736,7 +740,7 @@ int ha_archive::rebuild_meta_file(char *table_name, File meta_file)
|
|||
if ((rebuild_file= gzopen(data_file_name, "rb")) == NULL)
|
||||
DBUG_RETURN(errno ? errno : -1);
|
||||
|
||||
if (rc= read_data_header(rebuild_file))
|
||||
if ((rc= read_data_header(rebuild_file)))
|
||||
goto error;
|
||||
|
||||
/*
|
||||
|
@ -800,7 +804,7 @@ int ha_archive::optimize(THD* thd, HA_CHECK_OPT* check_opt)
|
|||
DBUG_RETURN(-1);
|
||||
}
|
||||
|
||||
while (read= gzread(reader, block, IO_SIZE))
|
||||
while ((read= gzread(reader, block, IO_SIZE)))
|
||||
gzwrite(writer, block, read);
|
||||
|
||||
gzclose(reader);
|
||||
|
|
|
@ -1562,9 +1562,14 @@ void Item_func_soundex::fix_length_and_dec()
|
|||
else return 0
|
||||
*/
|
||||
|
||||
static char get_scode(CHARSET_INFO *cs,char *ptr)
|
||||
static char soundex_toupper(char ch)
|
||||
{
|
||||
uchar ch=my_toupper(cs,*ptr);
|
||||
return (ch >= 'a' && ch <= 'z') ? ch - 'a' + 'A' : ch;
|
||||
}
|
||||
|
||||
static char get_scode(char *ptr)
|
||||
{
|
||||
uchar ch= soundex_toupper(*ptr);
|
||||
if (ch < 'A' || ch > 'Z')
|
||||
{
|
||||
// Thread extended alfa (country spec)
|
||||
|
@ -1594,8 +1599,8 @@ String *Item_func_soundex::val_str(String *str)
|
|||
from++; /* purecov: inspected */
|
||||
if (from == end)
|
||||
return &my_empty_string; // No alpha characters.
|
||||
*to++ = my_toupper(cs,*from); // Copy first letter
|
||||
last_ch = get_scode(cs,from); // code of the first letter
|
||||
*to++ = soundex_toupper(*from); // Copy first letter
|
||||
last_ch = get_scode(from); // code of the first letter
|
||||
// for the first 'double-letter check.
|
||||
// Loop on input letters until
|
||||
// end of input (null) or output
|
||||
|
@ -1604,7 +1609,7 @@ String *Item_func_soundex::val_str(String *str)
|
|||
{
|
||||
if (!my_isalpha(cs,*from))
|
||||
continue;
|
||||
ch=get_scode(cs,from);
|
||||
ch=get_scode(from);
|
||||
if ((ch != '0') && (ch != last_ch)) // if not skipped or double
|
||||
{
|
||||
*to++ = ch; // letter, copy to output
|
||||
|
|
|
@ -251,6 +251,8 @@ my_bool
|
|||
my_net_write(NET *net,const char *packet,ulong len)
|
||||
{
|
||||
uchar buff[NET_HEADER_SIZE];
|
||||
if (unlikely(!net->vio)) /* nowhere to write */
|
||||
return 0;
|
||||
/*
|
||||
Big packets are handled by splitting them in packets of MAX_PACKET_LENGTH
|
||||
length. The last packet is always a packet that is < MAX_PACKET_LENGTH.
|
||||
|
|
|
@ -2305,7 +2305,6 @@ int setup_wild(THD *thd, TABLE_LIST *tables, List<Item> &fields,
|
|||
List<Item> *sum_func_list,
|
||||
uint wild_num)
|
||||
{
|
||||
bool is_stmt_prepare;
|
||||
DBUG_ENTER("setup_wild");
|
||||
if (!wild_num)
|
||||
DBUG_RETURN(0);
|
||||
|
|
|
@ -649,8 +649,8 @@ public:
|
|||
/* Erase all statements (calls Statement destructor) */
|
||||
void reset()
|
||||
{
|
||||
hash_reset(&names_hash);
|
||||
hash_reset(&st_hash);
|
||||
my_hash_reset(&names_hash);
|
||||
my_hash_reset(&st_hash);
|
||||
last_found_statement= 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -817,6 +817,7 @@ mysqld_show_create(THD *thd, TABLE_LIST *table_list)
|
|||
DBUG_RETURN(1);
|
||||
}
|
||||
|
||||
buffer.length(0);
|
||||
if (store_create_info(thd, table, &buffer))
|
||||
DBUG_RETURN(-1);
|
||||
|
||||
|
@ -830,9 +831,6 @@ mysqld_show_create(THD *thd, TABLE_LIST *table_list)
|
|||
DBUG_RETURN(1);
|
||||
protocol->prepare_for_resend();
|
||||
protocol->store(table->table_name, system_charset_info);
|
||||
buffer.length(0);
|
||||
if (store_create_info(thd, table, &buffer))
|
||||
DBUG_RETURN(-1);
|
||||
protocol->store(buffer.ptr(), buffer.length(), buffer.charset());
|
||||
if (protocol->write())
|
||||
DBUG_RETURN(1);
|
||||
|
|
|
@ -147,7 +147,7 @@ uint find_type(TYPELIB *lib, const char *find, uint length, bool part_match)
|
|||
|
||||
uint find_type2(TYPELIB *typelib, const char *x, uint length, CHARSET_INFO *cs)
|
||||
{
|
||||
int find,pos,findpos;
|
||||
int find,pos;
|
||||
const char *j;
|
||||
DBUG_ENTER("find_type2");
|
||||
DBUG_PRINT("enter",("x: '%s' lib: 0x%lx",x,typelib));
|
||||
|
@ -157,7 +157,7 @@ uint find_type2(TYPELIB *typelib, const char *x, uint length, CHARSET_INFO *cs)
|
|||
DBUG_PRINT("exit",("no count"));
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
LINT_INIT(findpos);
|
||||
|
||||
for (find=0, pos=0 ; (j=typelib->type_names[pos]) ; pos++)
|
||||
{
|
||||
if (!my_strnncoll(cs, (const uchar*) x, length,
|
||||
|
|
Loading…
Reference in a new issue