Commit graph

112 commits

Author SHA1 Message Date
unknown
e78208e59b don't modify constant strings
sql/sql_prepare.cc:
  use static variable
2004-04-06 12:31:25 +02:00
unknown
bc5365b4bb Stubs for types/names of placeholders, cursor flags and array execution count
implemented in the client library and server.
Warning: this makes the new client library and server incompatible with all 
previous versions and 5.0.


libmysql/libmysql.c:
  Make client library compatible with future extensions: types of placeholders, 
   names of named parameters, cursors and array execution.
sql/sql_prepare.cc:
  Alpha server side support for future extensions: types of placeholders and names of
  named parameters are sent to client (virtually), cursor flags and execution
  count received in COM_EXECUTE packet are ignored.
2004-03-31 02:27:49 +04:00
unknown
989756ab99 Better comment.
sql/sql_prepare.cc:
  While reviewing Sanja's patch finally understood what is going one here
  (previously marked as 'safety - nasty init' :-) ).
2004-03-30 02:03:42 +04: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
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
9977ce0c71 after review changes
sql/sql_class.h:
  changed methods names
sql/sql_prepare.cc:
  changed methods names
  removed incorrect comments
  added error handler
2004-02-20 16:24:03 +02:00
unknown
7dd164f730 after review fix
sql/item.h:
  typo fixed
sql/item_func.h:
  clear refernce on deleted variable
sql/item_subselect.cc:
  layout fixed
sql/sql_base.cc:
  temporary memory pool allocation moved from open_and_lock_tables
sql/sql_prepare.cc:
  temporary memory pool allocation moved
  changing in routine suggeted by Monty
tests/client_test.c:
  uncomment accidently commented test
2004-02-20 15:37:45 +02:00
unknown
4588385715 revision of fix_fields calls in subqueries transformation
after merge fix


sql/item_subselect.cc:
  revision of fix_fields calls in subqueries transformation
sql/sql_prepare.cc:
  after merge fix
2004-02-18 22:14:41 +02: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
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
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
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
1e8dcbe01f Bug#2703
"MySQL server does not detect if garbage chara at the end of query"

Allow the parser to see the garbage characters.
Garbage should cause the parser to report an error.


sql/sql_lex.cc:
  Return END_OF_INPUT when at the end of the input buffer.
  Allows the parser to determine if there is junk after a \0 character.
sql/sql_parse.cc:
  Undo 1.314.1.1 04/02/11 12:32:42 guilhem@mysql.com
sql/sql_prepare.cc:
  Undo 1.73 04/02/11 12:32:42 guilhem@mysql.com
2004-02-12 12:01:27 +00:00
unknown
0f0ca5e35b merge
sql/item.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
2004-02-12 11:12:16 +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
0aa48dc500 Fix for BUG#2703
"MySQL server does not detect if garbage chars at the end of query":

Detect garbage chars at the end of the query or at the end of a query
for a prepared statement (which happens if mysql_real_query() or mysql_prepare()
were called with a too big 'length' parameter (bigger than the real intended
length of the query: then we receive a query + garbage characters from the
client). This resulted in garbage chars written into the binlog.
Now instead the client receives something like:
'You have an error in your SQL syntax.  Check the manual that corresponds
to your MySQL server version for the right syntax to use near '!stmt'
at line 1' i.e. the server is pointing at the weird tail of the query
(this '!stmt' are the garbage chars sent by the client).
All tests pass, except mysqldump.test and ctype_utf8.test but they failed
before the patch.


sql/sql_parse.cc:
  Detect garbage chars at the end of the query
  (which happens if mysql_real_query() was called with a too big 'length'
  parameter (bigger than the real intended length of the query: then
  we receive a query + garbage characters from the client).
sql/sql_prepare.cc:
  Detect garbage chars at the end of the query
  (which happens if mysql_prepare() was called with a too big 'length'
  parameter (bigger than the real intended length of the query: then
  we receive a query + garbage characters from the client).
tests/client_test.c:
  The change to sql_parse.cc and sql_prepare.cc rightfully gives many
  syntax errors to tests/client_test.c which is full of
  mysql_prepare(mysql, "SHOW TABLES", 100).
  Correcting all these commands.
2004-02-11 12:32:47 +01:00
unknown
9450b41d57 merge
mysql-test/r/derived.result:
  Auto merged
mysql-test/t/derived.test:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_func.h:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
2004-02-09 15:49:11 +02:00
unknown
d4767576f8 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


mysql-test/r/derived.result:
  Auto merged
mysql-test/t/derived.test:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
2004-02-09 15:01:51 +02:00
unknown
8302f040b7 Merge sanja.is.com.ua:/home/bell/mysql/bk/work-derived2-4.1/
into sanja.is.com.ua:/home/bell/mysql/bk/work-prepared-4.1


sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2004-02-09 14:47:41 +02:00
unknown
35b1f54450 Added --compact to mysqlbinlog
Fixed output from mysqlbinlog when using --skip-comments
Fixed warnings from valgrind
Fixed ref_length when used with HEAP tables
More efficent need_conversion()
Fixed error handling in UPDATE with not updateable tables
Fixed bug in null handling in CAST to signed/unsigned



client/client_priv.h:
  cleanup & added OPT_COMPACT
client/mysqldump.c:
  Added option --compact to get a compact readable dump.
  Ensure that SET CHARACTER_SET_CLIENT is not done if we have not remembered the old character set
  Print optimization comments even if --skip-comments are given as these are not true comments. (Before these where only printed at end, which was a bug)
mysql-test/r/cast.result:
  More cast tests
mysql-test/r/derived.result:
  Removed warnings
mysql-test/r/mysqldump.result:
  Update results after fixing mysqlbinlog
mysql-test/r/query_cache.result:
  Make test usable with --extern
  more tests
mysql-test/r/rpl_until.result:
  Make test repeatable under valgrind
mysql-test/r/sql_mode.result:
  Fix test result
mysql-test/r/subselect.result:
  Make test smaller. Update wrong results
mysql-test/t/cast.test:
  More cast tests
mysql-test/t/derived.test:
  Removed warnings
mysql-test/t/query_cache.test:
  Make test usable with --extern
  more tests
mysql-test/t/rpl_until.test:
  fix for valgrind.  Becasue of unknown reason one got 'Slave_SQL_Running=yes' in this setup
mysql-test/t/subselect.test:
  Make test case smaller
sql/field.cc:
  Updated need_conversion() to use new arguments
sql/ha_heap.cc:
  Moved initialization of ref_length to right place. This fixed problem that we had a ref_length of 8 for heap tables, which was not efficent.
sql/item_func.cc:
  Cleanup
sql/item_func.h:
  Fixed bug in null_handling for cast to signed/unsigned
sql/item_strfunc.cc:
  Optimized/cleaned up Item_func_conv_charset3
sql/item_sum.cc:
  Cleanup.
  Ensure that some flag variables are cleared in cleanup()
sql/item_sum.h:
  Fixed references to uninitialized memory
sql/opt_range.cc:
  Fixed spelling error
sql/sql_class.cc:
  Fixed wrong return code, which could case protocol problems
sql/sql_class.h:
  After merge fix
sql/sql_prepare.cc:
  Added comments
sql/sql_show.cc:
  Cleanup
sql/sql_string.cc:
  Optimzed usage of need_conversion().
  - Removed not used argument
  - Save diff lenght in 'offset' to not have to recalculate length several times.
  Cleaned up comment
  Optimized copy_aligned() based on the knowledge that it's only called when you have wrong data
sql/sql_string.h:
  Updated need_conversion() and copy_aligned() to use new arguments
sql/sql_update.cc:
  Fixed error handling with non-updateable tables
sql/sql_yacc.yy:
  Ensure that lex->lock_options are set correctly (to get rid of warnings from valgrind)
  Ensure that cast_type sets lex->charset and lex->length. Without these CONVERT() didn't work properly
2004-02-09 12:31:03 +01:00
unknown
541cb675c8 fixed subquery with PS (BUG#2462)
fixed UNION preparation


sql/item.cc:
  debug output added
sql/item.h:
  debug output added
sql/item_cmpfunc.cc:
  correct cleunup() for Item_in_optimizer
sql/item_cmpfunc.h:
  correct cleunup() for Item_in_optimizer
  debug output added
sql/item_func.h:
  debug output added
sql/item_subselect.cc:
  support of prepared statemnts added - mostly memorry allocation manegement, only one trabsformatio & correct cleupup()
sql/item_subselect.h:
  support of prepared statemnts added - mostly memorry allocation manegement, only one trabsformatio & correct cleupup()
sql/item_sum.cc:
  debug output added
sql/item_sum.h:
  debug output added
sql/sql_class.cc:
  function to switch allocation arena for Items
sql/sql_class.h:
  function to switch allocation arena for Items
  pointer on current prepared statement added
sql/sql_lex.cc:
  comment fixed
sql/sql_lex.h:
  item cleanup support
sql/sql_prepare.cc:
  - fixed preparation of PS to avoid storing junk in its memory + correct work with union
  - fixed tables cleanup for UNION & subqueries
sql/sql_select.cc:
  removed condition which is always true for now
  fixed layout
sql/sql_union.cc:
  support of UNION subquery cleanup
tests/client_test.c:
  test of repeatable subqueries
  test of correct UNION initialisation
2004-02-08 20:14:13 +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
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
584e137887 Code cleanup
Superfluous line removed


sql/sql_prepare.cc:
  Line is not needed
2004-01-19 21:05:26 +04:00
unknown
c8eff1773e Code cleanup (working on PS & cleanup() code)
Item & changed with Item* in Item_xxx constructors
tables_list.first -> get_table_list()


sql/item.cc:
  Item& -> Item*
sql/item.h:
  Item& -> Item*
sql/item_cmpfunc.cc:
  Item& -> Item*
sql/item_cmpfunc.h:
  Item& -> Item*
sql/item_func.cc:
  Item& -> Item*
sql/item_func.h:
  Item& -> Item*
sql/item_sum.cc:
  Item& -> Item*
sql/item_sum.h:
  Item& -> Item*
sql/item_uniq.h:
  Item& -> Item*
sql/sql_prepare.cc:
  Code cleanup
sql/sql_select.cc:
  Item& -> Item*
2004-01-19 19:53:25 +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
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
7136e3866c Fix for #2184 (Prepared statements if embedded library broken)
There was an error with same function/class member names


sql/sql_prepare.cc:
  Name scope specified
2003-12-23 17:17:45 +04:00
unknown
d31c6628e1 Portability fixes found during 5.0 test compilation
Fixed bug in ORDER BY on a small column (Bug #2147)
Fixed error from pthread_mutex_destroy() when one had wrong errmsg file



client/mysqltest.c:
  Added handling of error on query send
  (Needed for init_connection.test)
mysql-test/mysql-test-run.sh:
  Added tracing of mysqldump and mysqlbinlog
mysql-test/r/init_connect.result:
  Updated tests
mysql-test/r/order_by.result:
  Added test for bug filesort bug
mysql-test/t/init_connect-master.opt:
  Added proper quoting (for Solaris and OSF)
mysql-test/t/init_connect.test:
  Portability fix
mysql-test/t/order_by.test:
  Added test for bug #2147 (bug in filesort)
sql/filesort.cc:
  Fixed bug in filesort (Bug #2147)
sql/item.h:
  Clear 'fixed' on cleanup (For prepared statements)
sql/item_func.cc:
  Protect mutex destroy.
  (Fixed error from pthread_mutex_destroy() when one had wrong errmsg file)
sql/log_event.cc:
  Portability fix
sql/sql_class.h:
  Fixed compiler warning
sql/sql_prepare.cc:
  Portability fix. (Some compilers doesn't support jump over variables declared in for())
2003-12-21 19:39:32 +02: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
8d987f9e53 THD::lex now points to THD::main_lex like in 5.0
All tests pass (client_test included)


libmysqld/lib_sql.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/filesort.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/ha_innodb.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/ha_myisam.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/item.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/item_cmpfunc.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/item_create.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/item_func.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/item_subselect.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/item_sum.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/mysql_priv.h:
  THD::lex now points to THD::main_lex like in 5.0
sql/mysqld.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/protocol.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/repl_failsafe.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/slave.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/sql_acl.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/sql_base.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/sql_cache.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/sql_class.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/sql_class.h:
  THD::lex now points to THD::main_lex like in 5.0
sql/sql_delete.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/sql_error.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/sql_insert.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/sql_lex.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/sql_lex.h:
  THD::lex now points to THD::main_lex like in 5.0
sql/sql_parse.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/sql_prepare.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/sql_repl.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/sql_select.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/sql_table.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/sql_union.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/sql_update.cc:
  THD::lex now points to THD::main_lex like in 5.0
sql/sql_yacc.yy:
  THD::lex now points to THD::main_lex like in 5.0
2003-12-19 20:52:13 +03:00
unknown
9c2a63e35e Fixes after merge with 4.0
Cleaned up embedded library access and query cache handling
Changed min stack size to 128K (to allow longer MyISAM keys)
Fixed wrong priority for XOR (should be less than NEG to get -1^1 to work)


client/mysqldump.c:
  Fixed bugs found after merge
include/mysql_embed.h:
  Disable query cache when using embedded version
myisam/mi_check.c:
  Removed not used variable
mysql-test/r/auto_increment.result:
  Fixed bugs found after merge
mysql-test/r/bdb.result:
  Fixed bugs found after merge
mysql-test/r/func_group.result:
  Fixed bugs found after merge
mysql-test/r/func_str.result:
  Fixed bugs found after merge
mysql-test/r/func_time.result:
  Fixed bugs found after merge
mysql-test/r/group_by.result:
  Fixed bugs found after merge
mysql-test/r/innodb.result:
  Fixed bugs found after merge
mysql-test/r/insert.result:
  Fixed bugs found after merge
mysql-test/r/join_outer.result:
  Fixed bugs found after merge
mysql-test/r/loaddata.result:
  Fixed bugs found after merge
mysql-test/r/multi_update.result:
  Fixed bugs found after merge
mysql-test/r/mysqldump.result:
  Update results
mysql-test/r/rpl_EE_error.result:
  Fixed bugs found after merge
mysql-test/r/rpl_multi_update.result:
  Fixed bugs found after merge
mysql-test/r/symlink.result:
  Update results
mysql-test/r/type_blob.result:
  Update results
mysql-test/r/type_datetime.result:
  Update results
mysql-test/r/type_decimal.result:
  Update results
mysql-test/r/type_enum.result:
  Fixed bugs found after merge
mysql-test/r/type_timestamp.result:
  Update results
mysql-test/r/union.result:
  Update results
mysql-test/r/warnings.result:
  Update results
mysql-test/t/bdb.test:
  Fix test for 4.1
mysql-test/t/innodb.test:
  Fix test for 4.1
mysql-test/t/multi_update.test:
  Fix test for 4.1
mysql-test/t/mysqldump.test:
  Fix test for 4.1
mysql-test/t/rpl_EE_error.test:
  Fix test for 4.1
mysql-test/t/rpl_multi_update.test:
  Fix test for 4.1
mysql-test/t/union.test:
  Cleanup
mysys/charset.c:
  Check results from my_once_alloc()
mysys/my_handler.c:
  part of 4.0 merge
sql-common/client.c:
  Part of 4.0 merge
sql/field.cc:
  After merge fixes
sql/field.h:
  After merge fixes
sql/ha_innodb.cc:
  Remove duplicate include files
sql/item.cc:
  Changed automatic int conversion to be of type binary
sql/item.h:
  After merge fixes
sql/item_func.cc:
  Changed automatic int conversion to be of type binary
sql/item_func.h:
  After merge fixes
sql/item_strfunc.cc:
  Added comments
sql/item_subselect.cc:
  Indentation fixes
sql/item_sum.cc:
  Changed automatic int conversion to be of type binary
sql/item_sum.h:
  After merge fixes
sql/mysql_priv.h:
  Cleanup embedded library access checks
sql/mysqld.cc:
  Changed min stack size to 128K (to allow longer MyISAM keys)
sql/set_var.cc:
  Fixed compiler warnings
sql/share/czech/errmsg.txt:
  Better error message
sql/share/danish/errmsg.txt:
  Better error message
sql/share/dutch/errmsg.txt:
  Better error message
sql/share/english/errmsg.txt:
  Better error message
sql/share/estonian/errmsg.txt:
  Better error message
sql/share/french/errmsg.txt:
  Better error message
sql/share/greek/errmsg.txt:
  Better error message
sql/share/hungarian/errmsg.txt:
  Better error message
sql/share/italian/errmsg.txt:
  Better error message
sql/share/japanese/errmsg.txt:
  Better error message
sql/share/korean/errmsg.txt:
  Better error message
sql/share/norwegian-ny/errmsg.txt:
  Better error message
sql/share/norwegian/errmsg.txt:
  Better error message
sql/share/polish/errmsg.txt:
  Better error message
sql/share/romanian/errmsg.txt:
  Better error message
sql/share/russian/errmsg.txt:
  Better error message
sql/share/serbian/errmsg.txt:
  Better error message
sql/share/slovak/errmsg.txt:
  Better error message
sql/share/spanish/errmsg.txt:
  Better error message
sql/share/swedish/errmsg.txt:
  Better error message
sql/share/ukrainian/errmsg.txt:
  Better error message
sql/sql_acl.h:
  Cleaned up embedded library acccess checks
sql/sql_base.cc:
  After merge fixes
sql/sql_client.cc:
  After merge fixes
sql/sql_parse.cc:
  After merge fixes
  Changed access check code for embedded library (needed to make code shorter and ensure that check_table_access() is called)
  Recoded create-table handling for CREATE TABLE ... SELECT to make code shorter and faster
sql/sql_prepare.cc:
  Add missing arguments
sql/sql_select.cc:
  After merge fixes
sql/sql_update.cc:
  After merge fixes
sql/sql_yacc.yy:
  Fixed wrong priority for XOR (should be less than NEG to get -1^1 to work)
sql/table.cc:
  After merge fixes
2003-12-19 16:25:50 +02:00
unknown
6736de2839 don't delete select_lex->having and select_lex->where as we delete
all items in free_prep_stmt(free_items);

indentation fix
2003-12-01 17:46:07 +03:00
unknown
48ea56a553 memory leak (no delete for query= new String) fixed 2003-11-27 19:14:16 +03:00
unknown
aef0b9a7c7 fix for bug #1946:
"You can always mysql_real_query a query with placeholders 
after mysql_prepare()"


sql/sql_class.cc:
  prepare_command removed
sql/sql_class.h:
  prepare_command removed
sql/sql_prepare.cc:
  prepare_command removed
sql/sql_yacc.yy:
  prepare_command removed
tests/client_test.c:
  added test for bug #1946: "You can always
  mysql_real_query a query with placeholders after mysql_prepare()"
2003-11-25 17:41:12 +03:00
unknown
3e21b667bc Fixed UNION fields type/length detecting
mysql-test/r/union.result:
  new results with max union field length detecting
  type conversion tests
mysql-test/t/union.test:
  type conversion tests
sql/field.h:
  field converion support
sql/item.cc:
  fixed printing field of internal temporary table of SELECT (reference from HAVING clause)
  layout fix
  new item for storing field type
sql/item.h:
  new item for storing field type
sql/item_subselect.cc:
  new subquery item length/dec detecting
sql/mysql_priv.h:
  we do not need pre-inited tables and fields
sql/sql_base.cc:
  we do not need double fix_fielding
sql/sql_class.h:
  we do not need double fix_fielding
sql/sql_derived.cc:
  preparing moved before temporary table creation
sql/sql_lex.h:
  we do not need pre-inited tables and fields
  new lists to store fields types and fields of temporary table
sql/sql_parse.cc:
  we do not need pre-inited tables and fields
sql/sql_prepare.cc:
  we do not need pre-inited tables and fields
sql/sql_select.cc:
  we do not need pre-inited tables and fields
  support mysql_select call from derived tables after it preparing (in derived table routing)
  support of crreating temporary table fields from Item_type_holder
sql/sql_select.h:
  we do not need pre-inited tables and fields
sql/sql_union.cc:
  we do not need pre-inited tables and fields
  check of columns number in union moved to prepare()
  prepering of SELECTS moved before temporary table creation, fixed union columns type/length detecting
sql/sql_update.cc:
  we do not need pre-inited tables and fields
2003-11-23 02:01:15 +02:00
unknown
3ca0fa1525 Update VC++ files
Portability fixes
After merge fixes


VC++Files/mysql.dsw:
  Added dependencys
VC++Files/mysys/mysys.dsp:
  Add missing files
client/mysqlcheck.c:
  Added comment
client/mysqltest.c:
  Remove not used variables
include/keycache.h:
  Removed not used element
include/m_ctype.h:
  Portability fix
include/my_base.h:
  Removed not used define
myisam/mi_keycache.c:
  Added mutex for extra safety
mysql-test/r/count_distinct3.result:
  Faster test
mysql-test/r/rpl_change_master.result:
  updated results
mysql-test/t/count_distinct3.test:
  Faster test
mysql-test/t/rpl_change_master.test:
  Make test repeatable
mysys/default.c:
  Remove compiler warning
mysys/mf_keycache.c:
  Removed not used 'action' element
mysys/my_getopt.c:
  Remove not used variable
sql/ha_myisam.cc:
  Remove compiler warning
sql/item.cc:
  Fixed wrong patch from last changeset
sql/item_timefunc.cc:
  Remove compiler warnings
sql/set_var.cc:
  Remove compiler warnings
sql/sql_prepare.cc:
  Remove not used variables
sql/sql_repl.cc:
  After merge fix
sql/sql_select.h:
  Added comments
sql/sql_table.cc:
  Remove not used define
strings/ctype-tis620.c:
  Remove not used variables
2003-11-21 01:53:01 +02:00
unknown
35da5e43fb Merge key cache structures to one
Fixed compiler warnings (IRIX C compiler and VC++)


VC++Files/client/mysqlclient.dsp:
  Add missing file to project
VC++Files/libmysql/libmysql.dsp:
  Add missing file to project
VC++Files/myisam/myisam.dsp:
  Add missing file to project
VC++Files/mysys/mysys.dsp:
  Add missing file to project
heap/hp_test1.c:
  Fixed wrong call to heap_rkey()
heap/hp_test2.c:
  Fixed wrong call to heap_rkey()
include/hash.h:
  Move not used (internal) struct to hash.c
include/my_pthread.h:
  Made some structs 'const char*' to avoid warnings
include/my_sys.h:
  Moved key cache structs and functions to keycache.h
include/myisam.h:
  Merge key cache structures to one
include/mysql.h:
  Remove STDCALL from internal functions
include/sql_common.h:
  Remove STDCALL from internal functions
include/violite.h:
  Fixed compiler warning
isam/_locking.c:
  Merge key cache structures to one
isam/_page.c:
  Merge key cache structures to one
isam/close.c:
  Merge key cache structures to one
isam/extra.c:
  Merge key cache structures to one
isam/isamchk.c:
  Merge key cache structures to one
isam/isamdef.h:
  Merge key cache structures to one
isam/isamlog.c:
  Merge key cache structures to one
isam/panic.c:
  Merge key cache structures to one
isam/test2.c:
  Merge key cache structures to one
isam/test3.c:
  Merge key cache structures to one
libmysql/client_settings.h:
  Remove STDCALL from internal functions
libmysql/libmysql.c:
  Remove STDCALL from internal functions
myisam/ft_boolean_search.c:
  Fixed compiler warning
myisam/ft_dump.c:
  Fixed compiler warnings (%qx is not portable)
myisam/ft_update.c:
  Fixed compiler warnings
myisam/mi_check.c:
  Merge key cache structures to one
myisam/mi_close.c:
  Merge key cache structures to one
myisam/mi_delete_all.c:
  Merge key cache structures to one
myisam/mi_extra.c:
  Merge key cache structures to one
myisam/mi_keycache.c:
  Merge key cache structures to one
myisam/mi_locking.c:
  Merge key cache structures to one
myisam/mi_page.c:
  Merge key cache structures to one
myisam/mi_panic.c:
  Merge key cache structures to one
myisam/mi_preload.c:
  Merge key cache structures to one
myisam/mi_test1.c:
  Merge key cache structures to one
myisam/mi_test2.c:
  Merge key cache structures to one
myisam/mi_test3.c:
  Merge key cache structures to one
myisam/myisamchk.c:
  Merge key cache structures to one
myisam/myisamdef.h:
  Merge key cache structures to one
myisam/myisamlog.c:
  Merge key cache structures to one
  Removed not used option
myisam/sort.c:
  Fixed compiler warnings
myisam/sp_test.c:
  Fixed compiler warnings
mysql-test/r/case.result:
  Updated results after fix of correct NULL detection in WHEN
mysql-test/r/date_formats.result:
  Updated results after fixing date handling
mysql-test/r/symlink.result:
  Updated results after adding DEFAULT CHARSET
mysql-test/t/case.test:
  New test
mysql-test/t/symlink.test:
  Updated error numbers
mysys/hash.c:
  Made HASH_LINK struct local
mysys/mf_keycache.c:
  Merge key cache structures to one
  Fixed key_cache_read() and key_cache_write() to be resize-safe.
mysys/mf_keycaches.c:
  Merge key cache structures to one
mysys/thr_mutex.c:
  Added test if mutex is initalized
sql-common/client.c:
  Remove STDCALL from internal functions
sql/derror.cc:
  Added comment
sql/field.cc:
  Removed not used variables
sql/ha_innodb.cc:
  Fixed compiler warnings (removed not used variables)
sql/ha_myisam.cc:
  Merge key cache structures to one
sql/ha_myisammrg.cc:
  Removed not used variables
sql/handler.cc:
  Merge key cache structures to one
sql/handler.h:
  Merge key cache structures to one
sql/item.cc:
  Fixed compiler warning
sql/item_cmpfunc.cc:
  Remove not used variables
sql/item_func.cc:
  Remove not used variables
sql/item_strfunc.cc:
  Removed not used variables
sql/item_sum.cc:
  Removed not used variables
  Moved setting of item_thd to fix_fields()
sql/item_timefunc.cc:
  Removed not used variables
sql/mysql_priv.h:
  Merge key cache structures to one
sql/mysqld.cc:
  Merge key cache structures to one
  init_thread_environment() is not called before mysql_init_variables(). This fixes a case where a mutex was not initialized before it was used
sql/opt_sum.cc:
  Remove not used variables
sql/protocol.cc:
  Don't send errors after ok has been sent
sql/protocol_cursor.cc:
  Remove not used variable
  Simple optimization
sql/repl_failsafe.cc:
  Remove not used variables
sql/set_var.cc:
  Merge key cache structures to one
sql/set_var.h:
  Merge key cache structures to one
sql/sql_acl.cc:
  Remove not used variables
sql/sql_base.cc:
  Remove not used function
sql/sql_db.cc:
  Remove not used variables
sql/sql_handler.cc:
  Remove not used variables
sql/sql_insert.cc:
  More DBUG statements
  Simple code cleanup
sql/sql_lex.cc:
  Remove not used variables
sql/sql_parse.cc:
  Remove not used variables
sql/sql_prepare.cc:
  Remove not used variables
sql/sql_repl.cc:
  Remove not used variables
sql/sql_select.cc:
  Remove not used variables
sql/sql_show.cc:
  Remove not used variables
sql/sql_table.cc:
  Merge key cache structures to one
  Removed not used variables
sql/sql_test.cc:
  Merge key cache structures to one
sql/strfunc.cc:
  Fixed that find_type() returns correct value for partly matched words.
  (This fixed the error found by date_formats.test)
sql/time.cc:
  Remove not used variables
strings/my_strtoll10.c:
  Fixed compiler warnings
2003-11-20 22:06:25 +02:00
unknown
30c97ed175 Merge
BitKeeper/etc/ignore:
  auto-union
include/m_ctype.h:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/func_compress.result:
  Auto merged
mysql-test/t/date_formats.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/set_var.h:
  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_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
strings/ctype-bin.c:
  Auto merged
include/mysqld_error.h:
  Merge error messages
mysql-test/r/date_formats.result:
  merge
sql/derror.cc:
  Fixed wront return value
sql/item_timefunc.cc:
  merge
sql/item_timefunc.h:
  merge
sql/mysqld.cc:
  merge
sql/share/czech/errmsg.txt:
  Merge error messages
sql/share/danish/errmsg.txt:
  Merge error messages
sql/share/dutch/errmsg.txt:
  Merge error messages
sql/share/english/errmsg.txt:
  Merge error messages
sql/share/estonian/errmsg.txt:
  Merge error messages
sql/share/french/errmsg.txt:
  Merge error messages
sql/share/german/errmsg.txt:
  Merge error messages
sql/share/greek/errmsg.txt:
  Merge error messages
sql/share/hungarian/errmsg.txt:
  Merge error messages
sql/share/italian/errmsg.txt:
  Merge error messages
sql/share/japanese/errmsg.txt:
  Merge error messages
sql/share/korean/errmsg.txt:
  Merge error messages
sql/share/norwegian-ny/errmsg.txt:
  Merge error messages
sql/share/norwegian/errmsg.txt:
  Merge error messages
sql/share/polish/errmsg.txt:
  Merge error messages
sql/share/portuguese/errmsg.txt:
  Merge error messages
sql/share/romanian/errmsg.txt:
  Merge error messages
sql/share/russian/errmsg.txt:
  Merge error messages
sql/share/serbian/errmsg.txt:
  Merge error messages
sql/share/slovak/errmsg.txt:
  Merge error messages
sql/share/spanish/errmsg.txt:
  Merge error messages
sql/share/swedish/errmsg.txt:
  Merge error messages
sql/share/ukrainian/errmsg.txt:
  Merge error messages
2003-11-03 22:48:03 +02:00
unknown
bee5d9d462 Simplified 'wrong xxx name' error messages by introducing 'general' ER_WRONG_NAME error
Cleaned up (and disabled part of) date/time/datetime format patch. One can't anymore change default read/write date/time/formats.
This is becasue the non standard datetime formats can't be compared as strings and MySQL does still a lot of datetime comparisons as strings
Changed flag argument to str_to_TIME() and get_date() from bool to uint
Removed THD from str_to_xxxx functions and Item class.
Fixed core dump when doing --print-defaults
Move some common string functions to strfunc.cc
Dates as strings are now of type my_charset_bin instead of default_charset()
Introduce IDENT_QUOTED to not have to create an extra copy of simple identifiers (all chars < 128)
Removed xxx_FORMAT_TYPE enums and replaced them with the old TIMESTAMP_xxx enums
Renamed some TIMESTAMP_xxx enums to more appropriate names
Use defines instead of integers for date/time/datetime string lengths
Added to build system and use the new my_strtoll10() function.



BUILD/compile-pentium-valgrind-max:
  Remove double printing of warning
VC++Files/libmysqld/libmysqld.dsp:
  Added strfunc.cc
VC++Files/sql/mysqld.dsp:
  Added strfunc.cc
VC++Files/sql/mysqldmax.dsp:
  Added strfunc.cc
VC++Files/strings/strings.dsp:
  added my_strtoll10.c
include/m_ctype.h:
  Removed MY_LEX_FOUND_IDENT (not used)
include/m_string.h:
  Added my_strtoll10()
include/mysqld_error.h:
  simplified 'wrong xxx name' error messages
include/sql_state.h:
  simplified 'wrong xxx name' error messages
libmysqld/Makefile.am:
  Added strfunc.cc
mysql-test/mysql-test-run.sh:
  Simplified some options
  changed $@ to "$@" in an attempt to handle options with space (Didn't succeed;  Problem will disappear when mysql-test-run is rewritten in C)
mysql-test/r/ctype_latin1_de.result:
  Added new tests
mysql-test/r/ctype_recoding.result:
  Extended tests
mysql-test/r/date_formats.result:
  Cleaned up tests
  Disabled some tests that can't yet be run
mysql-test/r/func_compress.result:
  New error message
mysql-test/r/rpl_temporary.result:
  Added new test
mysql-test/t/create.test:
  Changed error numbers
mysql-test/t/ctype_latin1_de.test:
  New tests
mysql-test/t/ctype_recoding.test:
  Extended tests
mysql-test/t/date_formats-master.opt:
  Removed datetime_format as we can't handle options with space in mysql-test-run
mysql-test/t/date_formats.test:
  Cleaned up tests
  Disabled some tests that can't yet be run
mysql-test/t/rpl_temporary.test:
  Added testing of open temporary table on slave shutdown
mysql-test/t/symlink.test:
  Fixed error numbers
mysys/default.c:
  Fixed core dump when doing --print-defaults
sql/Makefile.am:
  Added strfunc.cc
sql/derror.cc:
  Fixed compiler warning
sql/field.cc:
  Changed argument to str_to_TIME() from bool to uint
  Removed THD argument from str_to_TIME()
  Moved find_enum() and find_set() to strfunc.cc
sql/field.h:
  Changed type of last argument to get_date() to be able to handle more options
sql/init.cc:
  Remove not used variable dayord
sql/item.cc:
  Changed type of last argument to get_date() to be able to handle more options
  Removed THD* element from item.
  Don't use make_date_time() to generate date/time/datetimes
sql/item.h:
  Changed type of last argument to get_date() to be able to handle more options
  Removed THD* from Item
sql/item_create.cc:
  Indentation cleanup
sql/item_func.cc:
  Use new find_type()
sql/item_func.h:
  Changed type of last argument to get_date() to be able to handle more options
sql/item_strfunc.h:
  space change
sql/item_timefunc.cc:
  Changed month_names[] to be easier to use
  Moved check_names[] to strfunc.cc
  Added back old make_datetime() function
  Optimized extract_date_time()
  Use my_strtoll10() insetad of my_strntoll()
  Optimized make_date_time()
  Replaced short variable names with long ones.
  Use new functions make_time(), make_date() and make_datetime()
  Dates as strings are now of type my_charset_bin instead of default_charset()
  Changed Item_func_str_to_date() to by default return a date.
sql/item_timefunc.h:
  Changed charset for date string from default_charset() to my_charset_bin
  Changed type of last argument to get_date() to be able to handle more options
  Use defines instead of integers for date/time/datetime string lengths
sql/mysql_priv.h:
  Fixed/added new prototypes
sql/mysqld.cc:
  Removed opt_datetime_format_names
  Cleaned up handling of date_time format handling. (Fixed core dump when mysqld had error on startup)
  Removed some unnecessary double init of collation variables
sql/protocol.cc:
  Changed back protocol functions to always return dates in ISO format
sql/set_var.cc:
  Added variables time_format, date_format and datetime_format
  This had to be recoded becasue checking was done in 'update' method and not in 'check' method.
sql/set_var.h:
  Removed class sys_var_datetime_format() as this defined a variable (which doesn't work) instead of updating a variable
sql/share/czech/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/danish/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/dutch/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/english/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/estonian/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/french/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/german/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/greek/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/hungarian/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/italian/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/japanese/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/korean/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/norwegian-ny/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/norwegian/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/polish/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/portuguese/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/romanian/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/russian/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/serbian/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/slovak/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/spanish/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/swedish/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/share/ukrainian/errmsg.txt:
  simplified 'wrong xxx name' error messages
sql/sql_base.cc:
  Use new find_type()
sql/sql_class.cc:
  Allocate/free date_time format variables
sql/sql_class.h:
  Define datetime_format variables
sql/sql_db.cc:
  Use new ER_WRONG_NAME error
sql/sql_lex.cc:
  Change lex to generate IDENT_QUOTED for quoted identifiers or identifers that are using characters > 128.
  This enabled us to not have to copy and convert the identifier to utf8 for simpe identifiers
sql/sql_parse.cc:
  Use new ER_WRONG_NAME error
  Use new find_type() function
sql/sql_prepare.cc:
  Use new defines
sql/sql_table.cc:
  Use new ER_WRONG_NAME error
sql/sql_yacc.yy:
  Don't copy and convert simple identifiers to utf8.
  Replace __FORMAT_TYPE defines with TIMESTAMP... defines
sql/structs.h:
  Renamed DATETIME_FORMAT to DATE_TIME format to indicate that it's for date/time/datetime formats
  Renamed WRONT_TIMESTAMP_FULL to TIMESTAMP_DATETIME_ERROR and TIMESTAMP_FULL to TIMESTAMP_DATETIME
  Added KNOWN_DATE_TIME_FORMAT struct for Item_func_get_format
sql/time.cc:
  Prepare str_to_TIME and str_to_time() for general date/time handling
  Removed THD from str_to... functions
  Renamed date/time/datetime functions to use 'date_time' instead of 'datetime'
  Added functions to make and copy DATE_TIME_FORMAT's
  Added trivial functions 'make_time()', 'make_date()' and 'make_datetime()'
strings/Makefile.am:
  Added my_strtoll10()
strings/ctype-bin.c:
  Cleared upper part of binary state map to be able to easily identify simple identifiers
strings/my_vsnprintf.c:
  F
2003-11-03 14:01:59 +02:00
unknown
87eb9ea2b1 BUG#1644: Insertion of more than 3 NULL columns with parameter binding fails
Fixed. Enabled test case in client_test.c.


sql/sql_prepare.cc:
  BUG#1644: Insertion of more than 3 NULL columns with parameter binding fails
  Added missing parentheses in IS_PARAM_NULL to get the right bit.
tests/client_test.c:
  BUG#1644: Insertion of more than 3 NULL columns with parameter binding fails
  Fixed. Enabled test case.
2003-10-27 10:50:18 +01:00
unknown
ddbc842854 Portability fixes for windows
After merge fixes


include/my_base.h:
  Fix comment syntax
libmysql/client_settings.h:
  Portability fixes for windows
libmysql/libmysql.c:
  Portability fixes for windows
libmysql/libmysql.def:
  Portability fixes for windows
mysql-test/r/variables.result:
  Fix result after merge
sql-common/client.c:
  Portability fixes for windows
sql/ha_berkeley.cc:
  Use defines instead of constants
sql/item_strfunc.cc:
  Portability fixes for windows
sql/mysql_priv.h:
  Use defines instead of defines
sql/mysqld.cc:
  After merge fix
sql/opt_range.h:
  After merge fix
sql/set_var.h:
  Portability fixes for windows
sql/sql_class.cc:
  Defines instead of constants
sql/sql_help.cc:
  after merge fixes
  More OOM error checking
sql/sql_prepare.cc:
  After merge fixes
sql/sql_table.cc:
  Portability fixes for windows
2003-10-15 22:40:36 +03:00
unknown
f9ce2f4b58 Fix for #1487
libmysqld/lib_sql.cc:
  arg_parameters now are stored in these THD members
sql/sql_class.h:
  members to store query arguments
sql/sql_prepare.cc:
  query arguments retrieval added for embedded case
  code not necessary in embedded server #ifdefed
2003-10-06 16:32:38 +05:00
unknown
5218a0cd15 Fix for #1470
libmysqld/lib_sql.cc:
  check for error
sql/sql_prepare.cc:
  set success mark here
2003-10-06 12:09:20 +05:00
unknown
e50b19a047 Fix for #1430
there was an error about sendind prepared parameters to the server


libmysqld/lib_sql.cc:
  parameter's length added as a parameter
sql/ha_berkeley.cc:
  these lines sometimes crashes in embedded library
  so i #ifdef-ed it
sql/item.h:
  add the data_len parameter in the embedded case
sql/sql_prepare.cc:
  i added macroses to make headers of store_param_xxx functions
  they have different number of parameters in standalone an embedded servers
  also get_param_length now is implemented differently in embedded server
2003-10-01 16:44:57 +05:00
unknown
dbb9596727 Merge
include/mysql.h:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_derived.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql-common/client.c:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
libmysqld/lib_sql.cc:
  SCCS merged
libmysqld/libmysqld.c:
  SCCS merged
sql/sql_parse.cc:
  SCCS merged
2003-09-26 15:40:26 +05:00
unknown
1705369809 SCRUM:
WL#604 Privileges in embedded library
code added to check privileges in embedded library
NO_EMBEDDED_ACCESS_CHECKS macros inserted in code so we can exclude
access-checking parts. Actually we now can exclude these parts from
standalone server as well. Do we need it?
Access checks are disabled in embedded server by default. One should
edit libmysqld/Makefile manually to get this working.
We definitely need the separate configure for embedded server


include/mysql.h:
  options added so user of embedded library can set the client host
  it will work as if the usual client connects from this host
libmysqld/Makefile.am:
  Usually one doesn't need access checking in embedded library
  we definitely should separate configure for embedded server
libmysqld/lib_sql.cc:
  necessary code for getting passwords and access checks added
libmysqld/libmysqld.c:
  code #ifdef-ed - we use this only when we check permissions
sql-common/client.c:
  one mysql_close left now
sql/item_strfunc.cc:
  #ifndef-s added
sql/log.cc:
  #ifndef-s added
sql/mysql_priv.h:
  #ifndef-s added
  also i removed default parameters from check_access and check_table_access
  definitions to set definitions working
sql/mysqld.cc:
  #ifndef-s added
  localhost renamed to my_localhost
sql/repl_failsafe.cc:
  parameters added
sql/set_var.cc:
  #ifndef-s added
sql/sql_acl.cc:
  #ifndef-s added
sql/sql_acl.h:
  #ifndef-s added
sql/sql_base.cc:
  #ifndef-s added
sql/sql_cache.cc:
  #ifndef-s added
sql/sql_class.cc:
  #ifndef-s added
sql/sql_db.cc:
  #ifndef-s added
sql/sql_derived.cc:
  #ifndef-s added
sql/sql_insert.cc:
  #ifndef-s added
sql/sql_parse.cc:
  a horde of #ifndef-s added
sql/sql_prepare.cc:
  #ifndef-s added
sql/sql_repl.cc:
  parameters added
sql/sql_show.cc:
  #ifndef-s added
sql/sql_update.cc:
  #ifndef-s added
2003-09-26 15:33:13 +05:00
unknown
e81d45c182 Bug fixed
null_string wasn't known in libmysqld/lib_sql.cc, that caused compiler's error
i put the declaration of the null_string in mysql_priv.h and renamed it
to my_null_string to reduce the probability of name's intersections


libmysqld/lib_sql.cc:
  null_string -> my_null_string
sql/mysql_priv.h:
  my_null_string was made known
sql/sql_prepare.cc:
  null_string -> my_null_string
2003-09-25 13:02:45 +05:00
unknown
74e3399af1 merge
sql/item_strfunc.cc:
  Auto merged
sql/lock.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
sql/net_serv.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2003-09-24 10:24:56 +03:00
unknown
4c63804846 SCRUM
embedded library
some dirty places cleaned:

uint removed from mysql.h as Miguel suggested
empty_string renamed as my_empty_string to get rid of name's intersections
using embedded library


include/mysql.h:
  uint -> unsigned int
include/mysql_com.h:
  this caused warnings when not in expression
libmysqld/lib_sql.cc:
  uint -> unsigned int
sql-common/client.c:
  uint -> unsigned int
sql/item_strfunc.cc:
  empty_string -> my_empty_string
sql/mysql_priv.h:
  empty_string -> my_empty_string
sql/set_var.cc:
  empty_string -> my_empty_string
sql/sql_class.cc:
  empty_string -> my_empty_string
sql/sql_prepare.cc:
  net_flush ifdef-ed
2003-09-18 18:58:02 +05:00