1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-13 21:42:58 +03:00
Commit Graph

7832 Commits

Author SHA1 Message Date
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
150c99dffe cleanup 2004-01-30 08:56:32 +01:00
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
832ea1206d better fix BUG#2361: ALTER TABLE ... DROP PRIMARY KEY drops a non-primary key 2004-01-28 18:35:52 +01:00
unknown
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
unknown
9a6055e695 WL#1447: Remove the UDF/function lookup in lex.
Moved the UDF and stored procedure lookup from sql_lex.cc to sql_yacc.yy.
This will improve performance (since we don't have to check for stored
functions in the lexer all the time), and make it possible to implement
db qualified SPs.


mysql-test/r/show_check.result:
  mysql.proc is not used in lex anymore (unless stored functions are really used).
mysql-test/r/status.result:
  mysql.proc is not used in lex anymore (unless stored functions are really used).
sql/sql_lex.cc:
  Moved the UDF and stored procedure lookup to sql_yacc.yy.
sql/sql_yacc.yy:
  Moved the UDF and stored procedure lookup from sql_lex.cc.
  As a result, both stored function and UDF function calls get the
  argument list parsed the same way, so the "AS ..." syntax is
  recognized for both, eventhough it has no meaning for stored
  function.
2004-01-27 17:57:19 +01:00
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
cdcf112af0 test moved to an appropriate file 2004-01-21 23:39:35 +01:00
unknown
0ef9acc9a9 two more bugfixes for "space stripping in MyISAM indexes" 2004-01-21 23:29:17 +01:00
unknown
2c3fdcf749 test case for MyISAM sort-repair bug 2004-01-21 21:43:41 +01:00
unknown
219f51b475 Fixed BUG#2227: Server crash with stored procedure call.
(Meaning "... with SELECT v", where v is a local variable.)


mysql-test/r/sp.result:
  Test case for BUG#2227
mysql-test/t/sp.test:
  Test case for BUG#2227
sql/item.h:
  Item_splocal::send() needed for "SELEC v", where "v" is a local variable.
  Also set the field name.
sql/sp_head.cc:
  Have to get decimals and max_length right for reals, when SELECT of local variables.
2004-01-21 14:28:35 +01:00
unknown
cf240e4ee8 Further fixes for 2390: ucs2 alignment 2004-01-21 14:15:19 +04:00
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
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
unknown
0153488a02 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/my/mysql-4.0
2004-01-19 23:10:18 +01:00
unknown
3b98955a5c Merge vvagin@bk-internal.mysql.com:/home/bk/mysql-4.1
into eagle.mysql.r18.ru:/home/vva/work/BUG_2310/mysql-4.1
2004-01-20 00:34:38 +04:00
unknown
7db61ce021 Fixed bug #2310 "INET_ATON handles short-forms addresses incorrectly"
mysql-test/r/func_misc.result:
  added new test for inet_aton (short-forms addresses)
mysql-test/t/func_misc.test:
  added new test for inet_aton (short-forms addresses)
sql/item_func.cc:
  Change Item_func_inet_aton::val_int to parse short-forms addresses correctly
2004-01-20 00:32:25 +04:00
unknown
d2b5444181 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into bar.intranet.mysql.r18.ru:/usr/home/bar/mysql-4.1


sql/item.h:
  Auto merged
2004-01-19 19:21:07 +04:00
unknown
162f1dc5e6 UCS-2 aligning 0xAA -> 0x00AA 2004-01-19 19:16:30 +04:00
unknown
9af09d1266 Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2004-01-19 14:23:18 +01:00
unknown
06de76aec5 field length convertion (bytes->chars) should be done with rounding UP. 2004-01-19 14:22:38 +01:00
unknown
3991a1d0d1 Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.1
into sinisa.nasamreza.org:/mnt/work/mysql-4.1
2004-01-19 14:15:40 +02:00
unknown
a66924353a Test case for the bug #2198: SELECT INTO OUTFILE (with Sub-Select) Problem. 2004-01-19 14:10:05 +04:00
unknown
2f7bf967fd Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into gw.mysql.r18.ru:/usr/home/ram/work/4.1.b2182


client/mysqldump.c:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
2004-01-19 13:00:51 +04:00
unknown
cf2b6edaad Fix deprecation warning - database_engine => storage_engine
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-01-18 22:30:35 +00:00
unknown
2d6ff22e94 merge fixes 2004-01-17 17:18:32 +02:00
unknown
aa35b8c1b1 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-insert-4.1


sql/sql_derived.cc:
  Auto merged
2004-01-17 15:28:56 +02:00
unknown
d63d204c07 new test added
test fixed
2004-01-17 15:28:20 +02:00