1
0
mirror of https://github.com/MariaDB/server.git synced 2025-05-05 16:59:35 +03:00

6282 Commits

Author SHA1 Message Date
unknown
04e027156f Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2005-03-17 19:23:45 +01:00
unknown
262bed0a37 Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-5.0
into sinisa.nasamreza.org:/mnt/work/petica
2005-03-17 19:33:08 +02:00
unknown
25099e0902 sp.test:
Fix for a bug with test failing with Classic.


mysql-test/t/sp.test:
  Fix for a bug with test failing with Classic.
2005-03-17 19:26:36 +02:00
unknown
eec84895b7 Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0


sql/item.cc:
  Auto merged
2005-03-17 17:00:31 +01:00
unknown
ee98733152 endspace.result:
Update endspace.result now that InnoDB pads BLOBs properly with spaces in comparisons


mysql-test/r/endspace.result:
  Update endspace.result now that InnoDB pads BLOBs properly with spaces in comparisons
2005-03-17 17:44:28 +02:00
unknown
e4a2c7e92f endspace.result:
Someone has fixed the calculation of length() for a returned InnoDB VARCHAR value: update endspace.result to have the correct value length('teststring') == 10


mysql-test/r/endspace.result:
  Someone has fixed the calculation of length() for a returned InnoDB VARCHAR value: update endspace.result to have the correct value length('teststring') == 10
2005-03-17 17:44:26 +02:00
unknown
0c0a2d5590 after merge fix 2005-03-17 18:44:24 +03:00
unknown
17791f9500 Merge 4.1 -> 5.0
heap/hp_create.c:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/r/olap.result:
  Auto merged
mysql-test/t/func_str.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/key.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
sql/sql_string.h:
  Auto merged
client/mysqldump.c:
  Manual merge
mysql-test/r/func_gconcat.result:
  Manual merge
mysql-test/r/func_str.result:
  Manual merge
mysql-test/t/func_gconcat.test:
  Manual merge
sql/ha_heap.cc:
  Manual merge
sql/sql_select.cc:
  Manual merge
2005-03-17 16:51:07 +03:00
unknown
621abfacfe Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0
into gluh.mysql.r18.ru:/home/gluh/MySQL-MERGE/mysql-5.0
2005-03-17 13:25:19 +03:00
unknown
278e691ba8 Automerge
sql/log_event.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2005-03-17 10:10:26 +01:00
unknown
4079a85af4 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0
into gluh.mysql.r18.ru:/home/gluh/MySQL-MERGE/mysql-5.0
2005-03-17 11:02:11 +03:00
unknown
5c1b91f1ee Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0


sql/handler.cc:
  Auto merged
sql/lock.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2005-03-17 08:46:48 +01:00
unknown
3e4ae65a14 Merge
sql/key.cc:
  Auto merged
mysql-test/r/update.result:
  SCCS merged
mysql-test/t/update.test:
  SCCS merged
2005-03-17 10:59:25 +04:00
unknown
7ceb5c6cef A fix (bug #8942: SUBSTRING_INDEX in UPDATE causes internal loop).
sql/key.cc:
  A fix (bug #8942: SUBSTRING_INDEX in UPDATE causes internal loop).
  For "partial" key parts (e.g. key(a(20), ...) we create different
  key_part->field, see sql/table.cc; so we have to use the eq() 
  function here to compare fields.
2005-03-17 10:24:50 +04:00
unknown
2bbde22d84 Fixed two bugs in MySQL ACL.
First one is related to Bug#7905. One should not be allowed to
create new user with password without UPDATE privilege to
MySQL database. Furthermore, executing the same GRANT statement
twice would actually crash the server and corrupt privilege database.

Other bug was that one could update a column, using the existing
value as basis to calculate the new value (e.g. UPDATE t1 SET a=a+1)
without SELECT privilege to the field (a in the above example)

Fixed tests grant.pl and grant2, which were wrong.
2005-03-17 08:16:56 +02:00
unknown
a131e4d12d Merge rurik.mysql.com:/home/igor/mysql-4.1
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0


sql/item.h:
  Auto merged
2005-03-16 17:50:03 -08:00
unknown
31f6b0dde8 olap.result, olap.test:
Added a test for bug #8615.
sql_select.cc:
  Fixed bug #8615.
  This fix only removed the cause of the reported crash.
  It does not resolve other problems of rollup queries
  with DISTINCT. They were fixed in the previous patch 
  for bug 8616.


sql/sql_select.cc:
  Fixed bug #8615.
  This fix only removed the cause of the reported crash.
  It does not resolve other problems of rollup queries
  with DISTINCT. They were fixed in the previous patch 
  for bug 8616.
mysql-test/t/olap.test:
  Added a test for bug #8615.
mysql-test/r/olap.result:
  Added a test for bug #8615.
2005-03-16 15:55:04 -08:00
unknown
b766082bfb Merge with global tree
mysql-test/r/federated.result:
  merge
sql/ha_federated.cc:
  merge
2005-03-17 01:27:04 +02:00
unknown
1c5ca8061d Move handler dependent tests to the specific handler (myisam, bdb, innodb)
Enabled VARCHAR testing for innodb

NOTE: innodb.test currently fails becasue of a bug in InnoDB. 
I have informed Heikki about this and expect him to fix this ASAP


mysql-test/include/varchar.inc:
  Move handler dependent tests to the specific handler (myisam, bdb, innodb)
mysql-test/r/innodb.result:
  Added varchar tests
mysql-test/r/myisam.result:
  Update results
mysql-test/t/bdb.test:
  Move handler dependent tests to the specific handler (myisam, bdb, innodb)
mysql-test/t/innodb.test:
  Enabled VARCHAR testing
mysql-test/t/myisam.test:
  Move handler dependent tests to the specific handler (myisam, bdb, innodb)
sql/sql_parse.cc:
  Indentation fixes
sql/sql_table.cc:
  Fixed bug introduced when doing cleanup
2005-03-17 01:22:12 +02:00
unknown
94ad6930fb drop database on the right server :) 2005-03-16 23:56:37 +01:00
unknown
e28dc4c7ef log_event.cc:
#ifdef USING_TRANSACTIONS
ha_innodb.cc:
  comment
rpl_drop_temp.test, rpl_drop_temp.result:
  cleanup


mysql-test/r/rpl_drop_temp.result:
  cleanup
mysql-test/t/rpl_drop_temp.test:
  cleanup
sql/ha_innodb.cc:
  comment
sql/log_event.cc:
  #ifdef USING_TRANSACTIONS
2005-03-16 23:47:38 +01:00
unknown
b3ff091f15 Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0


sql/sql_parse.cc:
  Auto merged
2005-03-16 22:40:58 +01:00
unknown
06f59b28ab Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0


sql/item_func.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2005-03-16 22:59:06 +02:00
unknown
61a717f67e Merge pgalbraith@bk-internal.mysql.com:/home/bk/mysql-5.0
into krsna.:/home/patg/test/mysql-5.0
2005-03-16 12:56:40 -08:00
unknown
f9792042eb Fixed binlog.test failure which occured after patch implementing
WL#874 "Extended LOAD DATA" was pushed.


mysql-test/r/binlog.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results and made it more robust for future similar
  changes.
mysql-test/t/binlog.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results and made it more robust for future similar
  changes.
2005-03-16 23:12:27 +03:00
unknown
a97fd472a9 Merge pgalbraith@bk-internal.mysql.com:/home/bk/mysql-5.0
into krsna.:/home/patg/test/mysql-5.0
2005-03-16 12:05:58 -08:00
unknown
91df4830f2 Merge pcgem.rdg.cyberkinetica.com:/var/db/bk/work-acurtis/bug8670.2
into pcgem.rdg.cyberkinetica.com:/var/db/bk/work-acurtis/bug8670.3


sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2005-03-16 16:27:07 +00:00
unknown
1f91905231 merged
sql/ha_innodb.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2005-03-16 17:13:43 +01:00
unknown
a3869dd811 Merge pgalbraith@bk-internal.mysql.com:/home/bk/mysql-5.0
into krsna.:/home/patg/test/mysql-5.0
2005-03-16 07:55:56 -08:00
unknown
01774e960b Small fix to innodb.test that Heikki probably simply forgot to commit.
mysql-test/r/innodb.result:
  Added proper cleanup after test.
mysql-test/t/innodb.test:
  We don't expect error if we create varchar(16384) column in Innodb
  table anymore. (Heikki already removed error message from .result
  file.) Also we should do proper cleanup after the test.
2005-03-16 18:48:13 +03:00
unknown
98eecc7b35 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-4.1
2005-03-16 17:06:04 +02:00
unknown
6bd23c1877 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0
into gluh.mysql.r18.ru:/home/gluh/MySQL-MERGE/mysql-5.0
2005-03-16 17:37:28 +03:00
unknown
05e25d047a Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/dlenev/src/mysql-5.0-eld-exp
2005-03-16 17:14:08 +03:00
unknown
284b8b8b63 Cleanup during reviews
Removed some optional arguments
Fixed portability problem in federated tests


client/sql_string.cc:
  update from sql/sql_string.cc
client/sql_string.h:
  update from sql/sql_string.h
mysql-test/r/federated.result:
  Fixed error message
sql/field.cc:
  Cleanup during review
  Remove const in 'const unsigned int'
sql/field.h:
  Remove const in 'const unsigned int'
sql/ha_federated.cc:
  Better error string.  Add missing argument to error (before 'errno' was picked up from stack)
sql/handler.cc:
  Removed compiler warning
sql/item_func.cc:
  Cleanup during review
sql/item_sum.cc:
  Cleanup during review
sql/lock.cc:
  Remove optional arguments
sql/log_event.cc:
  Remove optional arguments
sql/mysql_priv.h:
  Remove optional arguments
  cahnge preapre_create_fields to use pointers instead of references
sql/opt_range.cc:
  Fix arguments so that return value is last
sql/sql_base.cc:
  Remove optional arguments
sql/sql_delete.cc:
  Remove optional arguments
sql/sql_error.cc:
  Remove optional arguments
sql/sql_help.cc:
  Remove optional arguments
sql/sql_parse.cc:
  Remove optional arguments
sql/sql_prepare.cc:
  Remove optional arguments
sql/sql_rename.cc:
  Remove optional arguments
sql/sql_select.cc:
  Remove optional arguments
sql/sql_show.cc:
  Cleanup during review
sql/sql_string.cc:
  Simple optimization
sql/sql_table.cc:
  Remove optional arguments
  Fixed indentation
sql/sql_update.cc:
  Remove optional arguments
sql/sql_yacc.yy:
  Change references to pointers
2005-03-16 16:11:01 +02:00
unknown
d5ec9ed899 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/dlenev/src/mysql-5.0-eld-exp
2005-03-16 17:00:13 +03:00
unknown
333fbf623f Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2005-03-16 15:44:31 +02:00
unknown
b3a5e5b1fd Bugs#9129: CHARSET(), COLLATION(), COERCIBILITY()
not always correct for NULL values.
Now they always result a non NULL value even
the argument is NULL. It is more usefull for 
debugging purposes.


mysql-test/r/func_str.result:
  Bugs#9129: CHARSET(), COLLATION(), COERCIBILITY()
  not always correct for NULL values.
  
  Also, a mistake in EXPORT_SET was fixed.
mysql-test/t/func_str.test:
  Bugs#9129: CHARSET(), COLLATION(), COERCIBILITY()
  not always correct for NULL values.
sql/item_func.cc:
  Bugs#9129: CHARSET(), COLLATION(), COERCIBILITY()
  not always correct for NULL values.
sql/item_strfunc.cc:
  Bugs#9129: CHARSET(), COLLATION(), COERCIBILITY()
  not always correct for NULL values.
  
  A minor mistake in EXPORT_SET() was fixed.
2005-03-16 17:44:29 +04:00
unknown
a5c87958a6 Fix for bug#8656: Crash with group_concat on alias in outer table
fixed result_field support of Item_ref
2005-03-16 16:44:28 +03:00
unknown
36c3583618 Fix to get --skip-ndb to work 2005-03-16 15:32:43 +02:00
unknown
8022fc8261 subselect2.result:
Update key lengths in EXPLAIN to reflect true VARCHARs


mysql-test/r/subselect2.result:
  Update key lengths in EXPLAIN to reflect true VARCHARs
2005-03-16 15:26:07 +02:00
unknown
9245168429 Fix for bug #7100: relay_log_space_max missing from SHOW VARIABLES 2005-03-16 15:57:57 +03:00
unknown
f21905e066 data0type.h, row0sel.c:
Fix a crash in a simple search with a key: the dtype->len of a true VARCHAR is the payload maximum len in bytes: it does not include the 2 bytes MySQL uses to store the string length
ha_innodb.cc:
  Fix a crash in true VARCHARs in test-innodb: we passed a wrong pointer to the column conversion in an UPDATE
rowid_order_innodb.result, ps_3innodb.result, innodb.result, endspace.result:
  Edit InnoDB test results to reflect the arrival of true VARCHARs


mysql-test/r/endspace.result:
  Edit InnoDB test results to reflect the arrival of true VARCHARs
mysql-test/r/innodb.result:
  Edit InnoDB test results to reflect the arrival of true VARCHARs
mysql-test/r/ps_3innodb.result:
  Edit InnoDB test results to reflect the arrival of true VARCHARs
mysql-test/r/rowid_order_innodb.result:
  Edit InnoDB test results to reflect the arrival of true VARCHARs
sql/ha_innodb.cc:
  Fix a crash in true VARCHARs in test-innodb: we passed a wrong pointer to the column conversion in an UPDATE
innobase/row/row0sel.c:
  Fix a crash in a simple search with a key: the dtype->len of a true VARCHAR is the payload maximum len in bytes: it does not include the 2 bytes MySQL uses to store the string length
innobase/include/data0type.h:
  Fix a crash in a simple search with a key: the dtype->len of a true VARCHAR is the payload maximum len in bytes: it does not include the 2 bytes MySQL uses to store the string length
2005-03-16 14:28:54 +02:00
unknown
964b6b31bb Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0
into gluh.mysql.r18.ru:/home/gluh/MySQL-MERGE/mysql-5.0
2005-03-16 13:37:08 +03:00
unknown
ec919d7428 Fixed behavior of LOAD DATA with subqueries in SET clause.
The idea is to use TABLE_LIST::lock_type for passing type of lock for
target table to mysql_load() instead of using LEX::lock_option 
(which were rewritten by first subselect in SET clause).

This should also fix potential problem with LOAD DATA in SP
(it is important for them to have right lock_type in the table
 list by the end of statement parsing).


mysql-test/r/loaddata.result:
  Added nice test for LOAD DATA with subquery.
mysql-test/t/loaddata.test:
  Added nice test for LOAD DATA with subquery.
sql/log_event.cc:
  Now we don't pass type of lock for target table to mysql_load()
  explicitly . Instead we use TABLE_LIST::lock_type for this table
  which is already properly set here.
sql/mysql_priv.h:
  Now we don't pass type of lock for target table to mysql_load()
  explicitly . Instead we properly set TABLE_LIST::lock_type for
  this table in parser.
sql/sql_load.cc:
  Now we don't pass type of lock for target table to mysql_load()
  explicitly . Instead we properly set TABLE_LIST::lock_type for
  this table in parser.
sql/sql_parse.cc:
  Now we don't pass type of lock for target table to mysql_load()
  explicitly . Instead we properly set TABLE_LIST::lock_type for
  this table in parser.
sql/sql_yacc.yy:
  load_data:
    Let us use TABLE_LIST::lock_type for passing type of lock for target
    table to mysql_load() instead of using LEX::lock_option (which will
    be rewritten by first subselect in SET clause).
2005-03-16 12:13:35 +03:00
unknown
6f36a062c9 mysql-test-run.sh:
Check that there is a disabled.def before using it
disabled.def:
  Reenable ndb tests accidently disabled


mysql-test/t/disabled.def:
  Reenable ndb tests accidently disabled
mysql-test/mysql-test-run.sh:
  Check that there is a disabled.def before using it
2005-03-16 09:23:38 +01:00
unknown
232dc9221d global read lock code now uses a dedicated mutex
(otherwise a deadlock when ALTER writes to
binlog holding LOCK_open, it causes binlog rotation,
binlog waits for prepared transactions to commit, and commit
needs LOCK_open to check for global read lock)


mysql-test/r/flush.result:
  global read lock code now uses a dedicated mutex
mysql-test/t/flush.test:
  global read lock code now uses a dedicated mutex
sql/lock.cc:
  global read lock code now uses a dedicated mutex
sql/mysql_priv.h:
  global read lock code now uses a dedicated mutex
sql/mysqld.cc:
  global read lock code now uses a dedicated mutex
sql/sql_table.cc:
  global read lock code now uses a dedicated mutex
2005-03-16 08:40:19 +01:00
unknown
e16535ce19 olap.result, olap.test:
Added a test case for bug #8616.
item.h:
  Fixed bug #8616.
  Added class Item_null_result used in rollup processing.
sql_select.h, sql_select.cc:
  Fixed bug #8616.
  Added JOIN::rollup_write_data to cover rollup queries
  with DISTINCT. Modified other rollup methods.


sql/sql_select.cc:
  Fixed bug #8616.
  Added JOIN::rollup_write_data to cover rollup queries
  with DISTINCT. Modified other rollup methods.
sql/sql_select.h:
  Fixed bug #8616.
  Added JOIN::rollup_write_data to cover rollup queries
  with DISTINCT. Modified other rollup methods.
sql/item.h:
  Fixed bug #8616.
  Added class Item_null_result used in rollup processing.
mysql-test/t/olap.test:
  Added a test case for bug #8616.
mysql-test/r/olap.result:
  Added a test case for bug #8616.
2005-03-15 22:50:54 -08:00
unknown
24dc8331f7 WL #2094 Federated Storage Engine
Changes to a test with a update to a table with 1001 columns, the last being a blob. 
On HP, the test worked properly, but on other OSs, there's a problem with using the 
blob column in an update where clause. The field method val_string(String *, char *) 
should work, but doesn't seem to deal with blobd, and for some reason, cannot get
the correct value of the blob column from the byte pointer in update_row, "*old_data"
which is a byte pointer to the row in mysql format, that will be replaced with 
"*new_data" (which conveniently has a field pointer to use to get values from).

Will document this.


mysql-test/r/federated.result:
  New test results. These results have been tested on production and hpita2 successfully.
mysql-test/t/federated.test:
  Changed blob column in this test due to some issues with HPUX handling it correctly
  and other OSs not. Will document this (blobs in update where clause)
2005-03-15 18:49:58 -08:00
unknown
5f75c8f5b4 WL#874 "Extended LOAD DATA".
Now one can use user variables as target for data loaded from file
(besides table's columns). Also LOAD DATA got new SET-clause in which
one can specify values for table columns as expressions.

For example the following is possible:
LOAD DATA INFILE 'words.dat' INTO TABLE t1 (a, @b) SET c = @b + 1;

This patch also implements new way of replicating LOAD DATA.
Now we do it similarly to other queries.
We store LOAD DATA query in new Execute_load_query event
(which is last in the sequence of events representing LOAD DATA).
When we are executing this event we simply rewrite part of query which
holds name of file (we use name of temporary file) and then execute it
as usual query. In the beggining of this sequence we use Begin_load_query
event which is almost identical to Append_file event


client/mysqlbinlog.cc:
  Added support of two new binary log events Begin_load_query_log_event and
  Execute_load_query_log_Event which are used to replicate LOAD DATA INFILE.
mysql-test/r/ctype_ucs.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results and made it more robust for future similar 
  changes.
mysql-test/r/insert_select.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results and made it more robust for future similar 
  changes.
mysql-test/r/loaddata.result:
  Added tests for new LOAD DATA features.
mysql-test/r/mix_innodb_myisam_binlog.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results (don't dare to get rid from binlog positions
  completely since it seems that this test uses them).
mysql-test/r/mysqlbinlog.result:
  New approach for binlogging of LOAD DATA statement. Now we store it as
  usual query and rewrite part in which file is specified when needed.
  So now mysqlbinlog output for LOAD DATA much more closer to its initial
  form. Updated test'd results accordingly.
mysql-test/r/mysqldump.result:
  Made test more robust to other tests failures.
mysql-test/r/rpl000015.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_change_master.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results.
mysql-test/r/rpl_charset.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly
mysql-test/r/rpl_deadlock.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly
mysql-test/r/rpl_error_ignored_table.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results and made it more robust for future similar 
  changes.
mysql-test/r/rpl_flush_log_loop.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_flush_tables.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results and made it more robust for future similar 
  changes.
mysql-test/r/rpl_loaddata.result:
  New way of replicating LOAD DATA. Now we do it similarly to other
  queries. We store LOAD DATA query in new Execute_load_query event
  (which is last in the sequence of events representing LOAD DATA).
  When we are executing this event we simply rewrite part of query which
  holds name of file (we use name of temporary file) and then execute it
  as usual query. In the beggining of this sequence we use Begin_load_query
  event which is almost identical to Append_file event...
  
  Updated test's results wwith new binlog positions.
mysql-test/r/rpl_loaddata_rule_m.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results and made it more robust for future similar 
  changes.
  Since now LOAD DATA is replicated much in the same way as usual query
  --binlog_do/ignore_db work for it inthe same way as for usual queries.
mysql-test/r/rpl_loaddata_rule_s.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_loaddatalocal.result:
  Added nice test for case when it is important that LOAD DATA LOCAL
  ignores duplicates.
mysql-test/r/rpl_log.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly (don't dare to get rid from binlog 
  positions completely since it seems that this test uses them).
mysql-test/r/rpl_log_pos.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_max_relay_size.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_multi_query.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_relayrotate.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_replicate_do.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_reset_slave.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_rotate_logs.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_server_id1.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_server_id2.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly.
mysql-test/r/rpl_temporary.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results and made it more robust for future similar 
  changes.
mysql-test/r/rpl_timezone.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results and made it more robust for future similar 
  changes.
mysql-test/r/rpl_until.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results accordingly and tweaked test a bit to bring it
  back to good shape.
mysql-test/r/rpl_user_variables.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results and made it more robust for future similar 
  changes.
mysql-test/r/user_var.result:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test's results and made it more robust for future similar 
  changes.
mysql-test/t/ctype_ucs.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly and made it more robust for future similar
  changes.
mysql-test/t/insert_select.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly and made it more robust for future similar
  changes.
mysql-test/t/loaddata.test:
  Added test cases for new LOAD DATA functionality.
mysql-test/t/mix_innodb_myisam_binlog.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly.
mysql-test/t/mysqlbinlog.test:
  New way of replicating LOAD DATA local. Now we do it similarly to other
  queries. We store LOAD DATA query in new Execute_load_query event
  (which is last in the sequence of events representing LOAD DATA).
  When we are executing this event we simply rewrite part of query which
  holds name of file (we use name of temporary file) and then execute it
  as usual query. In the beggining of this sequence we use Begin_load_query
  event which is almost identical to Append_file event...
  
  Thus we need new binlog positions for LOAD DATA events.
mysql-test/t/mysqlbinlog2.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly.
mysql-test/t/mysqldump.test:
  Made test more robust for failures of other tests.
mysql-test/t/rpl_charset.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly.
mysql-test/t/rpl_deadlock.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly.
mysql-test/t/rpl_error_ignored_table.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly and made it more robust for future similar
  changes.
mysql-test/t/rpl_flush_tables.test:
  Addition of two new types of binary log events shifted binlog positions.
  Made test more robust for future similar changes.
mysql-test/t/rpl_loaddata.test:
  New way of replicating LOAD DATA. Now we do it similarly to other
  queries. We store LOAD DATA query in new Execute_load_query event
  (which is last in the sequence of events representing LOAD DATA).
  When we are executing this event we simply rewrite part of query which
  holds name of file (we use name of temporary file) and then execute it
  as usual query. In the beggining of this sequence we use Begin_load_query
  event which is almost identical to Append_file event...
  
  Apropritely updated comments in test.
mysql-test/t/rpl_loaddata_rule_m.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly and made it more robust for future similar 
  changes.
  Since now LOAD DATA is replicated much in the same way as usual query
  --binlog_do/ignore_db work for it inthe same way as for usual queries.
mysql-test/t/rpl_loaddata_rule_s.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly.
mysql-test/t/rpl_loaddatalocal.test:
  Added nice test for case when it is important that LOAD DATA LOCAL
  ignores duplicates.
mysql-test/t/rpl_log.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly (don't dare to get rid from binlog positions
  completely since it seems that this test uses them).
mysql-test/t/rpl_log_pos.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly.
mysql-test/t/rpl_multi_query.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly.
mysql-test/t/rpl_temporary.test:
  Addition of two new types of binary log events shifted binlog positions.
  Made test more robust for future similar changes.
mysql-test/t/rpl_timezone.test:
  Addition of two new types of binary log events shifted binlog positions.
  Made test more robust for future similar changes.
mysql-test/t/rpl_until.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly and tweaked it a bit to bring it back to good
  shape.
mysql-test/t/rpl_user_variables.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly and made it more robust for future similar
  changes.
mysql-test/t/user_var.test:
  Addition of two new types of binary log events shifted binlog positions.
  Updated test accordingly and made it more robust for future similar
  changes.
sql/item_func.cc:
  Added Item_user_var_as_out_param class that represents user variable
  which used as out parameter in LOAD DATA.
  
  Moved code from Item_func_set_user_var::update_hash() function to
  separate static function to be able to reuse it in this new class.
sql/item_func.h:
  Added Item_user_var_as_out_param class that represents user variable
  which used as out parameter in LOAD DATA.
sql/log_event.cc:
  New way of replicating LOAD DATA. Now we do it similarly to other
  queries. We store LOAD DATA query in new Execute_load_query event
  (which is last in the sequence of events representing LOAD DATA).
  When we are executing this event we simply rewrite part of query which
  holds name of file (we use name of temporary file) and then execute it
  as usual query. In the beggining of this sequence we use Begin_load_query
  event which is almost identical to Append_file event.
sql/log_event.h:
  New way of replicating LOAD DATA. Now we do it similarly to other
  queries. We store LOAD DATA query in new Execute_load_query event
  (which is last in the sequence of events representing LOAD DATA).
  When we are executing this event we simply rewrite part of query which
  holds name of file (we use name of temporary file) and then execute it
  as usual query. In the beggining of this sequence we use Begin_load_query
  event which is almost identical to Append_file event.
sql/mysql_priv.h:
  Now mysql_load() has two more arguments. They are needed to pass list of
  columns and corresponding expressions from new LOAD DATA's SET clause.
sql/share/errmsg.txt:
  Added new error message which is used to forbid loading of data from
  fixed length rows to variables.
sql/sql_lex.h:
  Added LEX::fname_start/fname_end members. 
  They are pointers to part of LOAD DATA statement which should be
  rewritten during replication (file name + little extra).
sql/sql_load.cc:
  Added support for extended LOAD DATA. 
  Now one can use user variables as target for data loaded from file 
  (besides table's columns). Also LOAD DATA got new SET-clause in which
  one can specify values for table columns as expressions.
  
  Updated mysql_load()/read_fixed_length()/read_sep_field() to support
  this functionality (now they can read data from file to both columns and
  variables and assign do calculations and assignments specified in SET
  clause).
  
  We also use new approach for LOAD DATA binlogging/replication.
sql/sql_parse.cc:
  mysql_execute_command():
    Since now we have SET clause in LOAD DATA we should also check
    permissions for tables used in its expressions. Also mysql_load()
    has two more arguments to pass information about this clause.
sql/sql_repl.cc:
  New way of replicating LOAD DATA. Now we do it similarly to other
  queries. We store LOAD DATA query in new Execute_load_query event
  (which is last in the sequence of events representing LOAD DATA).
  When we are executing this event we simply rewrite part of query which
  holds name of file (we use name of temporary file) and then execute it
  as usual query. In the beggining of this sequence we use Begin_load_query
  event which is almost identical to Append_file event.
sql/sql_repl.h:
  struct st_load_file_info:
    Removed memebers which are no longer needed for LOAD DATA binnlogging.
sql/sql_yacc.yy:
  Added support for extended LOAD DATA syntax. Now one can use
  user variables as target for data loaded from file (besides table's 
  columns). Also LOAD DATA got new SET-clause in which one can specify
  values for table columns as expressions.
  
  For example the following is possible:
  LOAD DATA INFILE 'words.dat' INTO TABLE t1 (a, @b) SET c = @b + 1;
  
  Also now we save pointers to the beginning and to the end of part of 
  LOAD DATA statement which should be rewritten during replication.
2005-03-16 04:32:47 +03:00
unknown
8e7c17a868 Bug#8670
Rework to resolve ambigious grammer: conflict in join expression
  handling of parentheses for nested joins and derived tables.
  Tests included of failing statements
Optimize item construction for AND/OR logical expressions


mysql-test/r/select.result:
  Bug#8670
    Tests for failing expressions
mysql-test/t/select.test:
  Bug#8670
    Tests for failing expressions
sql/sql_parse.cc:
  Bug#8670
    method st_select_lex::end_nested_join() returns NULL when
    there are no elements in the join.
sql/sql_yacc.yy:
  Optimize construction for Item_cond_or and Item_cond_and
    Reduces object count in case of complex expressions.
  Bug#8670
    Solve ambigious grammar.
    Fix handling of parentheses in join expressions to
    correct handling of nested joins and derived tables.
2005-03-16 00:13:23 +00:00