Commit graph

16501 commits

Author SHA1 Message Date
unknown
a9eef185c6 subselect.result, subselect.test:
Added a couple of new test cases for bug #7351.


mysql-test/t/subselect.test:
  Added a couple of new test cases for bug #7351.
mysql-test/r/subselect.result:
  Added a couple of new test cases for bug #7351.
2004-12-26 02:04:40 -08:00
unknown
a4d840a09c subselect.result, subselect.test:
Added test cases for bug #7351.
item_cmpfunc.cc:
  Fixed bug #7351: incorrect result for a query with a
  subquery returning empty set.
  If in the predicate v IN (SELECT a FROM t WHERE cond)
  v is null, then the result of the predicate is either
  INKNOWN or FALSE. It is FALSE if the subquery returns
  an empty set.
item_subselect.cc:
  Fixed bug #7351: incorrect result for a query with a
  subquery returning empty set.
  The problem was due to not a quite legal transformation
  for 'IN' subqueries. A subquery containing a predicate
  of the form
  v IN (SELECT a FROM t WHERE cond)
  was transformed into
  EXISTS(SELECT a FROM t WHERE cond AND (a=v OR a IS NULL)).
  Yet, this transformation is valid only if v is not null.
  If v is null, then, in the case when
  (SELECT a FROM t WHERE cond) returns an empty set the value
  of the predicate is FALSE, otherwise the result of the
  predicate is INKNOWN.
  The fix resolves this problem by changing the result
  of the transformation to
  EXISTS(SELECT a FROM t WHERE cond AND (v IS NULL OR (a=v OR a IS NULL)))
  in the case when v is nullable.
  The new transformation prevents applying the lookup
  optimization for IN subqueries. To make it still
  applicable we have to introduce guarded access methods.


sql/item_subselect.cc:
  Fixed bug #7351: incorrect result for a query with a
  subquery returning empty set.
  The problem was due to not a quite legal transformation
  for 'IN' subqueries. A subquery containing a predicate
  of the form
  v IN (SELECT a FROM t WHERE cond)
  was transformed into
  EXISTS(SELECT a FROM t WHERE cond AND (a=v OR a IS NULL)).
  Yet, this transformation is valid only if v is not null.
  If v is null, then, in the case when
  (SELECT a FROM t WHERE cond) returns an empty set the value
  of the predicate is FALSE, otherwise the result of the
  predicate is INKNOWN.
  The fix resolves this problem by changing the result
  of the transformation to
  EXISTS(SELECT a FROM t WHERE cond AND (v IS NULL OR (a=v OR a IS NULL)))
  in the case when v is nullable.
  The new transformation prevents applying the lookup
  optimization for IN subqueries. To make it still
  applicable we have to introduce guarded access methods.
sql/item_cmpfunc.cc:
  Fixed bug #7351: incorrect result for a query with a
  subquery returning empty set.
  If in the predicate v IN (SELECT a FROM t WHERE cond)
  v is null, then the result of the predicate is either
  INKNOWN or FALSE. It is FALSE if the subquery returns
  an empty set.
mysql-test/t/subselect.test:
  Added test cases for bug #7351.
mysql-test/r/subselect.result:
  Added test cases for bug #7351.
2004-12-25 19:17:57 -08:00
unknown
1548c6b765 Merge hundin.mysql.fi:/home/heikki/mysql-4.0
into hundin.mysql.fi:/home/heikki/mysql-4.1


configure.in:
  SCCS merged
innobase/os/os0file.c:
  SCCS merged
2004-12-21 19:33:43 +02:00
unknown
ba9ca88912 main.cpp:
ifdef on version prior to 5.0


ndb/src/mgmsrv/main.cpp:
  ifdef on version prior to 5.0
2004-12-21 18:33:41 +01:00
unknown
fed35d922a os0file.c:
Put back accidentally removed undef and remove a debug def


innobase/os/os0file.c:
  Put back accidentally removed undef and remove a debug def
2004-12-21 18:33:53 +02:00
unknown
b0d26c2642 os0file.c:
Fix InnoDB bug: on HP-UX, with a 32-bit binary, InnoDB was only able to read or write <= 2 GB files; the reason was that InnoDB treated the return value of lseek() as a 32-bit integer; lseek was used on HP-UX-11 as a replacement for pread() and pwrite() because HAVE_BROKEN_PREAD was defined on that platform


innobase/os/os0file.c:
  Fix InnoDB bug: on HP-UX, with a 32-bit binary, InnoDB was only able to read or write <= 2 GB files; the reason was that InnoDB treated the return value of lseek() as a 32-bit integer; lseek was used on HP-UX-11 as a replacement for pread() and pwrite() because HAVE_BROKEN_PREAD was defined on that platform
2004-12-21 18:21:17 +02:00
unknown
b42f095780 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1
2004-12-21 15:58:18 +01:00
unknown
68d85f701a NdbApi.hpp:
NdbApi.hpp to include ndb_inti.h and ndb_cluster_connecion.hpp


ndb/include/ndbapi/NdbApi.hpp:
  NdbApi.hpp to include ndb_inti.h and ndb_cluster_connecion.hpp
2004-12-21 15:57:36 +01:00
unknown
2ba7c517a4 Bug#7302: UCS2 data in ENUM field get truncated when new column is added 2004-12-21 17:12:27 +04:00
unknown
c6b6977b9e Bug#6481 - storage_engine system variable allows nonsensical value
Check that the requested storage engine is enabled.
2004-12-21 11:09:48 +00:00
unknown
5c185dfd5f Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1
2004-12-21 11:39:22 +01:00
unknown
78e8e7949e added ndb_init.h to distribution
added missing copyright text
    moved ndb_init things to separate header file
    removed ndb_global include
    documented cluster connection class
    moved internal constants to NdbImpl.hpp class
    changed wait_until_ready behaviour somewhat


ndb/config/type_ndbapitest.mk.am:
  corrected -I flag
ndb/include/Makefile.am:
  added ndb_init.h to distribution
ndb/include/ndb_global.h.in:
  added copyright text
  moved ndb_init things to separate header file
ndb/include/ndbapi/NdbBlob.hpp:
  moved error codes and internal constants to NdbBlobImpl.hpp
ndb/include/ndbapi/NdbReceiver.hpp:
  removed ndb_global include
ndb/include/ndbapi/ndb_cluster_connection.hpp:
  documented cluster connection class
  changed wait_until_ready behaviour somewhat
ndb/src/ndbapi/Ndb.cpp:
  documented cluster connection class
  changed wait_until_ready behaviour somewhat
ndb/src/ndbapi/NdbBlob.cpp:
  moved internal constants to NdbImpl.hpp class
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  moved internal constants to NdbImpl.hpp class
ndb/src/ndbapi/NdbOperationInt.cpp:
  changed includes
ndb/src/ndbapi/ndb_cluster_connection.cpp:
  changed wait_until_ready behaviour somewhat
ndb/test/ndbapi/testBlobs.cpp:
  use impl class to get constants
2004-12-21 10:37:12 +01:00
unknown
f20c53148a Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.clean
2004-12-21 12:33:17 +04:00
unknown
ca756fa5a5 Tabs removed 2004-12-21 12:31:38 +04:00
unknown
7a3ad6eb84 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into gw.mysql.r18.ru:/usr/home/ram/work/4.1.b7281
2004-12-21 11:43:25 +04:00
unknown
8dcb172642 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into gw.mysql.r18.ru:/usr/home/ram/work/4.1.b7281


sql/item_func.cc:
  Auto merged
2004-12-21 10:51:11 +04:00
unknown
5c79810a6d Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.clean
2004-12-21 10:31:09 +04:00
unknown
b277c36a61 Merge bk@192.168.21.1:/usr/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.clean


libmysqld/lib_sql.cc:
  Auto merged
2004-12-21 10:26:01 +04:00
unknown
fee2e57b67 Fix to perform correctly with charsets in embedded server
BitKeeper/deleted/.del-ctype_recoding.result.es~45c6fe567949af:
  Delete: mysql-test/r/ctype_recoding.result.es
BitKeeper/deleted/.del-func_test.result.es~4de135264090aa14:
  Delete: mysql-test/r/func_test.result.es
BitKeeper/deleted/.del-ps_2myisam.result.es~5132bde9c07c41e8:
  Delete: mysql-test/r/ps_2myisam.result.es
BitKeeper/deleted/.del-ps_3innodb.result.es~a3613f0e86132472:
  Delete: mysql-test/r/ps_3innodb.result.es
BitKeeper/deleted/.del-ps_4heap.result.es~956ae2c46b66b6ed:
  Delete: mysql-test/r/ps_4heap.result.es
BitKeeper/deleted/.del-ps_5merge.result.es~6093a834fec21efe:
  Delete: mysql-test/r/ps_5merge.result.es
BitKeeper/deleted/.del-ps_6bdb.result.es~57b94c3756e3d093:
  Delete: mysql-test/r/ps_6bdb.result.es
libmysqld/lib_sql.cc:
  Charset conversion implemented
mysql-test/r/query_cache.result.es:
  correct test result provided
tests/client_test.c:
  now it works
2004-12-21 10:05:58 +04:00
unknown
7f6cc1df6e Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-order-bug
2004-12-21 03:02:38 +03:00
unknown
b4f4c5bd1c Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-bug6825
2004-12-21 02:32:30 +03:00
unknown
9cee9f6969 configure.in:
Increment from 4.0.23 to 4.0.24


configure.in:
  Increment from 4.0.23 to 4.0.24
2004-12-20 15:12:13 -06:00
unknown
05862273cb automatically configure with shared memory transporter for ndb if functions are available 2004-12-20 16:19:22 +01:00
unknown
8c01aba776 added config parameter Group on connection
moved NdbWaiter, m_ndb_cluster_connection, to impl class
    moved node selection things to cluster connection
    moved all private things to impl class
    added opts for shared memory and node selection
    changed opts handling somewhat; introduced enum for options and common handling of option variables
    added checks for transporter support
    automatic addition of shared mem transporters
    moved wait_until_ready code to cluster connection
    added control of usage of new node selection method


ndb/include/mgmapi/mgmapi_config_parameters.h:
  added config parameter Group on connection
ndb/include/ndbapi/Ndb.hpp:
  moved NdbWaiter, m_ndb_cluster_connection, to impl class
  moved node selection things to cluster connection
ndb/include/ndbapi/ndb_cluster_connection.hpp:
  moved all private things to impl class
ndb/include/util/ndb_opts.h:
  added opts for shared memory and node selection
ndb/src/kernel/vm/Configuration.cpp:
  changed opts handling somewhat; introduced enum for options and common handling of option variables
ndb/src/mgmclient/main.cpp:
  changed opts handling somewhat; introduced enum for options and common handling of option variables
ndb/src/mgmsrv/ConfigInfo.cpp:
  added checks for transporter support
  automatic addition of shared mem transporters
ndb/src/mgmsrv/MgmtSrvr.cpp:
  in alloc node id first choose connection with specified hostname
ndb/src/mgmsrv/main.cpp:
  changed opts handling somewhat; introduced enum for options and common handling of option variables
ndb/src/ndbapi/DictCache.hpp:
  added include file
ndb/src/ndbapi/Ndb.cpp:
  enabled using new node selection method
  moved wait_until_ready code to cluster connection
  moved node selection (hint) to cluster connection
  removed start transaction dgroup
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
  removed and added inclusde files
ndb/src/ndbapi/NdbImpl.hpp:
  moved things from Ndb into Impl class
  moved waiter things to new file NdbWaiter.hpp
ndb/src/ndbapi/NdbScanOperation.cpp:
  ndbwaiter is no in impl class
ndb/src/ndbapi/Ndbif.cpp:
  ndbwaiter is no in impl class
ndb/src/ndbapi/Ndbinit.cpp:
  moved some Ndb things into impl class
ndb/src/ndbapi/TransporterFacade.hpp:
  changed friend declaration
ndb/src/ndbapi/ndb_cluster_connection.cpp:
  moved node selection things to cluster connection
  moved things from cluster connection to cluster connection impl class
ndb/test/ndbapi/testNdbApi.cpp:
  removed start transaction dgroup
ndb/tools/delete_all.cpp:
  changed opts handling somewhat; introduced enum for options and common handling of option variables
ndb/tools/desc.cpp:
  changed opts handling somewhat; introduced enum for options and common handling of option variables
ndb/tools/drop_index.cpp:
  changed opts handling somewhat; introduced enum for options and common handling of option variables
ndb/tools/drop_tab.cpp:
  changed opts handling somewhat; introduced enum for options and common handling of option variables
ndb/tools/listTables.cpp:
  changed opts handling somewhat; introduced enum for options and common handling of option variables
ndb/tools/restore/restore_main.cpp:
  changed opts handling somewhat; introduced enum for options and common handling of option variables
ndb/tools/select_all.cpp:
  changed opts handling somewhat; introduced enum for options and common handling of option variables
ndb/tools/select_count.cpp:
  changed opts handling somewhat; introduced enum for options and common handling of option variables
ndb/tools/waiter.cpp:
  changed opts handling somewhat; introduced enum for options and common handling of option variables
sql/ha_ndbcluster.cc:
  added control of usage of new node selection method
sql/mysqld.cc:
  added control of usage of new node selection method
2004-12-20 12:36:14 +01:00
unknown
f06f816100 A fix (bug #7281: RAND(RAND) crashes server). 2004-12-20 13:47:38 +04:00
unknown
6cbcd3423a Fix assertion failure in client_test when linked with the embedded
library: stmt_update_metadata (used when we update max_length
in mysql_stmt_store_result) needs valid row->length.


libmysqld/lib_sql.cc:
  row->length is asserted to be valid in stmt_update_metadata
2004-12-19 20:28:52 +03:00
unknown
b824756c00 mysql.cc:
Fix up mysql help messages.


client/mysql.cc:
  Fix up mysql help messages.
2004-12-18 14:30:00 -06:00
unknown
d8432ada2c fill_help_tables.sh:
Convert @samp{c} to 'c', not c.


scripts/fill_help_tables.sh:
  Convert @samp{c} to 'c', not c.
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-12-18 14:22:20 -06:00
unknown
8e1d38a6c6 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/mysql_src/mysql-4.1-clean
2004-12-18 18:31:49 +01:00
unknown
b1eb45210b Fix test results 2004-12-18 15:15:41 +00:00
unknown
02453262bc Merge Bug#7391 from 4.0
mysql-test/r/update.result:
  Auto merged
mysql-test/t/update.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/mysql-test-run.sh:
  Merge from 4.0
2004-12-18 15:12:10 +00:00
unknown
4e8e1ef30d Merge 2004-12-18 15:00:50 +01:00
unknown
047f790471 Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-4.0
into ltantony.rdg.cyberkinetica.homeunix.net:/usr/home/antony/work/bug7391.4
2004-12-18 11:59:10 +00:00
unknown
63e4725503 Fix test 2004-12-18 11:57:17 +00:00
unknown
2ca011d460 Simplify code during review 2004-12-18 13:45:19 +02:00
unknown
c892bc8bea my-innodb-heavy-4G.cnf.sh:
I fixed the typos in the transaction-isolation comments.
  I fixed the spelling mistakes in the comment.  It had tripped up a support 
  customer as they couldn't start the server with transaction-isolation=
  read-commited


support-files/my-innodb-heavy-4G.cnf.sh:
  I fixed the typos in the transaction-isolation comments.
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-12-17 22:25:35 -05:00
unknown
c6be66530a Remove bogus lines 2004-12-18 02:34:11 +00:00
unknown
4f9a0a06a8 Bug#7391 - Multi-table UPDATE security regression
Add in missing privilege checks. 
  Tests for the privileges.


mysql-test/r/grant.result:
  Bug#7391 - Multi-table UPDATE security regression
    Tests column, table and db level access
mysql-test/t/grant.test:
  Bug#7391 - Multi-table UPDATE security regression
    Tests column, table and db level access
sql/sql_update.cc:
  Bug#7391 - Multi-table UPDATE security regression
    Add in missing privilege checks.
2004-12-18 02:07:32 +00:00
unknown
9a202517f5 Fix for BUG#7358: removing warning reporting of mysqldump 4.1.8 when calling SHOW CREATE DATABASE, as we deal almost gracefully with it
(back to behaviour of 4.1.7). Warning was not fatal: mysqldump continued. And the good thing is that it helped spot that starting from 4.1.7,
SHOW CREATE DATABASE failed (if --single-transaction and first db has non-empty InnoDB table and there is a second db) and thus mysqldump
produced CREATE DATABASE statements missing the CHARACTER SET clause. Removing the bug which was in the server, and the warning reporting in
mysqldump (compatibility with old servers).


client/mysqldump.c:
  don't report errors as we deal almost gracefully with them (back to code of 4.1.7)
mysql-test/r/flush_block_commit.result:
  result update
mysql-test/t/flush_block_commit.test:
  let's verify that SHOW CREATE DATABASE succeeds even if connection has open transaction.
sql/sql_parse.cc:
  There is no reason to forbid SHOW CREATE DATABASE if connection has an open transaction
2004-12-17 23:37:43 +01:00
unknown
71981ad774 Delete files which were accidently created within the last push
BitKeeper/deleted/.del-tool_test.test~7a0c705c995ee523:
  Delete: mysql-test/t/tool_test.test
BitKeeper/deleted/.del-tool_test.result~ec1f972349e9e18:
  Delete: mysql-test/r/tool_test.result
BitKeeper/deleted/.del-ps_12func.test~78bc82c8a4a1ccae:
  Delete: mysql-test/t/ps_12func.test
BitKeeper/deleted/.del-ps_12func.result~d8cce403c6cb460e:
  Delete: mysql-test/r/ps_12func.result
BitKeeper/deleted/.del-patchwork-check.inc~45d0d076850f5c5b:
  Delete: mysql-test/include/patchwork-check.inc
2004-12-17 17:03:15 +01:00
unknown
c57b77363d Merge mleich@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/matthias/Arbeit/mysql-4.1/src
2004-12-17 13:09:25 +01:00
unknown
7b592c9e24 added TRACE to managemnt server
removed TRACE from management client


ndb/src/mgmclient/CommandInterpreter.cpp:
  removed TRACE from management client
ndb/src/mgmsrv/CommandInterpreter.cpp:
  added TRACE to managemnt server
ndb/src/mgmsrv/CommandInterpreter.hpp:
  added TRACE to managemnt server
2004-12-17 12:27:08 +01:00
unknown
fed6df70e0 Merge mleich@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/matthias/Arbeit/mysql-4.1/src
2004-12-17 12:15:25 +01:00
unknown
1780c9b349 removed more duplicated commands for management server 2004-12-17 12:03:08 +01:00
unknown
71424cb1c4 merge
ndb/src/mgmsrv/CommandInterpreter.cpp:
  Auto merged
ndb/src/ndbapi/Ndb.cpp:
  Auto merged
ndb/src/ndbapi/NdbConnection.cpp:
  Auto merged
ndb/src/ndbapi/NdbImpl.hpp:
  Auto merged
2004-12-17 11:11:04 +01:00
unknown
9aa76331a0 Merge mleich@bk-internal.mysql.com:/home/bk/mysql-4.1
into three.local.lan:/home/matthias/Arbeit/mysql-4.1/src
2004-12-17 11:02:44 +01:00
unknown
b3dd002999 enabled setting version for ndb 2004-12-17 10:55:00 +01:00
unknown
21162110fd CommandInterpreter.hpp, CommandInterpreter.cpp:
removed methods that are duplicated in management client


ndb/src/mgmsrv/CommandInterpreter.cpp:
  removed methods that are duplicated in management client
ndb/src/mgmsrv/CommandInterpreter.hpp:
  removed methods that are duplicated in management client
2004-12-17 10:40:56 +01:00
unknown
72c28731e9 merge
BitKeeper/etc/logging_ok:
  auto-union
configure.in:
  Auto merged
ndb/include/Makefile.am:
  Auto merged
ndb/include/kernel/LogLevel.hpp:
  Auto merged
ndb/include/mgmapi/mgmapi.h:
  Auto merged
ndb/include/ndbapi/NdbConnection.hpp:
  Auto merged
ndb/include/ndbapi/NdbDictionary.hpp:
  Auto merged
ndb/src/common/debugger/EventLogger.cpp:
  Auto merged
ndb/src/common/logger/FileLogHandler.cpp:
  Auto merged
ndb/src/common/logger/Logger.cpp:
  Auto merged
ndb/src/common/mgmcommon/ConfigRetriever.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/dbdih/Dbdih.hpp:
  Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
ndb/src/kernel/main.cpp:
  Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Auto merged
ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp:
  Auto merged
ndb/src/kernel/vm/Configuration.cpp:
  Auto merged
ndb/src/mgmapi/mgmapi.cpp:
  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/Services.hpp:
  Auto merged
ndb/src/mgmsrv/main.cpp:
  Auto merged
ndb/src/ndbapi/NdbConnection.cpp:
  Auto merged
ndb/src/ndbapi/TransporterFacade.cpp:
  Auto merged
ndb/src/ndbapi/ndberror.c:
  Auto merged
ndb/tools/Makefile.am:
  Auto merged
2004-12-17 10:36:14 +01:00
unknown
b181f610e1 bug#7379 & bug#7346 - ndb_restore
ndb/tools/restore/consumer_restore.cpp:
  1) Fix bug when blobs and multiple databases bug#7379
  2) Fix bug #7346
ndb/tools/restore/consumer_restore.hpp:
  Moved tuple handle into callback object 
    instead of having separate array
  Declared m_transactions volatile
2004-12-17 10:27:58 +01:00