summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge bk-internal:/home/bk/mysql-4.1unknown2005-05-021-2/+51
|\ | | | | | | | | | | | | | | into mysql.com:/home/jimw/my/mysql-4.1-clean configure.in: Auto merged
| * Fix 'mysql_client_test' with embedded server. (Bug #9634)unknown2005-04-271-2/+51
| | | | | | | | | | | | | | | | mysql-test/mysql-test-run.sh: Set up arguments for mysql_client_test when testing the embedded server. tests/mysql_client_test.c: Add -A switch for passing arguments to the embedded server.
* | Fixed core dump bug when hot link list in key cache was empty. Bug #10167unknown2005-04-271-0/+212
|/ | | | | mysql-test/r/drop.result: Fixed result
* mysql_client_test.c:unknown2005-03-251-0/+2
| | | | | | | | Don't run GBK test if not GBK support was compiled. tests/mysql_client_test.c: Don't run GBK test if not GBK support was compiled.
* Mergeunknown2005-02-171-0/+49
|\ | | | | | | | | tests/mysql_client_test.c: SCCS merged
| * Only escape the first character in a sequence of bytes that appears to beunknown2005-02-151-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | a multibyte character, but was not a valid multibyte character. Refinement of fix for Bug #8378. tests/mysql_client_test.c: Fix test (and fix number) for Bug #8378 mysys/charset.c: Fix to only escape the first character in a sequence that appears to be a multibyte character, but was not a valid one.
| * When escaping a string in a multi-byte character set, escape all bytes ofunknown2005-02-091-0/+49
| | | | | | | | | | | | | | | | | | | | | | a character that appears to be a multi-byte character based on its first byte, but is not actually a valid multi-byte character. (Bug #8378) tests/mysql_client_test.c: Add test for Bug #8317 mysys/charset.c: Properly escape invalid multibyte characters.
* | Follow-up for bug#7990unknown2005-02-101-0/+1
| | | | | | | | | | | | | | libmysql/libmysql.c: And now put it to the proper place and make it work (Bug#7990) tests/mysql_client_test.c: Enable the test for bug#7990
* | A fix and test case for Bug#7990 "mysql_stmt_close doesn't unknown2005-02-101-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | reset mysql->net.last_error": the solution is to clear MYSQL->net error before performing COM_CLOSE: if the call succeeds, the connection is usable for other statements. More comprehensive fix is to clear MYSQL->net for all recoverable errors at the time they happen, it will be implemented in 5.0 as it introduces incompatibility in behavior. libmysql/libmysql.c: A simple fix for Bug#7990 "mysql_stmt_close doesn't reset mysql->net.last_error" tests/mysql_client_test.c: A test case for Bug#7990 " mysql_stmt_close doesn't reset mysql->net.last_error"
* | A fix and test case for Bug#8330 "mysql_stmt_execute crashes" (libmysql).unknown2005-02-101-0/+54
|/ | | | | | | | | | libmysql/libmysql.c: Fix for bug#8330 "mysql_stmt_execute crashes": we need to bail out from mysql_stmt_execute if mysql->net is occupied with a result set of another statement. Otherwise on the next attempt to use net we get a crash, as it's freed in case of error. tests/mysql_client_test.c: A test case for Bug#8330 "mysql_stmt_execute craches" (libmysql)
* Merge serg@bk-internal.mysql.com:/home/bk/mysql-4.1/unknown2005-01-241-0/+6
|\ | | | | | | | | | | | | | | into serg.mylan:/usr/home/serg/Abk/mysql-4.1 tests/mysql_client_test.c: Auto merged
| * fixes/cleanups according to Coverity reportunknown2005-01-241-0/+6
| |
* | - renamed client_test -> mysql_client_testunknown2005-01-202-3/+3
|/ | | | | | | | | | | | | | | | | | | | | | | | - renamed the tests that use the embedded server (client_test -> mysql_client_test_embedded, mysqltest -> mysql_test_embedded and changed some Makefiles and scripts so they are installed in $bindir (required to be able to run the test suite against the embedded server) tests/mysql_client_test.c: Rename: tests/client_test.c -> tests/mysql_client_test.c libmysql/libmysql.c: - renamed client_test.c to mysql_client_test.c in a comment libmysqld/examples/Makefile.am: - renamed client_test -> mysql_client_test_embedded - renamed mysqltest -> mysqltest_embedded - both will be installed in $bindir scripts/make_binary_distribution.sh: - install mysql_client_test, mysql_client_test_embedded and mysqltest_embedded into bin directory tests/Makefile.am: - renamed client_test to mysql_client_test BitKeeper/etc/ignore: Added tests/mysql_client_test to the ignore list
* A test case for Bug#6761 "mysql_list_fields doesn't work"unknown2005-01-121-0/+24
|
* Fix to perform correctly with charsets in embedded serverunknown2004-12-211-2/+0
| | | | | | | | | | | | | | | | | | | | | | | BitKeeper/deleted/.del-ctype_recoding.result.es~45c6fe567949af: Delete: mysql-test/r/ctype_recoding.result.es BitKeeper/deleted/.del-func_test.result.es~4de135264090aa14: Delete: mysql-test/r/func_test.result.es BitKeeper/deleted/.del-ps_2myisam.result.es~5132bde9c07c41e8: Delete: mysql-test/r/ps_2myisam.result.es BitKeeper/deleted/.del-ps_3innodb.result.es~a3613f0e86132472: Delete: mysql-test/r/ps_3innodb.result.es BitKeeper/deleted/.del-ps_4heap.result.es~956ae2c46b66b6ed: Delete: mysql-test/r/ps_4heap.result.es BitKeeper/deleted/.del-ps_5merge.result.es~6093a834fec21efe: Delete: mysql-test/r/ps_5merge.result.es BitKeeper/deleted/.del-ps_6bdb.result.es~57b94c3756e3d093: Delete: mysql-test/r/ps_6bdb.result.es libmysqld/lib_sql.cc: Charset conversion implemented mysql-test/r/query_cache.result.es: correct test result provided tests/client_test.c: now it works
* Making 4.1 tree compile with -ansi -pedanticunknown2004-12-161-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | include/raid.h: Fixing compile-time warning: pragma interface is not supported in C, let's move it to C++ part of the header. ndb/include/kernel/signaldata/CreateEvnt.hpp: - remove extra erroneous ; from ends of function definitions ndb/include/kernel/signaldata/PackedSignal.hpp: - remove extra erroneous ; from ends of function definitions ndb/include/kernel/signaldata/SumaImpl.hpp: - remove extra erroneous ; from ends of function definitions ndb/src/common/debugger/signaldata/DictTabInfo.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/common/debugger/signaldata/NFCompleteRep.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/common/logger/FileLogHandler.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/kernel/blocks/backup/BackupInit.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/kernel/blocks/dbacc/DbaccInit.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/kernel/blocks/dbdict/Dbdict.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/kernel/blocks/dbdih/DbdihInit.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/kernel/blocks/dblqh/DblqhInit.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/kernel/blocks/dbtc/DbtcInit.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/kernel/blocks/dbtup/DbtupGen.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/kernel/blocks/dbtux/Dbtux.hpp: - remove extra erroneous ; from ends of function definitions ndb/src/kernel/blocks/dbtux/DbtuxGen.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/kernel/blocks/dbutil/DbUtil.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/kernel/blocks/grep/GrepInit.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/kernel/blocks/ndbcntr/NdbcntrInit.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/kernel/blocks/ndbfs/VoidFs.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/kernel/blocks/qmgr/QmgrInit.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/kernel/blocks/suma/Suma.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/kernel/blocks/suma/SumaInit.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/kernel/blocks/trix/Trix.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/mgmsrv/MgmtSrvr.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/ndbapi/NdbEventOperation.cpp: - remove extra erroneous ; from ends of function definitions ndb/src/ndbapi/NdbScanFilter.cpp: - remove extra erroneous ; from ends of function definitions ndb/tools/restore/Restore.cpp: - remove extra erroneous ; from ends of function definitions sql/item_create.h: - remove extra erroneous ; sql/sql_cache.cc: - remove extra erroneous ; tests/client_test.c: - fix -pedantic warning
* A fix of return value of mysql_stmt_bind_result() and cleanup.unknown2004-12-151-4/+1
| | | | | | | | | | | | | | | | include/errmsg.h: New libmysql error status code CR_NO_STMT_METADATA libmysql/errmsg.c: Error message for CR_STMT_NO_METADATA. Adding an empty line to shorten further diffs when new error messages are added (as suggested by Monty). libmysql/libmysql.c: Return error from mysql_stmt_bind_result() if the statement contains no metadata. A few comments fixed. tests/client_test.c: Tests fixed: mysql_stmt_bind_result now returns error if there is no metadata.
* bug#6275 "client_test" fail in 4.1.7 make testunknown2004-12-141-11/+18
| | | | | | | bug#6911 resultset metadata always return client character set
* Test for BUG#7242: Testing prepare + several times executeunknown2004-12-141-0/+51
| | | | | | | | (here in client_test.c because we need to check if several PS execution works and the bug shows up with binary protocol only ) tests/client_test.c: Test for BUG#7242: Testing prepare + several times execute
* Fix for a bug #6996unknown2004-12-071-0/+62
| | | | | | | | | | | | | BitKeeper/etc/ignore: Added analyse.test client/mysqladmin.c to the ignore list libmysql/libmysql.c: Fix for a bug #6996 This fix enables that after all rows are read from a buffered result, mysql_stmt_data_seek(stmt,0) can rewind a counter to the beginning, so that rows can be re-fetched. tests/client_test.c: Addition of a test for fix of the bug #6996 in client_test.c
* Fixes to make mysql-test-run --embedded-server workingunknown2004-12-021-0/+2
| | | | | | | | | | | | | | | | | | | mysql-test/mysql-test-run.sh: Tests that can't be fixed now showed in the ignore-list mysql-test/r/query_cache.result.es: test result renewed mysql-test/r/select.result.es: test result renewed mysql-test/r/type_blob.result.es: test result renewed mysql-test/r/type_float.result.es: test result renewed sql/sql_prepare.cc: time values sending fixed tests/client_test.c: that doesnt work in embedded server BitKeeper/etc/ignore: Added libmysqld/ha_archive.cc libmysqld/ha_example.cc libmysqld/ha_tina.cc to the ignore list
* Fixes (bug #6932: 'revoke all privileges...' doesn't remove all proper ↵unknown2004-12-021-2/+2
| | | | | | | | | | | | | | | | | | columns from columns_priv bug #6933: error in the tests/grant.pl test). mysql-test/r/grant.result: A fix (bug #6932: 'revoke all privileges...' doesn't remove all proper columns from columns_priv). mysql-test/t/grant.test: A fix (bug #6932: 'revoke all privileges...' doesn't remove all proper columns from columns_priv). sql/sql_acl.cc: A fix (bug #6932: 'revoke all privileges...' doesn't remove all proper columns from columns_priv). The problem is that we use whole key length (including 'Column_name' keypart) during scanning the 'columns_priv' table in case of revoke_grant. tests/grant.pl: A fix (bug #6933: error in the tests/grant.pl test).
* Manual merge of fix for bug #6266 "Invalid DATETIME value is not handledunknown2004-11-191-0/+135
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | properly" with main tree. libmysql/libmysql.c: Auto merged sql-common/my_time.c: Auto merged sql/field.cc: Auto merged sql/item.cc: Auto merged sql/sql_prepare.cc: Auto merged tests/client_test.c: Manual merge.
| * Fix for bug #6266 "Invalid DATETIME value is not handled properly".unknown2004-11-151-0/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In server we assume that datetime values stored in MYSQL_TIME struct are normalized (and year is not greater than 9999), so we should perform range checks in all places then we convert something to MYSQL_TIME. include/my_time.h: Added one more argument to set_zero_time() function to make it more convinient. Added comment clarifying why MAX_DATE_STRING_REP_LENGTH value is 30. include/mysql_time.h: Documented MySQL's internal assumptions for members of MYSQL_TIME structure. libmysql/libmysql.c: It does not make sense to set MYSQL_TIME::time_type twice in case of errors. mysql-test/r/type_datetime.result: Added test for bug #6266 "Invalid DATETIME value not handled properly". mysql-test/t/type_datetime.test: Added test for bug #6266 "Invalid DATETIME value not handled properly". sql-common/my_time.c: str_to_datetime(): Added missing check for too big year values. set_zero_time(): added time_type argument, since MYSQL_TIMESTAMP_NONE is not the value that we want in most cases. sql/field.cc: Field_datetime::store_time(): clarified why we don't perform any range checks here. sql/item.cc: Item_param::set_time(): Added comment describing this method and range checking for TIME values. sql/sql_prepare.cc: Removed comments about range checking for TIME values in prepared statements, which are no longer true. set_zero_time() has one more argument now. tests/client_test.c: Added test for bug #6266 "Invalid DATETIME value not handled properly"
* | Some comments regarding Bug#6275 ""client_test" fail in 4.1.7 make test"unknown2004-11-181-3/+19
| |
* | Code cleanup and some optimizations.unknown2004-11-121-13/+11
| |
* | Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2004-11-121-188/+217
|\ \ | | | | | | | | | | | | | | | | | | | | | into ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1 tests/client_test.c: Auto merged
| * | Added possibility to run only certain tests by giving the test name(s)unknown2004-11-121-188/+217
| | | | | | | | | | | | | | | | | | | | | | | | | | | as argument(s) after options. Added option -T to display all current test names.
* | | Write fatal errors even if silent is used in client_testunknown2004-11-111-0/+2
|/ / | | | | | | | | | | | | mysql-test/t/client_test.test: Fix crash when user has a conflicting defaults file tests/client_test.c: Write fatal errors even if silent is used
* | Merge bk-internal.mysql.com:/home/bk/mysql-4.1unknown2004-11-081-38/+48
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/my/mysql-4.1 sql/sql_select.cc: Auto merged tests/client_test.c: Auto merged
| * | Simpler arena swapping codeunknown2004-11-081-38/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now thd->mem_root is a pointer to thd->main_mem_root and THR_MALLOC is a pointer to thd->mem_root. This gives us the following benefits: - Allow us to easily detect if arena has already been swapped before (this fixes a bug in setup_conds() where arena was swaped twice in some cases) - Faster swaps of arenas (as we don't have to copy the whole MEM_ROOT) - We don't anymore have to call my_pthread_setspecific_ptr(THR_MALLOC,...) to change where memory is alloced. Now it's enough to set thd->mem_root client/mysqltest.c: Remove some not needed defines (Things like this should be done in config-win.h) include/config-win.h: Added popen() and pclose() compatibility macros mysql-test/t/rpl_failed_optimize-master.opt: Portability fix sql/ha_berkeley.cc: New thd->memroot handling sql/item_cmpfunc.cc: Simpler arena swapping code sql/item_func.cc: Simpler arena swapping code sql/item_subselect.cc: Simpler arena swapping code New thd->mem_root handling sql/item_sum.cc: New thd->mem_root handling sql/item_timefunc.cc: Fixed not-initalized usage errors found by valgrind sql/log_event.cc: New thd->mem_root handling sql/mysql_priv.h: New thd->mem_root handling sql/mysqld.cc: New thd->mem_root handling sql/opt_range.cc: New thd->mem_root handling sql/repl_failsafe.cc: New thd->mem_root handling sql/set_var.cc: New thd->mem_root handling sql/sql_acl.cc: New thd->mem_root handling sql/sql_base.cc: Simpler arena swapping code New thd->mem_root handling sql/sql_class.cc: New thd->mem_root handling sql/sql_class.h: Simpler arena swapping code New thd->mem_root handling sql/sql_db.cc: New thd->mem_root handling sql/sql_error.cc: New thd->mem_root handling sql/sql_help.cc: New thd->mem_root handling sql/sql_insert.cc: New thd->mem_root handling sql/sql_parse.cc: New thd->mem_root handling Added some extra checking of return value of new sql/sql_prepare.cc: New thd->mem_root handling sql/sql_select.cc: New thd->mem_root handling sql/sql_select.h: New thd->mem_root handling sql/sql_union.cc: Simpler arena swapping code sql/sql_yacc.yy: New thd->mem_root handling sql/table.cc: New thd->mem_root handling sql/thr_malloc.cc: New thd->mem_root handling tests/client_test.c: Added drop table to some tests Changed some table names to 't1'
* | | A fix and test case for the bug reported by Reggie: if character setunknown2004-11-051-0/+71
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of client equals to character set of connection, possibly required conversion to character set of column is not performed (prepared statements, data is supplied using placeholders). sql/item.cc: Fix for the bug reported by Reggie: if character_set_connection is equal to character_set_client, placeholder's value is not converted furhter to character set of column when it's different. This is because the original implementation left placeholder's character set intact (binary) if there were no need for client->connection conversion. tests/client_test.c: A test case for the conversion bug.
* | A test case for Bug#4172 "Floating point conversion looses precision unknown2004-11-051-0/+67
|/ | | | | | | | | | | | (prepared staements)": adding the test case to close the bug (the bug was fixed along with other conversion incompatibilities in 4.1.7) tests/client_test.c: A test case for Bug#4172: "Floating point conversion loses precision (prepared staements)" Fix memleak.
* bad automerge (?) fixedunknown2004-11-021-1/+0
|
* Remove usage of !$ from mysql-testsunknown2004-11-021-417/+690
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added protocol::flush() for easier embedded-server code Increase block allocation variables a bit as they where a bit too small for MySQL 4.1 Added option --silent to client_test client/mysqltest.c: Removed compiler warning Fixed identation & comments from earlier push Renamed variable 'disable_abort_on_error' to 'abort_on_error' Ensure that '$mysql_errno' also with --ps-protocol include/mysql_com.h: Removed special handling of net_flush for embedded server mysql-test/r/mysqltest.result: Remove usage of !$ in tests mysql-test/t/client_test.test: Use --silent mysql-test/t/comments.test: Remove usage of !$ in tests mysql-test/t/join_outer.test: Remove usage of !$ in tests mysql-test/t/key.test: Remove usage of !$ in tests mysql-test/t/mysqltest.test: Remove usage of !$ in tests mysql-test/t/show_check.test: Remove usage of !$ in tests mysql-test/t/temp_table.test: Remove usage of !$ in tests mysql-test/t/type_ranges.test: Remove usage of !$ in tests sql/mysqld.cc: Increase block allocation variables a bit as they where a bit too small for MySQL 4.1 sql/net_serv.cc: Remove special usage of net_flush in embedded server sql/protocol.cc: Added protocol::flush() for easier embedded-server code sql/protocol.h: Added protocol::flush() for easier embedded-server code sql/sql_prepare.cc: Added protocol::flush() for easier embedded-server code Remove one extra flush() for prepared statements sql/sql_show.cc: Added protocol::flush() for easier embedded-server code tests/client_test.c: Added option --silent
* A fix and test case for Bug#6096 "field.max_length is always zero for unknown2004-10-271-0/+101
| | | | | | | | | | | | | | | | | numeric columns (stmt_resultset_metadata)" libmysql/libmysql.c: A fix for Bug#6096 "field.max_length is always zero for numeric columns (stmt_resultset_metadata)": set field->max_lenght for numeric columns when we set up skip_result functions. A minor drawback for this approach is that field->max_length can be not zero even if STMT_ATTR_UPDATE_MAX_LENGTH is not set. sql-common/my_time.c: Fix valgrind warning. tests/client_test.c: A test case for Bug#6096 "field.max_length is always zero for numeric columns (stmt_resultset_metadata)
* Playing with test_bug5399() to make it work on HPUX 64 bit: no unknown2004-10-261-18/+19
| | | | | | | | reason for the failure was found, so the guess is that it is a compiler bug.
* Manual merge of fix for bug #6081 "Call to deprecated mysql_create_db() ↵unknown2004-10-221-0/+26
|\ | | | | | | | | | | | | | | | | | | function crashes server" with main tree. sql/sql_parse.cc: Auto merged
| * Fix for bug #6081 "Call to deprecated mysql_create_db() function crashesunknown2004-10-171-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | server". Altough mysql_create_db()/mysql_drop_db() API calls are deprecated since 4.0, they should not crash server and should not stall connection in case of errors. sql/sql_parse.cc: Handling of COM_CREATE_DB, COM_DROP_DB: mysql_create_db() requires from its second parameter to be non-zero. We also should call send_error() if mysql_create_db or mysql_drop_db return error (like we do it for SQL versions of these commands). tests/client_test.c: Added test for bug #6081 "Execution of deprecated mysql_create_db() crashes server".
* | A test case for Bug#6046: no fix is needed (the bug is alreadyunknown2004-10-221-0/+48
| | | | | | | | | | | | | | fixed in the main tree).
* | Manual merge.unknown2004-10-211-0/+18
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | sql/sql_class.h: Auto merged sql/sql_prepare.cc: Auto merged tests/client_test.c: Manual merge
| * | A fix and test case for bug#6059 "mysql_stmt_field_count returns unknown2004-10-211-0/+17
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | positive numbers when no resultset is available": when sending result set metadata we need to use virtual select_result::send_fields, and not address protocol directly, because select_result descendents may intercept result set (it's the case for example for SELECT INTO OUTFILE). sql/sql_class.h: A fix for bug#6059 "mysql_stmt_field_count returns positive numbers when no resultset is available": introducing select_result::field_count() method to report actual number of fields in a result set, if any result set is sent to client. sql/sql_prepare.cc: A fix for bug#6059 "mysql_stmt_field_count returns positive numbers when no resultset is available": when sending result set metadata we need to use virtual select_result::send_fields, and not address protocol directly, because select_result descendents may intercept result set (it's the case for example for SELECT INTO OUTFILE). Now we need to always have lex->result set if we're in prepared statements. tests/client_test.c: A test case for Bug#6059 "mysql_stmt_field_count returns positive numbers when no resultset is available"
* | Merge bk-internal.mysql.com:/home/bk/mysql-4.1unknown2004-10-201-3/+98
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/kostja/work/mysql-4.1-6049 libmysql/libmysql.c: Auto merged sql/field.cc: Auto merged sql/item.cc: Auto merged sql/mysql_priv.h: Auto merged tests/client_test.c: Auto merged
| * | A fix and test case for bug#6058 "Prepared statements return '0000-00-00' unknown2004-10-201-4/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (date) as empty string": preserve time type (date, time, or datetime) for zero dates, times, and datetimes. libmysql/libmysql.c: A fix for bug#6058 "Prepared statements return '0000-00-00' (date) as empty string": preserve time type (date, time, or datetime) for zero dates, times, and datetimes. tests/client_test.c: A test case for Bug#6058, the existing tests required some adjustments too.
| * | A fix and test case for Bug#6049 "Loss of sign when using prepared unknown2004-10-161-0/+47
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | statements and negative time/date values". The bug was in wrong sprintf format used in the client library. The fix moves TIME -> string conversion functions to sql-common and utilized them in the client library. include/my_time.h: Declarations for new functions shared between the client and server. libmysql/libmysql.c: Fix for Bug#6049 "Loss of sign when using prepared statements and negative time/date values": use the same function as the server to convert date/time/datetime values to strings. sql-common/my_time.c: Implementation of my_{time,datetime,date,TIME}_to_str: it's needed by the client library, so it should be shared. sql/field.cc: Don't create String object if it's not needed. sql/item.cc: Don't create String object if it's not needed: TIME_to_string was moved to my_TIME_to_str, with different arguments. sql/item_timefunc.cc: Don't create String object if it's not needed. sql/mysql_priv.h: TIME_to_string and MAX_DATE_REP_LENGTH moved to the client library. MAX_DATE_REP_LENGTH was renamed to MAX_DATE_STRING_REP_LENGTH to not conflict with the same name in libmysql.c sql/protocol.cc: Don't create String object if it's not needed. sql/time.cc: Implementation of my_{time,date,datetime,TIME}_to_str moved to my_time.c shared between the client and the server. tests/client_test.c: A test case for Bug#6049.
* | Review of all code pushed since last reviewunknown2004-10-201-11/+3
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simple optimzations and cleanups Removed compiler warnings and fixed portability issues Added client functions 'mysql_embedded()' to allow client to check if we are using embedded server Fixes for purify client/mysqlimport.c: Remove not used variable client/mysqltest.c: Remove usage of MAXPATHLEN (all MySQL code uses FN_REFLEN) Simplified code Remove usage of sprintf("%llu") as this is not portable include/mysql.h: Added mysql_embedded() to be able to easily check if we are using the embedded server innobase/srv/srv0start.c: Don't use memcmp() when using purify (to avoid false warnings) libmysql/libmysql.c: Added mysql_embedded() to be able to easily check if we are using the embedded server libmysql/libmysql.def: Added mysql_embedded() to be able to easily check if we are using the embedded server myisam/myisam_ftdump.c: Remove compiler warning myisam/myisamchk.c: Remove compiler warning myisam/rt_test.c: #ifdef not used code mysys/hash.c: Remove compiler warning (from last push) mysys/my_gethwaddr.c: Remove compiler warning ndb/src/ndbapi/ndberror.c: #ifdef not used code regex/regcomp.c: Remove not used code regex/regcomp.ih: Remove not used code (to remove compiler warnings) sql-common/client.c: Remove compiler warnings sql/field.cc: Simple optimization sql/ha_innodb.cc: Rename mysql_embedded -> mysqld_embedded sql/item.cc: Fix comments Move variables first on block Remove else after return Simple optimizations (no logic changes) sql/item_cmpfunc.cc: Added comment sql/mysql_priv.h: Rename mysql_embedded -> mysqld_embedded sql/mysqld.cc: Rename mysql_embedded -> mysqld_embedded sql/sql_acl.cc: Added comments simple optimization Fixed 'very unlikely' bug when doing REVOKE ALL PRIVILEGES sql/sql_select.cc: More comments Simple optimization sql/sql_show.cc: Simple changes to make similar code similar More comments sql/sql_string.cc: Trivial optimization and better code layout strings/Makefile.am: Change xml.c to use bcmp to avoid warnings from purify strings/xml.c: Change xml.c to use bcmp to avoid warnings from purify tests/client_test.c: Remove usage of MAXPATHLEN (all MySQL code uses FN_REFLEN)
* tests/client_test.c:unknown2004-10-131-482/+596
| | | | | | | | | | Make checks (asserts) performed in client_test.c work in non-debug builds. tests/client_test.c: Make checks (asserts) performed in client_test.c work in non-debug builds: all asserts/DBUG_ASSERTs replaced with if (!(expr)) abort();
* Makefile.am, client_test.test, mysql-test-run.sh:unknown2004-10-081-1/+2
| | | | | | | | | | | | To make client_test work as mysql-test-run test case, needs to install it mysql-test/mysql-test-run.sh: To make client_test work as mysql-test-run test case, needs to install it mysql-test/t/client_test.test: To make client_test work as mysql-test-run test case, needs to install it tests/Makefile.am: To make client_test work as mysql-test-run test case, needs to install it
* A fix for Bug#5748 "Prepared statement with BETWEEN and bigint values unknown2004-10-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | crashes mysqld": implementation for a generic item tree modifications registry. Every item tree modification which should be rolled back for subsequent execution of a prepared statement or stored procedure should be saved in the registry. All such modifications are rolled back at once during cleanup stage of PS. Actual fix for the bug just adds a call to register modifications to convert_constant_item. Post review fixes implemented. mysql-test/r/ps.result: A fix for bug#5748, test results fixed. mysql-test/t/ps.test: A test case for Bug#5748 "Prepared statement with BETWEEN and bigint values crashes mysqld" sql/item.cc: Fix for Bug#5748 "Prepared statement with BETWEEN and bigint values crashes mysqld": First step in removing up item-specific cleanups: now all such tree modifications should be done using the genericm mechanism implemented in this changeset. sql/item.h: Fix for Bug#5748 "Prepared statement with BETWEEN and bigint values crashes mysqld": no need for an item-specific change record any more. sql/item_cmpfunc.cc: A fix for Bug#5748 "Prepared statement with BETWEEN and bigint values crashes mysqld": register item tree transformation performed by convert_constant_item. sql/sql_class.cc: Implementation for item tree transformations registry. sql/sql_class.h: Declarations, necessary for the tree transformations registry. sql/sql_parse.cc: Assert that the item tree transformations registry is not used for conventional execution. sql/sql_prepare.cc: Use of the item tree modifications registry in prepared statements: rollback all modifications in the end of statement prepare and execute. Also we now always set thd->current_arena to be able to determine that this is an execution of prepared statement inside the registry code. tests/client_test.c: A typo fixed.
* client_test.test:unknown2004-09-281-8/+6
| | | | | | | | | | | | | | | | | | | | | | | Run client_test as a testcase new file mysql-test-run.sh: More clearly report failure if --force, also exit 1 client_test.c: Use MAXPATHLEN in test_frm_bug() Renable test cases disabled for running from mysql-test-run mysqltest.c: Don't check errno from popen, may not be set client/mysqltest.c: Don't check errno from popen, may not be set tests/client_test.c: Use MAXPATHLEN in test_frm_bug() Renable test cases disabled for running from mysql-test-run mysql-test/mysql-test-run.sh: More clearly report failure if --force, also exit 1 mysql-test/t/client_test.test: Run client_test as a testcase