Commit graph

514 commits

Author SHA1 Message Date
unknown
d2906f0ed0 Fix for Bug #3307 "FLUSH TABLES sometimes breaks prepared statement
table resolution".
Added members to Item_ident for storing original db, table and field
names since those that set later from Field have shorter life-time 
than required by prep. stmt. So we need to restore original names in 
Item_ident::cleanup(). Also now using special construnctor for creation
of Item_field from Field object that ensures that table and field name 
have big enough life-time.

"Fix" for bug #2050 "10 to 1 performance drop with server 4.1.1"
Clean ups in implementation of caching of field number in table.
Added caching of table in which field is found in find_field_in_tables(). 


sql/item.cc:
  Added members to Item_ident for storing original db, table and field
  names since those that set later from Field have shorter life-time 
  than required by prep. stmt. So we need to restore original names in 
  Item_ident::cleanup().
  Added Item_ident::cached_table for caching table there we found 
  our field.
  Added special constructor for creation of Item_field from Field object
  that ensures that table and field name have big enough life-time.
sql/item.h:
  Added members to Item_ident for storing original db, table and field
  names since those that set later from Field have shorter life-time 
  than required by prep. stmt. So we need to restore original names in 
  Item_ident::cleanup().
  Changed type of Item_ident::cached_field_index from int to uint
  (and so NO_CACHED_FIELD_INDEX is UINT_MAX now) because we want to
  save one comparison in find_field_in_table().
  Added Item_ident::cached_table for caching table there we found 
  our field.
  Added special constructor for creation of Item_field from Field object
  that ensures that table and field name have big enough life-time.
sql/mysql_priv.h:
  Changed type of cached_field_index_ptr from int* to uint*
  (and so NO_CACHED_FIELD_INDEX is UINT_MAX now) because we want to
  save one comparison in find_field_in_table().
sql/sql_acl.cc:
  Changed type of find_field_in_table() paremeter to make it 
  faster.
sql/sql_base.cc:
  find_field_in_table(): small optimization and soime clean ups in 
   caching of field index.
  find_field_in_tables(): added aggresive caching of table in which
   field is found in Item_ident::cached_table.
  insert_fields():
   using special construnctor for creation of Item_field from Field 
   object that ensures that table and field name have big enough life-time.
2004-03-31 21:25:55 +04:00
unknown
f6a8ec5f92 "Fix" for BUG #2050 "10 to 1 performance drop with server 4.1.1".
Actually it is not a bug but right behavior observed as pefomance 
degradation after we have forced Item_field::fix_fields() to 
re-execute each time when we are executing prep stmt.

This patch implements small optimization which heals this bad 
behavior. We are caching field position in TABLE::field array in
Item's member and are using this position for speeding up field
lookups in fix_fields() in case of its re-execution.


sql/item.cc:
  Added cached_field_index member to Item_ident for caching field
  position in TABLE::field array for quicker field lookup in case 
  fix_fields() is executed twice.
sql/item.h:
  Added cached_field_index member to Item_ident for caching field
  position in TABLE::field array for quicker field lookup in case 
  fix_fields() is executed twice.
sql/mysql_priv.h:
  Now find_field_in_table has one more in-out parameter which is used
  for caching field index in TABLE::field array stored for quicker
  field look up.
sql/sql_acl.cc:
  Now find_field_in_table has one more in-out parameter which is used
  for caching field index in TABLE::field array stored for quicker
  field look up.
sql/sql_base.cc:
  Optimization: Now when we are looking up Field by its name we are 
  caching its position in TABLE::field array in Item_ident::cached_field_index,
  so when we will call fix_fields() second time for this item (e.g.
  when we are re-executing prep statement) we can reuse this index
  to speed up this lookup.
sql/table.cc:
  Now we storing in TABLE::name_hash pointers to elements of 
  TABLE::field array, because this allows easily retrieve index
  of field in this array when it is looked up by its name.
sql/table.h:
  Added comment claryfying what we store in TABLE::name_hash.
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-03-28 04:11:54 +04:00
unknown
c0a9df1aae correct support for a mix of UNION/UNION ALL in the same query.
Bug#1428
2004-03-23 14:43:24 +01:00
unknown
24148f04c7 merge fixes (use old code)
client/mysqladmin.c:
  Auto merged
client/mysqltest.c:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/include/os0file.h:
  Auto merged
innobase/os/os0file.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_handler.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-03-18 00:16:04 +02:00
unknown
a8aacf8764 merge with 4.0
BitKeeper/etc/logging_ok:
  auto-union
VC++Files/innobase/innobase.dsp:
  Auto merged
VC++Files/libmysql/libmysql.dsp:
  Auto merged
acinclude.m4:
  Auto merged
configure.in:
  Auto merged
BitKeeper/deleted/.del-com0shm.c~6a16f0c3d81de1f:
  Auto merged
BitKeeper/deleted/.del-mysql_fix_privilege_tables.sql:
  Auto merged
extra/replace.c:
  Auto merged
include/my_sys.h:
  Auto merged
innobase/btr/btr0btr.c:
  Auto merged
innobase/btr/btr0cur.c:
  Auto merged
innobase/btr/btr0pcur.c:
  Auto merged
innobase/btr/btr0sea.c:
  Auto merged
innobase/configure.in:
  Auto merged
innobase/data/data0data.c:
  Auto merged
innobase/dict/dict0boot.c:
  Auto merged
innobase/dict/dict0crea.c:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/dict/dict0load.c:
  Auto merged
innobase/dict/dict0mem.c:
  Auto merged
innobase/ha/ha0ha.c:
  Auto merged
innobase/ha/hash0hash.c:
  Auto merged
innobase/include/btr0btr.ic:
  Auto merged
innobase/include/data0type.ic:
  Auto merged
innobase/include/dict0mem.h:
  Auto merged
innobase/include/log0log.ic:
  Auto merged
innobase/include/mach0data.ic:
  Auto merged
innobase/include/mtr0log.h:
  Auto merged
innobase/include/mtr0mtr.h:
  Auto merged
innobase/include/os0file.h:
  Auto merged
innobase/include/row0upd.ic:
  Auto merged
innobase/include/srv0srv.h:
  Auto merged
innobase/include/sync0sync.h:
  Auto merged
innobase/include/trx0rseg.ic:
  Auto merged
innobase/lock/lock0lock.c:
  Auto merged
innobase/log/log0recv.c:
  Auto merged
innobase/mem/mem0dbg.c:
  Auto merged
innobase/mtr/mtr0log.c:
  Auto merged
innobase/mtr/mtr0mtr.c:
  Auto merged
innobase/os/os0file.c:
  Auto merged
innobase/page/page0cur.c:
  Auto merged
innobase/page/page0page.c:
  Auto merged
innobase/pars/lexyy.c:
  Auto merged
innobase/read/read0read.c:
  Auto merged
innobase/rem/rem0cmp.c:
  Auto merged
innobase/rem/rem0rec.c:
  Auto merged
innobase/row/row0ins.c:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
innobase/row/row0purge.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
innobase/row/row0undo.c:
  Auto merged
innobase/row/row0upd.c:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
innobase/sync/sync0rw.c:
  Auto merged
innobase/thr/thr0loc.c:
  Auto merged
innobase/trx/trx0purge.c:
  Auto merged
innobase/trx/trx0rec.c:
  Auto merged
innobase/trx/trx0roll.c:
  Auto merged
innobase/trx/trx0trx.c:
  Auto merged
innobase/trx/trx0undo.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/myisamchk.c:
  Auto merged
mysql-test/r/multi_update.result:
  Auto merged
mysql-test/r/mysqlbinlog.result:
  Auto merged
mysql-test/r/rpl_error_ignored_table.result:
  Auto merged
mysql-test/t/multi_update.test:
  Auto merged
mysql-test/t/rpl_error_ignored_table.test:
  Auto merged
mysys/mf_iocache.c:
  Auto merged
mysys/mf_pack.c:
  Auto merged
mysys/my_getopt.c:
  Auto merged
sql/ha_berkeley.cc:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/lock.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_cache.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_handler.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_list.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
tests/thread_test.c:
  Auto merged
client/mysqldump.c:
  Keep original indentation
mysql-test/r/merge.result:
  keep old file
scripts/mysql_fix_privilege_tables.sh:
  Keep old structure in merge with 4.0
sql/table.cc:
  merge with 4.0 + simple optimizations
2004-03-16 22:41:30 +02:00
unknown
ded9313d32 Fix for bug#2586 Disallow global/session/local as structured var. instance names 2004-03-16 14:01:05 +04:00
unknown
2e0d5eace5 Fix of compilation failure of latest 4.1 tree: new constants in mysqld.cc
exceed unsigned long limit.


include/config-win.h:
  implementation of ULL macro for Windows
include/my_global.h:
  ULL macro defined: we need this macro because ULL qualifier is not defined 
  on systems withoug unsigned long long
sql/item_func.cc:
  new ULL macro caused conflict with class for user level lock ULL.
  ULL renamed to User_level_lock
sql/item_func.h:
  ULL -> User_level_lock
sql/mysql_priv.h:
  merge error fixed: LL defined in my_global.h
sql/mysqld.cc:
  ULL macro used for long long constants to fix compilation failure on gcc 3.*
sql/sql_class.h:
  ULL renamed to User_level_lock
2004-03-15 22:39:36 +03:00
unknown
ef44fb9af3 Fixes for bugs #2274 "mysqld gets SIGSEGV during processing of malformed
COM_EXECUTE packet" and #2795 "prepare + execute without bind_param crashes
 server" and #2473 "seg fault running tests/client_test.c": 
- length checking added to packet parser 
- default impelemntation of Item_param::set_param_func will work in
case of malformed packet.
No test cases are possible in our test suite, as there are no tests 
operating on protocol layer.


sql/item.cc:
  Default set_param function implemented: this is to not sigsegv in case
  of malformed packet with no parameters data.
sql/item.h:
  - Item_param constructor moved to .cc to be able to assign set_param_func.
  - now embedded and ordinary versions of set_param have the same signature.
sql/mysql_priv.h:
  mysql_stmt_execute now requires packet_length
sql/sql_parse.cc:
  mysql_stmt_execute now requires packet length.
sql/sql_prepare.cc:
  - length checking added to all functions working with network packet.
  - set_param_func's in embedded and ordinary version now have the same 
  signature
2004-03-15 20:20:47 +03:00
unknown
afedd9f8f7 Task #835: additional changes fot str_to_date
include/mysqld_error.h:
  Task #835: additional changes fot str_to_date
  New error message
mysql-test/r/date_formats.result:
  Task #835: additional changes fot str_to_date
  tests
mysql-test/r/func_sapdb.result:
  Task #835: additional changes fot str_to_date
  tests
mysql-test/r/func_time.result:
  Task #835: additional changes fot str_to_date
  tests
mysql-test/r/type_time.result:
  Task #835: additional changes fot str_to_date
  tests
mysql-test/t/date_formats.test:
  Task #835: additional changes fot str_to_date
  tests
mysql-test/t/func_sapdb.test:
  Task #835: additional changes fot str_to_date
  tests
mysql-test/t/func_time.test:
  Task #835: additional changes fot str_to_date
  tests
sql/share/czech/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
sql/share/danish/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
sql/share/dutch/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
sql/share/english/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
sql/share/estonian/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
sql/share/french/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
sql/share/german/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
sql/share/greek/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
sql/share/hungarian/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
sql/share/italian/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
sql/share/japanese/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
sql/share/korean/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
sql/share/norwegian-ny/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
sql/share/norwegian/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
sql/share/polish/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
sql/share/portuguese/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
sql/share/romanian/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
sql/share/russian/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
sql/share/serbian/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
sql/share/slovak/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
sql/share/spanish/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
sql/share/swedish/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
sql/share/ukrainian/errmsg.txt:
  Task #835: additional changes fot str_to_date
  New error message
2004-03-15 18:28:21 +04:00
unknown
965158f28f Merge
mysql-test/install_test_db.sh:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
mysql-test/mysql-test-run.sh:
  SCCS merged
2004-03-12 01:13:04 +02:00
unknown
a1d9e1eec4 Ensure that install_test_db.sh script works with both 'make install' and 'make_binary_distribution' layouts
Abort if we can't allocate memory for table cache
Fix bug with multi-update-tables and BDB tables.


extra/replace.c:
  Fix comments
mysql-test/install_test_db.sh:
  Change internal option from -bin to --bin
  Ensure that script works with both 'make install' and 'make_binary_distribution' layouts (Bug #3031)
mysql-test/mysql-test-run.sh:
  Change internal option from -bin to --bin
sql/ha_berkeley.cc:
  More debug
sql/mysql_priv.h:
  Change table_cache_init to return error
sql/mysqld.cc:
  Abort if we can't allocate memory for table cache. (Bug #3085)
  Enable warnings by default
sql/sql_base.cc:
  Change table_cache_init to return error
sql/sql_update.cc:
  Fix bug with multi-update-tables and BDB tables. Bug #3098
  Problem was that we didn't initialize BDB for calls to rnd_pos()
2004-03-12 01:10:22 +02:00
unknown
bd6c4ef400 Fix for BUG#2983 "If statement was killed on master, slave errors despite replicate-wild-ignore-t"
We introduce a new function mysql_test_parse_for_slave().
If the slave sees that the query got a really bad error on master
(killed e.g.), then it calls this function to know if this query
can be ignored because of replicate-*-table rules (do not worry
about replicate-*-db rules: they are checked so early that they have
no bug). If the answer is yes, it skips the query and continues. If
it's no, then it stops and say "fix your slave data manually" (like it
did before this change).


mysql-test/r/rpl_error_ignored_table.result:
  result update
mysql-test/t/rpl_error_ignored_table-slave.opt:
  ignore more tables
mysql-test/t/rpl_error_ignored_table.test:
  we test if a killed query on the master, is ignored on the slave
  if the tables it involves should be excluded because of replicate-*-table
  rules.
sql/log_event.cc:
  If the query got a really bad error on the master (thread killed etc),
  parse it to test the table names: if the replicate-*-do|ignore-table
  rules say "this query must be ignored" then we exit gracefully;
  otherwise we warn about the bad error and tell DBA to check/fix it.
  Before this change, we always warned and stopped.
sql/mysql_priv.h:
  new function
sql/slave.cc:
  don't print error immediately as we need to do one more test to
  be sure.
sql/sql_parse.cc:
  we add a function mysql_test_parse_for_slave(), to be used only
  by the slave if it wants to know if the query should be ignored or not;
  so this function only parses the query, does not execute it.
2004-03-11 17:38:19 +01:00
unknown
5bc89a9644 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/my/mysql-4.0


sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
2004-03-06 10:43:53 +02:00
unknown
aa20bd9e8c Ensure that one can't from the command line set a variable too small. (Bug #2710)
Allow one to force lower_case_table_names to 0, even if the file system is case insensitive. This fixes some issues on Mac OS X (Bug #2994)
Added variables "lower_case_file_system", "version_compile_os" and "license"


mysql-test/t/lowercase_table3-master.opt:
  Rename: mysql-test/t/lowercase_table2-master.opt -> mysql-test/t/lowercase_table3-master.opt
mysys/my_getopt.c:
  Ensure that one can't from the command line set a variable too small (could happen when sub_size was set)
sql/mysql_priv.h:
  Added lower_case_file_system
sql/mysqld.cc:
  Allow one to force lower_case_table_names to 0, even if the file system is case insensitive
sql/set_var.cc:
  Added variable "lower_case_file_system"
  Added variable "version_compile_os"
  Added variable "license"
sql/set_var.h:
  Added support for read only strings
sql/sql_select.cc:
  Make join optimizer killable
2004-03-06 10:43:35 +02:00
unknown
28f0e32879 Portability fixes
mysql-test/r/show_check.result:
  Updated results
mysql-test/t/show_check.test:
  Portability fix (for 64 bit platforms)
mysys/hash.c:
  Portablity fix
sql/gen_lex_hash.cc:
  Don't include mysql_priv.h;  Causes build errors on a lot of platforms
sql/lex_symbol.h:
  Moved symbols here from mysql_priv.h to avoid including mysql_priv.h in gen_lex_hash.cc
sql/mysql_priv.h:
  Move symbols and struct to lex_symbol.h
sql/sql_db.cc:
  Don't use sql_alloc/sql_free methods in sql_string.h
sql/sql_help.cc:
  Don't use sql_alloc/sql_free methods in sql_string.h
sql/sql_string.h:
  Don't use sql_alloc/sql_free methods in sql_string.h
  This makes the code faster and more portable
sql/sql_yacc.yy:
  Don't use sql_alloc/sql_free methods in sql_string.h
2004-03-05 19:49:50 +02:00
unknown
52236ae1e1 Fixed Bug#2491, INSERT DELAYED causes binary log unusable by mysqlbinlog (replication is ok)
Setting insert delayed threads = 0 at mysql_init_command.


sql/mysql_priv.h:
  New session variable, max_insert_delayed_threads
sql/mysqld.cc:
  New session variable, max_insert_delayed_threads
sql/set_var.cc:
  New session variable, max_insert_delayed_threads
sql/sql_class.h:
  New session variable, max_insert_delayed_threads
sql/sql_insert.cc:
  New session variable, max_insert_delayed_threads
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-03-04 17:58:36 +00:00
unknown
7b68eaafda Desperate attempt to push part of prepared statements cleanup which was
reviewed in Saint-Petersbourg (including post-review fixes).


include/my_sys.h:
  Added clear_alloc_root (reset alloc root without freeing its memory)
sql/item.h:
  - rename setup_param -> set_parap (function assigns parameter value to item)
sql/mysql_priv.h:
  - all return values are void, because return value is never checked in
      dispatch_command
  - removed unused declaration of setup_param_functions
sql/protocol.h:
  - unused declarations of setup_params_data* removed
sql/sql_class.cc:
  Cleanup:
    - bzero(mem_root) replaced with clear_alloc_root
    - query_id and command members moved back to THD from Statement
  Assignment of mem_root, free_list, query_id and command optimized
  away from set_statement().
sql/sql_class.h:
  - query_id and command moved back to THD from Statement
sql/sql_lex.h:
  - better type for param_list
  - param_count is the same thing as param_list.elements
sql/sql_parse.cc:
  - comments for dispatch_command
sql/sql_prepare.cc:
  Cleanup:
  - added comments to many functions and removed trailing spaces in many 
    lines, some stale comments removed.
  - it's faster to iterate using pointers, than classes
  - Renames: error_in_prepare renamed to get_longdata_error (because it is set
    when there is an error in mysql_send_longdata, rather than in
    mysql_prepare), embedded versions of placeholder assignement functions
    now have prefix emb_, setup_ functions renamed to set_, because they
    perform assignment, not installation, setup_params_data now doesn't
    call insert_params and was renamed to setup_set_param_functions,
  - find_prepared_statement should not send error if called from no-reply
    calls, like mysql_stmt_reset
  - error reporting is checked up, to always report errors and not report
    errors twice. send_prep_stmt can be done mostly in send_prepare_result, 
    rather than in test_* functions.
  - now we don't need to reinit THD->mem_root/free_list in mysql_stmt_execute,
    because it's not reset there.
tests/client_test.c:
  - removed second call to test_subqueries
2004-03-02 22:39:50 +03:00
unknown
1e191736d6 my_gethwaddr() for linux/freebsd
UUID() function


BitKeeper/etc/ignore:
  Added mysys/test_gethwaddr to the ignore list
include/my_sys.h:
  my_gethwaddr()
mysys/Makefile.am:
  my_gethwaddr
sql/item_create.cc:
  UUID() function
sql/item_create.h:
  UUID() function
sql/item_strfunc.cc:
  UUID() function
sql/item_strfunc.h:
  UUID() function
sql/lex.h:
  UUID() function
sql/mysql_priv.h:
  UUID() function
sql/mysqld.cc:
  UUID() function
sql/sql_class.cc:
  cleanup
2004-02-27 20:30:08 +01:00
unknown
bc0c36a46f Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-prepared-4.1


sql/mysql_priv.h:
  Auto merged
2004-02-19 20:10:49 +02:00
unknown
017efd2124 Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1


BitKeeper/etc/ignore:
  auto-union
include/my_global.h:
  Auto merged
mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/r/myisam.result:
  Auto merged
mysql-test/r/type_blob.result:
  Auto merged
mysql-test/t/type_blob.test:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/share/english/errmsg.txt:
  Auto merged
sql/share/russian/errmsg.txt:
  Auto merged
sql/share/ukrainian/errmsg.txt:
  Auto merged
2004-02-17 17:07:14 +01:00
unknown
952f99d4c6 merge
mysql-test/r/derived.result:
  Auto merged
mysql-test/t/derived.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
2004-02-17 11:12:55 +02:00
unknown
7b6b03f340 merge
sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
2004-02-17 01:52:33 +02:00
unknown
54d93c4153 ulternative bugfix for BUG#2508 and fix for BUG#2809 - every table has its own TABLE structure
mysql-test/r/union.result:
  fix for union test becuase now not all fields in UNION allow NULLS
  fix of test
  test suite for BUG#2809
mysql-test/t/union.test:
  test suite for BUG#2809
sql/mysql_priv.h:
  removed unused parameter of setup_tables()
sql/sql_base.cc:
  removed unused parameter of setup_tables()
  cleanup of unused code
sql/sql_class.h:
  removed unused field
sql/sql_help.cc:
  removed unused parameter of setup_tables()
sql/sql_insert.cc:
  removed unused parameter of setup_tables()
sql/sql_lex.cc:
  excluded duplicate tables finding for UNION
sql/sql_load.cc:
  removed unused parameter of setup_tables()
sql/sql_olap.cc:
  removed unused parameter of setup_tables()
sql/sql_prepare.cc:
  removed unused parameter of setup_tables()
sql/sql_select.cc:
  removed unused parameter of setup_tables()
  revert old BUG#2508 patch
sql/sql_union.cc:
  revert old BUG#2508 patch
  removed unused code
sql/sql_update.cc:
  removed unused parameter of setup_tables()
sql/table.h:
  shared used only for multi-update for now
2004-02-17 01:14:51 +02:00
unknown
5a9ffa300a ft_boolean_syntax made changeable
BitKeeper/deleted/.del-gstream.cc~e7a4fae849aff6c8:
  Delete: libmysqld/gstream.cc
BitKeeper/deleted/.del-item_subselect.cc~80564bbdb47e8160:
  Delete: libmysqld/item_subselect.cc
BitKeeper/deleted/.del-spatial.cc~604df7172b141762:
  Delete: libmysqld/spatial.cc
BitKeeper/deleted/.del-sql_derived.cc~548b125128871c7a:
  Delete: libmysqld/sql_derived.cc
BitKeeper/etc/ignore:
  Added libmysqld/item_subselect.cc libmysqld/sql_derived.cc to the ignore list
2004-02-16 18:53:00 +01:00
unknown
0c259c54b0 Merge with public tree
client/mysqldump.c:
  Auto merged
configure.in:
  Auto merged
include/m_ctype.h:
  Auto merged
include/m_string.h:
  Auto merged
include/my_global.h:
  Auto merged
mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/r/fulltext.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/fulltext.test:
  Auto merged
mysql-test/t/grant.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
mysql-test/t/union.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/share/english/errmsg.txt:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_string.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
strings/ctype-mb.c:
  Auto merged
strings/ctype-simple.c:
  Auto merged
mysql-test/r/warnings.result:
  Fix error numbers after merge
sql/share/czech/errmsg.txt:
  Add missing ',' and fix typo
sql/share/danish/errmsg.txt:
  Add missing ',' and fix typo
sql/share/dutch/errmsg.txt:
  Add missing ',' and fix typo
sql/share/estonian/errmsg.txt:
  Add missing ',' and fix typo
sql/share/french/errmsg.txt:
  Add missing ',' and fix typo
sql/share/german/errmsg.txt:
  Add missing ',' and fix typo
sql/share/greek/errmsg.txt:
  Add missing ',' and fix typo
sql/share/hungarian/errmsg.txt:
  Add missing ',' and fix typo
sql/share/italian/errmsg.txt:
  Add missing ',' and fix typo
sql/share/japanese/errmsg.txt:
  Add missing ',' and fix typo
sql/share/korean/errmsg.txt:
  Add missing ',' and fix typo
sql/share/norwegian-ny/errmsg.txt:
  Add missing ',' and fix typo
sql/share/norwegian/errmsg.txt:
  Add missing ',' and fix typo
sql/share/polish/errmsg.txt:
  Add missing ',' and fix typo
sql/share/portuguese/errmsg.txt:
  Add missing ',' and fix typo
sql/share/romanian/errmsg.txt:
  Add missing ',' and fix typo
sql/share/russian/errmsg.txt:
  Add missing ',' and fix typo
sql/share/slovak/errmsg.txt:
  Add missing ',' and fix typo
sql/share/spanish/errmsg.txt:
  Add missing ',' and fix typo
sql/share/swedish/errmsg.txt:
  Add missing ',' and fix typo
sql/share/ukrainian/errmsg.txt:
  Add missing ',' and fix typo
2004-02-16 10:31:05 +02:00
unknown
6826a55b1d merge
sql/item.h:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
2004-02-14 13:31:39 +02:00
unknown
0bc06e9ec5 Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.1
into eagle.mysql.r18.ru:/home/vva/work/BUG_2593/mysql-4.1


sql/mysql_priv.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
2004-02-13 00:31:39 +04:00
unknown
fab7113f83 PS fixed to be compatible with derived tables (BUG#2641)
sql/mysql_priv.h:
  description moved to be accessable from sql_class.h
sql/sql_base.cc:
  put all derived table preparation in temporary memory pull
sql/sql_class.h:
  close tables to close derived tables before freeing memory pool where they are placed
sql/sql_prepare.cc:
  now temporary memory pool for prrepared statements registration is oppened in open_and_lock_tables
  thd->current_statement set only for tables preparation, because we do not need memory pool tricks for PS executing
tests/client_test.c:
  derived table added to test
  expression with aggregate functions added to test
2004-02-12 18:50:00 +02:00
unknown
4b37cf65f7 memory leacks in PS with subqueries fixed (adddition to fix of BUG#2462)
sql/item.h:
  mechanism to keep reference in cache array for row IN
sql/item_cmpfunc.cc:
  mechanism to keep reference in cache array for row IN
  layout fixed
sql/item_cmpfunc.h:
  mechanism to keep reference in cache array for row IN
sql/item_subselect.cc:
  fixed memory pools swapping
  prevented deleting Item_in_optimizer cache in case of row IN subquery
sql/mysql_priv.h:
  declarations of function moved to be useful in sql_class.h
sql/sql_base.cc:
  keep fields expanded from '*' in statement memory pool
sql/sql_class.cc:
  fixed restoring/backup of memory pool and list of items
sql/sql_class.h:
  memory allocation methods moved to Statement
  memory pool substituting for preparing
sql/sql_lex.cc:
  ref_pointer_array kept in statement memory
sql/sql_lex.h:
  reinitialization of UNIT
sql/sql_prepare.cc:
  memory allocation/swapping fixed
tests/client_test.c:
  layout fixed
2004-02-12 03:10:26 +02:00
unknown
5b2c312627 Merge with 4.0.18
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
mysql-test/r/ctype_tis620.result-old:
  Merge rename: mysql-test/r/ctype_tis620.result -> mysql-test/r/ctype_tis620.result-old
BUILD/compile-pentium-max:
  Auto merged
BitKeeper/etc/config:
  Auto merged
Build-tools/Bootstrap:
  Auto merged
Build-tools/Do-compile:
  Auto merged
configure.in:
  Auto merged
mysql-test/t/ctype_tis620.test-old:
  Merge rename: mysql-test/t/ctype_tis620.test -> mysql-test/t/ctype_tis620.test-old
Docs/Makefile.am:
  Auto merged
client/mysqldump.c:
  Auto merged
client/mysqltest.c:
  Auto merged
include/my_global.h:
  Auto merged
include/my_pthread.h:
  Auto merged
include/my_sys.h:
  Auto merged
include/myisam.h:
  Auto merged
innobase/btr/btr0cur.c:
  Auto merged
innobase/ibuf/ibuf0ibuf.c:
  Auto merged
innobase/include/dict0dict.h:
  Auto merged
innobase/include/srv0srv.h:
  Auto merged
innobase/include/ut0mem.h:
  Auto merged
innobase/log/log0log.c:
  Auto merged
innobase/row/row0ins.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
innobase/ut/ut0mem.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/mi_dynrec.c:
  Auto merged
myisam/mi_key.c:
  Auto merged
myisam/myisam_ftdump.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/alter_table.result:
  Auto merged
mysql-test/r/bdb.result:
  Auto merged
mysql-test/r/bigint.result:
  Auto merged
mysql-test/r/fulltext.result:
  Auto merged
2004-02-11 00:06:46 +01:00
unknown
61f0e69cb6 ufter revview fix (BUG#2120)
mysql-test/r/derived.result:
  test of error handling in derived tables with UPDATE & DELETE
mysql-test/t/derived.test:
  test of error handling in derived tables with UPDATE & DELETE
sql/mysql_priv.h:
  opened tables counter added to avoid loop of tables calculating in lock_tables
sql/sql_acl.cc:
  opened tables counter added to avoid loop of tables calculating in lock_tables, here it is just for compatibility
sql/sql_base.cc:
  removed unneeded assignment
  opened tables counter added to avoid loop of tables calculating in lock_tables
  commentary fixed
sql/sql_derived.cc:
  mysql_derived made static
  variable res moved in place where it used
  priveleges written in correct place
sql/sql_handler.cc:
  opened tables counter added to avoid loop of tables calculating in lock_tables
sql/sql_parse.cc:
  mistyping in commentary fixed
2004-02-09 14:44:03 +02:00
unknown
dfbaa16160 1. fixed bug @2593 "SHOW CREATE TABLE doesn't properly double quotes"
2. added automatic quotation of keywords in SHOW CREATE TABLE


mysql-test/r/show_check.result:
  added tests for 
  bug #2593 "SHOW CREATE TABLE doesn't properly double quotas"
  and for automatic quotation of keywords
mysql-test/t/show_check.test:
  added tests for 
  bug #2593 "SHOW CREATE TABLE doesn't properly double quotas"
  and for automatic quotation of keywords
sql/mysql_priv.h:
  added declaration of function is_keyword
sql/sql_lex.cc:
  added implementation of function is_keyword
sql/sql_show.cc:
  changed function append_identifier and it's subfunctions
  1. fixed bug @2593 "SHOW CREATE TABLE doesn't properly double quotes"
  2. added automatic quotation of keywords
2004-02-07 00:57:22 +04:00
unknown
ec76183bec Added new option --sync-frm / --skip-sync-frm
Marked --bdb-no-sync as deprecated
Added --sync-bdb-logs / --disable-sync-bdb-logs as a synonym / alternative.


mysys/my_getopt.c:
  Changed my_getopt so that disabled_my_option can be used for
  GET_BOOL type options too.
sql/mysql_priv.h:
  Added opt_sync_frm
sql/mysqld.cc:
  Added sync-frm / disable-sync-frm to mysqld, to be able to disable
  use of my_sync() (fsync()). This defaults to behavior in 4.0.16
  and before, where creating of new tables is quicker than currently.
  This option is enabled by default.
  
  Marked --bdb-no-sync as deprecated option and added another one,
  --sync-bdb-logs besides. --bdb-no-sync and --disabled-sync-bdb-logs
  are now synonyms.
sql/unireg.cc:
  One can disable my_sync() by using --disable-sync-frm
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-02-03 18:10:45 +00:00
unknown
1f739ca45e make JOIN::prepare, JOIN::optimize only once for EXPLAIN of derived table
(BUG#2120 sfter merge)


mysql-test/r/derived.result:
  correct results of derived tble EXPLAIN
  test of "Using Index" with derived tables
mysql-test/t/derived.test:
  test of "Using Index" with derived tables
sql/mysql_priv.h:
  way to force derived table save JOIN after execution
sql/sql_derived.cc:
  way to force derived table save JOIN after execution
sql/sql_lex.h:
  way to force derived table save JOIN after execution
sql/sql_select.cc:
  make JOIN::prepare, JOIN::optimize only once for EXPLAIN of derived table
2004-02-01 20:07:44 +02:00
unknown
00b2168b8c Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-derived2-4.1


sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2004-02-01 15:31:30 +02:00
unknown
68c0a29987 now all tables of query are locked in one place (including derived tables)
fixed BUG#2120 and other problem with EXPLAINing derived tables


mysql-test/r/derived.result:
  correct tables names & Co in derived tables
  test case for BUG#2120
mysql-test/t/derived.test:
  test case for BUG#2120
sql/mysql_priv.h:
  derived tables processing moved after open/locking all tables (in open_and_lock_tables)
sql/repl_failsafe.cc:
  correct initialization of TABLE_LIST
sql/sql_acl.cc:
  used simple table opening without derived table processing to avoid unneeded initialization of SELECT_LEX
sql/sql_base.cc:
  derived tables processing moved after open/locking all tables (in open_and_lock_tables)
sql/sql_delete.cc:
  all tables processing is done during opening
sql/sql_derived.cc:
  derived tables processing moved after open/locking all tables (in open_and_lock_tables) to sutisfy "all query tables locking" at the moment
sql/sql_insert.cc:
  all tables processing is done during opening
  correct initialization of TABLE_LIST
sql/sql_lex.cc:
  now table list will be created for whole query
  layout fix
  correct check of updated table in subqueries
sql/sql_lex.h:
  now table list will be created for whole query
  correct check of updated table in subqueries
sql/sql_olap.cc:
  THIS FUNCTION IS USED NOWHERE
  it will be good to remove it at all (handle_olaps)
sql/sql_parse.cc:
  derived tables processing moved after open/locking all tables (in open_and_lock_tables)
sql/sql_prepare.cc:
  new creating list parameters
  all tables processing is done during opening
sql/sql_select.cc:
  all tables processing is done during opening
sql/sql_select.h:
  now it used only within file where is defined
sql/sql_udf.cc:
  used simple table opening without derived table processing to avoid unneeded initialization of SELECT_LEX
sql/sql_update.cc:
  all tables processing is done during opening
2004-02-01 15:30:32 +02:00
unknown
ef55f2dcdb Fix for bug #2523 '"func_time" test fails on QNX'.
Moved all range checks for TIMESTAMP value to my_gmt_sec().
Also fixed check of upper boundary of TIMESTAMP range (which 
also now will catch datetime values which are too small for
TIMESTAMP in case if time_t is unsigned).  


mysql-test/r/timezone.result:
  Added test which checks if TIMESTAMP range is checked 
  correctly (current time zone is honoured and both upper 
  and lower bounds of TIMESTAMP range are checked).
mysql-test/t/timezone.test:
  Added test which checks if TIMESTAMP range is checked 
  correctly (current time zone is honoured and both upper 
  and lower bounds of TIMESTAMP range are checked).
sql/field.cc:
  Check if datetime value is in TIMESTAMP range has moved to 
  my_gmt_sec() function.
sql/mysql_priv.h:
  Added more constants for checking if datetime is in allowed
  range for TIMESTAMP.
sql/time.cc:
  Check if datetime value is in TIMESTAMP range has moved to 
  my_gmt_sec() function. Fixed check of its return value
  to catch overflows in both directions and also overflows in 
  case of unsigned time_t.
2004-01-30 19:15:11 +03:00
unknown
a2d67665d5 SHOW CREATE DATABASE moved to sql_show.cc where it belongs
db name is printed with append_identifier for a proper quoting
2004-01-30 07:32:35 +01:00
unknown
832ea1206d better fix BUG#2361: ALTER TABLE ... DROP PRIMARY KEY drops a non-primary key 2004-01-28 18:35:52 +01:00
unknown
a6132c6f0a Conflicts resolved
sql/field.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
include/mysqld_error.h:
  merging
sql/share/english/errmsg.txt:
  merging
2004-01-23 20:00:10 +04:00
unknown
214c178f17 SCRUM
wl #1163 (Make spatial code optional)
Patch I cleaned with Serg & Monty's suggestions


sql/gen_lex_hash.cc:
  mysql_priv.h was included for SYM_GROUP declaration
sql/lex.h:
  sym_group_xxx made global so we can use texts from them
  throughout the code
sql/lex_symbol.h:
  SYM_GROUP declaration moved to mysql_priv.h
sql/mysql_priv.h:
  declarations about SYM_GROUP
sql/sql_table.cc:
  sym_group_xxx objects used instead of text constants
  a couple of HAVE_SPATIAL removed
sql/sql_yacc.yy:
  sym_group_xxx used instead of text constants
  some duplicated code restructured
  MYF(0) parameters removed from net_printf calls
2004-01-23 16:02:57 +04:00
unknown
b44c819bb6 Merge deer.(none):/home/hf/work/mysql-4.1.clean
into deer.(none):/home/hf/work/mysql-4.1.1676


sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.h:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-01-19 21:06:27 +04:00
unknown
fb006367e5 merge
sql/mysql_priv.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_help.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2004-01-17 13:13:48 +02:00
unknown
13cf5e6b0a fix for the 2361 bug: ALTER TABLE ... DROP PRIMARY KEY drops a non-primary key
"PRIMARY" has been replaced by primary_key_name.


sql/mysql_priv.h:
  "PRIMARY" replaced by primary_key_name.
sql/sql_help.cc:
  "PRIMARY" replaced by primary_key_name.
sql/sql_select.cc:
  "PRIMARY" replaced by primary_key_name.
sql/sql_show.cc:
  "PRIMARY" replaced by primary_key_name.
sql/sql_table.cc:
  fix for the 2361 bug: ALTER TABLE ... DROP PRIMARY KEY drops a non-primary key
  "PRIMARY" replaced by primary_key_name.
sql/table.cc:
  "PRIMARY" replaced by primary_key_name.
2004-01-14 16:01:55 +04:00
unknown
b21d8b0eff removed droping field->query_id for reinitialization tables for subquery.
(BUG#2089)


mysql-test/r/subselect_innodb.result:
  correct results
sql/mysql_priv.h:
  new parameter for setup_tables()
sql/sql_base.cc:
  new parameter for setup_tables() added to avoid dropping query_id of fields during reinitialization subquery
sql/sql_class.cc:
  layout fixed
sql/sql_help.cc:
  new parameter for setup_tables()
sql/sql_insert.cc:
  new parameter for setup_tables()
sql/sql_lex.cc:
  removed incorrect code
sql/sql_load.cc:
  new parameter for setup_tables()
sql/sql_olap.cc:
  new parameter for setup_tables()
sql/sql_prepare.cc:
  new parameter for setup_tables()
sql/sql_select.cc:
  new parameter for setup_tables()
sql/sql_update.cc:
  new parameter for setup_tables()
2004-01-03 00:12:07 +02:00
unknown
376fb08072 Some small portability fixes.
Added support for lower_case_table_names=2, which is to be used on case insensitive file systems.
This tells MySQL to preserve the used case of filenames and database names to make it esier to move files between cases sensitive can case insensitive file systems (like Windows and Linux)


client/mysqltest.c:
  Indentation cleanup
include/myisam.h:
  Made some pointers 'const'
mysql-test/mysql-test-run.sh:
  Portability fix for OSX
sql/filesort.cc:
  Safety fix (not needed for current code but needed for 5.0)
sql/ha_berkeley.cc:
  More debugging
  Changed 'create' to return error number
sql/ha_berkeley.h:
  Added HA_FILE_BASED
sql/ha_innodb.cc:
  Added missing DBUG_RETURN
sql/ha_isam.cc:
  Changed create to return error number
sql/ha_isam.h:
  Added HA_FILE_BASED
sql/ha_isammrg.h:
  Added HA_FILE_BASED
sql/ha_myisam.cc:
  Changed create to return error number
sql/ha_myisam.h:
  Added HA_FILE_BASED
sql/ha_myisammrg.cc:
  Changed create to return error number
sql/ha_myisammrg.h:
  Added HA_FILE_BASED
sql/handler.cc:
  Ensure that table engines gets table names in lower case even if we are using lower_case_table_names
  Removed test for DB_TYPE_INNODB by ensuring that create method returns error number.
sql/handler.h:
  Added HA_FILE_BASED
  Made some struct entries 'const'
  Added 'alias' for create to be able to create tables in mixed case on case insensitive file systems
sql/mysql_priv.h:
  Support for lower_case_table_names=2
sql/mysqld.cc:
  Support for lower_case_table_names=2
  Moved test of case insenstive file system after all mutex are created
sql/set_var.cc:
  Support for lower_case_table_names=2
sql/sql_class.h:
  Indentation change
sql/sql_db.cc:
  Support for lower_case_table_names=2
sql/sql_insert.cc:
  Indentation change
sql/sql_parse.cc:
  Support for lower_case_table_names=2
sql/sql_rename.cc:
  Support for lower_case_table_names=2
  Added missing 'unpack_filename' to RENAME which may fix a bug in RENAME TABLE on windows
sql/sql_show.cc:
  If lower_case_table_name=2 is given, show original case in SHOW CREATE TABLE
sql/sql_table.cc:
  Support for lower_case_table_names=2 for DROP TABLE, RENAME TABLE, ALTER TABLE and CREATE TABLE
2003-12-30 13:14:21 +02:00
unknown
367ded9f71 Fix for prepared statements
Here i added Item_*::cleanup() functions,
removed a lot of ~Item_*'s,
added code to restore order_list and group_list


sql/item.cc:
  cleanups methods implemented
  Item_ref constructors changed
sql/item.h:
  cleanups declared
  Item_ref constructors changed
  some ~Item_* deleted
sql/item_cmpfunc.cc:
  new Item_ref format
sql/item_cmpfunc.h:
  saving/restoring of the original arguments added to
  eq and equal functions
sql/item_func.cc:
  New Item_ref format
sql/item_func.h:
  destructors removed/changed to 'cleanup()'
sql/item_row.cc:
  New Item_ref format
sql/item_row.h:
  ~Item_row -> cleanup()
sql/item_strfunc.cc:
  new Item_ref format
sql/item_strfunc.h:
  destructors removed
sql/item_subselect.cc:
  Item_subselect implementation,
  new Item_ref() format
sql/item_subselect.h:
  cleanups for subselects declared
sql/item_sum.cc:
  cleanups implementations
sql/item_sum.h:
  cleanups declarations
  destructors removed
sql/mysql_priv.h:
  free_items, cleanup_items exported
sql/sql_prepare.cc:
  cleanup_items, free_items calls added
  stmt->query_id= thd->query_id restored
  cleanup procedures for group_list and order_list added
sql/sql_yacc.yy:
  New Item_ref() format
2003-12-30 14:08:19 +04:00
unknown
e87a2b317f Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/kostja/mysql/mysql-4.1-prep_st_hack


sql/mysql_priv.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2003-12-20 02:27:32 +03:00
unknown
32c6b0d72a Prepared_statement deployed instead of PREP_STMT.
libmysqld/lib_sql.cc:
  Prepared_statement now resides entirely in sql_prepare.cc
  Embedded versions of setup_params_data moved to sql_prepare.cc
sql/mysql_priv.h:
  removed declarations for non-existing functions
sql/slave.cc:
  no thd->init_for_queries() any more
sql/sql_class.cc:
  added Statement and Statement_map classes.
  PREP_STMT replaced with Statement (Prepared_statement) and moved to
  sql_prepare.cc
sql/sql_class.h:
  added Statement and Statement_map classes.
  PREP_STMT replaced with Statement (Prepared_statement) and moved to
  sql_prepare.cc
sql/sql_parse.cc:
  thd->init_for_queries() doesn't exist any more
  comment moved to proper place
sql/sql_prepare.cc:
  PREP_STMT replaced with Prepared_statement
  minor code cleanups
tests/client_test.c:
  Later in the test we rely on order of rows, which normally is not defined.
  My patch changes the order.
2003-12-20 02:16:10 +03:00
unknown
4e8c381029 merge with lex pointer change patch
sql/mysql_priv.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2003-12-19 20:18:18 +02:00