Commit graph

20826 commits

Author SHA1 Message Date
unknown
b1095fb0cd Manual merge SP-locking improvements patch with current tree.
mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/r/sp.result:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sp_rcontext.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/table.h:
  Auto merged
sql/sp_head.cc:
  Manual merge.
sql/sql_class.cc:
  Manual merge.
sql/sql_parse.cc:
  Manual merge.
sql/sql_yacc.yy:
  Manual merge.
2005-03-04 17:46:45 +03:00
unknown
ac9f68b9fa Better approach for prelocking of tables for stored routines execution
and some SP-related cleanups.

- We don't have separate stage for calculation of list of tables
  to be prelocked and doing implicit LOCK/UNLOCK any more.
  Instead we calculate this list at open_tables() and do implicit
  LOCK in lock_tables() (and UNLOCK in close_thread_tables()).
  Also now we support cases when same table (with same alias) is
  used several times in the same query in SP.

- Cleaned up execution of SP. Moved all common code which handles
  LEX and does preparations before statement execution or complex
  expression evaluation to auxilary sp_lex_keeper class. Now 
  all statements in SP (and corresponding instructions) that
  evaluate expression which can contain subquery have their
  own LEX.


mysql-test/r/lock.result:
  Replaced wrong error code with the correct one after fixing bug in
  SP-locking.
mysql-test/r/mysqldump.result:
  Added dropping of view which is used in test to its beginning.
mysql-test/r/sp.result:
  Added tests for improved SP-locking.
  Temporarily disabled tests for SHOW PROCEDURE STATUS and alike
  (Until Monty will allow to open mysql.proc under LOCK TABLES without
  mentioning it in lock list).
  Replaced wrong results of test for bug #5240 with correct results after
  fixing bug in handling of cursors.
mysql-test/t/lock.test:
  Replaced wrong error code with the correct one after fixing bug in
  SP-locking.
mysql-test/t/mysqldump.test:
  Added dropping of view which is used in test to its beginning.
mysql-test/t/sp.test:
  Added tests for improved SP-locking.
  Temporarily disabled tests for SHOW PROCEDURE STATUS and alike
  (Until Monty will allow to open mysql.proc under LOCK TABLES without
  mentioning it in lock list).
  Removed test for bug #1654 since we already test exactly this function
  in one of SP-locking tests.
  Removed comment about cursor's wrong behavior in test for bug #5240
  after fixing bug which was its cause.
sql/item_func.cc:
  Removed comment which is no longer true.
sql/mysql_priv.h:
  Changed open_tables() signature.
  Now its 2nd parameter is in/out since it can add elements to table list.
sql/sp.cc:
  sp_find_procedure():
   Added one more parameter which enforces cache only lookup.
  
  sp_merge_hash():
   Now uses its return value to indicate that first of two hashes changed
   as result of merge.
  
  sp_cache_routines():
   This function caches all stored routines used in query now.
sql/sp.h:
  - sp_find_procedure() now has one more parameter which enforces cache only
    lookup.
  - sp_merge_hash() now uses its return value to indicate that first of two
    hashes changed as result of merge.
  - sp_cache_routines() caches all stored routines now. So it does not need
    third argument any more.
sql/sp_head.cc:
  sp_head::sp_head():
   Added initialization of new m_spfuns and m_spprocs members.
  
  sp_head::execute():
   Let us save/restore part of thread context which can be damaged by
   execution of instructions.
  sp_head::execute_function()/execute_procedure():
   Now it is responsibility of caller to close tables used in
   subqueries which are passed as routine parameters.
  
  sp_head::restore_lex():
   Let us accumulate information about routines used by this one
   in new m_spfuns, m_spprocs hashes.
  
  sp_lex_keeper::reset_lex_and_exec_core()
   Main method of new auxilary sp_lex_keeper class to which instructions 
   delegate responsibility for handling LEX and preparations before
   executing statement or calculating complex expression.
  
  Since all instructions which calculate complex expression or execute
  command now use sp_lex_keeper they have to implement
  sp_instr::exec_core() method. Most of instruction specific logic
  has moved from sp_instr::execute() to this new method.
  
  Removed sp_instr_set_user_var class which is no longer used, because
  nowdays we allow execution of statements in stored functions and
  triggers.
  
  sp_merge_table_list() became sp_head::merge_table_list() method. It
  also treats sp_head::m_sptabs as multi-set of tables now.
  
  sp_hash_to_table_list() became sp_head::add_used_tables_to_table_list().
  It takes into account that sp_head::m_sptabs is multi-set and allocates
  object into persistent arena of PS.
  
  Removed sp_merge_table_hash(), sp_open_and_lock_tables(),
  sp_unlock_tables(), sp_merge_routine_tables() methods since they are not
  used by new prelocking mechanism.
  
  Added sp_add_sp_tables_to_table_list() which serves for adding tables needed
  by routines used in query to the query table list for prelocking.
sql/sp_head.h:
  class sp_head:
  - Added m_spfuns, m_spprocs members for storing names of routines used
    by this routine.
  - Added add_used_tables_to_table_list() method which allows to add
    tables needed by this routine to query's table list.
  - Converted sp_merge_table_list() to sp_head::merge_table_list() method.
  - Changed semantics of THD::m_sptabs. Now it is multi-set which contains
    only tables which are used by this routine and not routines that are
    called from this one.
  
  Removed sp_merge_routine_tables(), sp_merge_table_hash(),
  sp_open_and_lock_tables(), sp_unlock_tables() calls since they are not
  used for our prelocking list calculation.
  
  Added auxilary sp_lex_keeper class to which instructions delegate
  responsibility for handling LEX and preparations before executing
  statement or calculating complex expression. This class uses
  new sp_instr::exec_core() method which is responsible for executing
  instruction's core function after all preparations were made.
  
  All instructions which hold and calculate complex expression now have
  their own LEX (by aggregating sp_lex_keeper instance). sp_instr_stmt
  now uses sp_lex_keeper too.
  
  Removed sp_instr_set_user_var class which is no longer used, because
  nowdays we allow execution of statements in stored functions and
  triggers.
sql/sp_rcontext.cc:
  Now sp_cursor holds pointer to sp_lex_keeper instead of LEX.
sql/sp_rcontext.h:
  Now sp_cursor holds pointer to sp_lex_keeper instead of LEX.
sql/sql_acl.cc:
  acl_init(), grant_init():
    Now we use simple_open_n_lock_tables() instead of explicit
    calls to open_tables() and mysql_lock_tables().
sql/sql_base.cc:
  Implemented support for execution of statements in "prelocked" mode.
  
  When we have statement which uses stored routines explicitly or
  implicitly (via views or triggers) we have to open and lock all tables
  for these routines at the same time as tables for the main statement.
  In fact we have to do implicit LOCK TABLES at the begining of such
  statement and implict UNLOCK TABLES at its end. We call such mode
  "prelocked".
  
  When open_tables() is called for the statement tables which are needed
  for execution of routines used by it are added to its tables list
  (this process also caches all routines used). Implicit use of routines
  is discovered when we open view or table with trigger and apropriate
  tables are added to the table list at this moment. Statement which has
  such extra tables in its list (well actually any that uses functions)
  is marked as requiring prelocked mode for its execution.
  
  When lock_tables() sees such statement it will issue implicit LOCK TABLES
  for this extended table list instead of doing usual locking, it will also
  set THD::prelocked_mode to indicate that we are in prelocked mode.
  
  When open_tables()/lock_tables() are called for statement of stored
  routine (substatement), they notice that we are running in prelocked mode
  and use one of prelocked tables from those that are not used by upper
  levels of execution.
  
  close_thread_tables() for substatement won't really close tables used
  but will mark them as free for reuse instead.
  
  Finally when close_thread_tables() is called for the main statement it
  really unlocks and closes all tables used.
  
  Everything will work even if one uses such statement under real LOCK
  TABLES (we are simply not doing implicit LOCK/UNLOCK in this case).
sql/sql_class.cc:
  Added initialization of THD::prelocked_mode member.
sql/sql_class.h:
  - Added prelocked_mode_type enum and THD::prelocked_mode member
    which are used for indication whenever "prelocked mode" is on 
    (i.e. that statement uses stored routines and is executed under
     implicit LOCK TABLES).
  - Removed THD::shortcut_make_view which is no longer needed.
    We use TABLE_LIST::prelocking_placeholder for the same purprose
    now.
sql/sql_handler.cc:
  Changed open_tables() invocation.
  Now its 2nd parameter is in/out since it can add elements to table list.
sql/sql_lex.cc:
  lex_start():
    Added initialization of LEX::query_tables_own_last.
    Unused LEX::sptabs member was removed.
  st_lex::unlink_first_table()/link_first_table_back():
    We should update LEX::query_tables_last properly if table list
    contains(ed) only one element.
sql/sql_lex.h:
  LEX:
  - Removed sptabs member since it is no longer used.
  - Added query_tables_own_last member, which if non-0 indicates that
    statement requires prelocking (implicit LOCK TABLES) for its execution
    and points to last own element in query table list. If it is zero
    then this query does not need prelocking.
  - Added requires_prelocking(), mark_as_requiring_prelocking(),
    first_not_own_table() inline methods to incapsulate and simplify
    usage of this new member.
sql/sql_parse.cc:
  dispatch_command():
    To properly leave prelocked mode when needed we should call
    close_thread_tables() even if there are no open tables.
  mysql_execute_command():
  - Removed part of function which were responsible for doing implicit
    LOCK TABLES before statement execution if statement used stored 
    routines (and doing UNLOCK TABLES at the end).
    Now we do all this in open_tables()/lock_tables()/close_thread_tables()
    instead.
  - It is also sensible to reset errors before execution of statement
    which uses routines.
  - SQLCOM_DO, SQLCOM_SET_OPTION, SQLCOM_CALL
    We should always try to open tables because even if statement has empty
    table list, it can call routines using tables, which should be preopened
    before statement execution.
  - SQLCOM_CALL
    We should not look up routine called in mysql.proc, since it should be
    already cached by this moment by open_tables() call.
  - SQLCOM_LOCK_TABLES
    it is better to use simple_open_n_lock_tables() since we want to avoid
    materialization of derived tables for this command.
sql/sql_prepare.cc:
  mysql_test_update():
    Changed open_tables() invocations. Now its 2nd parameter is in/out
    since it can add elements to table list.
  check_prepared_statement():
    Since now we cache all routines used by statement in open_tables() we 
    don't need to do it explicitly.
  mysql_stmt_prepare():
    Now we should call close_thread_tables() when THD::lex points to the
    LEX of statement which opened tables.
  reset_stmt_for_execute():
    Commented why we are resetting all tables in table list.
sql/sql_trigger.h:
  Table_triggers_list::process_triggers():
    We should surpress sending of ok packet when we are calling trigger's
    routine, since now we allow statements in them.
sql/sql_update.cc:
  Changed open_tables() invocations.
  Now its 2nd parameter is in/out since it can add elements to table list.
sql/sql_view.cc:
  mysql_make_view():
  - Removed handling of routines used in view. Instead we add tables which
    are needed for their execution to statement's table list in 
    open_tables().
  - Now we use TABLE_LIST::prelocking_placeholder instead of 
    THD::shortcut_make_view for indicating that view is opened
    only to discover which tables and routines it uses (this happens
    when we build extended table list for prelocking). Also now we try
    to avoid to modify main LEX in this case (except of its table list).
  - Corrected small error we added tables to the table list of the main
    LEX without updating its query_tables_last member properly.
sql/sql_yacc.yy:
  Now each expression which is used in SP statements and can contain
  subquery has its own LEX. This LEX is stored in corresponding sp_instr
  object and used along with Item tree for expression calculation.
  
  We don't need sp_instr_set_user_var() anymore since now we allow
  execution of statements in stored functions and triggers.
sql/table.h:
  Added TABLE_LIST::prelocking_placeholder member for distinguishing
  elements of table list which does not belong to the statement itself
  and added there only for prelocking (as they are to be used by routines
  called by this statement).
sql/tztime.cc:
  my_tz_init():
    Now we use more simplier simple_open_n_lock_tables() call instead of 
    open_tables()/lock_tables() pair.
2005-03-04 16:35:28 +03:00
unknown
d6949b3e9f Merge
sql/mysqld.cc:
  SCCS merged
2005-03-04 11:38:14 +01:00
unknown
7bd7643ab7 Merge with after merge fix
BitKeeper/deleted/.del-create.c~96cecc433c0c2242:
  Auto merged
include/my_global.h:
  Auto merged
myisam/mi_create.c:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~f96b7055cac394e:
  Auto merged
BitKeeper/deleted/.del-mrg_create.c~b747c8ec2b801f6:
  Auto merged
sql/table.cc:
  Auto merged
sql/sql_udf.cc:
  After merge fix
2005-03-04 11:37:45 +01:00
unknown
e54b545a96 Merge mysql.com:/home/mydev/mysql-4.1
into mysql.com:/home/mydev/mysql-4.1-4100


myisam/mi_create.c:
  Auto merged
2005-03-04 11:06:41 +01:00
unknown
24cb24c05e Fix compilation failure in mi_create.c
myisam/mi_create.c:
  Fix typo.
2005-03-04 12:39:03 +03:00
unknown
f97fd0f0b7 Merge mysql.com:/home/mydev/mysql-4.0
into mysql.com:/home/mydev/mysql-4.1-4100


myisam/mi_create.c:
  Auto merged
sql/mysqld.cc:
  Auto merged
2005-03-04 09:35:21 +01:00
unknown
555ea37d77 Fix for a build bug.
Added a missing comma.
2005-03-04 09:30:22 +01:00
unknown
aec0408ba9 Clean up merge of fix for Bug #3309.
mysql-test/r/grant2.result:
  Update results
mysql-test/t/grant2.test:
  Reset sql_mode before test.
sql/sql_acl.cc:
  Fixes to merge
2005-03-03 17:44:28 -08:00
unknown
9dd851bac4 Merge serg@bk-internal.mysql.com:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2005-03-04 00:05:52 +01:00
unknown
daaeeedb49 Merged from 4.1
innobase/os/os0file.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
mysql-test/r/bigint.result:
  Auto merged
mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/r/symlink.result:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
mysql-test/t/symlink.test:
  Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Auto merged
ndb/test/ndbapi/testNodeRestart.cpp:
  Auto merged
ndb/test/run-test/daily-devel-tests.txt:
  Auto merged
sql/item.h:
  Auto merged
strings/ctype-win1250ch.c:
  Auto merged
mysql-test/r/grant2.result:
  Hand-merged new test
mysql-test/t/grant2.test:
  Hand-merged new test
ndb/include/ndbapi/NdbTransaction.hpp:
  Used 5.0 version per tomas
sql/sql_acl.cc:
  Merge fix for Bug #3309.
2005-03-03 15:01:46 -08:00
unknown
10a120aed3 after merge fixes 2005-03-03 23:57:48 +01:00
unknown
4e09f68e87 typos fixed 2005-03-03 23:10:23 +01:00
unknown
9210c01cac merge
include/my_global.h:
  Auto merged
mysys/mf_tempfile.c:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/share/english/errmsg.txt:
  Auto merged
sql/table.cc:
  Auto merged
2005-03-03 23:07:20 +01:00
unknown
92895d0052 Fix symlink test to avoid filenames with paths
mysql-test/r/symlink.result:
  Update test results
mysql-test/t/symlink.test:
  Fix test to avoid filenames including path in results
2005-03-03 12:36:27 -08:00
unknown
9a420a4f7b Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
2005-03-03 21:13:57 +01:00
unknown
f49cf0f229 uninit variable fixed 2005-03-03 21:13:33 +01:00
unknown
8104faa083 Fixes for bugs reported by Stefano Di Paola (stefano.dipaola@wisec.it)
include/my_global.h:
  O_NOFOLLOW
isam/create.c:
  create table files with O_EXCL|O_NOFOLLOW
merge/mrg_create.c:
  create table files with O_EXCL|O_NOFOLLOW
myisam/mi_create.c:
  create files of temporary tables with O_EXCL|O_NOFOLLOW
myisammrg/myrg_create.c:
  create table files with O_EXCL|O_NOFOLLOW
mysys/mf_tempfile.c:
  create temporary files with O_EXCL|O_NOFOLLOW
sql/ha_myisam.cc:
  let mi_create know if the table is TEMPORARY
sql/mysql_priv.h:
  --allow_suspicious_udfs
sql/mysqld.cc:
  --allow_suspicious_udfs
sql/share/english/errmsg.txt:
  typo
sql/sql_udf.cc:
  --allow_suspicious_udfs
  don't allow xxx() udf without any of xxx_init/deinit/add/reset
  check paths when loading from mysql.func
sql/table.cc:
  create frm of temporary table with O_EXCL|O_NOFOLLOW
2005-03-03 19:51:29 +01:00
unknown
aa52954f6f Merge mysql.com:/home/jimw/my/mysql-4.1-8707
into mysql.com:/home/jimw/my/mysql-4.1-clean
2005-03-03 10:50:18 -08:00
unknown
45058c6896 Merge mysql.com:/home/jimw/my/mysql-4.1-8136
into mysql.com:/home/jimw/my/mysql-4.1-clean
2005-03-03 10:47:49 -08:00
unknown
b072718657 Merge mysql.com:/home/jimw/my/mysql-4.1-3309
into mysql.com:/home/jimw/my/mysql-4.1-clean
2005-03-03 10:47:20 -08:00
unknown
80b474bfc0 Merge bk-internal:/home/bk/mysql-5.0
into mysql.com:/home/jimw/my/mysql-5.0-clean
2005-03-03 09:59:38 -08:00
unknown
de400bd5ac 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-03 19:51:03 +03:00
unknown
ec75ead6ec Merge bk-internal:/home/bk/mysql-5.0
into mysql.com:/home/jimw/my/mysql-5.0-clean


sql/item_func.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
2005-03-03 08:34:27 -08:00
unknown
65c830aecb 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-03 19:21:26 +03:00
unknown
c7fdbffa0d Fix for bug #8164: subquery with INFORMATION_SCHEMA.COLUMNS, 100 % CPU 2005-03-03 19:20:16 +03:00
unknown
560968258f srv0start.c:
Work around the AIX 5.1 security patch ML7 problem in errno when it should be EEXIST


innobase/srv/srv0start.c:
  Work around the AIX 5.1 security patch ML7 problem in errno when it should be EEXIST
2005-03-03 18:00:34 +02:00
unknown
f3d52f8c8c Merge
innobase/os/os0file.c:
  Auto merged
innobase/srv/srv0start.c:
  SCCS merged
2005-03-03 17:50:04 +02:00
unknown
afc8527360 srv0start.c:
Work around the AIX 5.1 ML7 patch problem in errno at a higher level, in srv0start.c
os0file.c:
  Revert the AIX patch here


innobase/os/os0file.c:
  Revert the AIX patch here
innobase/srv/srv0start.c:
  Work around the AIX 5.1 ML7 patch problem in errno at a higher level, in srv0start.c
2005-03-03 17:46:56 +02:00
unknown
4e4fbf4839 Merge hundin.mysql.fi:/home/heikki/mysql-4.0
into hundin.mysql.fi:/home/heikki/mysql-4.1


innobase/os/os0file.c:
  Auto merged
2005-03-03 17:26:12 +02:00
unknown
969be90f71 os0file.c:
AIX 5.1 after security patch ML7 seems to contain a bug that instead of EEXIST it sets errno to 0 if a file creation fails because the file already exists. Work around that bug by interpreting errno 0 in AIX as EEXIST.


innobase/os/os0file.c:
  AIX 5.1 after security patch ML7 seems to contain a bug that instead of EEXIST it sets errno to 0 if a file creation fails because the file already exists. Work around that bug by interpreting errno 0 in AIX as EEXIST.
2005-03-03 17:20:05 +02:00
unknown
5a9efeedf1 Ensure that '*.disabled' files are truly optional, so that their non-existence
will not cause "make" to fail.


mysql-test/Makefile.am:
  Files of the '*.disabled' pattern may exist, but need not.
  So it is important to ignore command failures arising from this pattern not finding
  any matches - whereas files of the other types must be present.
2005-03-03 16:01:39 +01:00
unknown
2860a7723e Fixes for bug#8115 "Server Crash with prepared statement"
and bug#8849 "problem with insert statement with table alias's": 
make equality propagation work in stored procedures and prepared 
statements.
Equality propagation can change AND/OR structure of ON expressions,
so the fix is to provide each execution of PS/SP with it's own
copy of AND/OR tree. We have been doing that already for WHERE clauses,
now ON clauses are also copied.


mysql-test/r/ps.result:
  Bug#8115: test results fixed.
mysql-test/r/sp.result:
  Bug#8849: test results fixed.
mysql-test/t/ps.test:
  A test case for Bug#8115 "Server Crash with prepared statement".
mysql-test/t/sp.test:
  A test case for Bug#8849 "problem with insert statement with table 
  alias's".
sql/item_cmpfunc.cc:
  Comment a parse tree transformation.
sql/item_cmpfunc.h:
  Comment how Item_equal works with PS/SP.
sql/mysql_priv.h:
  Add declaration for init_stmt_after_parse.
sql/sp_head.cc:
  Call init_stmt_after_parse in restore_lex(), which is used to
  grab TABLE_LIST and SELECT_LEX list of a parsed substatement of
  stored procedure. This is a necessary post-init step which 
  must be done for any statement which can be executed many times.
sql/sql_prepare.cc:
  Implement init_stmt_after_parse() which prepares AND/OR
  structure of all ON expressions and WHERE clauses of a statement
  for copying.
sql/sql_select.cc:
  Implementation of equality propagation inspected with regard to 
  prepared statements and stored procedures. We now restore
  AND/OR structure of every ON expression in addition to AND/OR
  structure of WHERE clauses when reexecuting a PS/SP.
sql/table.h:
  Add declaration for TABLE::prep_on_expr.
2005-03-03 17:38:59 +03:00
unknown
66d2d13a8e Fix for bug#8740: Server crash at start on Solaris 9 (64 bit) 2005-03-03 17:38:58 +03:00
unknown
85f94ce992 ndb - bug#8876 third and final solution
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  lqh to forward abort within ng
2005-03-03 12:45:49 +01:00
unknown
43668c53e0 Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/M50/mysql-5.0
2005-03-03 12:45:05 +01:00
unknown
a455733cf7 Merge pnousiainen@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/space/pekka/ndb/version/my41
2005-03-03 12:43:01 +01:00
unknown
ad5174af41 Bugs: #8063: make test mysqldump [ fail ]
See mysqldump.test diff for more details
2005-03-03 15:43:00 +04:00
unknown
da4ea4fa23 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/usr/home/ram/work/5.0
2005-03-03 15:38:00 +04:00
unknown
0c88d48d50 After merge fix.
sql/sql_lex.cc:
  No need to change options here.
2005-03-03 15:37:14 +04:00
unknown
5841c6309a Prevent a collision with the system's '#define errno ...' by guarding the variable declaration.
include/my_sys.h:
  There are platforms which use '#define errno ...' and then cause a collision with
  'extern int errno;', one example is OpenBSD.
  Rather than treat them explicitly by the 'HAVE_ERRNO_AS_DEFINE', we can check for these
  by using '#ifndef errno'.
2005-03-03 12:35:39 +01:00
unknown
b6a9dc96c9 ndb - bug#8876
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  merge error?
2005-03-03 11:38:50 +01:00
unknown
0abf1f6d3f manual merge 2005-03-03 14:29:37 +04:00
unknown
d6c9c19412 Bug#8840 Empty string comparison and character set 'cp1250'
Secondary weight out of bounds was picked up in mistake when
the string is empty, instead of returning 0.
2005-03-03 14:15:37 +04:00
unknown
78c09205fc Merge mysql.com:/usr/local/bk/mysql-5.0
into mysql.com:/home/pem/work/mysql-5.0
2005-03-03 10:51:20 +01:00
unknown
77eff470ce Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/mysql_src/mysql-5.0-xa
2005-03-03 10:51:19 +01:00
unknown
17ff0a138a Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/data0/mysqldev/my/mysql-5.0-merge


BitKeeper/deleted/.del-federated.disabled~a5703a3321e4108:
  Auto merged
2005-03-03 09:50:06 +01:00
unknown
7cd4805654 committing this deletion of federated.disabled, which was already committed in another tree apparently; just to make bk happy.
BitKeeper/deleted/.del-federated.disabled~a5703a3321e4108:
  Delete: mysql-test/t/federated.disabled
2005-03-03 09:49:34 +01:00
unknown
37306fb125 Merge mysql.com:/usr/local/bk/mysql-5.0
into mysql.com:/home/pem/work/mysql-5.0
2005-03-03 09:46:13 +01:00
unknown
a8e2957382 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/mysql_src/mysql-5.0-xa
2005-03-03 09:37:07 +01:00