1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-07 06:01:31 +03:00
Commit Graph

13691 Commits

Author SHA1 Message Date
e996362040 test of row locking. 2007-04-05 16:04:31 +02:00
23e92aca5a Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb


sql/item_func.cc:
  Auto merged
2007-04-05 10:24:37 +02:00
8f21b31d67 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-04-05 10:20:56 +02:00
9170a3c184 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb


sql/ha_ndbcluster.cc:
  Auto merged
2007-04-05 09:18:37 +02:00
f6a9b254af Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-04-05 09:18:36 +02:00
e8a0ac29a7 Bug#27644 ndb: connecting api node/mysqld may "steal" node_id from running mysqld
- test case workaround to avoid random failures
2007-04-05 09:12:30 +02:00
499d058c2d Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb


include/my_base.h:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_trigger.h:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Merge
2007-04-05 08:39:12 +02:00
bb8fb9e9e6 Merge dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.0/mysql-5.0-ndb
into  dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.0/mysql-5.0-ndb-bj.merge


sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2007-04-05 11:30:19 +08:00
b5d13fcbbf Bug#27344 Total failure to start the server
- length($sockdir) >= 80 !!


mysql-test/mysql-test-run.pl:
  Change check to create a tmp file for socket if length($sockdir) >= 80 !!
2007-04-04 19:19:26 +02:00
2490b18c76 Bug#27344 Total failure to start the server
- length($sockdir) >= 80 !!


mysql-test/mysql-test-run.pl:
  Create a shorter sockdir path as soon as length of sockdir path is equal to 80
2007-04-04 19:16:09 +02:00
6aa11eebc5 Skip test cases if the script or binary they need can't be found
mysql-test/mysql-test-run.pl:
  Move some opt_extern hacks to same place.
  Remove duplicate opt_skip_im=1 if opt_extern
mysql-test/t/fix_priv_tables.test:
  Skip test if $MYSQL_FIX_PRIVILEGE_TABLES is not set
mysql-test/t/system_mysql_db_fix30020.test:
  Skip test if $MYSQL_FIX_SYSTEM_TABLES is not set
mysql-test/t/system_mysql_db_fix40123.test:
  Skip test if $MYSQL_FIX_PRIVILEGE_TABLES is not set
2007-04-04 15:40:40 +02:00
5ae0ce281c Merge pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint


client/mysqltest.c:
  Auto merged
mysql-test/t/mysqltest.test:
  Auto merged
mysql-test/r/mysqltest.result:
  SCCS merged
2007-04-04 15:17:00 +02:00
aaaf498146 Add expansion of $variables in "let from query",
"if with query" and "while with query"
2007-04-04 15:09:12 +02:00
2efc0f51cf Bug #26242 UPDATE with subquery and triggers failing with cluster tables
In certain cases AFTER UPDATE/DELETE triggers on NDB tables that referenced
subject table didn't see the results of operation which caused invocation
of those triggers. In other words AFTER trigger invoked as result of update
(or deletion) of particular row saw version of this row before update (or
deletion).

The problem occured because NDB handler in those cases postponed actual
update/delete operations to be able to perform them later as one batch.

This fix solves the problem by disabling this optimization for particular
operation if subject table has AFTER trigger for this operation defined.
To achieve this we introduce two new flags for handler::extra() method:
HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH.
These are called if there exists AFTER DELETE/UPDATE triggers during a
statement that potentially can generate calls to delete_row()/update_row().
This includes multi_delete/multi_update statements as well as insert statements
that do delete/update as part of an ON DUPLICATE statement.


include/my_base.h:
  Added HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of delete/update is not possible.
mysql-test/r/ndb_trigger.result:
  Bug #26242  UPDATE with subquery and triggers failing with cluster tables
  ---
  Added new test cases
mysql-test/t/ndb_trigger.test:
  Bug #26242  UPDATE with subquery and triggers failing with cluster tables
  ---
  Added new test cases
sql/ha_ndbcluster.cc:
  Bug #26242  UPDATE with subquery and triggers failing with cluster tables: Use HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of delete/update is not possible
sql/ha_ndbcluster.h:
  Bug #26242  UPDATE with subquery and triggers failing with cluster tables: Added member variables for handling of HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of delete/update is not possible
sql/mysql_priv.h:
  Added new method prepare_triggers_for_insert_stmt to check if batching of delete/update must be disallowed.
sql/sql_delete.cc:
  Use HA_EXTRA_DELETE_CANNOT_BATCH to inform handler when batching of delete is not possible
sql/sql_insert.cc:
  Added method prepare_triggers_for_insert_stmt to check if batching of delete/update must be dissallowed.
  Use HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler
   when batching of delete/update is not possible
sql/sql_load.cc:
  Call prepare_triggers_for_insert_stmt to check if batching of delete/update must be dissallowed and
  mark fields used by triggers for the insert statement.
sql/sql_trigger.h:
  Added has_triggers to support what particular triggers exist on a table.
sql/sql_update.cc:
  Use HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of update is not possible
2007-04-04 12:50:39 +02:00
89aa5548ce Merge magare.gmz:/home/kgeorge/mysql/work/B27513-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B27513-5.0-opt
2007-04-04 13:38:57 +03:00
dbd125fd90 BUG 27513: fixed left-over sql mode from a test case. 2007-04-04 13:38:19 +03:00
1895cdb34d Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg04/50


sql/item_func.cc:
  Auto merged
2007-04-04 11:06:48 +02:00
e079dbd7ec Only check for warnings produced by mysqltest if --check-testcases 2007-04-04 10:59:00 +02:00
7603ed9f27 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B27513-5.0-opt
2007-04-04 11:52:53 +03:00
201a343a71 Merge olga.mysql.com:/home/igor/mysql-4.1-opt
into  olga.mysql.com:/home/igor/mysql-5.0-opt


mysql-test/r/order_by.result:
  Manual merge
mysql-test/t/order_by.test:
  Manual merge
2007-04-03 22:24:57 -07:00
e488e6f23a Improved coverage for the code added to fix bug 27532. 2007-04-03 19:45:37 -07:00
da037917b2 Fix after manual merge 2007-04-03 17:09:41 -07:00
5fb8970129 Merge olga.mysql.com:/home/igor/mysql-4.1-opt
into  olga.mysql.com:/home/igor/mysql-5.0-opt


sql/item_cmpfunc.cc:
  Auto merged
mysql-test/r/order_by.result:
  Manual merge
mysql-test/t/order_by.test:
  Manual merge
sql/item_cmpfunc.h:
  Manual merge
2007-04-03 16:11:27 -07:00
0ee34b1ca2 Fixed bug #27532: wrong results with ORDER/GROUP BY queries containing
IN/BETWEEN predicates in sorting expressions.
Wrong results may occur when the select list contains an expression
with IN/BETWEEN predicate that differs from a sorting expression by
an additional NOT only.
 
Added the method Item_func_opt_neg::eq to compare correctly expressions
containing [NOT] IN/BETWEEN.
The eq method inherited from the Item_func returns TRUE when comparing
'a IN (1,2)' with 'a NOT IN (1,2)' that is not, of course, correct.  


mysql-test/r/order_by.result:
  Added a test case for bug #27532.
mysql-test/t/order_by.test:
  Added a test case for bug #27532.
sql/item_cmpfunc.cc:
  Fixed bug #27532.
  Added the method Item_func_opt_neg::eq to compare correctly expressions
  containing [NOT] IN/BETWEEN.
  The eq method inherited from the Item_func returns TRUE when comparing
  'a IN (1,2)' with 'a NOT IN (1,2)' that is not, of course, correct.
sql/item_cmpfunc.h:
  Added the method Item_func_opt_neg::eq to compare correctly expressions
  containing [NOT] IN/BETWEEN.
  The eq method inherited from the Item_func returns TRUE when comparing
  'a IN (1,2)' with 'a NOT IN (1,2)' that is not, of course, correct.
2007-04-03 14:32:16 -07:00
7bf304a6bd Bug #27513: test case added to make sure this
crash bug doesn't reappear.


mysql-test/r/errors.result:
  Bug #27513: test case
mysql-test/t/errors.test:
  Bug #27513: test case
2007-04-03 18:00:57 +03:00
bceecfa820 Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-marvel


client/mysql.cc:
  Auto merged
heap/hp_write.c:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2007-04-03 13:55:20 +02:00
7e08016a91 Fix for BUG#27337: Privileges are not properly restored.
The problem was that THD::db_access variable was not restored after
database switch in stored-routine-execution code.

The fix is to restore THD::db_access in this case.

Unfortunately, this fix requires additional changes,
because in prepare_schema_table(), called on the parsing stage, we checked
privileges. That was wrong according to our design, but this flaw haven't
struck so far, because it was masked. All privilege checkings must be
done on the execution stage in order to be compatible with prepared statements
and stored routines. So, this patch also contains patch for
prepare_schema_table(), which moves the checkings to the execution phase.


mysql-test/r/grant.result:
  Updated result file.
mysql-test/t/grant.test:
  Added test case for BUG#27337.
sql/mysql_priv.h:
  Added function declaration.
sql/sql_db.cc:
  Fix for BUG#27337 -- set THD::db_access even if we're called
  from stored-routine-execution code.
sql/sql_parse.cc:
  Split prepare_schema_table() into two functions:
    - prepare_schema_table(), which is called from the parser (parsing stage);
    - check_show_access(), which is called on the execution stage.
sql/sql_show.cc:
  Ignore schema_select_lex member if its table is NULL.
2007-04-03 15:11:34 +04:00
5203ea6ccb BUG#18676 when cluster storage engine is down, misleading error message on create table with 4009.
mysql-test/r/ndb_autodiscover.result:
  changes ndbd error code to mysqld error code when no cluster connection
sql/ha_ndbcluster.cc:
  map 4009 error code to mysql not connected error
sql/handler.cc:
  define return codes to ha_table_exists_in_engine to something useful
    NOTE: in 5.1 this should call a handlerton method, not horrible ifdef ndb stuff
sql/sql_table.cc:
  clearly define what happens on create table if exits/not exists/not connected to engine
2007-04-03 18:44:29 +08:00
e95357d72f Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG25729/mysql-5.0-engines


sql/item_func.cc:
  Auto merged
2007-04-03 12:11:51 +05:00
57986e7377 Look for "testname.warnings" file produced by mysqltest, could find
problems like misspelled -- commands
2007-04-02 22:58:25 +02:00
91ab5b4f25 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  recycle.(none):/src/bug23491_ii/my50-bug23491_ii
2007-04-02 16:25:06 -04:00
f7417a299e Minor test cleanup.
mysql-test/t/mysqldump.test:
  Fix for failing Windows test.
2007-04-02 16:21:12 -04:00
29fe12509c Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime


sql/item_func.cc:
  Auto merged
2007-04-02 22:06:15 +04:00
3c763afc9c BUG#25729 - boolean full text search is confused by NULLs produced by
LEFT JOIN
Fixed that in certain situations MATCH ... AGAINST returns false hits
for NULLs produced by LEFT JOIN when there is no fulltext index
available.


mysql-test/r/fulltext_left_join.result:
  A test case for BUG#25729.
mysql-test/t/fulltext_left_join.test:
  A test case for BUG#25729.
sql/item_func.cc:
  concat_ws(NULL) returns empty string instead of NULL. There is not much
  sense to calculate relevance for empty strings, thus return 0 immediately
  if we got NULL or empty string from concat_ws.
sql/item_func.h:
  Item_func_match::concat renamed to concat_ws.
2007-04-02 17:26:39 +05:00
8033d64e13 Bug#21611 Slave can't connect when master-ssl-cipher specified
- Change check for return value of 'SSL_CTX_set_cipher_list'
   in order to handle 0 as error setting cipher.
 - Thanks to Dan Lukes for finding the problem!


mysql-test/r/openssl_1.result:
  Update result
mysql-test/t/openssl_1.test:
  Add test for setting ssl-cipher to be used
vio/viosslfactories.c:
  Change error handling of SSL_CTX_set_cipher_list to
  detect 0 as an error
2007-04-02 13:12:59 +02:00
d03c7d2d28 Bug#27069 set with identical elements are created
added the check for unique elements count in SET


mysql-test/r/type_set.result:
  test result
mysql-test/t/type_set.test:
  test case
sql/field.cc:
  removed the check for elements count in SET
sql/sql_table.cc:
  added the check for unique elements count in SET
2007-04-02 15:01:19 +05:00
3378a48698 Merge pilot.blaudden:/home/msvensson/mysql/mysql-5.0
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint


mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/create.result:
  Auto merged
mysql-test/r/type_datetime.result:
  Auto merged
sql/field.h:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/r/gis.result:
  SCCS merged
mysql-test/t/gis.test:
  SCCS merged
2007-04-02 10:50:39 +02:00
96d879cb4b Merge pilot.blaudden:/home/msvensson/mysql/mysql-4.1
into  pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
2007-04-02 10:48:11 +02:00
44d4940fcc Merge pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint


myisam/mi_open.c:
  Auto merged
sql/table.cc:
  Auto merged
mysql-test/r/create.result:
  SCCS merged
mysql-test/t/create.test:
  SCCS merged
2007-04-02 10:42:08 +02:00
0bb2f43d2e Cset exclude: tsmith@siva.hindu.god|ChangeSet|20070328212513|13373
myisam/mi_open.c:
  Exclude
mysql-test/r/create.result:
  Exclude
mysql-test/t/create.test:
  Exclude
sql/table.cc:
  Exclude
2007-04-02 10:39:23 +02:00
5bf24b2b86 Fix spelling error 2007-04-02 10:17:29 +02:00
fde587ebec Bug#27049 Race condition in test mysqlbinlog.test
Remove the setting of --local-load parameter for mysqlbinlog and leave that to the testcases
to decide what params to use.


mysql-test/mysql-test-run.pl:
  Remove the setting of --local-load parameter for mysqlbinlog and leave that to the testcases
  to decide what params to use.
2007-04-02 10:14:45 +02:00
f249185b6e Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-opt


sql/sql_select.cc:
  Auto merged
2007-04-02 03:56:39 +02:00
407389bae4 Add correct replace 2007-03-31 17:18:03 +02:00
ff979b76ca Bug#27049 Race condition in test mysqlbinlog.test
- Add --local-load option to avoidthat the load data file requested
   by mysqlbinlog end up in local var/tmp dir and not in system global
   tmpdir


mysql-test/t/mysqlbinlog.test:
  Add --local-load option to avoidthat the load data file requested
  by mysqlbinlog end up in local var/tmp dir and not in system global
  tmpdir
2007-03-31 15:07:48 +02:00
0c6731fdfa Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge


sql/sql_base.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/table.h:
  Auto merged
2007-03-31 12:36:50 +02:00
97c4143e3a Merge bk-internal.mysql.com:/data0/bk/mysql-4.1
into  bk-internal.mysql.com:/data0/bk/mysql-4.1-opt
2007-03-31 09:52:18 +02:00
55b096b8f0 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG26138/mysql-5.0-engines
2007-03-31 12:24:28 +05:00
7887a74491 Fixed bug #27154: memory corruption when using row equalities in where
conditions.
When allocating memory for KEY_FIELD/SARGABLE_PARAM structures the
function update_ref_and_keys did not take into account the fact that
a single row equality could be replaced by several simple equalities.
Fixed by adjusting the counter cond_count accordingly for each subquery
when performing substitution of a row equality for simple equalities. 
 


mysql-test/r/row.result:
  Added a test case for bug #27154.
mysql-test/t/row.test:
  Added a test case for bug #27154.
2007-03-31 00:23:03 -07:00
8aa507edb9 Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-opt
2007-03-31 05:31:35 +02:00