summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup in libmysql.unknown2004-08-051-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | libmysql/libmysql.c: Cleanup of conversion part of libmysql (prepared statements protocol): - now we have basic support for any conversion sequence: when we don't implement direct conversion of given value to requested buffer type (i.e. time -> double, or the other way around) we first convert i.e. time -> string and then call string -> double conversion. param->offset is now handled only in one place. - conversion functions renamed from send_data_{string, long, double} to fetch_{string,long,double}_with_conversion. Don't be confused with strange diff for send_data_long: I had to move send_data_string before all other sends as it's used inside thesm. (Shall we have a forward declaration instead?-) - a little cleanup in read_binary_{date,time,datetime} - now type of date value is set inside these functions, so we can be sure that we always return fully filled MYSQL_TIME structure to the user - float -> string conversion is fixed to honor param->precision. This is a step forward in fixing bug#4172 tests/client_test.c: test fix: now libmysql always sets MYSQL_TIME::time_type field. We need to set these fields in the test as later _in values are compared with canonical by plain memcmp.
* Type of MYSQL_BIND::buffer changed to void *unknown2004-06-251-168/+168
|
* - fixed test_frm_bug test to work with increased number of columns inunknown2004-06-241-2/+2
| | | | | | | | result of SHOW TABLE STATUS BitKeeper/etc/ignore: added libmysqld/my_time.c
* Fix for Bug#4030 "Client side conversion string -> date type doesn't unknown2004-06-241-0/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | work (prepared statements)" and after-review fixes: - str_to_TIME renamed to str_to_datetime to pair with str_to_time - functions str_to_time and str_to_TIME moved to sql-common - send_data_str now supports MYSQL_TYPE_TIME, MYSQL_TIME_DATE, MYSQL_TIME_DATETIME types of user input buffers. - few more comments in the client library - a test case added. VC++Files/libmysql/libmysql.dsp: new file: my_time.c VC++Files/libmysqld/libmysqld.dsp: new file: my_time.c VC++Files/sql/mysqld.dsp: new file: my_time.c include/Makefile.am: - mysql_time.h added to the list of installed client library headers include/mysql.h: - declarations for MYSQL_TIME and enum_mysql_timestamp_type moved to mysql_time.h, which is in shared use of client library and mysys. libmysql/Makefile.shared: - my_time.lo added to the list of libmysql objects libmysql/libmysql.c: Fix for bug#4030 "Client side conversion string -> date type doesn't work (prepared statements)" and cleanup. - added case labels for TIME/DATE/DATETIME types to send_data_str - comments for read_binary_{date,time,datetime}, fetch_result_*, fetch_results. libmysqld/Makefile.am: - my_time.c added sql-common/Makefile.am: - my_time.c added to the list of files included into source distribution. sql/Makefile.am: my_time.c added to the list of mysqld sources. sql/field.cc: - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...} sql/item.cc: - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...} sql/item_timefunc.cc: - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...} sql/mysql_priv.h: - added typedefs for TIME and timestamp_type - removed declarations for str_to_time and str_to_TIME (now this functions reside in mysys) sql/mysqld.cc: - log_10_int moved to mysys (it's used by str_to_TIME and str_to_time) - enum values TIMESTAMP_{TIME,DATE,DATETIME} were renamed to MYSQL_TIMESTAMP_{TIME,DATE,DATETIME} sql/set_var.cc: - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...} sql/set_var.h: - fixed timestamp_type usage to be compatible with typedef. sql/sql_prepare.cc: - TIMESTAMP_{TIME,DATE,DATETIME} were renamed to MYSQL_TIMESTAMP_{TIME,DATE,DATETIME} - embedded library implementation of set_param_{time,date,datetime} is much simplier now, as MYSQL_TIME is the same as TIME. sql/sql_yacc.yy: - s/\<TIMESTAMP_/MYSQL_TIMESTAMP/gc sql/structs.h: - declarations for TIME and timestamp_type replaced with typedefs - str_to_datetime arguments moved to mysys headers sql/time.cc: - str_to_time and str_to_TIME moved to mysys - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...} as these names are now exported to client. - str_to_TIME renamed to str_to_datetime to pair with str_to_time - str_to_TIME_with_warn renamed accordingly sql/tztime.cc: - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...} tests/client_test.c: - a test case for Bug#4030 "Client side conversion string -> date type doesn't work (prepared statements)"
* Fixes to make client_test run on 64 bit Sun: a bug in libmysql and unknown2004-06-221-21/+44
| | | | | | | | | | | | | test suite fixed. libmysql/libmysql.c: - fixed a bug in protocol -> host integer conversions in send_data_str tests/client_test.c: Fixes to make client_test run on 64 bit Sun: - strlen() doesn't accept NULL input - Sun is high byte first, so we can't store bind 32-bit variables to 16-bit to MYSQL_TYPE_SHORT/TINY
* - automatic dependency tracking for client_test enabledunknown2004-06-221-1/+0
|
* Fix for bug#4236 "Server crash on attempt to execute non-preparedunknown2004-06-221-0/+30
| | | | | | | | statement": check that statement is not null when accessing it's name. tests/client_test.c: A test case for bug#4236
* Compilation error on AIX (IBM C Compiler Version 6) fixed.unknown2004-06-161-1/+1
|
* Fix for Bug#4079 "error checking in prepared statements": unknown2004-06-111-0/+44
| | | | | | | | | | 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
* Proposed fix for Bug#4026 "Microseconds part of TIME/DATETIME types unknown2004-06-091-0/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* mysql_stmt_field_count()unknown2004-06-061-0/+1
| | | | | | | | | | | | 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()
* Few more cleanups in client_test:unknown2004-06-051-264/+13
| | | | | | | | No need for mysql_commit, especially after DDL statements. tests/client_test.c: No need for mysql_commit, especially after DDL statements.
* The comment is not true any more. unknown2004-06-051-6/+0
| | | | | | Is there a way to sefely use MYSQL_BIND structure without bzero?
* HAVE_DEPRECATED_411_API macro removed.unknown2004-06-041-3275/+3382
| | | | | | | | | include/mysql.h: Removed obsolete define. tests/client_test.c: Rewritten to use new API. Few cleanups. A lot of valgrind warnings/errors removed.
* Fix for Bug#3796 "Prepared statement, select concat(<parameter>,<column>), ↵unknown2004-05-311-3/+87
| | | | | | | | | | | | | | | | | | 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.
* Support for character set conversion in binary protocol: another gounknown2004-05-251-7/+202
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
* assigning max_length parameter for Item_param (Bug #3811)unknown2004-05-201-1/+43
| | | | | | | | sql/item.cc: assigning max_length/decimal parameter for Item_param tests/client_test.c: layout fixed test suite for bug
* Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2004-05-191-9/+11
|\ | | | | | | | | | | | | | | | | | | into deer.(none):/home/hf/work/mysql-4.1.ps sql/sql_parse.cc: Auto merged tests/client_test.c: Auto merged
| * Portability fixesunknown2004-05-191-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2004-05-171-0/+3
|\ \ | |/ |/| | | | | | | | | | | | | | | into deer.(none):/home/hf/work/mysql-4.1.ps sql/sql_parse.cc: Auto merged tests/client_test.c: Auto merged
| * Fixes for #3371, #3372, #3374, #3375, #3376unknown2004-05-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* | Better fix for bug #3749 (bug in deleting automatic generated foreign keys)unknown2004-05-151-3/+2
|/ | | | | | | | | | | | | 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()
* treat parameter as constant in ORDER BY check of fields in SELECT list(Bug ↵unknown2004-05-101-1/+47
| | | | | | | | | #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
* mysql_stmt_reset now expects ok/error packet from server.unknown2004-05-061-1/+4
| | | | | | | | | 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.
* Few cleanups to client_test.cunknown2004-05-061-9/+5
| | | | | tests/client_test.c: Few cleanups
* Merge bk-internal.mysql.com:/home/bk/mysql-4.1unknown2004-05-051-5/+28
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Fix to handle unsigned data in prepared statements (Bug #3447)unknown2004-05-041-5/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | After merge fix. unknown2004-05-041-21/+16
| | | | | | | | | | | | | | | | Now test_bug1664() uses new statement checking macros. tests/client_test.c: Now test_bug1664() uses new statement checking macros.
* | Manual merge of bugfix for Bug #1664.unknown2004-05-041-0/+148
|\ \ | | | | | | | | | | | | | | | | | | sql/sql_prepare.cc: Auto merged tests/client_test.c: Manual merge.
| * | Fix for remaining issues described in Bug #1664 unknown2004-05-041-0/+147
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "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".
* | | return table list of fake_select in empty state to prevent using TABLE_LIST ↵unknown2004-05-031-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Fix client_test to use new statement assertion macrosunknown2004-04-301-3/+3
| | |
* | | Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2004-04-301-0/+58
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | into mysql.com:/dbdata/psergey/mysql-4.1-bug3420 tests/client_test.c: Auto merged
| * | Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2004-04-301-0/+58
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/dbdata/psergey/mysql-4.1-bug3420 tests/client_test.c: Auto merged
| | * | Testcase for BUG#3420. The bug itself has been fixed by some previous PS ↵unknown2004-04-141-0/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | code changes made since 4.1.1a tests/client_test.c: Testcase for BUG#3420
* | | | Only calculate MYSQL_FIELD->max_length if mysql_stmt_attr_set(..., ↵unknown2004-04-301-26/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | STMT_ATTR_UPDATE_MAX_LENGTH) is done. tests/client_test.c: Test mysql_stmt_attr_set(...STMT_ATTR_UPDATE_MAX_LENGTH)
* | | | Mergeunknown2004-04-301-503/+569
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | libmysql/libmysql.c: Auto merged tests/client_test.c: Auto merged include/mysql.h: SCCS merged
| * | | Update 'MYSQL_FIELD->max_length' on mysql_stmt_store_result() (Bug #1647)unknown2004-04-301-503/+569
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge bk-internal.mysql.com:/home/bk/mysql-4.1unknown2004-04-301-0/+163
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | Fix for Bug#3035 "Prepared statement integer inserts": now unsignedunknown2004-04-301-0/+163
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2004-04-301-1/+31
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | into mysql.com:/dbdata/psergey/mysql-4.1-my-ps-bugs tests/client_test.c: Auto merged
| * | Fix for BUG#3567: Disallow several SQL statements inside a Prepared Statement.unknown2004-04-271-0/+30
| | |
| * | Fixed client_test to run with MAX_KEY=64. unknown2004-04-271-1/+1
| |/
* | Fix and testcase for BUG#3367.unknown2004-04-131-0/+70
|/ | | | | sql/sql_prepare.cc: value_is_set should be true for NULL value, as for non-NULL values.
* complex join example for test suiteunknown2004-04-091-0/+53
|
* fixed subquery in the FROM clause with parameter (BUG#3020)unknown2004-04-081-0/+48
| | | | | | | 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
* field->store resuts passing is fixed for REAL and INT for Item_param (BUG3223)unknown2004-04-081-2/+45
| | | | | | | | | 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
* new error for unsupported command in PSunknown2004-04-081-23/+220
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* reverting table list to be able to use it in next PS call (BUG#2811)unknown2004-04-061-4/+83
| | | | | | | | | | 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
* for Item_param we have to have value set instead of fave item fixed (BUG#3353)unknown2004-04-031-14/+28
| | | | | | | | | | | | | 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