Commit graph

70 commits

Author SHA1 Message Date
unknown
a36185af9a fixed union with prepared statement bug found by Konstantin
sql/sql_lex.cc:
  initialisation for safety
sql/sql_union.cc:
  item list should be saved in statement memory
tests/client_test.c:
  test suite
2004-03-23 14:26:54 +02:00
unknown
f83cf41440 DBUG_ASSERT(fixed == 0) added to fix_fields()
sql/item.cc:
  layout fixed
  fixed bug in prepared statements with subqueries and outer references
sql/item.h:
  neg_transformer get thd argument to call fix_fields
sql/item_cmpfunc.cc:
  DBUG_ASSERT(fixed == 0) added to fix_fields()
  fixed Item_in_optimizer fixed flag
  neg_arguments(), neg_transformer() call fix_field() on created items to avoid bouble fix field or non-called fixfields()
sql/item_cmpfunc.h:
  neg_transformer get thd argument to call fix_fields
  fixed forgoten cleanup() call of parent class
sql/item_func.cc:
  DBUG_ASSERT(fixed == 0) and fixed flag check added to fix_fields()
sql/item_func.h:
  DBUG_ASSERT(fixed == 0) added to fix_fields()
  fixed forgoten cleanup() call of parent class
sql/item_row.cc:
  DBUG_ASSERT(fixed == 0) added to fix_fields()
  added forgoten 'fixed' flag set
sql/item_subselect.cc:
  DBUG_ASSERT(fixed == 0) added to fix_fields()
  fixed subquery transformation
sql/sql_base.cc:
  check of fixed flag added
sql/sql_derived.cc:
  fixed cleunup union in derived table during EXPLAIN command processing
sql/sql_select.cc:
  thd argument add to function to allow call fix_fields() of new created items
  fixed EXPLAIN double preparation
  check of fixed flag added
  eliminate_not_funcs fixed for corrcet fix_fields call of new created items
sql/sql_select.h:
  thd argument add to function to allow call fix_fields() of new created items
sql/sql_union.cc:
  union processing fixed
tests/client_test.c:
  layout fixed
  new test of outer references fron subqueries
2004-03-17 14:26:26 +02:00
unknown
7ef1b4dff2 New call mysql_stmt_init() introduced.
Renames:
mysql_bind_param      -> mysql_stmt_bind_param
mysql_bind_result     -> mysql_stmt_bind_result
mysql_execute         -> mysql_stmt_execute
mysql_fetch           -> mysql_stmt_fetch
mysql_fetch_column    -> mysql_stmt_fetch_column
mysql_get_metadata    -> mysql_stmt_result_metadata
mysql_param_count     -> mysql_stmt_param_count
mysql_param_result    -> mysql_stmt_param_metadata
mysql_prepare         -> mysql_stmt_prepare
mysql_send_long_data  -> mysql_stmt_send_long_data

client_test.c cleaned up from memory leaks


include/mysql.h:
  New call mysql_stmt_init() introduced.
  Renames:
  mysql_bind_param      -> mysql_stmt_bind_param
  mysql_bind_result     -> mysql_stmt_bind_result
  mysql_execute         -> mysql_stmt_execute
  mysql_fetch           -> mysql_stmt_fetch
  mysql_fetch_column    -> mysql_stmt_fetch_column
  mysql_get_metadata    -> mysql_stmt_result_metadata
  mysql_param_count     -> mysql_stmt_param_count
  mysql_param_result    -> mysql_stmt_param_metadata
  mysql_prepare         -> mysql_stmt_prepare
  mysql_send_long_data  -> mysql_stmt_send_long_data
  Renames are done according to the rule 'Everything call operating with
  'MYSQL_STMT' structure has 'mysql_stmt_' prefix.
  Additionally mysql_param_result was renamed to mysql_stmt_param_metadata
  and mysql_get_metadata to mysql_stmt_result_metadata.
  All renames are done in hope that new names are easier to remember and 
  understand.
libmysql/client_settings.h:
  skip_list is not needed any more
libmysql/libmysql.c:
  New call mysql_stmt_init() introduced.
  Renames:
  mysql_bind_param      -> mysql_stmt_bind_param
  mysql_bind_result     -> mysql_stmt_bind_result
  mysql_execute         -> mysql_stmt_execute
  mysql_fetch           -> mysql_stmt_fetch
  mysql_fetch_column    -> mysql_stmt_fetch_column
  mysql_get_metadata    -> mysql_stmt_result_metadata
  mysql_param_count     -> mysql_stmt_param_count
  mysql_param_result    -> mysql_stmt_param_metadata
  mysql_prepare         -> mysql_stmt_prepare
  mysql_send_long_data  -> mysql_stmt_send_long_data
sql-common/client.c:
  no skip_list argument any more
tests/client_test.c:
  - many memory leaks and valgrind errors cleaned up.
2004-03-05 16:55:09 +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
4f457c43bc compare a decimal value with a string not a double, as we want to test for an *exact* match 2004-02-29 14:30:44 +01: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
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
7e7fec0be3 manual merge, bug #2247
include/mysql.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
tests/client_test.c:
  manual merge
2004-02-13 00:50:03 +03: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
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
28ac1ba4ed Manual merge. 2004-02-11 15:10:54 +03: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
94f215cbe1 Fixed bug #2248 "mysql_fetch without prior mysql_execute hangs"
Done clean-up in prep stmt API functions:
1) Removed some checks that were performed only in debug version
were making debug version more tolerable to user errors than 
production (and thus caused problems for example masking some
bugs). 
2) Also removed some other checks to make prep stmt API 
consistent with the rest of C API (this also in line with 
general politics - make checks in only those places where 
errors are very common and hard to spot).


include/mysql.h:
  Removed CHECK_EXTRA_ARGUMENTS define since it is no longer used 
  anywhere.
libmysql/libmysql.c:
  Added check that will cause mysql_fetch() to bark then it is 
  used without calling mysql_execute() before.
  Removed checks that were performed only in debug version and
  caused problems since they were making debug version more 
  tolerable to user errors than production. Also removed some
  other checks to make prep stmt API consistent in this regard 
  with the rest of C API (this also in line with general politics -
  make checks in only those places where errors are very common 
  and hard to spot).
tests/client_test.c:
  Updated tests to reflect removal of some checks in prep stmt API.
  Removed lines that caused bug #2473 to pop up, should be added 
  as separate test with the fix for this bug.
  Added test for bug#2248 "mysql_fetch without prior mysql_execute 
  hangs"
2004-02-10 16:58:20 +03:00
unknown
89625e6021 fixed cleupup() for distinct aggregate functions (BUG#2663)
sql/item_sum.cc:
  fixed cleupup() for distinct aggregate functions
tests/client_test.c:
  fixed subqueries test
  test of distinct aggregate functions in PS
2004-02-08 20:57:14 +02: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
3aef1d2c4b Fix for bug #2247: "mysql_stmt_affected_rows returns affected rows from
last command"


include/mysql.h:
  Fix for bug #2247: 
  added affected_rows variable to MYSQL_STMT
libmysql/libmysql.c:
  Fix for bug #2247: 
  save mysql->affected_rows in stmt->affected_rows
  after mysql_execute() and mysql_stmt_store_result().
tests/client_test.c:
  Fix for bug #2247: test added
2004-02-06 16:03:09 +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
f6f9b3496a commented why valgrind barks at the bug #1500 2003-12-08 13:30:14 +03:00
unknown
09f95e71d2 cleanup 2003-11-26 20:23:28 +03:00
unknown
a189daf7be cleanup 2003-11-26 20:18:55 +03:00
unknown
e503dc2850 - fixed compile error in tests/client_test.c
(declarations should be on top of a block)


tests/client_test.c:
   - fixed compile error (declarations should be on top of a block)
2003-11-26 15:22:30 +01: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
00ddd4e56a Fix for bug #1500 "Server crash with mysql_prepare"
We treat Item_param whose value is not set as non-const.
This allows us to avoid use of Item_param's value (not yet existing) in 
those fix_fields and fix_length_and_dec that do calculations if their 
Items arguments are const. So we can call fix_fields for such items from
mysql_prepare safely.


sql/item.cc:
  Now Item_param is non-constant (const_item()==FALSE) until its value is set.
sql/item.h:
  Added Item::const_during_execution() method which indicates constants that will be known 
  during execution phase (but they may be not known during preparing phase for example parameters 
  of prep. statements.)
  Made Item_param non-constant until its is value set, so its value won't be requested during 
  prepare statement step.
sql/item_func.cc:
  Fulltext search AGAINST clause now allows prepared statement parameter as its argument.
  Removed duplicate used_tables_cache update in Item_func_match::fix_fields()
  (it is set during Item_func::fix_fields).
tests/client_test.c:
  Added test for bug #1500 "Server crash with mysql_prepare"
2003-11-23 00:48:18 +03:00
unknown
6401f58ac6 Changed mysql_next_result() to return int instead of bool
Changed ~Item_func_in() to call cleanup() (to fix memory leak)
Fixed test_multi_statements() test in client_test


include/mysql.h:
  Changed mysql_next_result() to return int instead of bool
libmysql/libmysql.c:
  Changed mysql_next_result() to return int instead of bool
  Added check to mysql_next_result() to ensure that it's not called in wrong context.
sql/item_cmpfunc.cc:
  Indentation fixes
sql/item_cmpfunc.h:
  Changed ~Item_func_in() to call cleanup()
  (Fixed memory leak in cmp_item_row())
tests/client_test.c:
  Fixed test_multi_statements() test.
2003-11-19 17:31:57 +02:00
unknown
c05413175b Delete duplicate error message names
include/mysqld_error.h:
  Delete duplicate error names
include/sql_state.h:
  Delete duplicate error names
myisam/ft_dump.c:
  Delete wrong patch
myisam/myisamchk.c:
  Delete wrong patch
mysql-test/r/query_cache.result:
  Fix after deleting duplicated error messages
mysql-test/t/create.test:
  Fix after deleting duplicated error messages
mysql-test/t/fulltext.test:
  Fix after deleting duplicated error messages
mysql-test/t/key_cache.test:
  Fix after deleting duplicated error messages
sql/share/czech/errmsg.txt:
  Fix after deleting duplicated error messages
sql/share/danish/errmsg.txt:
  Fix after deleting duplicated error messages
sql/share/dutch/errmsg.txt:
  Fix after deleting duplicated error messages
sql/share/english/errmsg.txt:
  Fix after deleting duplicated error messages
sql/share/estonian/errmsg.txt:
  Fix after deleting duplicated error messages
sql/share/french/errmsg.txt:
  Fix after deleting duplicated error messages
sql/share/german/errmsg.txt:
  Fix after deleting duplicated error messages
sql/share/greek/errmsg.txt:
  Fix after deleting duplicated error messages
sql/share/hungarian/errmsg.txt:
  Fix after deleting duplicated error messages
sql/share/italian/errmsg.txt:
  Fix after deleting duplicated error messages
sql/share/japanese/errmsg.txt:
  Fix after deleting duplicated error messages
sql/share/korean/errmsg.txt:
  Fix after deleting duplicated error messages
sql/share/norwegian-ny/errmsg.txt:
  Fix after deleting duplicated error messages
sql/share/norwegian/errmsg.txt:
  Fix after deleting duplicated error messages
sql/share/polish/errmsg.txt:
  Fix after deleting duplicated error messages
sql/share/portuguese/errmsg.txt:
  Fix after deleting duplicated error messages
sql/share/romanian/errmsg.txt:
  Fix after deleting duplicated error messages
sql/share/russian/errmsg.txt:
  Fix after deleting duplicated error messages
sql/share/serbian/errmsg.txt:
  Fix after deleting duplicated error messages
sql/share/slovak/errmsg.txt:
  Fix after deleting duplicated error messages
sql/share/spanish/errmsg.txt:
  Fix after deleting duplicated error messages
sql/share/swedish/errmsg.txt:
  Fix after deleting duplicated error messages
sql/share/ukrainian/errmsg.txt:
  Fix after deleting duplicated error messages
sql/sql_db.cc:
  Fix after deleting duplicated error messages
sql/sql_parse.cc:
  Fix after deleting duplicated error messages
sql/sql_table.cc:
  Fix after deleting duplicated error messages
tests/client_test.c:
  CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
2003-11-18 17:28:00 +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
302b8b5bf3 A few more fixes.
And added new test for BUG#1644. (Disabled for now, not fixed yet.)


tests/client_test.c:
  A few more fixes:
  - Avoid buffer overruns in printf().
  - Corrected index for comment field in show table status output.
  
  And added new test for BUG#1644. (Disabled for now, not fixed yet.)
2003-10-25 17:19:35 +02:00
unknown
3affc8103a A major overhaul to adopt to recent changes. It now passes all tests.
Note:
- All test results haven't been inspected in detail to see if they are correct.
- Some result set printing seems to have the wrong field width; most notably
  date/time fields and type fields (e.g. "int(4)").
- There are still some valgrind complaints, but they seem to be in assert() or
  in libmysql.


tests/client_test.c:
  A major overhaul to adopt to recent changes:
  
  - SHOW TABLE result has changed (more columns)
  - EXPLAIN result has VAR_STRING types now
  - Added missing mysql_bind_result() calls
  - Adopted to mysql_fetch_column() semantics: Don't use same pointers in MYSQL_BIND
    structs for fetch_column as for binding.
  - Removed a number of duplicated calls to tests
  - Added missing initialization of MYSQL_BIND structs fields (lenght fields),
    to shutup valgrind.
2003-10-25 15:53:41 +02:00
unknown
07001f78ec - Code cleanup: replaced C++-style comments with the proper syntax for
.c files (the IBM Visual Age C compiler aborts with a syntax error
   on these)


libmysql/dll.c:
   - replaced C++-style comment with the proper syntax for .c files
     (the IBM Visual Age C compiler aborts with a syntax error on these)
libmysql/libmysql.c:
   - replaced C++-style comment with the proper syntax for .c files
     (the IBM Visual Age C compiler aborts with a syntax error on these)
mysys/my_getopt.c:
   - replaced C++-style comment with the proper syntax for .c files
     (the IBM Visual Age C compiler aborts with a syntax error on these)
sql/net_serv.cc:
   - replaced C++-style comment with the proper syntax for .c files
     (the IBM Visual Age C compiler aborts with a syntax error on these)
strings/ctype-bin.c:
   - replaced C++-style comment with the proper syntax for .c files
     (the IBM Visual Age C compiler aborts with a syntax error on these)
tests/client_test.c:
   - replaced C++-style comment with the proper syntax for .c files
     (the IBM Visual Age C compiler aborts with a syntax error on these)
2003-09-24 08:35:02 +02:00
unknown
41824a3533 merge with 4.1 tree
client/mysqltest.c:
  Auto merged
include/mysql.h:
  Auto merged
libmysql/errmsg.c:
  Auto merged
libmysql/libmysql.c:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
sql/field.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/share/portuguese/errmsg.txt:
  Auto merged
sql/share/spanish/errmsg.txt:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
tests/client_test.c:
  Auto merged
2003-09-11 20:31:40 +03:00
unknown
dd0d199ebe After merge fixes.
Note that mix_innodb_myisam_binlog and union fails after this patch (Will be fixed shortly by maintaners of this code)


client/mysql.cc:
  After merge fix
include/mysql.h:
  Some additions to MYSQL_BIND for cleaner prepared statement code
libmysql/libmysql.c:
  mysql_prepare_result -> mysql_get_metadata()
  Added test for offset overflow when using mysql_fetch_column()
  Cleaned up mysql_fetch_column()
  Optimized fetch_result() usage
mysql-test/r/func_group.result:
  Updated results after merge
mysql-test/r/func_test.result:
  Updated results after merge
mysql-test/r/grant.result:
  Updated results after merge
mysql-test/r/loaddata.result:
  Updated results after merge
mysql-test/r/lowercase_table.result:
  Updated results after merge
mysql-test/r/mix_innodb_myisam_binlog.result:
  Updated results after merge (note that this is still not correct; Need patch to mysqld to fix this properly)
mysql-test/r/myisam.result:
  Updated results after merge
mysql-test/r/range.result:
  Updated results after merge
mysql-test/r/rpl_loaddata.result:
  Updated results after merge
mysql-test/r/rpl_loaddata_rule_m.result:
  Updated results after merge
mysql-test/r/rpl_loaddata_rule_s.result:
  Updated results after merge
mysql-test/r/rpl_log.result:
  Updated results after merge
mysql-test/r/union.result:
  Updated results after merge
mysql-test/t/lowercase_table.test:
  Update after merge
mysql-test/t/myisam.test:
  Update after merge
mysql-test/t/union.test:
  Update after merge
sql-bench/compare-results.sh:
  Fix for now output format
sql/field.h:
  Added is_null_in_record() to make ha_innodb.cc code more general
sql/ha_innodb.cc:
  Removed some functions that uses inernal (private) MySQL information
sql/item_cmpfunc.cc:
  After merge fix
sql/log_event.cc:
  After merge fix; (Some code should be checked by Guilhem)
sql/opt_range.cc:
  Simple optimzation and after merge fixes
sql/slave.cc:
  After merge fix
sql/sql_acl.cc:
  After merge fix + code cleanup
sql/sql_select.cc:
  After merge fix
sql/sql_show.cc:
  After merge fix
sql/sql_table.cc:
  After merge fix
  Cleanup of mysql_checksum_table()
sql/sql_union.cc:
  After merge fixes.
  Note that after this the union test still fails; Will be fixed shortly...
tests/client_test.c:
  mysql_prepare_result() -> mysql_get_metadata()
2003-09-11 19:06:23 +03:00
unknown
2d7b489876 fixed BUG#1180 (changing WHERE clause of prepared statements by optimisation)
sql/item.h:
  constructor and method for aloning AND/OR structure of WHERE clause
sql/item_cmpfunc.cc:
  constructor and method for aloning AND/OR structure of WHERE clause
sql/item_cmpfunc.h:
  constructor and method for aloning AND/OR structure of WHERE clause
sql/item_func.cc:
  constructor for aloning AND/OR structure of WHERE clause
sql/item_func.h:
  constructor for aloning AND/OR structure of WHERE clause
sql/sql_lex.cc:
  field for saving WHERE root
sql/sql_lex.h:
  field for saving WHERE root
sql/sql_prepare.cc:
  saving WHERE root
  creating new AND/OR structure before executing prepared statement
tests/client_test.c:
  test suite for bug #1180
2003-09-02 19:56:55 +03:00
unknown
0e2f626405 fixed string parameter assugnment (coping instead of asigning pointer to buffer) (BUG#1115)
fixed test_field_misc (UTF variable value)


sql/item.cc:
  added debug informetion
  fixed string parameter assugnment (coping instead of asigning pointer to buffer)
tests/client_test.c:
  test for BUG#1115
  fixed test_field_misc (UTF variable value)
2003-09-02 14:37:06 +03:00
unknown
0e3524dd88 Fix for timestamp issue (BR #819)
tests/client_test.c:
  Updated test_ts() test (For BR# 819)
2003-07-30 02:01:53 -07:00
unknown
f22517e4ec Enable warnings by default for single value list inserts also when the client protocol is >= 4.1
tests/client_test.c:
  test for timestamp bug (BR #819)
sql/sql_insert.cc:
  Enable warnings by default for single value list
  protocol
mysql-test/t/warnings.test:
  Updated test for single value list insert warning
mysql-test/r/warnings.result:
  Updated warnings results
2003-07-21 00:13:22 -07:00
unknown
4ccada56f1 test for SQL_MODE with PIPES_AS_CONCAT, ANSI and IGNORE_SPACE
tests/client_test.c:
  test for SQL_MODE with PIPES_AS_CONCAT, ANSI and IGNORE_SPACE
2003-06-24 10:43:57 -07:00
unknown
0bb5b9eadd Fix for mysql_list_fields & reset stmt buffers from stmt_free_result
Windows build fix 


VC++Files/sql/mysqld.dsp:
  Added sql_state.c to wrk space
include/mysql_com.h:
  Windows build fix (mismatch declaration of my_bool and bool from defination)
include/thr_alarm.h:
  Windows build fix
libmysql/libmysql.c:
  Fix for mysql_list_fields & reset stmt buffers from stmt_free_result
tests/client_test.c:
  Updated test for DEFAULT value for mysql_list_fields()
  New tests for mysql_stmt_free_result()
2003-06-08 09:11:14 -07:00
unknown
ee5477f806 protocol test update
(fix for memory ovverun bug from DBD(ranger) + changes for removal of collation from explain)


tests/client_test.c:
  protocol test update 
  (fix for memory ovverun bug from DBD(ranger) + changes for removal of collation from explain)
2003-06-04 00:19:09 -07:00
unknown
06b60afc19 client_test.c:
Updated protocol test


tests/client_test.c:
  Updated protocol test
2003-05-21 01:15:04 -07:00
unknown
ade3fbc390 Fix EXPLAIN bug with binary protocol
Added new client tests (EXPLAIN + DECIMAL conv)



sql/sql_prepare.cc:
  Fix EXPLAIN bug with binary protocol
tests/client_test.c:
  New tests for EXPLAIN + DECIMAL conv
2003-03-04 14:22:30 -08:00
unknown
cf00101b23 1. Fix for the crash in debug mode when the .frm is corrupted and SHOW TABLE STATUS is executed.This also fixes to return the error message to comment field in SHOW TABLE STATUS when the .frm is corrupted
2. Test for corrupted .frm and the SHOW TABLE STATUS


sql/sql_show.cc:
  Fix for the crash in debug mode when the .frm is corrupted and SHOW TABLE STATUS is executed
  This also fixes to return the error message to comment field in SHOW TABLE STATUS when the .frm is corrupted
tests/client_test.c:
  test for corrupted .frm and the SHOW TABLE STATUS
2003-02-24 17:05:03 -08:00
unknown
2606a90a26 Another misc variable test which is of bool type returning a longlong
tests/client_test.c:
  Another misc variable test which is of bool type returning a longlong
2003-02-15 15:13:58 -08:00
unknown
5665b79a43 Updated tests for MYSQL_FIELD members for misc cases
tests/client_test.c:
  Updated tests for MYSQL_FIELD members for misc cases
libmysql/libmysql.c:
  Remove the assignment from stmt->fields to stmt->mysql->fields
2003-02-15 15:01:04 -08:00
unknown
e33d310bcb Fix stupid signed and unsigned conversion - When field and buffer types are different (Client receiving end)
Added tests for singed and unsigned conversion (client_test.c)


tests/client_test.c:
  Tests for singed and unsigned conversion
libmysql/libmysql.c:
  Fix signed and unsigned conversion - When field and buffer types are different
2003-02-05 12:21:01 -08:00
unknown
a7b46e40cc Conversion fix - bug report from PHP
Added a new conversion bug test
Changed options with default_options read from my.ini from [client] section
More cleanups for better usage


libmysql/libmysql.c:
  Conversion fix - bug report from PHP
tests/client_test.c:
  Added a new conversion bug test
  Changed options with default_options read from my.ini from [client] section
  More cleanups for better usage
2003-02-04 18:54:14 -08:00
unknown
b58dd39b99 Force to read all unread packets on stmt_close
tests/client_test.c:
  tests for un cleared packets
2003-01-31 15:20:03 -08:00
unknown
28f3c41f49 Few misc cases check from PHP - client_test
Fix the buffer_length ovveride when length ptr is NULL - libmysql


libmysql/libmysql.c:
  Fix the buffer_length ovveride when length ptr is NULL
tests/client_test.c:
  Few misc cases check from PHP
2003-01-31 13:43:38 -08:00
unknown
ae4a9ea8cc Fix for subsequent error calls in multi-query
sql/sql_parse.cc:
  Fix for subsequent errors calls in multi-query
tests/client_test.c:
  Misc cleanups
2003-01-31 00:35:06 -08:00
unknown
fccbabe089 Fix alloc_stmt_fields for non-select statements
Add tests for show commands + MYSQL_TYPE_NULL coverage


tests/client_test.c:
  Add tests for show commands + MYSQL_TYPE_NULL coverage
libmysql/libmysql.c:
  Fix alloc_stmt_fields for non-select statements
2003-01-30 14:33:49 -08:00