Commit graph

257 commits

Author SHA1 Message Date
unknown
e4c529d9b5 mysql_client_test.c:
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.
2005-03-25 17:30:51 +04:00
unknown
7bf50246dc Merge
tests/mysql_client_test.c:
  SCCS merged
2005-02-17 13:52:39 -08:00
unknown
9dad64a129 Only escape the first character in a sequence of bytes that appears to be
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.
2005-02-15 11:31:01 -08:00
unknown
d9039e8718 Follow-up for bug#7990
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
2005-02-10 18:24:26 +03:00
unknown
a26ce94f7a A fix and test case for Bug#7990 "mysql_stmt_close doesn't
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"
2005-02-10 17:41:54 +03:00
unknown
fca90750df A fix and test case for Bug#8330 "mysql_stmt_execute crashes" (libmysql).
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)
2005-02-10 14:56:20 +03:00
unknown
ae14393e74 When escaping a string in a multi-byte character set, escape all bytes of
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.
2005-02-09 16:14:13 -08:00
unknown
4332ac91cd Merge serg@bk-internal.mysql.com:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1


tests/mysql_client_test.c:
  Auto merged
2005-01-24 19:45:15 +01:00
unknown
8bdb500105 fixes/cleanups according to Coverity report 2005-01-24 15:48:25 +01:00
unknown
c03aaf85f2 - renamed client_test -> mysql_client_test
- 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
2005-01-20 16:25:38 +01:00
unknown
a3d3aef157 A test case for Bug#6761 "mysql_list_fields doesn't work" 2005-01-12 20:28:31 +03:00
unknown
fee2e57b67 Fix to perform correctly with charsets in embedded server
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
2004-12-21 10:05:58 +04:00
unknown
bfa45f2fa2 Making 4.1 tree compile with -ansi -pedantic
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
2004-12-16 16:16:28 +03:00
unknown
83fce55a3a A fix of return value of mysql_stmt_bind_result() and cleanup.
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.
2004-12-15 01:37:22 +03:00
unknown
cef35aeb1c bug#6275 "client_test" fail in 4.1.7 make test
bug#6911 resultset metadata always return client character set
2004-12-14 15:58:30 +04:00
unknown
379fe351ee Test for BUG#7242: Testing prepare + several times execute
(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
2004-12-14 10:57:30 +03:00
unknown
5c7949af6b Fix for a bug #6996
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
2004-12-07 19:12:29 +02:00
unknown
d3c5c4997c Fixes to make mysql-test-run --embedded-server working
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
2004-12-02 16:08:17 +04:00
unknown
491a3d90a9 Fixes (bug #6932: 'revoke all privileges...' doesn't remove all proper 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).
2004-12-02 13:34:30 +04:00
unknown
7368b14719 Manual merge of fix for bug #6266 "Invalid DATETIME value is not handled
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.
2004-11-19 18:35:36 +03:00
unknown
a8ba534cee Some comments regarding Bug#6275 ""client_test" fail in 4.1.7 make test" 2004-11-18 23:35:45 +03:00
unknown
5d9f7edd6d Fix for bug #6266 "Invalid DATETIME value is not handled properly".
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"
2004-11-15 15:44:29 +03:00
unknown
d605d88797 Code cleanup and some optimizations. 2004-11-12 19:54:25 +02:00
unknown
34d46e6b92 Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-4.1
into ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1


tests/client_test.c:
  Auto merged
2004-11-12 18:31:11 +02:00
unknown
a046b88e1e Added possibility to run only certain tests by giving the test name(s)
as argument(s) after options.

Added option -T to display all current test names.
2004-11-12 18:30:30 +02:00
unknown
ac083bb688 Write fatal errors even if silent is used in client_test
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
2004-11-11 14:59:13 +02:00
unknown
8793e2197a Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1


sql/sql_select.cc:
  Auto merged
tests/client_test.c:
  Auto merged
2004-11-08 01:15:26 +02:00
unknown
435b20aa68 Simpler arena swapping code
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'
2004-11-08 01:13:54 +02:00
unknown
b3d84df165 A fix and test case for the bug reported by Reggie: if character set
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.
2004-11-05 21:02:12 +03:00
unknown
c7b5a8d7b1 A test case for Bug#4172 "Floating point conversion looses precision
(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.
2004-11-05 00:45:41 +03:00
unknown
78c4faa297 bad automerge (?) fixed 2004-11-02 23:34:40 +01:00
unknown
505caa2879 Remove usage of !$ from mysql-tests
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
2004-11-02 20:13:27 +02:00
unknown
447fef48fd A fix and test case for Bug#6096 "field.max_length is always zero for
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)
2004-10-27 23:46:22 +04:00
unknown
91862626f1 Playing with test_bug5399() to make it work on HPUX 64 bit: no
reason for the failure was found, so the guess is that it is a 
compiler bug.
2004-10-26 22:42:16 +04:00
unknown
c8ef55cc41 Manual merge of fix for bug #6081 "Call to deprecated mysql_create_db() function crashes
server" with main tree.


sql/sql_parse.cc:
  Auto merged
2004-10-22 20:21:56 +04:00
unknown
8c391e7c2c A test case for Bug#6046: no fix is needed (the bug is already
fixed in the main tree).
2004-10-22 15:59:59 +04:00
unknown
c8ad5215ea Manual merge.
sql/sql_class.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
tests/client_test.c:
  Manual merge
2004-10-21 18:44:40 +04:00
unknown
506f648b3a A fix and test case 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).


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"
2004-10-21 18:33:53 +04:00
unknown
7c20b13288 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
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
2004-10-20 16:45:09 +04:00
unknown
8fe8912f4c A fix and test case 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.


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.
2004-10-20 16:43:36 +04:00
unknown
4736d0fe99 Review of all code pushed since last review
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)
2004-10-20 01:28:42 +03:00
unknown
07c7aadf44 Fix for bug #6081 "Call to deprecated mysql_create_db() function crashes
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".
2004-10-17 13:59:46 +04:00
unknown
9aefc403f9 A fix and test case for Bug#6049 "Loss of sign when using prepared
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.
2004-10-16 00:12:59 +04:00
unknown
ba48e6f9aa tests/client_test.c:
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();
2004-10-13 19:27:07 +04:00
unknown
69b6adbd58 Makefile.am, client_test.test, mysql-test-run.sh:
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
2004-10-08 01:39:20 +02:00
unknown
8fa6f37a29 A fix for Bug#5748 "Prepared statement with BETWEEN and bigint values
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.
2004-10-08 02:21:19 +04:00
unknown
656bcff63e client_test.test:
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
2004-09-28 16:27:50 +02:00
unknown
542096df9e Merge
tests/client_test.c:
  SCCS merged
2004-09-25 10:34:54 +02:00
unknown
c14ec245ee client_test.c:
Return exit(1) instead of exit(0) on failure.
  Allow longer path names using MAXPATHLEN.
  Added option --testcase that skips some failing tests.
  Replaced 'return' with exit(1) in test_frm_bug().
mysqltest.c:
  Let --exec fail if command fails


client/mysqltest.c:
  Let --exec fail if command fails
tests/client_test.c:
  Return exit(1) instead of exit(0) on failure.
  Allow longer path names using MAXPATHLEN.
  Added option --testcase that skips some failing tests.
  Replaced 'return' with exit(1) in test_frm_bug().
2004-09-25 10:30:36 +02:00
unknown
f2821fa13c fix client_test to be a bit faster under valgrind. 2004-09-23 20:38:18 +04:00