Commit graph

6464 commits

Author SHA1 Message Date
unknown
6f0946d6dd sql_table.cc:
Fix bug #3749: if there were several indexs that made an automatically generated FOREIGN KEY index redundant, then MySQL miscalculated the number of keys, and the AUTO_INCREMENT flag was forgotten by MySQL from a PRIMARY KEY. There were probably a multitude of other errors caused by this.


sql/sql_table.cc:
  Fix bug #3749: if there were several indexs that made an automatically generated FOREIGN KEY index redundant, then MySQL miscalculated the number of keys, and the AUTO_INCREMENT flag was forgotten by MySQL from a PRIMARY KEY. There were probably a multitude of other errors caused by this.
2004-05-14 09:02:06 +03:00
unknown
fd51cf47a9 fixed flags of printed query 2004-05-13 23:47:20 +03:00
unknown
ae17c3c712 ha_innodb.cc, trx0trx.h, lock0lock.c, trx0trx.c:
Reserve the MySQL LOCK_thread_count mutex when printing thd->query of
an arbitrary transaction; if we are printing thd->query of a transaction that
we know is currently executing inside InnoDB, then we know that MySQL cannot
meanwhile change thd->query, and no need to reserve the MySQL mutex; note
that this patch still leaves open the possibility of races in MySQL's
thd->query_len


innobase/trx/trx0trx.c:
  Reserve the MySQL LOCK_thread_count mutex when printing thd->query of an arbitrary transaction; if we are printing thd->query of the a transaction that we know is currently executing inside InnoDB, then we know that MySQL cannot meanwhile change thd->query, and no need to reserve the MySQL mutex; note that thsi patch still leaves aopen the possibility of races in MySQL's thd->query_len
innobase/lock/lock0lock.c:
  Reserve the MySQL LOCK_thread_count mutex when printing thd->query of an arbitrary transaction; if we are printing thd->query of the a transaction that we know is currently executing inside InnoDB, then we know that MySQL cannot meanwhile change thd->query, and no need to reserve the MySQL mutex; note that thsi patch still leaves aopen the possibility of races in MySQL's thd->query_len
innobase/include/trx0trx.h:
  Reserve the MySQL LOCK_thread_count mutex when printing thd->query of an arbitrary transaction; if we are printing thd->query of the a transaction that we know is currently executing inside InnoDB, then we know that MySQL cannot meanwhile change thd->query, and no need to reserve the MySQL mutex; note that thsi patch still leaves aopen the possibility of races in MySQL's thd->query_len
sql/ha_innodb.cc:
  Reserve the MySQL LOCK_thread_count mutex when printing thd->query of an arbitrary transaction; if we are printing thd->query of the a transaction that we know is currently executing inside InnoDB, then we know that MySQL cannot meanwhile change thd->query, and no need to reserve the MySQL mutex; note that thsi patch still leaves aopen the possibility of races in MySQL's thd->query_len
2004-05-13 22:07:51 +03:00
unknown
6be0dc1273 ha_innodb.cc:
A flawed fix of the thd->query race in SHOW INNODB STATUS; see the comments in code about how to fix this properly; we cannot use LOCK_thread_count to protect thd->query, because that will cause a deadlock of threads


sql/ha_innodb.cc:
  A flawed fix of the thd->query race in SHOW INNODB STATUS; see the comments in code about how to fix this properly; we cannot use LOCK_thread_count to protect thd->query, because that will cause a deadlock of threads
2004-05-13 20:02:05 +03:00
unknown
9e20f63aec ha_innodb.cc:
innobase_mysql_print_thd(): protect thd with LOCK_thread_count (Bug #3596)


sql/ha_innodb.cc:
  innobase_mysql_print_thd(): protect thd with LOCK_thread_count
2004-05-13 16:18:39 +03:00
unknown
d8834661ec Merge msvensson@bk-internal.mysql.com:/home/bk/mysql-4.1
into neptunus.(none):/home/magnus/mysql-4.1


ndb/src/ndbapi/NdbScanOperation.cpp:
  Auto merged
sql/sql_table.cc:
  Auto merged
BitKeeper/deleted/.del-regression.sh~c19f771726612629:
  Auto merged
2004-05-13 13:28:56 +02:00
unknown
d4399619bd WL #1729 Handler: error text for NDB errors
- New solution after discussions with Sergei, no handler specific code or error messages should be in sql layer.
next_result, only check for error if check is -1
Improved index_read 


include/mysqld_error.h:
  New error codes ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG, update number to 298.
  Removed prevoius ER_NDB_ERROR, handler specific error should not be here.
sql/ha_ndbcluster.cc:
  Removed print_error from ha_ndbcluster, added code to handler::print_error to ask  handler::get_error_message for message for an error.
  Fix bug in next_result, only check for error if -1 is returned.
  Make index_read easier, special case where pk_read or unique_index_read is detected and as default do ordered_index_scan
sql/ha_ndbcluster.h:
  Remplace print_error with get_error_message
sql/handler.cc:
  Add new function get_error_message usedc to ask handler for a message for an error.
  Call get_error_message from print_error if error code is not known.
sql/handler.h:
  Add new function get_error_message
sql/share/czech/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/danish/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/dutch/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/english/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/estonian/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/french/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/german/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/greek/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/hungarian/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/italian/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/korean/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/norwegian-ny/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/norwegian/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/polish/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/portuguese/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/romanian/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/russian/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/serbian/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/slovak/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/spanish/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/swedish/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
sql/share/ukrainian/errmsg.txt:
  Error message for ER_GET_ERRMSG and ER_GET_TEMPORARY_ERRMSG
2004-05-13 11:56:45 +02:00
unknown
fc5445ac03 InnoDB: avoid some data races in innobase_mysql_print_thd() (Bug #3596)
sql/ha_innodb.cc:
  innobase_mysql_print_thd(): initial fix to Bug #3596
2004-05-12 16:44:53 +03:00
unknown
eb261517a3 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-union-4.1
2004-05-12 16:24:11 +03:00
unknown
01925fa550 used item method (Bug #3686) 2004-05-12 12:27:43 +03:00
unknown
c2ce702b3b Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-05-12 02:39:32 +03:00
unknown
47890151b4 Portability fixes
scripts/mysql_install_db.sh:
  Portability fix (! is not portable)
sql/item_func.cc:
  Use my_strtoll10() instead of strtoull()
sql/repl_failsafe.cc:
  Use my_strtoll10() instead of strtoull()
sql/sql_analyse.cc:
  Use my_strtoll10() instead of strtoull()
sql/sql_yacc.yy:
  Use my_strtoll10() instead of strtoull()
strings/my_strtoll10.c:
  Fix compiler warnings
2004-05-12 02:38:57 +03:00
unknown
d8f0b0c50e Merge baker@bk-internal.mysql.com:/home/bk/mysql-4.1
into brian-akers-computer.local:/Users/brian/mysql/mysql-4.1
2004-05-11 16:15:20 -07:00
unknown
1662e59626 Added comments to all methods. Added explanation for a sequential read through a storage engine.
sql/examples/ha_example.cc:
  Documentation updates (lots of comments in the code).
sql/examples/ha_example.h:
  Documenation update, lots of comments in the code.
2004-05-11 15:59:20 -07:00
unknown
d3fcd8d4c0 Don't automaticly generate a new key for a foreign key constraint if there is already a usable key.
Prefer not automatic keys before automatic keys. If there is two conf


BitKeeper/etc/ignore:
  added *.d
include/my_base.h:
  Added flag for automaticly generated key
mysql-test/r/constraints.result:
  Update tests after bug fix
mysql-test/r/create.result:
  Update tests after bug fix
mysql-test/r/innodb.result:
  Added test of automatic creation of foreign keys
mysql-test/t/innodb.test:
  Added test of automatic creation of foreign keys
mysql-test/t/key_cache.test:
  Portability fixes (64 BIT os)
sql/sql_acl.cc:
  Indentation fixes
sql/sql_class.cc:
  Fix key comparison to handle prefix and optionally key segments in different order.
sql/sql_class.h:
  Added flag for automaticly generated keys
sql/sql_parse.cc:
  Added flag for automaticly generated keys
sql/sql_table.cc:
  Don't automaticly generate a new key for a foreign key constraint if there is already a usable key.
  Prefer not automatic keys before automatic keys. If there is two conflicting automatic keys, prefer the longer one.
sql/sql_yacc.yy:
  Added flag for automaticly generated keys
strings/strings-x86.s:
  Portability fix.
2004-05-12 00:29:52 +03:00
unknown
7b4cbde8ed Merge build:/home/bk/mysql-4.1
into build.mysql.com:/users/tsmith/m/41/mysql-4.1
2004-05-11 14:44:25 +02:00
unknown
f84be2fd89 WL# 1729 Handler: error text for NDB errors
- Close an open scan if index_read is called without closing the previous one.
- Removed some errors that occured during previous merge


include/mysqld_error.h:
  Added two new error messages for NDB
sql/ha_ndbcluster.cc:
  Added more error code mappings, from NDB code to MySQL 
  Added function to print out the error message when an NDB error occurs.
  Added two new error codes, which will represent either a permanent or temporary NDB error.
  Modev get_ndb_lock_type from class to local function
  Removed some merge errors
  New function close_scan, to close an open scan.
sql/ha_ndbcluster.h:
  Added print_error function, overrides handler::print_error
  Added close_scan
  Moved get_ndb_lock_type from class to local function
sql/share/czech/errmsg.txt:
  Added two new error messages for NDB
sql/share/danish/errmsg.txt:
  Added two new error messages for NDB
sql/share/dutch/errmsg.txt:
  Added two new error messages for NDB
sql/share/english/errmsg.txt:
  Added two new error messages for NDB
sql/share/estonian/errmsg.txt:
  Added two new error messages for NDB
sql/share/french/errmsg.txt:
  Added two new error messages for NDB
sql/share/german/errmsg.txt:
  Added two new error messages for NDB
sql/share/greek/errmsg.txt:
  Added two new error messages for NDB
sql/share/hungarian/errmsg.txt:
  Added two new error messages for NDB
sql/share/italian/errmsg.txt:
  Added two new error messages for NDB
sql/share/japanese/errmsg.txt:
  Added two new error messages for NDB
sql/share/korean/errmsg.txt:
  Added two new error messages for NDB
sql/share/norwegian-ny/errmsg.txt:
  Added two new error messages for NDB
sql/share/norwegian/errmsg.txt:
  Added two new error messages for NDB
sql/share/polish/errmsg.txt:
  Added two new error messages for NDB
sql/share/portuguese/errmsg.txt:
  Added two new error messages for NDB
sql/share/romanian/errmsg.txt:
  Added two new error messages for NDB
sql/share/russian/errmsg.txt:
  Added two new error messages for NDB
sql/share/serbian/errmsg.txt:
  Added two new error messages for NDB
sql/share/slovak/errmsg.txt:
  Added two new error messages for NDB
sql/share/spanish/errmsg.txt:
  Added two new error messages for NDB
sql/share/swedish/errmsg.txt:
  Added two new error messages for NDB
sql/share/ukrainian/errmsg.txt:
  Added two new error messages for NDB
2004-05-11 13:59:22 +02:00
unknown
a11e04c88b out-of-bound array access fixed 2004-05-11 12:39:00 +02:00
unknown
76bc677117 bug#3612 - Item_func_div set decimals incorrectly 2004-05-11 12:19:37 +02:00
unknown
d5c2e2b2d3 logging_ok:
Logging to logging@openlogging.org accepted
item_cmpfunc.cc, ctype_recoding.test, ctype_recoding.result:
  Call Item_func_conv_charset::fix_fields() in Item_bool_func2::fix_length_and_dec() (but #3704)


mysql-test/r/ctype_recoding.result:
  Call Item_func_conv_charset::fix_fields() in Item_bool_func2::fix_length_and_dec()
mysql-test/t/ctype_recoding.test:
  Call Item_func_conv_charset::fix_fields() in Item_bool_func2::fix_length_and_dec()
sql/item_cmpfunc.cc:
  Call Item_func_conv_charset::fix_fields() in Item_bool_func2::fix_length_and_dec()
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-05-10 23:19:50 +02:00
unknown
5b92b23bbf Merge msvensson@bk-internal.mysql.com:/home/bk/mysql-4.1
into neptunus.(none):/home/magnus/mysql-4.1


sql/sql_table.cc:
  Auto merged
2004-05-10 15:09:19 +02:00
unknown
d6676b0f57 Merged ha_ndbcluster.cc
sql/ha_ndbcluster.h:
  Auto merged
2004-05-10 15:06:07 +02:00
unknown
075eb33889 Use correct access method, found using sql-bench and comparing with other handler.
BitKeeper/deleted/.del-regression.sh~c19f771726612629:
  Delete: ndb/bin/regression.sh
sql/ha_ndbcluster.cc:
  Change index flags, remove HA_WRONG_ASCII_ORDER and HA_ONLY_WHOLE_INDEX.
  HA_WRONG_ASCII_ORDER was used in field::optimize_range and if it was set, the index was hardly ever used.
  Correct check of start_key and start_key->flag != HA_READ_KEY_EXACT, ignore end-Key in suc a case
  Updated implementation o read_range_first
  Made the calculation of number of bytes par batch easier to underatsn and easier to configure. The value bytesperbatch can be made a config variable.
  AReduce the number of bytes sent per batch, don't overload.
  Increase the value returned from scan_time in order to make it clear to optimizer that scanning is the worst alternative. Always use index if available.
2004-05-10 14:46:06 +02:00
unknown
444fc1ce98 WL# 1728 Handler: use scanReadExclusive for scan update and delete
sql/ha_ndbcluster.cc:
  Modified next_result to process fetched records cached in NdbApi before asking NDB for more. 
  It should also NoCommit any pending operations before contacting NDB again.
  Added utility function define_read_attrs to set the fields that should be read.
sql/ha_ndbcluster.h:
  Add function define_read_attrs, used to set the fields to read
  Add get_nd_lock_type funciton ,to convert MySQL lock type to NDB lock type
  Always compile filtered scan function even if it's not used yet.
  Add variable ops_pending to keep track of "pending" update/delete operations.
2004-05-10 14:12:28 +02:00
unknown
f71f59731b treat parameter as constant in ORDER BY check of fields in SELECT list(Bug #3686)
sql/sql_select.cc:
  treat parameter as constant in ORDER BY check of fields in SELECT list
tests/client_test.c:
  test of using parameters in SELECT list with ORDER BY
2004-05-10 13:29:02 +03:00
unknown
e54ca13b66 keep old engine & JOIN if we changed subquery Item (Bug #3646)
mysql-test/r/subselect.result:
  ALL/ANY test
mysql-test/t/subselect.test:
  ALL/ANY test
sql/item_subselect.cc:
  keep old engine & JOIN if we changed subquery Item, which allow avoid second all SELECT items fix_fields call with pervios clean up (because of second setup_tables which remove table->key_use and maybe something else)
  keep list when we change Item in SELECT list
  processing inserted max/min function (now JOIN::prepare will be called only once)
  methods of changing item for subselect engines
sql/item_subselect.h:
  change item & results procedure
sql/item_sum.cc:
  Item_sum_hybrid::clear moved to .cc file (to keep .h clean and to make inserving/removing debug info easy)
sql/item_sum.h:
  Item_sum_hybrid::clear moved to .cc file (to keep .h clean and to make inserving/removing debug info easy)
sql/sql_lex.cc:
  note about new method
sql/sql_lex.h:
  method for changing result of UNION JOINs
sql/sql_select.cc:
  method for changing result in JOIN
sql/sql_select.h:
  method for changing result in JOIN
sql/sql_union.cc:
  method for changing result in JOIN
2004-05-07 23:06:11 +03:00
unknown
4a3580ca1a Merge msvensson@bk-internal.mysql.com:/home/bk/mysql-4.1
into neptunus.(none):/home/magnus/mysql-4.1


mysql-test/mysql-test-run.sh:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
2004-05-07 16:21:54 +02:00
unknown
be45b61584 Merge marko@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/j/mysql-4.1


sql/sql_table.cc:
  Auto merged
2004-05-07 16:01:47 +03:00
unknown
6b313c6998 Merge marko@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/j/mysql-4.1


sql/sql_table.cc:
  Auto merged
2004-05-07 12:48:01 +03:00
unknown
c207325aaf Merge mysql.com:/home/mydev/mysql-4.1
into mysql.com:/home/mydev/mysql-4.1-wl1687


sql/handler.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2004-05-07 11:13:58 +02:00
unknown
e3211fbd6a ctype-win1250ch.c, ctype-czech.c:
Czech collations were renamed to _cs
Index.xml:
  Czech collation were renamed to _cs


sql/share/charsets/Index.xml:
  Czech collation were renamed to _cs
strings/ctype-czech.c:
  Czech collations were renamed to _cs
strings/ctype-win1250ch.c:
  Czech collations were renamed to _cs
2004-05-07 10:24:12 +05:00
unknown
dedea9b66b Portablity fix for system with case insenstive table names. (Without this ALTER TABLE can fail for InnoDB) 2004-05-07 06:34:44 +03:00
unknown
d55809d891 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-ps-merge


sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/sql_lex.h:
  Auto merged
2004-05-07 03:33:39 +04:00
unknown
33e6b2af85 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1


libmysql/libmysql.c:
  Auto merged
2004-05-07 01:44:07 +03:00
unknown
f3544f3c5d Portability fixes
Change strtoll -> my_strtoll10()
Fixed bug in my_strntoul() and my_strntol() where we got different values on 32 and 64 bit systems (Bug #3472)


configure.in:
  Fixed problem on IRIX64 (One can't have AC_MSG_RESULT on same row as AC_DEFINE
extra/my_print_defaults.c:
  Fixed wrong definition for 'verbose'
include/my_global.h:
  Portability fix (IRIX64)
libmysql/client_settings.h:
  Remove compiler warnings
libmysql/libmysql.c:
  Remove compiler warnings
mysql-test/r/func_str.result:
  Updated results
mysql-test/r/key_cache.result:
  Updated results to not depend on key_blocks_unused
mysql-test/t/func_str.test:
  More test of long overflow
mysql-test/t/key_cache.test:
  Updated results to not depend on key_blocks_unused
sql/item.cc:
  Portability fix (don't use strtoll())
sql/item.h:
  Portability fix (don't use strtoll())
sql/item_sum.h:
  Portability fix (don't use strtoll())
sql/item_timefunc.cc:
  Fixed compiler warning
strings/ctype-simple.c:
  Fixed bug in my_strntoul() and my_strntol() where we got different values on 32 and 64 bit systems
strings/ctype-ucs2.c:
  Fixed bug in my_strntoul() and my_strntol() where we got different values on 32 and 64 bit systems
2004-05-07 01:43:17 +03:00
unknown
cd328cc215 postreview fixes
sql/sql_lex.h:
  description of field
sql/sql_union.cc:
  layout fixed
2004-05-07 00:32:44 +03:00
unknown
56568288f0 fake_select_lex should be prepared during PS preparation to work correctly
item_list for fake_select will be created only once
(problem reported by valgrind in test_union2 fixed)


sql/sql_lex.h:
  new function to keep code in one place
sql/sql_union.cc:
  fake_select_lex should be prepared during PS preparation to work correctly
  item_list for fake_select will be created only once
2004-05-07 00:08:21 +03:00
unknown
6810ca1b71 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-ps-merge


sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-05-06 23:02:32 +04:00
unknown
151495baf7 mysql_stmt_reset now expects ok/error packet from server.
libmysql/libmysql.c:
  Make advanced_command check client reply
sql/sql_prepare.cc:
  mysql_stmt_reset now sends ok/error reply to the client.
tests/client_test.c:
  Memory leak fixed.
2004-05-06 22:44:00 +04:00
unknown
ffdf46a58a Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/pem/work/mysql-4.1
2004-05-06 20:21:53 +02:00
unknown
526569690e Fixed (portability) bug in handler.h, and tried to silence cast warnings on some platforms.
sql/handler.h:
  Fixed (portability) bug. No qualified method names in the class definition.
sql/item_cmpfunc.h:
  Attempt to silence cast warnings on some platforms.
sql/item_subselect.h:
  Attempt to silence cast warnings on some platforms.
sql/set_var.cc:
  Silence warning (missing cast).
sql/spatial.h:
  Attempt to silence cast warnings on some platforms.
sql/sql_cache.cc:
  Silence warning (wrong cast).
sql/sql_lex.h:
  Attempt to silence cast warnings on some platforms.
2004-05-06 19:55:12 +02:00
unknown
1a4f499ca8 EXPLAIN UNION using same routing which used for execution which allow return correct bug messages (Bug #3639)
EXPLAIN of hidden SELECT of UNION


mysql-test/r/derived.result:
  explain of hidden select
mysql-test/r/subselect.result:
  explain of hidden select
mysql-test/r/union.result:
  explain of hidden select
  correct error messages on explain
mysql-test/t/subselect.test:
  show eliminated costants in WHERE clause
mysql-test/t/union.test:
  correct error messages on EXPLAIN with union
sql/item.cc:
  fixed name constructing for global ORDER BY items
sql/sql_class.h:
  select ID can be negative (for hidden SELECTs)
  removed unused field
sql/sql_lex.cc:
  new flag of UNION EXPLAIN
sql/sql_lex.h:
  new flag of UNION EXPLAIN
  select ID can be negative (for hidden SELECTs)
sql/sql_select.cc:
  EXPLAIN UNION using same routing which used for execution
  explain for hidden SELECT of UNION
sql/sql_union.cc:
  EXPLAIN UNION using same routing which used for execution
2004-05-06 20:40:21 +03:00
unknown
bfe2425aad WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
HEAP: Copies the key count to a backup variable and sets the key count to zero.
That way, no HEAP function will ever try to touch any index.
Re-enabling is done by copying back the backup variable.
To avoid memory leak at table close, disable deletes all index trees.
Re-enabling must be done with empty indexes and data anyway. Otherwise,
the indexes would need to be repaired, wich HEAP is not capable of.
MyISAM: Only the key_map is cleared and set.
Re-enabling must be done with empty indexes and data. Otherwise, repair needs
to be done which will enable all keys persistently.
The former implementation disabled only non-unique keys and maked this persistent.
The new implementation additionally can disable all keys, but only without
making this persistent. Re-enabling all keys can be done without repair,
if data file and indexes are empty.


heap/heapdef.h:
  WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
  Pulled hp_clear_keys() out of hp_clear().
heap/hp_clear.c:
  WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
  Pulled hp_clear_keys() out of hp_clear().
  Added the new functions for disabling and enabling keys and to ask for the key state.
include/heap.h:
  WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
  Added a new HP_SHARE element to save the key count while keys are disabled.
  Added declarations for the new functions.
myisam/mi_open.c:
  WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
  Added the new functions for disabling and enabling keys and to ask for the key state.
myisam/myisamdef.h:
  WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
  Added declarations for the new functions.
sql/ha_heap.cc:
  WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
  Pulled set_keys_for_scanning() out of open().
  Added the new functions for disabling and enabling keys and to ask for the key state.
sql/ha_heap.h:
  WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
  Added declarations for the new functions.
sql/ha_myisam.cc:
  WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
  Extended disable_indexes() for all keys and no save.
  The argument is now 'mode' as it must handle different cases.
  Extended enable_indexes() for no save.
  The new feature needs the new argument 'mode' with the same semantics as in disable_indexes().
  Added indexes_are_disabled() to ask for the key state.
  Extended the existing call to enable_indexes() by the new argument.
sql/ha_myisam.h:
  WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
  Modified the declarations of dis-/enable_indexes() for the new argument.
  Added the declaration of the new function to ask for the key state.
sql/handler.h:
  WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
  Added declarations for the operation modes for the key switching functions.
  Modified the declarations of dis-/enable_indexes() for the new argument.
  Added the declaration of the new function to ask for the key state.
sql/sql_select.cc:
  WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
  In create_myisam_from_heap() take notice of disabled keys
  and disable them in the new table before copying the data.
sql/sql_table.cc:
  WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
  Modified the calls of dis-/enable_indexes() for the new argument.
2004-05-06 15:53:01 +02:00
unknown
445148f083 Merge with 4.0 to get security patch for check_grant_colum
innobase/include/os0file.h:
  Auto merged
innobase/os/os0file.c:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
mysql-test/r/rpl_server_id2.result:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/slave.cc:
  Merge with 4.0
2004-05-06 13:42:26 +03:00
unknown
2d776e36d8 Merge mysql.com:/home/my/mysql-3.23 into mysql.com:/home/my/mysql-4.0
sql/sql_acl.cc:
  Auto merged
2004-05-06 11:42:35 +03:00
unknown
33359d0b66 Remove not used variable 2004-05-06 11:42:23 +03:00
unknown
f1a2e92562 Merge marko@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/j/mysql-4.1


mysql-test/r/create.result:
  Auto merged
mysql-test/r/innodb.result:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-05-06 09:53:50 +03:00
unknown
cc7a8d9bed Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-05-06 04:41:09 +03:00
unknown
d91477ced6 Fixed wrong key usage which caused wrong result for some "WHERE primary_key=constant" queries where MySQL could use 'only index' (Bug #3666)
The bug was introduced in a patch in the 4.1.2 source tree.


mysql-test/r/key.result:
  New result
mysql-test/t/key.test:
  Added test case for bug in key read
sql/sql_select.cc:
  Fixed wrong key usage which caused wrong result for some "WHERE primary_key=constant" queries where MySQL could use 'only index' (Bug #3666)
2004-05-06 04:40:45 +03:00
unknown
cd57fc8bda Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-code-cleanup


sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
2004-05-06 01:06:18 +04:00