1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-14 13:41:20 +03:00
Commit Graph

4151 Commits

Author SHA1 Message Date
7f6f30284e Client character set is now not set from the server value. 2004-02-04 12:49:54 +04:00
7ba7ce6e6d Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/my/mysql-4.0


sql/mysqld.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
2004-02-04 00:29:34 +01:00
786a5b6bc3 Bug #2619 ucs2 LIKE comparison fails in some cases 2004-02-03 18:14:23 +04:00
92bcbf9a43 Thai tis620 crash problem in text comparison routines was fixed. 2004-02-03 14:03:01 +04:00
619eaee654 Give error if locked table is used twice in query. This fixes strange error message when doing LOCK TABLES t1 WRITE; INSERT TABLE t1 SELECT * from t1 (Bug #2296)
client/mysqldump.c:
  Better help for flush-logs
mysql-test/r/lock.result:
  Test for LOCK TABLES ; INSERT ... SELECT
mysql-test/t/lock.test:
  Test for LOCK TABLES ; INSERT ... SELECT
2004-02-03 09:46:48 +01:00
2d06a32a57 rpl_log.result:
a result file for a fix for bug #2557
rpl_log.test:
  A test case for a fix for bug #2557


mysql-test/t/rpl_log.test:
  A test case for a fix for bug #2557
mysql-test/r/rpl_log.result:
  a result file for a fix for bug #2557
2004-02-02 21:34:04 +02:00
f85e469eed Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into gw.mysql.r18.ru:/usr/home/ram/work/4.1.b2419


sql/opt_range.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2004-02-02 19:33:45 +04:00
883f11b68c test added 2004-02-02 15:57:57 +01:00
65534b77a1 Indexes can be used for optimization if the operation
collation is the same with the index collation.
2004-02-02 17:50:14 +04:00
16a810f0cb fixed parsing mode for derived tables (BUG#2421)
mysql-test/r/derived.result:
  test of BUG#2421
mysql-test/t/derived.test:
  test of BUG#2421
sql/sql_yacc.yy:
  fixed parsing mode for derived tables
2004-02-02 14:58:36 +02:00
c91c1470c8 preload.result, key_cache.result, preload.test, key_cache.test, sql_yacc.yy:
Fixed bug #2602 in CACHE INDEX, LOAD INDEX


sql/sql_yacc.yy:
  Fixed bug #2602 in CACHE INDEX, LOAD INDEX
mysql-test/t/key_cache.test:
  Fixed bug #2602 in CACHE INDEX, LOAD INDEX
mysql-test/t/preload.test:
  Fixed bug #2602 in CACHE INDEX, LOAD INDEX
mysql-test/r/key_cache.result:
  Fixed bug #2602 in CACHE INDEX, LOAD INDEX
mysql-test/r/preload.result:
  Fixed bug #2602 in CACHE INDEX, LOAD INDEX
2004-02-02 00:19:51 -08:00
ecfaa75221 avoid null check on fields where NULL is impossible
(BUG#2393)


mysql-test/r/subselect.result:
  BUG#2393 test suite
  test ref replaced ref_of_null joining
mysql-test/t/subselect.test:
  BUG#2393 test suite
  test ref replaced ref_of_null joining
sql/item_subselect.cc:
  avoid null check on fields where NULL is impossible
sql/sql_select.cc:
  convert JT_REF_OR_NULL to JT_REF in case of impossible NULL and protect buffer of rewriting through join_tab->null_ref_key
2004-02-02 02:23:53 +02:00
0ba7ef007e rpl_insert_id.test, rpl_insert_id.result:
Change tests so that tables are dropped in an order respecting the FOREIGN KEY constraints


mysql-test/r/rpl_insert_id.result:
  Change tests so that tables are dropped in an order respecting the FOREIGN KEY constraints
mysql-test/t/rpl_insert_id.test:
  Change tests so that tables are dropped in an order respecting the FOREIGN KEY constraints
2004-02-02 01:41:35 +02:00
2b9e174499 innodb.result, innodb.test:
Change tests so that tables are dropped in an order respecting the FOREIGN KEY constraints


mysql-test/t/innodb.test:
  Change tests so that tables are dropped in an order respecting the FOREIGN KEY constraints
mysql-test/r/innodb.result:
  Change tests so that tables are dropped in an order respecting the FOREIGN KEY constraints
2004-02-02 01:30:59 +02:00
1f739ca45e make JOIN::prepare, JOIN::optimize only once for EXPLAIN of derived table
(BUG#2120 sfter merge)


mysql-test/r/derived.result:
  correct results of derived tble EXPLAIN
  test of "Using Index" with derived tables
mysql-test/t/derived.test:
  test of "Using Index" with derived tables
sql/mysql_priv.h:
  way to force derived table save JOIN after execution
sql/sql_derived.cc:
  way to force derived table save JOIN after execution
sql/sql_lex.h:
  way to force derived table save JOIN after execution
sql/sql_select.cc:
  make JOIN::prepare, JOIN::optimize only once for EXPLAIN of derived table
2004-02-01 20:07:44 +02:00
00b2168b8c Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-derived2-4.1


sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2004-02-01 15:31:30 +02:00
68c0a29987 now all tables of query are locked in one place (including derived tables)
fixed BUG#2120 and other problem with EXPLAINing derived tables


mysql-test/r/derived.result:
  correct tables names & Co in derived tables
  test case for BUG#2120
mysql-test/t/derived.test:
  test case for BUG#2120
sql/mysql_priv.h:
  derived tables processing moved after open/locking all tables (in open_and_lock_tables)
sql/repl_failsafe.cc:
  correct initialization of TABLE_LIST
sql/sql_acl.cc:
  used simple table opening without derived table processing to avoid unneeded initialization of SELECT_LEX
sql/sql_base.cc:
  derived tables processing moved after open/locking all tables (in open_and_lock_tables)
sql/sql_delete.cc:
  all tables processing is done during opening
sql/sql_derived.cc:
  derived tables processing moved after open/locking all tables (in open_and_lock_tables) to sutisfy "all query tables locking" at the moment
sql/sql_insert.cc:
  all tables processing is done during opening
  correct initialization of TABLE_LIST
sql/sql_lex.cc:
  now table list will be created for whole query
  layout fix
  correct check of updated table in subqueries
sql/sql_lex.h:
  now table list will be created for whole query
  correct check of updated table in subqueries
sql/sql_olap.cc:
  THIS FUNCTION IS USED NOWHERE
  it will be good to remove it at all (handle_olaps)
sql/sql_parse.cc:
  derived tables processing moved after open/locking all tables (in open_and_lock_tables)
sql/sql_prepare.cc:
  new creating list parameters
  all tables processing is done during opening
sql/sql_select.cc:
  all tables processing is done during opening
sql/sql_select.h:
  now it used only within file where is defined
sql/sql_udf.cc:
  used simple table opening without derived table processing to avoid unneeded initialization of SELECT_LEX
sql/sql_update.cc:
  all tables processing is done during opening
2004-02-01 15:30:32 +02:00
abc17f8f3c fix for the bug #2419: order by ignores rows.
null_ref_key moved to TABLE_REF.
new null range created if necessary.


mysql-test/r/order_by.result:
  fix for the bug #2419: order by ignores rows
mysql-test/t/order_by.test:
  fix for the bug #2419: order by ignores rows
sql/item_subselect.cc:
  fix for the bug #2419: order by ignores rows
sql/opt_range.cc:
  fix for the bug #2419: order by ignores rows
sql/sql_select.cc:
  fix for the bug #2419: order by ignores rows
sql/sql_select.h:
  fix for the bug #2419: order by ignores rows
2004-01-31 10:04:16 +04:00
ef55f2dcdb Fix for bug #2523 '"func_time" test fails on QNX'.
Moved all range checks for TIMESTAMP value to my_gmt_sec().
Also fixed check of upper boundary of TIMESTAMP range (which 
also now will catch datetime values which are too small for
TIMESTAMP in case if time_t is unsigned).  


mysql-test/r/timezone.result:
  Added test which checks if TIMESTAMP range is checked 
  correctly (current time zone is honoured and both upper 
  and lower bounds of TIMESTAMP range are checked).
mysql-test/t/timezone.test:
  Added test which checks if TIMESTAMP range is checked 
  correctly (current time zone is honoured and both upper 
  and lower bounds of TIMESTAMP range are checked).
sql/field.cc:
  Check if datetime value is in TIMESTAMP range has moved to 
  my_gmt_sec() function.
sql/mysql_priv.h:
  Added more constants for checking if datetime is in allowed
  range for TIMESTAMP.
sql/time.cc:
  Check if datetime value is in TIMESTAMP range has moved to 
  my_gmt_sec() function. Fixed check of its return value
  to catch overflows in both directions and also overflows in 
  case of unsigned time_t.
2004-01-30 19:15:11 +03:00
e95a3e3ce8 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/dlenev/src/mysql-4.0-bg2464


sql/sql_parse.cc:
  Auto merged
2004-01-30 15:13:54 +03:00
a96ffb2925 Fix for bugs #1885, #2464, #2539. Proper handling of default
values for TIMESTAMP columns. The solution is not perfect since
we just silently ignoring default value for first TIMESTAMP 
column and properly reflecting this fact in SHOW CREATE TABLE.
We can't give a warning or simply support standard syntax 
(niladic functions as legal value for default) for first field 
since it is 4.0 tree.


mysql-test/r/type_timestamp.result:
  Added test for bugs #1885, #2464, #2539
  (proper support of default values for TIMESTAMP columns)
mysql-test/t/type_timestamp.test:
  Added test for bugs #1885, #2464, #2539
  (proper support of default values for TIMESTAMP columns)
sql/field.cc:
  Enabled copying of defaults for TIMESTAMP fields when we are 
  creating table with CREATE TABLE x (SELECT ...)
sql/field.h:
  Set proper DEFAULT value for non-first TIMESTAMP column.
sql/sql_parse.cc:
  Allowed default values for TIMESTAMP column.
sql/sql_show.cc:
  Enabled printing of default values in SHOW CREATE TABLE and 
  SHOW COLUMNS for all TIMESTAMP columns except first one.
2004-01-30 15:13:19 +03:00
8ab97bb111 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/my/mysql-4.0
2004-01-30 11:31:49 +01:00
f120273dd2 Fixed parsing of column names and foreign key constraints in Innobase to handle quoted identifiers and identifiers with space. (Bug #1725)
Fix optimizer tuning bug when first used key part was a constant. (Bug #1679)


innobase/dict/dict0dict.c:
  Fixed parsing of column names and foreign key constraints to handle quoted identifiers and identifiers with space. (Bug #1725)
mysql-test/r/innodb.result:
  Test of innodb internal parsing
mysql-test/t/innodb.test:
  Test of innodb internal parsing
sql/sql_class.cc:
  Safety fix for select into outfile and select into dumpfile. Before calling send_error() could cause end_io_cache() to be called several times.
sql/sql_class.h:
  Add path to dumpfile so that we can delete the generated file if something goes wrong.
sql/sql_select.cc:
  Fix optimizer tuning bug when first used key part was a constant.
  Previously all keys that had this key part first was regarded as equal, even if the query used more key parts for some of the keys.
  Now we use the range optimizer results to just limit the number of estimated rows if not all key parts where constants.
  (Bug #1679)
2004-01-30 10:46:30 +01:00
150c99dffe cleanup 2004-01-30 08:56:32 +01:00
cfc362dbc5 Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2004-01-30 06:41:37 +01:00
bbd2adf4ba Fix for BUG#2477 "Slave stop with error after master reboot if use HEAP tables":
when we open the HEAP table for the first time since server restart,
in hp_open(), we set a flag to propagate this info to the handler level
which then writes a DELETE FROM this_heap_table to the binlog.
It is not a perfect solution for the bug, because between the server start and 
the first open of the table, the slave still had old data in his table so
a SELECT on the slave may show wrong content. But if there is a --init-file
to populate the HEAP table on master as startup, then this is a safe fix
(I'll put a note about init-file in the HEAP section of the manual).


heap/hp_info.c:
  new info variable implicit_emptied
heap/hp_open.c:
  If this is the first open of the HEAP table, it means it is empty,
  so we mark it.
include/heap.h:
  new variables implicit_emptied
  (we need one in HEAPINFO for the hp_info() call).
sql/ha_heap.cc:
  report info to upper level
sql/handler.h:
  new info 'implicit_emptied' in the handler level; only HEAP uses it.
sql/sql_base.cc:
  When a HEAP table is opened for the first time, write a DELETE FROM to the binlog,
  for replication and mysqlbinlog|mysql.
  Monty: I added the
  entry->file->implicit_emptied= 0;
2004-01-30 00:05:34 +01:00
8746a25554 Fix for BUG#2527 "Multi-Table Delete - Not Replication use replicate-wild-do-table"
(as long as replicate-*-table rules were defined, multi-table DELETE was never
replicated by the slave).


sql/sql_parse.cc:
  For a multi-table DELETE, there are two lists of tables:
  - 'tables' contains the tables in the FROM. They have 'updating==0'.
  - 'thd->lex.auxilliary_table_list.first' contains the tables between the DELETE and the FROM. They have 'updating==1'.
  So the bug was that the slave only tests 'tables' and as all its elements have updating==0,
  tables_ok() always returns 0.
  So for a multi DELETE the slave now tests the 2nd list too.
  I started with the other tip of the sausage: I thought of changing multi DELETE to use
  only one list (given that 'updating' can be used to separate it in two when needed)
  (with one list we wouldn't need to change the slave code), but finally hit the unicity
  check in add_table_to_list() which started to return ER_NONUNIQ_TABLE (logical).
2004-01-29 19:22:29 +01:00
b9073593d0 Mark that strings may change on index only reads (for BDB tables).
This fixed problem with index reads on character fields with BDB tables. (Bug #2509)


BitKeeper/etc/ignore:
  added man/*.1
mysql-test/r/bdb.result:
  New test
mysql-test/r/myisam.result:
  More tests
mysql-test/t/bdb.test:
  Test for idnex only read
mysql-test/t/myisam.test:
  More test to verify pushed bug fix
sql/ha_berkeley.h:
  Mark that strings may change on index only reads
sql/item_strfunc.cc:
  Cleanup
sql/table.cc:
  Allow index only reads on binary strings
2004-01-29 15:16:48 +01:00
735eab8a07 Fixed Bug#2479, "dependant subquery with limit crash".
The problem was that memory was free'd, but it was referenced
later. This free was unneccessary anyway, because join_free() /
JOIN::cleanup takes care of this later on.

Added test case into t/subselect.test for it.

Regards,
Jani


mysql-test/r/subselect.result:
  Added a test case for Bug#2479.
mysql-test/t/subselect.test:
  Added a test case for Bug#2479.
sql/sql_select.cc:
  Fixed Bug#2479, "dependant subquery with limit crash".
  The problem was that memory was free'd, but it was referenced
  later. This free was unneccessary anyway, because join_free() /
  JOIN::cleanup takes care of this later on.
2004-01-29 01:16:24 +02:00
832ea1206d better fix BUG#2361: ALTER TABLE ... DROP PRIMARY KEY drops a non-primary key 2004-01-28 18:35:52 +01:00
96abffd4a4 Fixed a bug in GREATES() and LEAST() function, that caused a core
dump when result was NULL.


mysql-test/r/func_test.result:
  Added a test for GREATEST() and LEAST() core dump bug.
mysql-test/t/func_test.test:
  Added a test for GREATEST() and LEAST() core dump bug.
2004-01-28 19:02:58 +02:00
557bb526d7 Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.1
into sinisa.nasamreza.org:/mnt/work/mysql-4.1


sql/sql_yacc.yy:
  Auto merged
2004-01-24 15:57:48 +02:00
acf9821b16 patch reverted - USE_RAID is defined in my_config.h
mysql-test/r/derived.result:
  result updated
2004-01-23 11:56:37 +01:00
989cb2f29b Fix for a bug #2422, where CONVERT(expr, cast) was masked by
CONVERT(expr, expr, expr);


mysql-test/t/mysqldump.test:
  fix for my previous result fix of Jani's changes.
2004-01-22 22:13:24 +02:00
4db4ffef27 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.0
into gw.mysql.r18.ru:/usr/home/ram/work/4.0.b2298


myisam/mi_search.c:
  Auto merged
2004-01-22 20:35:36 +04:00
f9cf5bb263 Merge vvagin@bk-internal.mysql.com:/home/bk/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_2290/mysql-4.0
2004-01-22 20:35:35 +04:00
76c7dac801 Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_2290/mysql-4.0
2004-01-22 20:28:17 +04:00
8b03b319f5 some ammendments (comments and code style)
mysql-test/t/func_str.test:
  add skipped new line
sql/item_strfunc.cc:
  rewrote some comments for Item_func_elt
2004-01-22 20:20:43 +04:00
79f6e16d5e a proper fix for the bug #2298 Trailing whitespace inconsistently handled in WHERE clause.
<monty> ramil, in MySQL/MyISAM we should only strip end space, not 'space-like' characters.
<monty> This is according to SQL;  When doing a comparision end space and only end space are ignored.



myisam/mi_key.c:
  a proper fix for the bug #2298 Trailing whitespace inconsistently handled in WHERE clause.
myisam/mi_search.c:
  a proper fix for the bug #2298 Trailing whitespace inconsistently handled in WHERE clause.
mysql-test/r/select.result:
  test case for the bug #2298 Trailing whitespace inconsistently handled in WHERE clause.
mysql-test/t/select.test:
  test case for the bug #2298 Trailing whitespace inconsistently handled in WHERE clause.
sql/sql_string.cc:
  a proper fix for the bug #2298 Trailing whitespace inconsistently handled in WHERE clause.
2004-01-22 18:05:47 +04:00
d0123ed5d2 Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.1
into sinisa.nasamreza.org:/mnt/work/mysql-4.1
2004-01-22 14:18:12 +02:00
cdcf112af0 test moved to an appropriate file 2004-01-21 23:39:35 +01:00
0ef9acc9a9 two more bugfixes for "space stripping in MyISAM indexes" 2004-01-21 23:29:17 +01:00
2c3fdcf749 test case for MyISAM sort-repair bug 2004-01-21 21:43:41 +01:00
cf240e4ee8 Further fixes for 2390: ucs2 alignment 2004-01-21 14:15:19 +04:00
24ca1e1edb added test for bug #2290 "output truncated with ELT when using DISTINCT"
sql/item_strfunc.cc:
  fixed bug #2290 "output truncated with ELT when using DISTINCT"
2004-01-21 02:18:51 +04:00
c3cf3d2820 Merge
sql/sql_parse.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/r/derived.result:
  SCCS merged
mysql-test/t/derived.test:
  e
  merge
2004-01-20 19:23:28 +02:00
7a1a5cd2d8 for multy-delete command used same algorithm of table reference (alias)
mysql-test/t/multi_update.test:
  new results of changed multi-delete
mysql-test/t/update.test:
  new results of changed multi-delete
mysql-test/r/multi_update.result:
  new results of changed multi-delete
mysql-test/r/update.result:
  new results of changed multi-delete
2004-01-20 19:16:18 +02:00
862b062275 Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.1
into sinisa.nasamreza.org:/mnt/work/mysql-4.1
2004-01-20 17:49:10 +02:00
e44a7da25f merge
myisam/mi_write.c:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
sql/sql_select.cc:
  Auto merged
2004-01-20 00:15:01 +01:00
43abc597b8 Code cleanup
Fixed bug in optimizer where it didn't choose right table order in some cases


myisam/mi_delete.c:
  Remove not needed include errno.h
myisam/mi_delete_table.c:
  Remove not needed include errno.h
myisam/mi_extra.c:
  Remove not needed include errno.h
myisam/mi_locking.c:
  Remove not needed include errno.h
myisam/mi_log.c:
  Remove not needed include errno.h
myisam/mi_page.c:
  Remove not needed include errno.h
myisam/mi_rename.c:
  Remove not needed include errno.h
myisam/mi_update.c:
  Remove not needed include errno.h
myisam/mi_write.c:
  Remove not needed include errno.h
mysql-test/r/subselect.result:
  Update of test after optimzier fix
mysys/charset.c:
  Code cleanup
sql/item_cmpfunc.cc:
  Removed not needed comment
  Indentation cleanup
sql/item_cmpfunc.h:
  Indentation cleanup
sql/mysqld.cc:
  Updated comment for expire_logs_days
sql/set_var.cc:
  Remved duplicate code
sql/sql_select.cc:
  Fixed bug in optimizer where it didn't choose right table order in some cases (Bug found and fixed by Igor)
2004-01-19 23:51:17 +01:00