Commit graph

187 commits

Author SHA1 Message Date
unknown
95325f1354 Compilation error on AIX (IBM C Compiler Version 6) fixed. 2004-06-16 11:29:22 +04:00
unknown
4047b5ade3 Fix for Bug#4079 "error checking in prepared statements":
reset mysql->status if there was an error in row reading.


libmysql/libmysql.c:
  Fix for bug#4079
tests/client_test.c:
  Test for bug #4079
2004-06-11 13:12:29 +04:00
unknown
27eda71204 Proposed fix for Bug#4026 "Microseconds part of TIME/DATETIME types
is broken (prepared statements)": fixed date handling in many places 
of prepared statements code.


libmysql/libmysql.c:
  Fix for Bug#4026:
  - now buffer_length is defined for any buffer type. Network buffer 
    preallocation cleaned up.
  - added constants for maximum buffer sizes necessary for MYSQL_TYPE_DATE,
    MYSQL_TYPE_TIME, MYSQL_TYPE_DATETIME types.
  - TIME/DATETIME packing/unpacking functions fixed 
  - now result set metadata is always updated from fields sent to COM_EXECUTE.
    This is necessary to make 'SELECT ?' queries work without conversions.
sql/item.cc:
  - added implementatoin of Item_param::get_date
sql/item.h:
  - added enum_field_types Item_param::param_type. First step for proper
    handling of placeholders.
  - added get_date() implementation to prevent date -> string -> date 
    conversions when MYSQL_TYPE_DATE/DATETIME parameter is used in temporal 
    context.
sql/protocol.cc:
  Fix for Bug#4026:
  - PACKET_BUFFET_EXTRA_ALLOC -> PACKET_BUFFER_EXTRA_ALLOC.
    The define itself was moved to .cc as it's used only in protocol.cc
  - fixed Protocol_prep::store_time() call.
sql/protocol.h:
  - PACKET_BUFFER_EXTRA_ALLOC moved to protocol.cc
sql/sql_prepare.cc:
  Fix for Bug#4026:
  - MYSQL_TYPE_TIME/DATETIME handling fixed.
  - added initialization for Item_param::param_type in 
    setup_one_conversion_function
tests/client_test.c:
  Test case for Bug#4026
2004-06-09 03:21:50 +04:00
unknown
5cc410bb70 mysql_stmt_field_count()
include/mysql.h:
  mysql_stmt_field_count() declaration
libmysql/libmysql.c:
  added mysql_stmt_field_count(): 
  we need this function to ease use of mysql_stmt_result_metadata:
  if mysql_stmt_field_count() != 0 mysql_stmt_result_metadata fails
  only if OOM.
libmysql/libmysql.def:
  declaration for mysql_stmt_field_count()
2004-06-06 02:27:05 +04:00
unknown
0fc147494a Few more cleanups in client_test:
No need for mysql_commit, especially after DDL statements.


tests/client_test.c:
  No need for mysql_commit, especially after DDL statements.
2004-06-05 03:09:53 +04:00
unknown
cfdb7ae67c The comment is not true any more.
Is there a way to sefely use MYSQL_BIND structure without bzero?
2004-06-05 02:56:50 +04:00
unknown
1407f2f0a8 HAVE_DEPRECATED_411_API macro removed.
include/mysql.h:
  Removed obsolete define.
tests/client_test.c:
  Rewritten to use new API.
  Few cleanups.
  A lot of valgrind warnings/errors removed.
2004-06-04 18:38:18 +04:00
unknown
7f1303329d Fix for Bug#3796 "Prepared statement, select concat(<parameter>,<column>), wrong
result": new Item_param member for use in val_str()


sql/item.cc:
  Fix for Bug#3796:
  - return str_value_ptr from val_str to prevent modifications of parameter 
  value.
sql/item.h:
  Fix for bug#3796:
  - Item::val_str() method semantics documented
  - new member of Item_param
tests/client_test.c:
  Test case for bug #3796 added. A few compile-time warnings removed.
2004-05-31 14:21:48 +04:00
unknown
093d62922b Support for character set conversion in binary protocol: another go
after Monty's review.
- Item_param was rewritten.
- it turns out that we can't convert string data to character set of
  connection on the fly, because they first should be written to the binary
  log.
  To support efficient conversion we need to rewrite prepared statements
  binlogging code first.


include/my_global.h:
  Macro swap(a, b, c) was renamed to resolve name conflict with
  String::swap() method.
include/my_sys.h:
  Added declaration of escape_string_for_mysql()
include/mysql_com.h:
  Removed and moved back: a macro which is visible to libmysql user but
  has sence only in prepared statement protocol implementation.
isam/_search.c:
  swap -> swap_variables
isam/test2.c:
  swap -> swap_variables
libmysql/libmysql.c:
  - sub_escape_string moved to mysys/charset.c to be visible in sql/
  - few cleanups
myisam/mi_test2.c:
  swap -> swap_variables
mysys/charset.c:
  sub_escape_string was moved from libmysql.c to be able to use it in sql/
  code.
mysys/my_chsize.c:
  rename: swap -> swap_variables
mysys/my_compress.c:
  swap -> swap_variables
mysys/my_handler.c:
  swap -> swap_variables
sql/field.cc:
  Field::store_time refactored to use TIME_to_string function from time.cc
sql/item.cc:
  New implementation of Item_param class:
  added support for character sets conversion.
sql/item.h:
  Item_param:
  - 'state' member introduced instead of many boolean variables.
  - put ltime, int_value and real_value into union to save space.
  - remove unimplemented members
  - set_value renamed to set_str
sql/item_timefunc.cc:
  Refactored to use functions from time.cc
sql/lock.cc:
  rename: swap -> swap_variables
sql/mysql_priv.h:
  - added declarations for TIME_to_ulonglong_*, TIME_to_string functions
  - const specifiers for make_date, make_time, make_datetime arguments
sql/opt_range.cc:
  rename: swap -> swap_variables
sql/protocol.cc:
  - added character set conversion support to binary protocol.
  - Protocol::convert changed to point at shared buffer in THD.
    This lets us use one convert buffer for binary and simple protocol.
    The same buffer is used for client->server conversions in prepared
    statements code.
  - string conversion code refactored to Protocol::store_string_aux function.
  - few more comments
sql/protocol.h:
  - Protocol::convert now points at THD::convert_buffer: we want to share one
    buffer between all protocol implementations.
sql/sql_class.cc:
  - implementation of THD::convert_string using THD::convert_buffer
    (conversion of strings allocated in the system heap).
sql/sql_class.h:
  - THD::convert_buffer is shared between THD and network Protocols and
    used for character set conversion of strings.
  - new function to convert String object from one charset to another using
    THD::convert_buffer
sql/sql_insert.cc:
  A little fix in a comment.
sql/sql_parse.cc:
  Shrink convert buffer in the end of each statement.
sql/sql_prepare.cc:
    Many changes:
  - static specifier for set_param_* family of functions.
  - FIELD_TYPE -> MYSQL_TYPE
  - added set_param_binary as handler for BLOB types.
  - added character set support
  - added support for param typecode in mysql_stmt_get_longdata
    (mysql_stmt_send_long_data handler)
  - changes in Item_param deployed
  - few cleanups
sql/sql_select.cc:
  rename: swap -> swap_variables
sql/sql_string.cc:
  - String::append rewritten to support character set conversion for
  single-byte encodings.
  - added String::swap method to efficiently exchange two string objects.
sql/sql_string.h:
  Declraration for String::swap().
sql/time.cc:
  - function TIME_to_string to convert TIME to String in default MySQL format
  - family of functions TIME_to_ulonglong_*
tests/client_test.c:
  Test for support for character set conversions in prepared statements
  (binary and text data).
2004-05-25 02:03:49 +04:00
unknown
e9aa3e361a assigning max_length parameter for Item_param (Bug #3811)
sql/item.cc:
  assigning max_length/decimal parameter for Item_param
tests/client_test.c:
  layout fixed
  test suite for bug
2004-05-20 19:08:34 +03:00
unknown
c907e6fd5c Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.ps


sql/sql_parse.cc:
  Auto merged
tests/client_test.c:
  Auto merged
2004-05-19 10:28:24 +05:00
unknown
a41883facf Portability fixes
Fixed wrong number of warnings/duplicates for machines with high-byte-first


client/mysql.cc:
  Remove not used variables
client/mysqltest.c:
  Remove double ;
myisam/ft_nlq_search.c:
  Fix valgrind error (not fatal)
myisam/rt_test.c:
  Portability fix
mysql-test/r/rpl_trunc_binlog.result:
  Portability fix
mysql-test/t/rpl_trunc_binlog.test:
  Portability fix
  (Column 23 was different on openbsd)
sql/sql_insert.cc:
  Fixed wrong number of warnings/duplicates for machines with high-byte-first
strings/ctype-big5.c:
  Portability fix
strings/ctype-gbk.c:
  Portability fix
strings/ctype-mb.c:
  Portability fix
strings/ctype-uca.c:
  Portability fix
tests/client_test.c:
  Portability fixes
2004-05-19 05:09:10 +03:00
unknown
84cf2d8f78 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.ps


sql/sql_parse.cc:
  Auto merged
tests/client_test.c:
  Auto merged
2004-05-17 18:45:50 +05:00
unknown
05cd698f54 Fixes for #3371, #3372, #3374, #3375, #3376
libmysql/libmysql.c:
  code to fix #3772
  counting of field->max_length moved to mysql_store_stmt_result so
  it will work in libmysqld also
libmysqld/lib_sql.cc:
  to fix #3771 and #3775
  stmt->affected_rows specifying added
  code getting default values changed so it will add terminating /0 to
  values
sql/sql_parse.cc:
  to fix #3773
  silly mistake here :\
sql/sql_prepare.cc:
  to fix #3774 and #3776
  special function for datetime values in embedded server added
  unsigned flag now specified for values in embedded server
tests/client_test.c:
  this test fails if privilege-checking pars are disabled
  (it's the default for libmysqld)
2004-05-15 17:07:44 +05:00
unknown
c9667f1146 Better fix for bug #3749 (bug in deleting automatic generated foreign keys)
mysql-test/r/func_encrypt.result:
  Update tests (left after sanjas last push)
mysql-test/r/innodb.result:
  Added test for bug #3749 (bug in deleting automatic generated foreign keys)
mysql-test/t/innodb.test:
  Added test for bug #3749 (bug in deleting automatic generated foreign keys)
sql/sql_class.cc:
  Updated comment
tests/client_test.c:
  Added missing mysql_stmt_close()
2004-05-15 11:57:40 +03:00
unknown
f71f59731b treat parameter as constant in ORDER BY check of fields in SELECT list(Bug #3686)
sql/sql_select.cc:
  treat parameter as constant in ORDER BY check of fields in SELECT list
tests/client_test.c:
  test of using parameters in SELECT list with ORDER BY
2004-05-10 13:29:02 +03:00
unknown
151495baf7 mysql_stmt_reset now expects ok/error packet from server.
libmysql/libmysql.c:
  Make advanced_command check client reply
sql/sql_prepare.cc:
  mysql_stmt_reset now sends ok/error reply to the client.
tests/client_test.c:
  Memory leak fixed.
2004-05-06 22:44:00 +04:00
unknown
f088cf9907 Few cleanups to client_test.c
tests/client_test.c:
  Few cleanups
2004-05-06 13:49:20 +04:00
unknown
575541b9f7 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1


mysql-test/r/subselect.result:
  Auto merged
sql/item.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
tests/client_test.c:
  Auto merged
2004-05-05 12:40:59 +03:00
unknown
4df5d6d696 After merge fix.
Now test_bug1664() uses new statement checking macros.


tests/client_test.c:
  Now test_bug1664() uses new statement checking macros.
2004-05-04 20:02:55 +04:00
unknown
5c9f01a79b Manual merge of bugfix for Bug #1664.
sql/sql_prepare.cc:
  Auto merged
tests/client_test.c:
  Manual merge.
2004-05-04 19:13:18 +04:00
unknown
6ca757544b Fix for remaining issues described in Bug #1664
"mysql_send_long_data() API call is completely broken".

Now we are resetting some members (long_data_supplied/null_value...) of Item_param to its 
initial state after each execution of prepared statement. We also manipulating 
Item_param::maybe_null/null_value only via Item_param::set_* setters which makes code a bit 
more robust.


sql/item.cc:
  Now we are assuming that Item_param may be NULL until we know this fact exactly.
  Added non-empty implementation of Item_param::reset() method which should be used
  for restoring Item_param state after each statment execution. (We need to clear 
  long_data_supplied flag, we also clear some other Item_param members here since it
  makes code simpler.)
sql/item.h:
  Now Item_param::reset() method really does something.
sql/sql_prepare.cc:
  Now we are calling Item_param::reset() for each parameter after execution for resetting Item_param
  to initial state. So we no longer don't need Prepared_statement::long_data_flag. We also 
  set Item_param::null_value/maybe_null value in Item_param::set_* and reset() methods 
  instead of doing it explicitly in insert_params_* functions (this by the way lowers 
  probability that we will forget to update one of such functions).
tests/client_test.c:
  Added test for Bug#1664 "mysql_send_long_data() API call is broken".
2004-05-04 19:08:19 +04:00
unknown
030587a7a6 Fix to handle unsigned data in prepared statements (Bug #3447)
Fixed security problem that password was temporarly reset when someone changed GRANT for a user. (Bug #3404)
Fixed problem with PROCEDURE analyse() and impossible WHERE (Bug #2238)
Don't auto-repair tables in mysqlcheck if table type doesn't support 'check' command.


Docs/mysqld_error.txt:
  Updated error values
client/mysqlcheck.c:
  Don't cause auto-repair on 'note' (Tables that doesn't support 'check')
libmysql/libmysql.c:
  Fix to handle unsigned data in prepared statements (Bug #3447)
mysql-test/r/analyse.result:
  Test of analyze + impossible where (Bug #2238)
mysql-test/r/bdb.result:
  Update results
mysql-test/r/ctype_ujis.result:
  Update results
mysql-test/r/isam.result:
  Update results
mysql-test/r/repair.result:
  Update results
mysql-test/t/analyse.test:
  Test of analyze + impossible where (Bug #2238)
mysql-test/t/ctype_ujis.test:
  Added test for LIKE (Bug #3438)
sql/sql_acl.cc:
  Fixed security problem that password was temporarly reset when someone changed GRANT for a user. (Bug #3404)
sql/sql_select.cc:
  Fixed problem with PROCEDURE analyse() and impossible WHERE (Bug #2238)
sql/sql_table.cc:
  Changed 'error' to 'note' when table doesn't support admin command.
sql/sql_update.cc:
  Indentaion cleanup
tests/client_test.c:
  Added test for handling unsigned/signed strings with prepared statements
2004-05-04 15:02:38 +03:00
unknown
bcbaefcf97 return table list of fake_select in empty state to prevent using TABLE_LIST allocated on stack in next execution of PS (Bug #3577)
sql/sql_union.cc:
  return table list of fake_select in empty state to prevent using TABLE_LIST allocated on stack in next execution of PS
tests/client_test.c:
  test of UNIONS with PS
2004-05-03 13:58:01 +03:00
unknown
541cef7568 Fix client_test to use new statement assertion macros 2004-04-30 17:21:06 +04:00
unknown
e8f201337d Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-bug3420


tests/client_test.c:
  Auto merged
2004-04-30 16:28:04 +04:00
unknown
4f424faffd Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-bug3420


tests/client_test.c:
  Auto merged
2004-04-30 15:32:41 +04:00
unknown
7bf15f4b79 Only calculate MYSQL_FIELD->max_length if mysql_stmt_attr_set(..., STMT_ATTR_UPDATE_MAX_LENGTH) is done.
tests/client_test.c:
  Test mysql_stmt_attr_set(...STMT_ATTR_UPDATE_MAX_LENGTH)
2004-04-30 14:24:06 +03:00
unknown
72c7b3529e Merge
libmysql/libmysql.c:
  Auto merged
tests/client_test.c:
  Auto merged
include/mysql.h:
  SCCS merged
2004-04-30 14:04:51 +03:00
unknown
15c2bb61f5 Update 'MYSQL_FIELD->max_length' on mysql_stmt_store_result() (Bug #1647)
Added checking of cut read lines in bootstrap thread (Bug #2874)


include/mysql.h:
  Added length to MYSQL_ROWS to enable sanity checking of packets
  Update 'MYSQL_FIELD->max_length' on mysql_stmt_store_result()
libmysql/libmysql.c:
  Update 'MYSQL_FIELD->max_length' on mysql_stmt_store_result() (Bug #1647)
scripts/fill_help_tables.sh:
  Added checking of maximum length of line in output (Bug #2874)
scripts/mysql_install_db.sh:
  Added error message if help tables couldn't be done (Bug #2874)
sql/sql_parse.cc:
  Added checking of cut read lines in bootstrap thread (Bug #2874)
tests/client_test.c:
  Added --debug
  Changed some strange define names
  Less output
  Added testing of max_length for prepared statements
2004-04-30 14:02:17 +03:00
unknown
be5d750a24 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/kostja/mysql/mysql-4.1-u2


include/mysql.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
tests/client_test.c:
  Auto merged
2004-04-30 03:00:55 +04:00
unknown
d5237fd09f Fix for Bug#3035 "Prepared statement integer inserts": now unsigned
flag is sent to server with placeholder types.
There were no need to extend the protocol as one additional byte
was reserved for placeholder code, when placeholder code is in range 0-255.
So this byte is now used for flags. Post-review fixes added.


include/config-win.h:
  added floaststore implementation
include/my_global.h:
  added floatstore implementation
include/mysql.h:
  Bug#3035:
  added 'is_unsigned' member
  binary_data wasn't used, removed
  null_field wasn't necessary, removed
include/mysql_com.h:
  Unused defines were removed.
libmysql/libmysql.c:
  Function store_param_type was removed - too much for a function, especially
  with bug in it.
  New implementation is inline and takes into account signedness of 
  placeholder.
  Fixed store functions to not perform double network-host order conversion
  on high-byte-first systems (should also fix Bug#3578 "Prepared statement 
  integer conversions work wrong in 64-bit Power Mac G5 CPUs").
  null_field removed.
sql/sql_prepare.cc:
  Placeholder sign is taken into account when reading data from network.
tests/client_test.c:
  Test for BUG#3035 added: insert and retrieve minimum and maximum of all
  integer types.
2004-04-30 03:00:19 +04:00
unknown
242fe78d2b Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-my-ps-bugs


tests/client_test.c:
  Auto merged
2004-04-30 00:00:54 +04:00
unknown
978ba8f47e Fix for BUG#3567: Disallow several SQL statements inside a Prepared Statement. 2004-04-27 03:44:41 +04:00
unknown
59b41f9101 Fixed client_test to run with MAX_KEY=64. 2004-04-27 02:57:00 +04:00
unknown
803e0b1ba7 Testcase for BUG#3420. The bug itself has been fixed by some previous PS code changes made since 4.1.1a
tests/client_test.c:
  Testcase for BUG#3420
2004-04-14 01:42:01 +04:00
unknown
8033292dbb Fix and testcase for BUG#3367.
sql/sql_prepare.cc:
  value_is_set should be true for NULL value, as for non-NULL values.
2004-04-13 00:13:25 +04:00
unknown
c3d172a6c6 complex join example for test suite 2004-04-09 10:30:07 +03:00
unknown
52a62ce0b0 fixed subquery in the FROM clause with parameter (BUG#3020)
sql/sql_derived.cc:
  do not execute subqueries in the FROM clause in PS preparation
tests/client_test.c:
  test of subquery in FROM clause with parameter
2004-04-08 23:28:47 +03:00
unknown
d57ffe071a field->store resuts passing is fixed for REAL and INT for Item_param (BUG3223)
sql/item.cc:
  field->store resuts passing is fixed for REAL and INT
tests/client_test.c:
  removed debugging commnet
  fixed type casting
  test for BUG#3223
2004-04-08 11:07:37 +03:00
unknown
c9d856c8b7 new error for unsupported command in PS
fixed IN subselect with basic constant left expression
SQLCOM_CREATE_TABLE, SQLCOM_UPDATE_MULTI, SQLCOM_REPLACE_SELECT, SQLCOM_INSERT_SELECT, QLCOM_DELETE_MULTI fixed to be compatible with PS (BUG#3398, BUG#3406)
fixed multiupdate privelege check (BUG#3408)
fixed multiupdate tables check (BUG#3411)
unchecked commands now is rejected by PS protocol to avoid serever crash
fixed cleunup procedure to be compatible sith DO/SET (BUG#3393)


include/mysqld_error.h:
  new error for unsupported command in PS
mysql-test/r/multi_update.result:
  test sutes (BUG#3408, BUG#3411)
mysql-test/t/multi_update.test:
  test sutes (BUG#3408, BUG#3411)
sql/item_cmpfunc.cc:
  fixed IN subselect with basic constant left expression
sql/mysql_priv.h:
  some function frop sql_parse.h become public
sql/set_var.cc:
  check for SET command via PS
sql/set_var.h:
  check for SET command via PS
sql/share/czech/errmsg.txt:
  new error for unsupported command in PS
sql/share/danish/errmsg.txt:
  new error for unsupported command in PS
sql/share/dutch/errmsg.txt:
  new error for unsupported command in PS
sql/share/english/errmsg.txt:
  new error for unsupported command in PS
sql/share/estonian/errmsg.txt:
  new error for unsupported command in PS
sql/share/french/errmsg.txt:
  new error for unsupported command in PS
sql/share/german/errmsg.txt:
  new error for unsupported command in PS
sql/share/greek/errmsg.txt:
  new error for unsupported command in PS
sql/share/hungarian/errmsg.txt:
  new error for unsupported command in PS
sql/share/italian/errmsg.txt:
  new error for unsupported command in PS
sql/share/japanese/errmsg.txt:
  new error for unsupported command in PS
sql/share/korean/errmsg.txt:
  new error for unsupported command in PS
sql/share/norwegian-ny/errmsg.txt:
  new error for unsupported command in PS
sql/share/norwegian/errmsg.txt:
  new error for unsupported command in PS
sql/share/polish/errmsg.txt:
  new error for unsupported command in PS
sql/share/portuguese/errmsg.txt:
  new error for unsupported command in PS
sql/share/romanian/errmsg.txt:
  new error for unsupported command in PS
sql/share/russian/errmsg.txt:
  new error for unsupported command in PS
sql/share/serbian/errmsg.txt:
  new error for unsupported command in PS
sql/share/slovak/errmsg.txt:
  new error for unsupported command in PS
sql/share/spanish/errmsg.txt:
  new error for unsupported command in PS
sql/share/swedish/errmsg.txt:
  new error for unsupported command in PS
sql/share/ukrainian/errmsg.txt:
  new error for unsupported command in PS
sql/sql_lex.cc:
  first table unlincking procedures for CREATE command
sql/sql_lex.h:
  first table unlincking procedures for CREATE command
sql/sql_parse.cc:
  used function to exclude first table from list
  SQLCOM_CREATE_TABLE, SQLCOM_UPDATE_MULTI, SQLCOM_REPLACE_SELECT, SQLCOM_INSERT_SELECT, QLCOM_DELETE_MULTI fixed to be compatible with PS (BUG#3398, BUG#3406)
  fixed multiupdate privelege check (BUG#3408)
  fixed multiupdate tables check (BUG#3411)
sql/sql_prepare.cc:
  fixed a lot of commands to be compatible with PS
  unchecked commands now is rejected to avoid serever crash
sql/sql_select.cc:
  allow empty result for PS preparing
sql/sql_union.cc:
  fixed cleunup procedure to be compatible sith DO/SET (BUG#3393)
sql/sql_update.cc:
  fixed update to use correct tables lists (BUG#3408)
sql/table.h:
  flag to support multi update tables check (BUG#3408)
tests/client_test.c:
  removed unsupported tables
  fixed show table test
  added new tests
2004-04-08 00:16:17 +03:00
unknown
ffb47ca01e reverting table list to be able to use it in next PS call (BUG#2811)
sql/sql_parse.cc:
  reverting table list to be able to use it in next PS call
sql/sql_rename.cc:
  reverting table list to be able to use it in next PS call
tests/client_test.c:
  typo fixed
  test of crete/drop/rename commands
2004-04-06 00:10:43 +03:00
unknown
e65aed9cbd for Item_param we have to have value set instead of fave item fixed (BUG#3353)
fixed outer joins
test of different joins included


sql/item.cc:
  for Item_param we have to have value set instead of fave item fixed
sql/sql_base.cc:
  fixed PS with outer joins
tests/client_test.c:
  test of different types of joins
2004-04-03 17:23:41 +03:00
unknown
8c8dffb60d fixed brocken of client_test
fixed aggregate functions in PS (BUG#3360)


mysql-test/r/union.result:
  4.1 more correct error
sql/item_cmpfunc.h:
  and_conds do not make fix fields
sql/item_sum.cc:
  storing/restoring argument of aggregate function for prepared statements
  restoring order list of group_concat for safety
sql/item_sum.h:
  storing/restoring argument of aggregate function for prepared statements
  layout fix
sql/mysql_priv.h:
  just declaration
sql/sql_base.cc:
  fix_fields() have to be called with temporary memory pool active
sql/sql_parse.cc:
  removed hack with item pointer storing
sql/sql_prepare.cc:
  debug output added
  removed hack with item pointer storing
sql/sql_select.cc:
  fix_fields now should be called separately
sql/sql_union.cc:
  removed wrong merged check from 4.0 (4.1 have its own protection)
sql/table.h:
  removed hack with item pointer storing
tests/client_test.c:
  new test fo PS
2004-04-03 11:13:51 +03:00
unknown
54a8eb623a fix for table/field caching mechanism
save moving ON/USING tables conditions to WHERE clause (BUG#2794)


sql/sql_base.cc:
  fix for table/field caching mechanism (global lock of it and right table passed as parameter)
  save moving ON/USING tables conditions to WHERE clause (BUG#2794)
sql/sql_class.cc:
  lock for using field/table cache in Item name resolution
sql/sql_class.h:
  lock for using field/table cache in Item name resolution
sql/sql_insert.cc:
  lock for using field/table cache in Item name resolution
tests/client_test.c:
  Test of PS queries with ON condition
2004-04-01 03:00:38 +03:00
unknown
d31bb74ade Merge fix.
sql/sql_yacc.yy:
  Auto merged
tests/client_test.c:
  Merge fix (two new test cases at the same time).
2004-03-25 17:48:00 +01:00
unknown
df06466976 Fixed BUG#3117: LAST_INSERT_ID() works incorrectly inside stored procedure.
This turned out to be a problem for prepared statements as well; the id was
evaluated once, at parse time.


mysql-test/r/auto_increment.result:
  Updated results after bugfix in last_insert_id().
mysql-test/r/query_cache.result:
  Updated results after bugfix in last_insert_id().
mysql-test/r/variables.result:
  Updated results after bugfix in last_insert_id().
sql/item_func.cc:
  Fixed bug in last_insert_id(); get id at each evaluation (and not in the parser).
  Renamed the class Item_func_set_last_insert_id too, since it's not only for setting.
sql/item_func.h:
  Fixed bug in last_insert_id(); get id at each evaluation (and not in the parser).
  Renamed the class Item_func_set_last_insert_id too, since it's not only for setting.
sql/sql_yacc.yy:
  Fixed bug in last_insert_id(); get id at each evaluation (and not in the parser).
  Renamed the class Item_func_set_last_insert_id too, since it's not only for setting.
tests/client_test.c:
  Test case for last_insert_id() in prepared statements.
2004-03-25 17:42:13 +01:00
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
85dddd908a merge
sql/field.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-03-18 15:21:06 +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