1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-15 09:02:33 +03:00
Commit Graph

6771 Commits

Author SHA1 Message Date
igor@olga.mysql.com
3eff8907e2 Merge olga.mysql.com:/home/igor/dev-opt/mysql-4.1-opt-bug24987
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug24987
2007-01-30 13:14:52 -08:00
unknown
1944b4ca01 Fixed bug #24987.
Made the function opt_sum_query to return HA_ERR_KEY_NOT_FOUND when
no matches were found (instead of -1 it returned prior this patch).
This changes allow us to avoid possible conflicts with return values
from user-defined handler methods which also may return -1. 
No particular test cases are provided with this fix.


sql/opt_sum.cc:
  Fixed bug #24987.
  Made the function opt_sum_query to return HA_ERR_KEY_NOT_FOUND when
  no matches were found (instead of -1 it returned prior this patch).
  This changes allow us to avoid possible conflicts with return values
  from user-defined handler methods which also may return -1.
sql/sql_select.cc:
  Fixed bug #24987.
  Made the function opt_sum_query to return HA_ERR_KEY_NOT_FOUND when
  no matches were found (instead of -1 it returned prior this patch).
  This changes allow us to avoid possible conflicts with return values
  from user-defined handler methods which also may return -1.
2007-01-30 13:06:36 -08:00
igor@olga.mysql.com
60ac1f1b78 Fixed bug #24987.
Made the function opt_sum_query to return HA_ERR_KEY_NOT_FOUND when
no matches were found (instead of -1 it returned prior this patch).
This changes allow us to avoid possible conflicts with return values
from user-defined handler methods which also may return -1. 
No particular test cases are provided with this fix.
2007-01-30 13:06:36 -08:00
unknown
190efb06e7 BUG#20604: FORCE INDEX uses keys disabled by ALTER TABLE
The function that checks whether we can use keys for aggregates,
find_key_for_maxmin(), assumes that keys disabled by ALTER TABLE
... DISABLE KEYS are not in the set table->keys_in_use_for_query.
I.E., if a key is in this set, the optimizer assumes it is free to 
use it.
  
The bug is that keys disabled with ALTER TABLE ... DISABLE KEYS still
appear in table->keys_in_use_for_query When the TABLE object has been 
initialized with setup_tables(). Before setup_tables is called, however, 
keys that are disabled in the aforementioned way are not included in
TABLE::keys_in_use_for_query. 
  
The provided patch changes the code that updates keys_is_use_for_query so 
that it assumes that keys_is_use_for_query already takes into account all 
disabled keys, and generally all keys that should be used by the query.


mysql-test/r/key.result:
  Test for BUG#20604.
  The important part of the test is the explain output that 
  tests what indexes are used.
mysql-test/t/key.test:
  The minimal test case that reveals the bug. The optimizer for 
  aggregates relies on keys disabled with ALTER TABLE ... DISABLE KEYS
  not being in the set TABLE::keys_in_use_for_query. 
  When the execution engine tries to use a disabled index, MyISAM 
  returns an error.
sql/sql_base.cc:
  Exclude the keys disabled by ALTER TABLE ... DISABLE_KEYS 
  from TABLE::keys_in_use_for_query, and in general, don't 
  introduce any new keys. We may not know why keys have been 
  removed at previous stages.
sql/sql_select.cc:
  The intersection operation between table->s->keys_in_use and 
  table->keys_in_use_for_query is no longer necessary. 
  We can trust that the latter is a subset of the former.
sql/table.h:
  Added comments to TABLE_SHARE::keys_in_use and 
  TABLE::keys_in_use_for_query.
2007-01-29 15:07:11 +01:00
mhansson/martin@linux-st28.site
6d7a609742 BUG#20604: FORCE INDEX uses keys disabled by ALTER TABLE
The function that checks whether we can use keys for aggregates,
find_key_for_maxmin(), assumes that keys disabled by ALTER TABLE
... DISABLE KEYS are not in the set table->keys_in_use_for_query.
I.E., if a key is in this set, the optimizer assumes it is free to 
use it.
  
The bug is that keys disabled with ALTER TABLE ... DISABLE KEYS still
appear in table->keys_in_use_for_query When the TABLE object has been 
initialized with setup_tables(). Before setup_tables is called, however, 
keys that are disabled in the aforementioned way are not included in
TABLE::keys_in_use_for_query. 
  
The provided patch changes the code that updates keys_is_use_for_query so 
that it assumes that keys_is_use_for_query already takes into account all 
disabled keys, and generally all keys that should be used by the query.
2007-01-29 15:07:11 +01:00
unknown
4e8b49d656 WL#3700: Handler API change: all index search methods - that is,
index_read(), index_read_idx(), index_read_last(), and
records_in_range() - instead of 'uint keylen' argument take
'ulonglong keypart_map', a bitmap showing which keyparts are
present in the key value.
Fallback method is provided for handlers that are lagging behind.
2007-01-29 10:40:26 +01:00
serg@janus.mylan
a07fd5fa8f WL#3700: Handler API change: all index search methods - that is,
index_read(), index_read_idx(), index_read_last(), and
records_in_range() - instead of 'uint keylen' argument take
'ulonglong keypart_map', a bitmap showing which keyparts are
present in the key value.
Fallback method is provided for handlers that are lagging behind.
2007-01-29 10:40:26 +01:00
unknown
533497d8c9 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/my/mysql-5.1


BitKeeper/etc/ignore:
  auto-union
Makefile.am:
  Auto merged
configure.in:
  Auto merged
include/m_ctype.h:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
mysql-test/t/ndb_basic.test:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_partition.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/opt_range.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
storage/federated/ha_federated.cc:
  Auto merged
storage/myisam/mi_open.c:
  Auto merged
storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp:
  Auto merged
BUILD/SETUP.sh:
  manual merge
sql/item_cmpfunc.cc:
  manual merge
sql/item_subselect.cc:
  manual merge
2007-01-29 01:57:07 +02:00
monty@narttu.mysql.fi
bb464613ce Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/my/mysql-5.1
2007-01-29 01:57:07 +02:00
unknown
36b058929f Merge mysql.com:/home/my/mysql-5.0
into  mysql.com:/home/my/mysql-5.1
Merge of 'remove compiler warnings when using -Wshadow'


BitKeeper/etc/ignore:
  auto-union
BitKeeper/deleted/.del-MetaData.hpp~538342afcd8ac53c:
  Auto merged
configure.in:
  Auto merged
client/mysql.cc:
  Auto merged
client/mysql_upgrade.c:
  Auto merged
client/mysqlbinlog.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
extra/yassl/include/yassl_int.hpp:
  Auto merged
extra/yassl/taocrypt/include/algebra.hpp:
  Auto merged
include/m_ctype.h:
  Auto merged
include/my_global.h:
  Auto merged
include/my_pthread.h:
  Auto merged
include/my_sys.h:
  Auto merged
include/my_time.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
mysql-test/r/mysqltest.result:
  Auto merged
mysql-test/t/mysql.test:
  Auto merged
mysql-test/t/mysqlbinlog.test:
  Auto merged
mysql-test/t/mysqlcheck.test:
  Auto merged
mysql-test/t/mysqltest.test:
  Auto merged
mysql-test/t/wait_timeout.test:
  Auto merged
mysys/default.c:
  Auto merged
mysys/mf_iocache2.c:
  Auto merged
mysys/mf_keycache.c:
  Auto merged
server-tools/instance-manager/instance_options.cc:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_geofunc.cc:
  Auto merged
sql/item_row.h:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/opt_range.h:
  Auto merged
sql/password.c:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sp_head.h:
  Auto merged
sql/spatial.h:
  Auto merged
sql/sql_cache.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_derived.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql-common/client.c:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/sql_string.cc:
  Auto merged
sql/sql_string.h:
  Auto merged
sql/sql_trigger.h:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/tztime.cc:
  Auto merged
storage/archive/ha_archive.h:
  Auto merged
storage/heap/hp_write.c:
  Auto merged
storage/myisam/ft_boolean_search.c:
  Auto merged
storage/myisam/mi_open.c:
  Auto merged
storage/myisam/mi_search.c:
  Auto merged
storage/myisam/mi_unique.c:
  Auto merged
storage/myisam/myisampack.c:
  Auto merged
storage/myisam/rt_index.c:
  Auto merged
storage/myisam/sort.c:
  Auto merged
storage/ndb/include/kernel/signaldata/ArbitSignalData.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/DictTabInfo.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbReceiver.hpp:
  Auto merged
storage/ndb/include/transporter/TransporterDefinitions.hpp:
  Auto merged
storage/ndb/include/util/OutputStream.hpp:
  Auto merged
storage/ndb/include/util/SimpleProperties.hpp:
  Auto merged
storage/ndb/include/util/SocketAuthenticator.hpp:
  Auto merged
storage/ndb/include/util/SocketServer.hpp:
  Auto merged
storage/ndb/src/common/portlib/NdbTick.c:
  Auto merged
storage/ndb/src/common/transporter/SHM_Transporter.cpp:
  Auto merged
storage/ndb/src/common/transporter/TCP_Transporter.cpp:
  Auto merged
storage/ndb/src/common/transporter/TCP_Transporter.hpp:
  Auto merged
storage/ndb/src/common/transporter/Transporter.cpp:
  Auto merged
storage/ndb/src/common/transporter/TransporterRegistry.cpp:
  Auto merged
storage/ndb/src/common/util/File.cpp:
  Auto merged
storage/ndb/src/common/util/Properties.cpp:
  Auto merged
storage/ndb/src/common/util/SocketClient.cpp:
  Auto merged
storage/ndb/src/common/util/random.c:
  Auto merged
storage/ndb/src/common/util/socket_io.cpp:
  Auto merged
storage/ndb/src/cw/cpcd/APIService.cpp:
  Auto merged
storage/ndb/src/cw/cpcd/main.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxNode.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxTree.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbcntr/Ndbcntr.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
  Auto merged
storage/ndb/src/mgmapi/LocalConfig.cpp:
  Auto merged
storage/ndb/src/mgmapi/mgmapi.cpp:
  Auto merged
storage/ndb/src/mgmclient/CommandInterpreter.cpp:
  Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.hpp:
  Auto merged
storage/ndb/src/mgmsrv/InitConfigFileParser.cpp:
  Auto merged
storage/ndb/src/mgmsrv/MgmtSrvr.hpp:
  Auto merged
storage/ndb/src/mgmsrv/Services.cpp:
  Auto merged
storage/ndb/src/mgmsrv/main.cpp:
  Auto merged
storage/ndb/src/ndbapi/ClusterMgr.hpp:
  Auto merged
storage/ndb/src/ndbapi/Ndb.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbIndexOperation.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbOperationExec.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbOperationSearch.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbScanFilter.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbScanOperation.cpp:
  Auto merged
storage/ndb/src/ndbapi/SignalSender.cpp:
  Auto merged
storage/ndb/src/ndbapi/ndb_cluster_connection.cpp:
  Auto merged
storage/ndb/tools/delete_all.cpp:
  Auto merged
storage/ndb/tools/desc.cpp:
  Auto merged
storage/ndb/tools/drop_index.cpp:
  Auto merged
storage/ndb/tools/drop_tab.cpp:
  Auto merged
storage/ndb/tools/listTables.cpp:
  Auto merged
storage/ndb/tools/ndb_condig.cpp:
  Auto merged
storage/ndb/tools/restore/Restore.hpp:
  Auto merged
storage/ndb/tools/restore/consumer.hpp:
  Auto merged
storage/ndb/tools/select_all.cpp:
  Auto merged
storage/ndb/tools/select_count.cpp:
  Auto merged
strings/ctype-bin.c:
  Auto merged
strings/ctype-cp932.c:
  Auto merged
strings/ctype-eucjpms.c:
  Auto merged
strings/ctype-mb.c:
  Auto merged
strings/ctype-simple.c:
  Auto merged
strings/ctype-sjis.c:
  Auto merged
strings/ctype-ujis.c:
  Auto merged
strings/ctype-utf8.c:
  Auto merged
strings/decimal.c:
  Auto merged
BUILD/SETUP.sh:
  manual merge
BUILD/compile-pentium-gcov:
  manual merge
Makefile.am:
  manual merge
client/mysqltest.c:
  Automatic merge
include/mysql.h:
  manual merge
libmysqld/lib_sql.cc:
  Automatic merge
mysql-test/r/mysqlbinlog.result:
  Automatic merge
mysql-test/r/mysqlcheck.result:
  Fixed test case (we should never drop 'test' database)
mysys/my_bitmap.c:
  manual merge
server-tools/instance-manager/commands.h:
  manual merge
server-tools/instance-manager/guardian.cc:
  manual merge
server-tools/instance-manager/mysql_connection.cc:
  manual merge
server-tools/instance-manager/options.cc:
  manual merge
server-tools/instance-manager/options.h:
  manual merge
server-tools/instance-manager/parse.cc:
  Automatic merge
server-tools/instance-manager/user_map.cc:
  manual merge
server-tools/instance-manager/user_map.h:
  manual merge
sql/field.cc:
  manual merge
sql/field.h:
  manual merge
sql/ha_ndbcluster.cc:
  manual merge
sql/handler.cc:
  manual merge
sql/item.cc:
  manual merge
sql/item.h:
  Automatic merge
sql/log.cc:
  manual merge
sql/log_event.cc:
  manual merge
sql/mysqld.cc:
  manual merge
sql/slave.cc:
  manual merge
sql/spatial.cc:
  Automatic merge
sql/sql_class.h:
  manual merge
sql/sql_insert.cc:
  manual merge
sql/sql_parse.cc:
  manual merge
sql/sql_select.cc:
  manual merge
sql/sql_show.cc:
  manual merge
sql/sql_table.cc:
  manual merge
sql/sql_trigger.cc:
  manual merge
sql/sql_view.cc:
  manual merge
sql/sql_yacc.yy:
  manual merge
  Made setting thd and lex uniform
sql/table.cc:
  manual merge
sql/unireg.cc:
  manual merge
storage/archive/ha_archive.cc:
  manual merge
storage/federated/ha_federated.cc:
  manual merge
storage/heap/ha_heap.cc:
  manual merge
storage/myisam/ha_myisam.cc:
  manual merge
storage/myisammrg/ha_myisammrg.cc:
  manual merge
storage/ndb/include/util/InputStream.hpp:
  manual merge
storage/ndb/src/common/mgmcommon/ConfigRetriever.cpp:
  manual merge
storage/ndb/src/common/util/Bitmask.cpp:
  manual merge
storage/ndb/src/common/util/ConfigValues.cpp:
  Automatic merge
storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
  manual merge
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  manual merge
storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  manual merge
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  manual merge
  Changed commented code to be #ifdef-ed instead
storage/ndb/src/kernel/blocks/dbtux/DbtuxScan.cpp:
  manual merge
storage/ndb/src/kernel/blocks/suma/Suma.cpp:
  Automatic merge
storage/ndb/src/kernel/blocks/suma/Suma.hpp:
  manual merge
storage/ndb/src/mgmsrv/MgmtSrvr.cpp:
  Automatic merge
storage/ndb/src/ndbapi/NdbBlob.cpp:
  Automatic merge
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Automatic merge
storage/ndb/src/ndbapi/NdbOperationDefine.cpp:
  manual merge
storage/ndb/tools/restore/restore_main.cpp:
  manual merge
tests/mysql_client_test.c:
  manual merge
2007-01-27 03:46:45 +02:00
monty@narttu.mysql.fi
8a80e36ac3 Merge mysql.com:/home/my/mysql-5.0
into  mysql.com:/home/my/mysql-5.1
Merge of 'remove compiler warnings when using -Wshadow'
2007-01-27 03:46:45 +02:00
unknown
483a41bbb7 Merge olga.mysql.com:/home/igor/dev-opt/mysql-4.1-opt-bug24653
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug24653


sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/subselect.result:
  Manual merge
mysql-test/t/subselect.test:
  Manual merge
sql/filesort.cc:
  Manual merge
sql/item_cmpfunc.h:
  Manual merge
sql/item_subselect.cc:
  Manual merge
2007-01-25 21:01:28 -08:00
igor@olga.mysql.com
19f4fb2b4f Merge olga.mysql.com:/home/igor/dev-opt/mysql-4.1-opt-bug24653
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug24653
2007-01-25 21:01:28 -08:00
unknown
da561a802c Fixed bug #24653.
The bug report has demonstrated the following two problems.
1. If an ORDER/GROUP BY list includes a constant expression being 
optimized away and, at the same time, containing single-row
subselects that return more that one row, no error is reported.
Strictly speaking the standard allows to ignore error in this case.
Yet, now a corresponding fatal error is reported in this case.
2. If a query requires sorting by expressions containing single-row
subselects that, however, return more than one row, then the execution
of the query may cause a server crash. 
To fix this some code has been added that blocks execution of a subselect
item in case of a fatal error in the method Item_subselect::exec.


mysql-test/r/subselect.result:
  Added a test cases for bug #24653.
mysql-test/t/subselect.test:
  Added a test cases for bug #24653.
sql/filesort.cc:
  Fixed bug #24653.
  Added a check for fatal error after reading the next row from the table
  in the function find_all_keys.
sql/item.cc:
  Fixed bug #24653.
  Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item.h:
  Fixed bug #24653.
  Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item_cmpfunc.cc:
  Fixed bug #24653.
  Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item_cmpfunc.h:
  Fixed bug #24653.
  Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item_func.cc:
  Fixed bug #24653.
  Down-ported calculation of the attribute with_subselect of for Item objects.
sql/item_subselect.cc:
  Fixed bug #24653.
  Added a check for fatal error in the method Item_subselect::exec
  to block evaluation of subselects in erroneous situations.
  Down-ported calculation of the attribute with_subselect of for Item objects.
sql/sql_select.cc:
  Fixed bug #24653.
  Added a check to verify that any constant expression used
  in ORDER BY and/or GROUP BY lists which is optimized away
  does not contain subselects returning more than one row.
  If it does a fatal error is reported.
2007-01-25 18:44:35 -08:00
igor@olga.mysql.com
36df33d80a Fixed bug #24653.
The bug report has demonstrated the following two problems.
1. If an ORDER/GROUP BY list includes a constant expression being 
optimized away and, at the same time, containing single-row
subselects that return more that one row, no error is reported.
Strictly speaking the standard allows to ignore error in this case.
Yet, now a corresponding fatal error is reported in this case.
2. If a query requires sorting by expressions containing single-row
subselects that, however, return more than one row, then the execution
of the query may cause a server crash. 
To fix this some code has been added that blocks execution of a subselect
item in case of a fatal error in the method Item_subselect::exec.
2007-01-25 18:44:35 -08:00
unknown
a85809676d Merge mysql.com:/home/psergey/mysql-5.0-bug8804-r12
into  mysql.com:/home/psergey/mysql-5.1-bug8804-r12-merge


sql/mysqld.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2007-01-25 02:30:36 +03:00
sergefp@pylon.mylan
cec2e8a66e Merge mysql.com:/home/psergey/mysql-5.0-bug8804-r12
into  mysql.com:/home/psergey/mysql-5.1-bug8804-r12-merge
2007-01-25 02:30:36 +03:00
unknown
a34166065d BUG#24127: wrong result for (null,not-null) IN (SELECT a,b ...):
Fixed typo problem that surfaced after the merge
2007-01-25 02:27:28 +03:00
sergefp@mysql.com
39e6de4359 BUG#24127: wrong result for (null,not-null) IN (SELECT a,b ...):
Fixed typo problem that surfaced after the merge
2007-01-25 02:27:28 +03:00
unknown
713bb7a09e Merge mysql.com:/home/psergey/mysql-5.0-bug8804-r12
into  mysql.com:/home/psergey/mysql-5.1-bug8804-r12-merge


sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
mysql-test/r/ndb_subquery.result:
  Manual merge
mysql-test/r/subselect.result:
  Manual merge
mysql-test/r/subselect3.result:
  Manual merge
sql/item_subselect.cc:
  Manual merge
2007-01-24 22:28:28 +03:00
sergefp@pylon.mylan
5bc7d596cc Merge mysql.com:/home/psergey/mysql-5.0-bug8804-r12
into  mysql.com:/home/psergey/mysql-5.1-bug8804-r12-merge
2007-01-24 22:28:28 +03:00
unknown
dfeac169a6 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/psergey/mysql-5.0-bug8804-r12


sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/subselect.result:
  Manual Merge
2007-01-24 19:13:28 +03:00
sergefp@mysql.com
e2f0f4dbd3 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/psergey/mysql-5.0-bug8804-r12
2007-01-24 19:13:28 +03:00
unknown
d663a34303 Merge mysql.com:/home/gluh/MySQL/Merge/5.1
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt


BitKeeper/etc/ignore:
  auto-union
mysql-test/r/func_in.result:
  Auto merged
mysql-test/r/range.result:
  Auto merged
mysql-test/r/sp-code.result:
  Auto merged
mysql-test/r/trigger.result:
  Auto merged
mysql-test/r/udf.result:
  Auto merged
mysql-test/t/func_in.test:
  Auto merged
mysql-test/t/range.test:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
mysql-test/r/select.result:
  manual merge
mysql-test/r/view.result:
  manual merge
mysql-test/t/select.test:
  manual merge
mysql-test/t/view.test:
  manual merge
2007-01-24 19:54:40 +04:00
gluh@eagle.(none)
7b291e36cf Merge mysql.com:/home/gluh/MySQL/Merge/5.1
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2007-01-24 19:54:40 +04:00
unknown
8b54310bfb Bug#25567 records() call performs scan in NDB, performance bug
mysql-test/r/ndb_basic.result:
  from spaces, to tabs. what fun!
sql/ha_ndbcluster.h:
  fix estimate_rows_upper_bound() to be correct for NDB
sql/sql_select.cc:
  use non-exact records information
2007-01-24 00:27:19 +11:00
stewart@willster.(none)
adf40be13b Bug#25567 records() call performs scan in NDB, performance bug 2007-01-24 00:27:19 +11:00
unknown
276f0d4c5e Merge macbook.gmz:/Users/kgeorge/mysql/work/mysql-5.0-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/merge-5.1-opt


mysql-test/r/func_in.result:
  Auto merged
mysql-test/r/range.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/r/sp-code.result:
  Auto merged
mysql-test/r/trigger.result:
  Auto merged
mysql-test/r/udf.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/func_in.test:
  Auto merged
mysql-test/t/func_str.test:
  Auto merged
mysql-test/t/range.test:
  Auto merged
mysql-test/t/select.test:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
mysql-test/t/udf.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/opt_range.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
mysql-test/r/func_str.result:
  merge 5.0-opt -> 5.1-opt
mysql-test/r/group_by.result:
  merge 5.0-opt -> 5.1-opt
mysql-test/r/insert.result:
  merge 5.0-opt -> 5.1-opt
mysql-test/r/subselect.result:
  merge 5.0-opt -> 5.1-opt
mysql-test/t/group_by.test:
  merge 5.0-opt -> 5.1-opt
mysql-test/t/insert.test:
  merge 5.0-opt -> 5.1-opt
mysql-test/t/subselect.test:
  merge 5.0-opt -> 5.1-opt
mysql-test/t/view.test:
  merge 5.0-opt -> 5.1-opt
sql/item_cmpfunc.h:
  merge 5.0-opt -> 5.1-opt
sql/item_strfunc.h:
  merge 5.0-opt -> 5.1-opt
2007-01-23 12:34:50 +02:00
gkodinov/kgeorge@macbook.gmz
17a0207ece Merge macbook.gmz:/Users/kgeorge/mysql/work/mysql-5.0-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/merge-5.1-opt
2007-01-23 12:34:50 +02:00
unknown
acef88bee3 Merge mysql.com:/home/gluh/MySQL/Merge/5.0
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt


mysql-test/r/func_in.result:
  Auto merged
mysql-test/r/range.result:
  Auto merged
mysql-test/r/sp-code.result:
  Auto merged
mysql-test/t/func_in.test:
  Auto merged
mysql-test/t/range.test:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
mysql-test/t/view.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
mysql-test/r/select.result:
  manual merge
mysql-test/r/view.result:
  manual merge
mysql-test/t/select.test:
  manual merge
2007-01-23 14:08:58 +04:00
gluh@mysql.com/eagle.(none)
e34b0056f2 Merge mysql.com:/home/gluh/MySQL/Merge/5.0
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2007-01-23 14:08:58 +04:00
unknown
6447a7b6f2 sql_select.cc:
Code cleanup after fix for bug#23417.


sql/sql_select.cc:
  Code cleanup after fix for bug#23417.
2007-01-22 23:04:14 +03:00
evgen@moonbone.local
884713fb08 sql_select.cc:
Code cleanup after fix for bug#23417.
2007-01-22 23:04:14 +03:00
unknown
03e4b98c7b Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/my/mysql-5.0


BitKeeper/etc/ignore:
  added mysql-test/mysql-test-run-shell
client/mysql.cc:
  Auto merged
client/mysql_upgrade.c:
  Auto merged
client/mysqlbinlog.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
client/mysqltest.c:
  Auto merged
client/sql_string.cc:
  Auto merged
client/sql_string.h:
  Auto merged
extra/my_print_defaults.c:
  Auto merged
include/m_ctype.h:
  Auto merged
include/my_pthread.h:
  Auto merged
include/my_sys.h:
  Auto merged
include/my_time.h:
  Auto merged
include/mysql.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
libmysqld/lib_sql.cc:
  Auto merged
myisam/ft_boolean_search.c:
  Auto merged
myisam/mi_open.c:
  Auto merged
myisam/mi_search.c:
  Auto merged
myisam/mi_unique.c:
  Auto merged
myisam/myisampack.c:
  Auto merged
myisam/rt_index.c:
  Auto merged
myisam/sort.c:
  Auto merged
mysql-test/t/mysql.test:
  Auto merged
mysql-test/t/mysqltest.test:
  Auto merged
mysys/default.c:
  Auto merged
mysys/mf_iocache2.c:
  Auto merged
mysys/mf_keycache.c:
  Auto merged
mysys/my_bitmap.c:
  Auto merged
mysys/sha1.c:
  Auto merged
ndb/include/kernel/signaldata/ArbitSignalData.hpp:
  Auto merged
ndb/include/kernel/signaldata/DictTabInfo.hpp:
  Auto merged
ndb/include/ndbapi/NdbReceiver.hpp:
  Auto merged
ndb/include/transporter/TransporterDefinitions.hpp:
  Auto merged
ndb/include/util/InputStream.hpp:
  Auto merged
ndb/include/util/OutputStream.hpp:
  Auto merged
ndb/include/util/SimpleProperties.hpp:
  Auto merged
ndb/include/util/SocketAuthenticator.hpp:
  Auto merged
ndb/include/util/SocketServer.hpp:
  Auto merged
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
  Auto merged
ndb/src/common/portlib/NdbTick.c:
  Auto merged
ndb/src/common/transporter/SHM_Transporter.cpp:
  Auto merged
ndb/src/common/transporter/TCP_Transporter.cpp:
  Auto merged
ndb/src/common/transporter/TCP_Transporter.hpp:
  Auto merged
ndb/src/common/transporter/Transporter.cpp:
  Auto merged
ndb/src/common/transporter/TransporterRegistry.cpp:
  Auto merged
ndb/src/common/util/Bitmask.cpp:
  Auto merged
ndb/src/common/util/ConfigValues.cpp:
  Auto merged
ndb/src/common/util/File.cpp:
  Auto merged
ndb/src/common/util/Properties.cpp:
  Auto merged
ndb/src/common/util/SocketClient.cpp:
  Auto merged
ndb/src/common/util/random.c:
  Auto merged
ndb/src/common/util/socket_io.cpp:
  Auto merged
ndb/src/cw/cpcd/APIService.cpp:
  Auto merged
ndb/src/cw/cpcd/main.cpp:
  Auto merged
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
  Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  Auto merged
ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
  Auto merged
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
  Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Auto merged
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
  Auto merged
ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
  Auto merged
ndb/src/kernel/blocks/dbtup/DbtupScan.cpp:
  Auto merged
ndb/src/kernel/blocks/dbtux/DbtuxNode.cpp:
  Auto merged
ndb/src/kernel/blocks/dbtux/DbtuxScan.cpp:
  Auto merged
ndb/src/kernel/blocks/dbtux/DbtuxTree.cpp:
  Auto merged
ndb/src/kernel/blocks/ndbcntr/Ndbcntr.hpp:
  Auto merged
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
  Auto merged
ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp:
  Auto merged
ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
  Auto merged
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
  Auto merged
ndb/src/kernel/blocks/suma/Suma.cpp:
  Auto merged
ndb/src/kernel/blocks/suma/Suma.hpp:
  Auto merged
ndb/src/kernel/vm/MetaData.hpp:
  Auto merged
ndb/src/mgmapi/LocalConfig.cpp:
  Auto merged
ndb/src/mgmapi/mgmapi.cpp:
  Auto merged
ndb/src/mgmclient/CommandInterpreter.cpp:
  Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
ndb/src/mgmsrv/ConfigInfo.hpp:
  Auto merged
ndb/src/mgmsrv/InitConfigFileParser.cpp:
  Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
  Auto merged
ndb/src/mgmsrv/MgmtSrvr.hpp:
  Auto merged
ndb/src/mgmsrv/Services.cpp:
  Auto merged
ndb/src/mgmsrv/main.cpp:
  Auto merged
ndb/src/ndbapi/ClusterMgr.hpp:
  Auto merged
ndb/src/ndbapi/Ndb.cpp:
  Auto merged
ndb/src/ndbapi/NdbBlob.cpp:
  Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Auto merged
ndb/src/ndbapi/NdbIndexOperation.cpp:
  Auto merged
ndb/src/ndbapi/NdbOperationDefine.cpp:
  Auto merged
ndb/src/ndbapi/NdbOperationExec.cpp:
  Auto merged
ndb/src/ndbapi/NdbOperationSearch.cpp:
  Auto merged
ndb/src/ndbapi/NdbScanFilter.cpp:
  Auto merged
ndb/src/ndbapi/NdbScanOperation.cpp:
  Auto merged
ndb/src/ndbapi/SignalSender.cpp:
  Auto merged
ndb/src/ndbapi/ndb_cluster_connection.cpp:
  Auto merged
ndb/tools/delete_all.cpp:
  Auto merged
ndb/tools/desc.cpp:
  Auto merged
ndb/tools/drop_index.cpp:
  Auto merged
ndb/tools/drop_tab.cpp:
  Auto merged
ndb/tools/listTables.cpp:
  Auto merged
ndb/tools/ndb_config.cpp:
  Auto merged
ndb/tools/restore/Restore.hpp:
  Auto merged
ndb/tools/restore/consumer.hpp:
  Auto merged
ndb/tools/restore/restore_main.cpp:
  Auto merged
ndb/tools/select_all.cpp:
  Auto merged
ndb/tools/select_count.cpp:
  Auto merged
server-tools/instance-manager/commands.h:
  Auto merged
server-tools/instance-manager/guardian.cc:
  Auto merged
server-tools/instance-manager/instance_options.cc:
  Auto merged
server-tools/instance-manager/mysql_connection.cc:
  Auto merged
server-tools/instance-manager/options.cc:
  Auto merged
server-tools/instance-manager/options.h:
  Auto merged
server-tools/instance-manager/parse.cc:
  Auto merged
server-tools/instance-manager/user_map.cc:
  Auto merged
server-tools/instance-manager/user_map.h:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/ha_archive.cc:
  Auto merged
sql/ha_archive.h:
  Auto merged
sql/ha_federated.cc:
  Auto merged
sql/ha_heap.cc:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/ha_myisammrg.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_geofunc.cc:
  Auto merged
sql/item_row.h:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/opt_range.h:
  Auto merged
sql/password.c:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sp_head.h:
  Auto merged
sql/spatial.cc:
  Auto merged
sql/spatial.h:
  Auto merged
sql/sql_cache.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_derived.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql-common/client.c:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_string.cc:
  Auto merged
sql/sql_string.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_trigger.h:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
sql/tztime.cc:
  Auto merged
sql/unireg.cc:
  Auto merged
strings/ctype-bin.c:
  Auto merged
strings/ctype-cp932.c:
  Auto merged
strings/ctype-eucjpms.c:
  Auto merged
strings/ctype-mb.c:
  Auto merged
strings/ctype-simple.c:
  Auto merged
strings/ctype-sjis.c:
  Auto merged
strings/ctype-uca.c:
  Auto merged
strings/ctype-ujis.c:
  Auto merged
strings/ctype-utf8.c:
  Auto merged
strings/decimal.c:
  Auto merged
strings/my_vsnprintf.c:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
mysql-test/t/mysqlbinlog.test:
  Manual merge
sql/sql_class.h:
  Manual merge
sql/sql_parse.cc:
  Manual merge
2007-01-22 14:04:40 +02:00
monty@mysql.com/narttu.mysql.fi
a04157fbb3 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/my/mysql-5.0
2007-01-22 14:04:40 +02:00
unknown
4b2c3ac40d Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B16590-5.1-opt


mysql-test/r/order_by.result:
  Auto merged
mysql-test/t/order_by.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
2007-01-22 12:58:14 +02:00
gkodinov/kgeorge@rakia.gmz
c9df1caac8 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B16590-5.1-opt
2007-01-22 12:58:14 +02:00
unknown
2c6e678dd9 BUG#16590: Optimized does not do right "const" table pre-read
st_table::const_key_parts member is used in determining if
 certain key has a prefix that is compared to constant(s) in
 the query predicates.
 If there's such prefix the index can be used to get the data
 from the remaining suffix columns in sorted order.
 However if a field is compared to another field from a "const"
 table the const_key_parts is not amended.
 This makes the optimizer unable to detect that the key can be 
 used for sorting and adds an extra filesort.
 Fixed by updating const_key_parts after reading in the "const"
 table.


mysql-test/r/order_by.result:
  BUG#16590: Optimized does not do right "const" table pre-read
   - test case
mysql-test/t/order_by.test:
  BUG#16590: Optimized does not do right "const" table pre-read
   - test case
sql/sql_select.cc:
  BUG#16590: Optimized does not do right "const" table pre-read
   - fill up the const_key_parts structure
2007-01-22 12:51:21 +02:00
gkodinov/kgeorge@macbook.gmz
9ea140d13e BUG#16590: Optimized does not do right "const" table pre-read
st_table::const_key_parts member is used in determining if
 certain key has a prefix that is compared to constant(s) in
 the query predicates.
 If there's such prefix the index can be used to get the data
 from the remaining suffix columns in sorted order.
 However if a field is compared to another field from a "const"
 table the const_key_parts is not amended.
 This makes the optimizer unable to detect that the key can be 
 used for sorting and adds an extra filesort.
 Fixed by updating const_key_parts after reading in the "const"
 table.
2007-01-22 12:51:21 +02:00
unknown
5effa05d3f Bug#25172: Not checked buffer size leads to a server crash.
After fix for bug#21798 JOIN stores the pointer to the buffer for sorting
fields. It is used while sorting for grouping and for ordering. If ORDER BY
clause has more elements then the GROUP BY clause then a memory overrun occurs.

Now the length of the ORDER BY list is always passed to the 
make_unireg_sortorder() function and it allocates buffer big enough to be
used for bigger list.


sql/sql_delete.cc:
  Bug#25172: Not checked buffer size leads to a server crash.
  Length parameter is initialized to 0 for the make_unireg_sortorder() function.
sql/sql_select.cc:
  Bug#25172: Not checked buffer size leads to a server crash.
  Now the length of the ORDER BY list is always passed to the 
  make_unireg_sortorder() function and it allocates buffer big enough to be
  used for bigger list.
sql/sql_table.cc:
  Bug#25172: Not checked buffer size leads to a server crash.
  Length parameter is initialized to 0 for the make_unireg_sortorder() function.
sql/sql_update.cc:
  Bug#25172: Not checked buffer size leads to a server crash.
  Length parameter is initialized to 0 for the make_unireg_sortorder() function.
mysql-test/r/select.result:
  Added a test case for bug#25172: Not checked buffer size leads to a server crash.
mysql-test/t/select.test:
  Added a test case for bug#25172: Not checked buffer size leads to a server crash.
2007-01-19 18:34:09 +03:00
evgen@moonbone.local
d7d5db64ec Bug#25172: Not checked buffer size leads to a server crash.
After fix for bug#21798 JOIN stores the pointer to the buffer for sorting
fields. It is used while sorting for grouping and for ordering. If ORDER BY
clause has more elements then the GROUP BY clause then a memory overrun occurs.

Now the length of the ORDER BY list is always passed to the 
make_unireg_sortorder() function and it allocates buffer big enough to be
used for bigger list.
2007-01-19 18:34:09 +03:00
unknown
c797abae21 sql_select.cc:
Fix for crashes on 64bit platforms after fixing bug#23417.


sql/sql_select.cc:
  Fix for crashes on 64bit platforms after fixing bug#23417.
2007-01-15 22:40:39 +03:00
evgen@moonbone.local
53a4949d3b sql_select.cc:
Fix for crashes on 64bit platforms after fixing bug#23417.
2007-01-15 22:40:39 +03:00
unknown
96e5be8ce2 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mockturtle.local:/home/dlenev/src/mysql-5.0-bg20390-2


sql/sql_select.cc:
  Auto merged
2007-01-15 13:48:07 +03:00
dlenev@mockturtle.local
af838b4c55 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mockturtle.local:/home/dlenev/src/mysql-5.0-bg20390-2
2007-01-15 13:48:07 +03:00
unknown
b523c895c2 Merge mockturtle.local:/home/dlenev/src/mysql-5.0-bg20390-2
into  mockturtle.local:/home/dlenev/src/mysql-5.1-bg20390


mysql-test/t/ndb_lock.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/ndb_lock.result:
  Manual merge.
2007-01-15 12:40:07 +03:00
dlenev@mockturtle.local
c0f6023aa4 Merge mockturtle.local:/home/dlenev/src/mysql-5.0-bg20390-2
into  mockturtle.local:/home/dlenev/src/mysql-5.1-bg20390
2007-01-15 12:40:07 +03:00
unknown
810fc001d9 Fix for bug#20390 "SELECT FOR UPDATE does not release locks
of untouched rows in full table scans".

SELECT ... FOR UPDATE/LOCK IN SHARE MODE statements as well as
UPDATE/DELETE statements which were executed using full table
scan were not releasing locks on rows which didn't satisfy
WHERE condition.
This bug surfaced in 5.0 and affected NDB tables. (InnoDB tables
intentionally don't support such unlocking in default mode).

This problem occured because code implementing join didn't call
handler::unlock_row() for rows which didn't satisfy part of condition
attached to this particular table/level of nested loop. So we solve
the problem adding this call.
Note that we already had this call in place in 4.1 but it was lost
(actually not quite correctly placed) when we have introduced nested 
joins.

Also note that additional QA should be requested once this patch is
pushed as interaction between handler::unlock_row() and many recent
MySQL features such as subqueries, unions, views is not tested enough.


mysql-test/r/ndb_lock.result:
  Enabled back part of the test that covers bug #20390 "SELECT FOR
  UPDATE does not release locks of untouched rows in full table scans".
  Adjusted test in such way that it now covers both execution paths
  in which we unlock non-matching rows inspected during table scan.
mysql-test/t/ndb_lock.test:
  Enabled back part of the test that covers bug #20390 "SELECT FOR
  UPDATE does not release locks of untouched rows in full table scans".
  Adjusted test in such way that it now covers both execution paths
  in which we unlock non-matching rows inspected during table scan.
sql/sql_select.cc:
  evaluate_join_record() should call handler::unlock_row() for records
  which don't satisfy condition which was pushed-down to this table/level
  of nested loop.
  We just put back the thing that we already have in 4.1 and which was lost
  when we have introduced nested joins.
2007-01-15 12:32:38 +03:00
dlenev@mockturtle.local
ab98cbc88a Fix for bug#20390 "SELECT FOR UPDATE does not release locks
of untouched rows in full table scans".

SELECT ... FOR UPDATE/LOCK IN SHARE MODE statements as well as
UPDATE/DELETE statements which were executed using full table
scan were not releasing locks on rows which didn't satisfy
WHERE condition.
This bug surfaced in 5.0 and affected NDB tables. (InnoDB tables
intentionally don't support such unlocking in default mode).

This problem occured because code implementing join didn't call
handler::unlock_row() for rows which didn't satisfy part of condition
attached to this particular table/level of nested loop. So we solve
the problem adding this call.
Note that we already had this call in place in 4.1 but it was lost
(actually not quite correctly placed) when we have introduced nested 
joins.

Also note that additional QA should be requested once this patch is
pushed as interaction between handler::unlock_row() and many recent
MySQL features such as subqueries, unions, views is not tested enough.
2007-01-15 12:32:38 +03:00
unknown
384b212168 Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-community


sql/item_func.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2007-01-14 04:09:38 +01:00