Commit graph

23739 commits

Author SHA1 Message Date
unknown
936688feb5 A followup patch for Bug#7306 (limit in prepared statements):
don't evaluate subqueries during statement prepare, even if they
are not correlated.
With post-review fixes.


sql/mysql_priv.h:
  Add UNCACHEABLE_PREPARE to mark subqueries as non-constant in 
  mysql_stmt_prepare
sql/sql_lex.cc:
  Add a missing assert: noone can call unit::set_limit from 
  mysql_stmt_prepare.
sql/sql_lex.h:
  Comment fixed.
sql/sql_parse.cc:
  Mark new SELECT_LEXes as uncacheable if they created during 
  statement prepare.
sql/sql_prepare.cc:
  Switch off the uncacheable flag when prepare is done.
2005-06-08 00:34:53 +04:00
unknown
0bc3c6221c Enabling back part of sp.test which no longer fails in --ps-protocol mode
(Bug which caused its failure before was fixed in the beginning of March
 by the ChangeSet that introduced improved SP-locking).
2005-06-07 22:22:27 +04:00
unknown
829257e7ce Builds of 5.0.7 have begun, so anything added into this tree here will go into 5.0.8. 2005-06-07 19:28:43 +02:00
unknown
12ef4ff567 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0
into rurik.mysql.com:/home/igor/mysql-5.0
2005-06-07 09:11:37 -07:00
unknown
ef8115d61c Merge rurik.mysql.com:/home/igor/dev/mysql-4.1-0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0


myisam/mi_key.c:
  Auto merged
myisam/mi_rnext_same.c:
  Auto merged
mysql-test/r/ctype_utf8.result:
  Auto merged
2005-06-07 08:23:46 -07:00
unknown
d2f3847ab7 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2005-06-07 18:23:04 +03:00
unknown
72203dfb7b Merge mysql.com:/home/bkroot/mysql-5.0 into mysql.com:/home/bk/mysql-5.0
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
myisam/mi_key.c:
  Auto merged
mysql-test/r/ctype_utf8.result:
  Auto merged
2005-06-07 17:20:08 +02:00
unknown
07ad3fc4bf Merge paul@bk-internal.mysql.com:/home/bk/mysql-5.0
into frost.snake.net:/Volumes/frost2/MySQL/bk/mysql-5.0
2005-06-07 10:09:47 -05:00
unknown
3817ff00d0 Merge paul@bk-internal.mysql.com:/home/bk/mysql-5.0
into frost.snake.net:/Volumes/frost2/MySQL/bk/mysql-5.0


sql/mysqld.cc:
  Auto merged
2005-06-07 10:05:52 -05:00
unknown
d9a0ab4858 Typo in help message. 2005-06-07 10:03:09 -05:00
unknown
37e3dc839c Merge rurik.mysql.com:/home/igor/mysql-5.0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
2005-06-07 07:52:36 -07:00
unknown
9f938e8939 sql_yacc.yy:
Added missing ';'.


sql/sql_yacc.yy:
  Added missing ';'.
2005-06-07 07:48:56 -07:00
unknown
ed5b5420dc Merge mysql.com:/home/bkroot/mysql-5.0 into mysql.com:/home/bk/mysql-5.0
mysql-test/r/sp_trans.result:
  Auto merged
mysql-test/t/sp_trans.test:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2005-06-07 16:48:38 +02:00
unknown
887172a466 BUG#6883: Merge fixes
mysql-test/r/innodb.result:
  Minor fixes
mysql-test/r/rpl_ddl.result:
  Merge fixes
mysql-test/r/sp_trans.result:
  TRUNCATE now makes implicit commit
mysql-test/t/sp_trans.test:
  No error since we have inplicit commit
2005-06-07 16:43:43 +02:00
unknown
0d2788ba8c Merge mysql.com:/home/bkroot/mysql-4.1
into mysql.com:/home/bk/b6883-mysql-4.1
2005-06-07 16:31:10 +02:00
unknown
fff8ff08d0 Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/cps/mysql/trees/mysql-5.0
2005-06-07 17:58:14 +04:00
unknown
4e482bd3f2 several fixes to the previous patch
server-tools/instance-manager/instance_options.cc:
  fix order of if branches
server-tools/instance-manager/instance_options.h:
  portability fix
server-tools/instance-manager/parse_output.cc:
  remove stupid comment
server-tools/instance-manager/parse_output.h:
  portability fix
2005-06-07 17:57:20 +04:00
unknown
beb288f486 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1
into rurik.mysql.com:/home/igor/mysql-4.1
2005-06-07 06:48:21 -07:00
unknown
3145787db9 Merge rurik.mysql.com:/home/igor/dev/mysql-4.1-0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0


BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
myisam/mi_key.c:
  Auto merged
mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/r/ps_1general.result:
  Auto merged
mysql-test/r/ps_2myisam.result:
  Auto merged
mysql-test/r/ps_3innodb.result:
  Auto merged
mysql-test/r/ps_4heap.result:
  Auto merged
mysql-test/r/ps_5merge.result:
  Auto merged
sql/item_buff.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
2005-06-07 06:38:05 -07:00
unknown
d499ead64c Many files:
Fixed bug : erronious NOT_NULL flag for some attributes
  in the EXPLAIN table.


sql/sql_class.cc:
  Fixed bug : erronious NOT_NULL flag for some attributes
  in the EXPLAIN table.
mysql-test/r/ps_1general.result:
  Fixed bug : erronious NOT_NULL flag for some attributes
  in the EXPLAIN table.
mysql-test/r/ps_2myisam.result:
  Fixed bug : erronious NOT_NULL flag for some attributes
  in the EXPLAIN table.
mysql-test/r/ps_3innodb.result:
  Fixed bug : erronious NOT_NULL flag for some attributes
  in the EXPLAIN table.
mysql-test/r/ps_4heap.result:
  Fixed bug : erronious NOT_NULL flag for some attributes
  in the EXPLAIN table.
mysql-test/r/ps_5merge.result:
  Fixed bug : erronious NOT_NULL flag for some attributes
  in the EXPLAIN table.
2005-06-07 06:34:13 -07:00
unknown
270832b0a7 Merge mysql.com:/home/my/mysql-4.0 into mysql.com:/home/my/mysql-4.1
BitKeeper/etc/logging_ok:
  auto-union
myisam/mi_check.c:
  Auto merged
2005-06-07 16:34:10 +03:00
unknown
d4e921d639 Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/jonas/src/mysql-4.1
2005-06-07 15:25:21 +02:00
unknown
62321bd298 bug#11133 - ndb
incorrect handling of writeTuple with multi op transaction


ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
  1) Pass operation instead of insertIsDone to LQH
  2) transform operation correctly when in parallell que
     (multi op within same trans)
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Let ACC decide what operation was performed when WRITE
ndb/test/ndbapi/testNdbApi.cpp:
  Add testcase for bug 11133
ndb/test/run-test/daily-basic-tests.txt:
  Add testcase for bug 11133
2005-06-07 15:10:57 +02:00
unknown
e5a97df663 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0
into rurik.mysql.com:/home/igor/mysql-5.0
2005-06-07 06:07:18 -07:00
unknown
03a85abe90 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0
into rurik.mysql.com:/home/igor/mysql-5.0


sql/item.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-06-07 06:00:37 -07:00
unknown
f250f8214a Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/cps/mysql/trees/mysql-5.0
2005-06-07 16:56:31 +04:00
unknown
6083a2629d Merge lgrimmer@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/space/my/mysql-5.0
2005-06-07 14:47:59 +02:00
unknown
01a5d650c0 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2005-06-07 15:42:35 +03:00
unknown
31625bfac0 - added the libndbclient static and shared libraries to the RPM (BUG 10676)
support-files/mysql.spec.sh:
  - added the libndbclient static and shared libraries (BUG 10676)
2005-06-07 14:39:00 +02:00
unknown
e77314572d Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/opt/local/work/mysql-5.0-7306-final


sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2005-06-07 16:28:08 +04:00
unknown
8d2cf7388e Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/cps/mysql/trees/mysql-5.0
2005-06-07 16:11:17 +04:00
unknown
3dba83b95a Revert Bar's fix as this causes changes in the key tree that could cause incompatibilites
Fix instead wrong call to ha_key_cmp
This is related to bug  Inserting double value into utf8 column crashes server


myisam/mi_key.c:
  Revert Bar's fix as this causes changes in the key tree that could cause incompatibilites
myisam/mi_rnext_same.c:
  Fixed wrong arguments to ha_key_cmp()
  This caused a compare to fail if we first found a key with end space and then same key without end space
mysql-test/r/ctype_utf8.result:
  Additional test
mysql-test/t/ctype_utf8.test:
  Additional test
2005-06-07 15:09:49 +03:00
unknown
4a43eccac6 post-review fixes
server-tools/instance-manager/commands.cc:
  remove commented out code
server-tools/instance-manager/instance.cc:
  use flag instead of int variable
server-tools/instance-manager/instance.h:
  no more default values
server-tools/instance-manager/instance_map.cc:
  use flag to be more verbose
server-tools/instance-manager/instance_options.cc:
  don't read options when looking for an option, use strmake instead of strchr
server-tools/instance-manager/instance_options.h:
  fix comment, use flag instead of int value
server-tools/instance-manager/listener.cc:
  don't like c++ comments
server-tools/instance-manager/log.cc:
  safety: strmake adds trailing zero to the string
server-tools/instance-manager/parse_output.cc:
  use strmake instead of strncpy, renamed varianles to make code more readable
server-tools/instance-manager/parse_output.h:
  get rid of default value
2005-06-07 15:47:02 +04:00
unknown
596d9fb4b5 Merge rurik.mysql.com:/home/igor/mysql-5.0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
2005-06-07 04:31:42 -07:00
unknown
5c05594a24 Merge mysql.com:/home/bkroot/mysql-5.0 into mysql.com:/home/bk/mysql-5.0
mysql-test/r/innodb.result:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
2005-06-07 13:28:34 +02:00
unknown
8b15aba810 item_buff.cc:
Removed an extra space char.


sql/item_buff.cc:
  Removed an extra space char.
2005-06-07 04:21:19 -07:00
unknown
83af1d42e5 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/opt/local/work/mysql-5.0-7306-final
2005-06-07 14:56:06 +04:00
unknown
06a948c36b Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/dlenev/src/mysql-5.0-bg10015


sql/handler.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2005-06-07 14:54:48 +04:00
unknown
49357ae8f0 Fix for bug "Crash in InnoDB if stored routines are used".
We should not allow explicit or implicit transaction commits inside
of stored functions or triggers (so in autocommit mode we should not
do commits after execution of sub-statement).
Also since we don't support nested statement transactions in 5.0,
we shouldn't commit or rollback stmt transactions while we are inside
stored functions or triggers. This should be fixed in later (>=5.1)
releases.


mysql-test/r/sp_trans.result:
  Added test for bug  "Crash in InnoDB if stored routines are used"
  and for general transaction handling inside of functions.
mysql-test/t/sp_trans.test:
  Added test for bug  "Crash in InnoDB if stored routines are used"
  and for general transaction handling inside of functions.
sql/handler.cc:
  ha_trans_commit()/ha_trans_rollback():
    Since we don't support nested statement transactions in 5.0,
    we can't commit or rollback stmt transactions while we are inside
    stored functions or triggers. So we simply do nothing now.
    This should be fixed in later ( >= 5.1) releases.
sql/item_func.cc:
  Item_func_sp::execute():
    Set THD::transaction.in_sub_stmt flag to TRUE during stored function
    execution to prevent commits and rollbacks for statement level
    transactions, since doing them will ruin such transaction for
    stateemtn which calls this function.
sql/share/errmsg.txt:
  Added error message which says that statements doing explicit or implicit
  commits are disallowed in triggers and stored functions.
sql/sql_base.cc:
  close_thread_tables():
    Clarified comment about committing of statement transactions in
    prelocked mode.
sql/sql_class.h:
  THD::transaction:
    Added in_sub_stmt method which indicates that we are executing
    statements from trigger or stored function now, and thus
    statement transaction belongs to statement which invoked this
    routine and we should not commit or rollback it while executing
    these sub-statements.
sql/sql_parse.cc:
  end_active_trans()/begin_trans()/end_trans():
    We should not commit or rollback global (non-stmt) transaction
    if we are executing stored function or trigger. These checks will
    catch situation when we are trying to do commit or rollback in stored
    procedure which is called from function or trigger.
sql/sql_trigger.h:
  Table_triggers_list::process_triggers():
    Set THD::transaction.in_sub_stmt flag to TRUE during trigger
    execution to prevent commits and rollbacks for statement level
    transactions, since doing them will ruin such transaction for
    stateemtn which invokes this trigger.
sql/sql_yacc.yy:
  Prohibited usage of statements which do explicit or implicit commit or
  rollback inside of stored functions and triggers.
2005-06-07 14:53:08 +04:00
unknown
1531ab8710 Merge heikki@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/heikki/mysql-5.0
2005-06-07 13:50:45 +03:00
unknown
edb38786c9 Manual merge.
sql/item.h:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_handler.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2005-06-07 14:50:45 +04:00
unknown
c7787f8af1 Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.0
into a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-5.0
2005-06-07 13:50:44 +03:00
unknown
e9e0cc80b9 Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.0
into a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-5.0
2005-06-07 13:50:43 +03:00
unknown
54a947c164 Merge lgrimmer@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/space/my/mysql-5.0
2005-06-07 12:50:43 +02:00
unknown
202c149a46 ndb - backup/restore, fix count of dist keys
better fix for bug#10190


ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  better fix for bug#10190
2005-06-07 12:50:42 +02:00
unknown
c3c199938d Merge b6883-mysql-4.1 -> 5.0
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
myisam/mi_key.c:
  Auto merged
mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
mysql-test/r/innodb.result:
  Manual merge
sql/sql_parse.cc:
  Manual merge
2005-06-07 12:30:32 +02:00
unknown
571cf5db20 Merge rurik.mysql.com:/home/igor/mysql-4.1
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0
2005-06-07 03:12:12 -07:00
unknown
5188f031ae Patch two (the final one) for Bug#7306 "the server side preparedStatement
error for LIMIT placeholder".
The patch adds grammar support for LIMIT ?, ? and changes the
type of ST_SELECT_LEX::select_limit,offset_limit from ha_rows to Item*,
so that it can point to Item_param.


mysql-test/include/ps_modify.inc:
  Fix existing tests: now LIMIT can contain placeholders.
mysql-test/include/ps_query.inc:
  Fix existing tests: now LIMIT can contain placeholders.
mysql-test/r/ps.result:
  Add basic test coverage for LIMIT ?, ? and fix test results.
mysql-test/r/ps_2myisam.result:
  Fix test results: now LIMIT can contain placeholders.
mysql-test/r/ps_3innodb.result:
  Fix test results: now LIMIT can contain placeholders.
mysql-test/r/ps_4heap.result:
  Fix test results: now LIMIT can contain placeholders.
mysql-test/r/ps_5merge.result:
  Fix test results: now LIMIT can contain placeholders.
mysql-test/r/ps_6bdb.result:
  Fix test results: now LIMIT can contain placeholders.
mysql-test/r/ps_7ndb.result:
  Fix test results: now LIMIT can contain placeholders.
mysql-test/t/ps.test:
  Add basic test coverage for LIMIT ?, ?.
sql/item.h:
  Add a short-cut for (ulonglong) val_int() to Item.
  Add a constructor to Item_int() that accepts ulonglong.
  Simplify Item_uint constructor by using the c-tor above.
sql/item_subselect.cc:
  Now select_limit has type Item *.
  We can safely create an Item in Item_exists_subselect::fix_length_and_dec():
  it will be allocated in runtime memory root and freed in the end of
  execution.
sql/sp_head.cc:
  Add a special initalization state for stored procedures to 
  be able to easily distinguish the first execution of a stored procedure
  from prepared statement prepare.
sql/sql_class.h:
  Introduce new state 'INITIALIZED_FOR_SP' to be able to easily distinguish
  the first execution of a stored procedure from prepared statement prepare.
sql/sql_derived.cc:
  - use unit->set_limit() to set unit->select_limit_cnt, offset_limit_cnt
    evreryplace. Add a warning about use of set_limit in 
  mysql_derived_filling.
sql/sql_error.cc:
  - use unit->set_limit() to set unit->select_limit_cnt, offset_limit_cnt
    evreryplace.
  - this change is also aware of bug#11095 "show warnings limit 0 returns 
  all rows instead of zero rows", so the one who merges the bugfix from
  4.1 can use local version of sql_error.cc.
sql/sql_handler.cc:
  - use unit->set_limit() to initalize 
  unit->select_limit_cnt,offset_limit_cnt everyplace.
sql/sql_lex.cc:
  Now ST_SELECT_LEX::select_limit, offset_limit have type Item *
sql/sql_lex.h:
  Now ST_SELECT_LEX::select_limit, offset_limit have type Item *
sql/sql_parse.cc:
  - use unit->set_limit() to initalize 
  unit->select_limit_cnt,offset_limit_cnt everyplace. 
  - we can create an Item_int to set global limit of a statement:
  it will be created in the runtime mem root and freed in the end of
  execution.
sql/sql_repl.cc:
  Use unit->set_limit to initialize limits.
sql/sql_select.cc:
  - select_limit is now Item* so the proper way to check for default value
  is to compare it with NULL.
sql/sql_union.cc:
  Evaluate offset_limit_cnt using the new type of ST_SELECT_LEX::offset_limit
sql/sql_view.cc:
  Now ST_SELECT_LEX::select_limit, offset_limit have type Item *
sql/sql_yacc.yy:
  Add grammar support for LIMIT ?, ? clause.
2005-06-07 14:11:36 +04:00
unknown
ecd32735e2 Merge rurik.mysql.com:/home/igor/dev/mysql-4.1-0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0


mysql-test/r/group_by.result:
  Auto merged
sql/item.h:
  Auto merged
sql/item_buff.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-06-07 03:07:42 -07:00
unknown
4da133cabf sql_select.cc, item_buff.cc, item.h:
Fixed bug : a crash for queries with GROUP BY a BLOB column
  + COUNT(DISTINCT...) due to an attempt to allocate a too large
  buffer for the BLOB field.
  Now the size of the buffer is limited by max_sort_length.
group_by.test, group_by.result:
  Added a test case for bug .


mysql-test/r/group_by.result:
  Added a test case for bug .
mysql-test/t/group_by.test:
  Added a test case for bug .
sql/item.h:
  Fixed bug : a crash for queries with GROUP BY a BLOB column
  + COUNT(DISTINCT...) due to an attempt to allocate a too large
  buffer for the BLOB fields.
  Now the size of the buffer is limited by max_sort_length.
sql/item_buff.cc:
  Fixed bug : a crash for queries with GROUP BY a BLOB column
  + COUNT(DISTINCT...) due to an attempt to allocate a too large
  buffer for the BLOB fields.
  Now the size of the buffer is limited by max_sort_length.
sql/sql_select.cc:
  Fixed bug : a crash for queries with GROUP BY a BLOB column
  + COUNT(DISTINCT...) due to an attempt to allocate a too large
  buffer for the BLOB fields.
  Now the size of the buffer is limited by max_sort_length.
2005-06-07 03:05:57 -07:00