1
0
mirror of https://github.com/MariaDB/server.git synced 2025-06-07 16:23:34 +03:00

1521 Commits

Author SHA1 Message Date
jimw@mysql.com
dd2f631ec4 Fix number to date conversion so it always honors the NO_ZERO_DATE,
NO_ZERO_IN_DATE, and INVALID_DATES bits of SQL_MODE. (Bug #5906)
2005-07-18 16:12:44 -07:00
unknown
90002cdc7b Restore previous used client charset in mysql_reconnect
Moved mysql_set_character_set function to client.c
Changed function prototype for mysql_set_character_set (as suggested
by Konstantin)


include/mysql.h:
  Changed function prototype
libmysql/libmysql.c:
  moved mysql_set_character_set to client.c
sql-common/client.c:
  moved mysql_set_character_set to client.c
2005-07-16 07:13:40 +02:00
georg@lmy002.wdf.sap.corp
53c630a524 Restore previous used client charset in mysql_reconnect
Moved mysql_set_character_set function to client.c
Changed function prototype for mysql_set_character_set (as suggested
by Konstantin)
2005-07-16 07:13:40 +02:00
unknown
6fcb9c8e80 Fix for bug #11037.
When all rows are fetched subsequent calls to mysql_stmt_fetch return
now MYSQL_NO_DATA instead of errorcode 1.


libmysql/libmysql.c:
  fix for bug#11037
tests/mysql_client_test.c:
  added new testcase for bug #11037
2005-07-15 14:30:47 +02:00
georg@lmy002.wdf.sap.corp
8c4cd0427f Fix for bug #11037.
When all rows are fetched subsequent calls to mysql_stmt_fetch return
now MYSQL_NO_DATA instead of errorcode 1.
2005-07-15 14:30:47 +02:00
unknown
841f71b1db Merge mysql.com:/opt/local/work/mysql-4.1-root
into  mysql.com:/opt/local/work/mysql-5.0-root


libmysql/libmysql.c:
  Manual merge
tests/mysql_client_test.c:
  Manual merge
2005-07-14 20:02:34 +04:00
konstantin@mysql.com
1c142ee631 Merge mysql.com:/opt/local/work/mysql-4.1-root
into  mysql.com:/opt/local/work/mysql-5.0-root
2005-07-14 20:02:34 +04:00
unknown
bd44c99b85 A fix and a test case for Bug#11183 "mysql_stmt_reset() doesn't reset
information about error".


libmysql/libmysql.c:
  Clear the last error on the statement if mysql_stmt_reset succeeded.
tests/mysql_client_test.c:
  A test case for Bug#11183 "mysql_stmt_reset() doesn't reset information 
  about error"
2005-07-14 20:02:33 +04:00
konstantin@mysql.com
a1270b65db A fix and a test case for Bug#11183 "mysql_stmt_reset() doesn't reset
information about error".
2005-07-14 20:02:33 +04:00
unknown
fd9f67f8d2 Implement MarkM optimization request to avoid redundnat packet exchange
in cursors.


libmysql/libmysql.c:
  - reset_stmt_handle(): don't reset the server side just because we have 
    an open cursor: the server will close the cursor automatically if 
    needed
sql/sql_prepare.cc:
  - implement Prepared_statement::close_cursor,
  - implicitly close an open cursor in mysql_stmt_execute instead of 
    issuing an error (to reduce the need to explicitly close cursors
    and save network bandwidth).
  - cleanup
sql/sql_select.cc:
  Remove a destructor: cursor destruction can not be done by simply
  calling a destructor, because of cross-references between cursor
  and statement memory.
sql/sql_select.h:
  - add an empty Cursor destructor
tests/mysql_client_test.c:
  - remove a test for dropped functionality
2005-07-14 15:27:24 +04:00
konstantin@mysql.com
509531421c Implement MarkM optimization request to avoid redundnat packet exchange
in cursors.
2005-07-14 15:27:24 +04:00
unknown
74e43e8c2f changes after Bar's review: renamed CHARACTER_SET to MY_CHARSET_INFO 2005-07-12 10:58:21 +02:00
georg@lmy002.wdf.sap.corp
55d413252f changes after Bar's review: renamed CHARACTER_SET to MY_CHARSET_INFO 2005-07-12 10:58:21 +02:00
unknown
c5e573dabc New attempt after Bar's review
Added api function mysql_get_character_set_info which provides
information about the current client character set.


include/mysql.h:
  Added api function mysql_get_character_set_info which provides
  information about the current client character set.
libmysql/libmysql.c:
  Added api function mysql_get_character_set_info which provides
  information about the current client character set.
libmysql/libmysql.def:
  Added api function mysql_get_character_set_info which provides
  information about the current client character set.
tests/mysql_client_test.c:
  Added api function mysql_get_character_set_info which provides
  information about the current client character set.
2005-07-12 10:31:43 +02:00
georg@lmy002.wdf.sap.corp
ceba4ee9cd New attempt after Bar's review
Added api function mysql_get_character_set_info which provides
information about the current client character set.
2005-07-12 10:31:43 +02:00
unknown
63c5a72b31 Merge mysql.com:/home/jimw/my/mysql-5.0-10214
into  mysql.com:/home/jimw/my/mysql-5.0-clean


include/my_sys.h:
  Auto merged
include/mysql_com.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
tests/mysql_client_test.c:
  Clean up merge of new tests
2005-07-05 09:47:20 -07:00
jimw@mysql.com
485f2c93c2 Merge mysql.com:/home/jimw/my/mysql-5.0-10214
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2005-07-05 09:47:20 -07:00
unknown
ec9ac3fe5c A fix and a test case for Bug#10794 "mysql_stmt_attr_set no
open cursor after mysql_stmt_execute" + post-review fixes.
The bug was caused by wrong flags in stmt->server_status on the client
side: if there was no cursor, the server didn't send server_status
flags to the client, and the old flags were used to set up the
fetch function of a statement. Consequently, stmt_read_row_from_cursor was
used when there was no cursor. The fix fixes the server to always
send server flags to the client.


include/mysql_com.h:
  Update stale comments.
libmysql/libmysql.c:
  Remove an extra assignment.
libmysqld/lib_sql.cc:
  Update to correspond to the changed signature of send_eof
sql/protocol.cc:
  Actual fix for bug#10794: create a function that writes the eof
  packet to network and use it from send_fields. We need to send
  a full eof packet from send_fields to inform the client about
  the cursor status (that there is no cursor in this case).
sql/protocol.h:
  Remove an unused parameter for send_eof.
tests/mysql_client_test.c:
  A test case for Bug#10794 "mysql_stmt_attr_set no open cursor 
  after mysql_stmt_execute"
2005-06-30 16:17:10 +04:00
konstantin@mysql.com
f60ebc4815 A fix and a test case for Bug#10794 "mysql_stmt_attr_set no
open cursor after mysql_stmt_execute" + post-review fixes.
The bug was caused by wrong flags in stmt->server_status on the client
side: if there was no cursor, the server didn't send server_status
flags to the client, and the old flags were used to set up the
fetch function of a statement. Consequently, stmt_read_row_from_cursor was
used when there was no cursor. The fix fixes the server to always
send server flags to the client.
2005-06-30 16:17:10 +04:00
unknown
86d8abdb26 Make status of NO_BACKSLASH_ESCAPES mode known to the client so
it can use it to switch to only quoting apostrophes by doubling
them when it is in effect. (Bug #10214)


include/my_sys.h:
  Add new escape_quotes_for_mysql() function
include/mysql_com.h:
  Add SERVER_STATUS_NO_BACKSLASH_ESCAPES
libmysql/libmysql.c:
  Use SERVER_STATUS_NO_BACKSLASH_ESCAPES in server_status to determine
  how mysql_real_escape_string() should do quoting.
mysys/charset.c:
  Add new escape_quotes_for_mysql() function that only quotes
  apostrophes by doubling them up.
sql/set_var.cc:
  Set SERVER_STATUS_NO_BACKSLASH_ESCAPES when MODE_NO_BACKSLASH_ESCAPES
  changes.
sql/sql_class.cc:
  Set SERVER_STATUS_NO_BACKSLASH_ESCAPES when necessary on thread creation.
tests/mysql_client_test.c:
  Add new test for sending NO_BACKSLASH_ESCAPES as part of server_status.
2005-06-23 18:29:56 -07:00
jimw@mysql.com
3ccb90c085 Make status of NO_BACKSLASH_ESCAPES mode known to the client so
it can use it to switch to only quoting apostrophes by doubling
them when it is in effect. (Bug #10214)
2005-06-23 18:29:56 -07:00
unknown
63c21c07fc Rename all prepared statements COM_ commands to prefix with COM_STMT_
libmysql/libmysql.c:
  Rename.
libmysqld/lib_sql.cc:
  Rename.
sql/item_cmpfunc.cc:
  Use proper method to check for stmt prepare, only_prepare is removed.
sql/mysql_priv.h:
  Remove an obsolete define. Rename mysql_stmt_free to mysql_stmt_close.
sql/sql_class.h:
  Remove THD::only_prepare.
  Rename.
sql/sql_lex.cc:
  Rename COM_PREPARE -> COM_STMT_PREPARE
sql/sql_parse.cc:
  Rename.
sql/sql_prepare.cc:
  Rename.
sql/sql_yacc.yy:
  Rename.
tests/mysql_client_test.c:
  Rename.
2005-06-17 23:26:25 +04:00
konstantin@mysql.com
b3d977df10 Rename all prepared statements COM_ commands to prefix with COM_STMT_ 2005-06-17 23:26:25 +04:00
unknown
4eb26350cb merge
client/mysql.cc:
  Auto merged
libmysql/libmysql.c:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_bitmap.h:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-06-05 17:19:50 +03:00
monty@mysql.com
4b7882dc73 merge 2005-06-05 17:19:50 +03:00
unknown
b08b3a1555 Cleanup during review
Simple optimization for 2 argument usage to function of variable arguments
Fix stack overrun when using 1+1+1+1+1+1+1+....
Update crash-me results for 5.0
Don't call post_open if pre_open() fails (optimization)



sql-bench/limits/mysql-4.1.cfg:
  Rename: sql-bench/limits/mysql.cfg -> sql-bench/limits/mysql-4.1.cfg
libmysql/libmysql.c:
  More portable define
mysql-test/mysql-test-run.sh:
  Write also InnoDB warnings to warnings.log
mysql-test/t/type_newdecimal.test:
  Don't get errors if innodb is not defined
mysys/my_alloc.c:
  Cleanup comments
mysys/thr_lock.c:
  Cleanup comments
sql/item.h:
  Remove not needed initializer
sql/item_func.cc:
  Simple optimization for 2 argument usage to function of variable arguments
sql/mysql_priv.h:
  We use more stackspace with the introduction of int_op() etc.
  This change ensures we don't run out of stack when doing 1+1+1+1...
  (Tested on x86, 32 bit)
sql/sp_head.cc:
  Don't call post_open if pre_open() fails
sql/sp_rcontext.cc:
  More comments
  Change so that post_open() doesn't have to be called if pre_open() fails
sql/sql_parse.cc:
  Fold long lines
sql/sql_select.cc:
  Simple reorganization to reduce number of if's
  Ensure that table_map is updated for where clause (fixed warning from valgrind)
2005-06-05 17:01:20 +03:00
monty@mysql.com
25a2c4a71e Cleanup during review
Simple optimization for 2 argument usage to function of variable arguments
Fix stack overrun when using 1+1+1+1+1+1+1+....
Update crash-me results for 5.0
Don't call post_open if pre_open() fails (optimization)
2005-06-05 17:01:20 +03:00
unknown
8b5ac76d6b Add missing STMT_ATTR_PREFETCH_ROWS to mysql_stmt_attr_get 2005-06-04 12:37:10 +04:00
konstantin@mysql.com
ada8f09186 Add missing STMT_ATTR_PREFETCH_ROWS to mysql_stmt_attr_get 2005-06-04 12:37:10 +04:00
unknown
5fa009aaf5 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/opt/local/work/mysql-5.0-9643


libmysql/libmysql.c:
  Auto merged
2005-05-16 18:48:01 +04:00
konstantin@mysql.com
d0b4e71bbd Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/opt/local/work/mysql-5.0-9643
2005-05-16 18:48:01 +04:00
unknown
1c1cc00a8a Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/opt/local/work/mysql-5.0-9643


include/mysql.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
2005-05-16 18:29:04 +04:00
konstantin@mysql.com
f1916b87d2 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/opt/local/work/mysql-5.0-9643
2005-05-16 18:29:04 +04:00
unknown
1bb1bc6993 A fix and a test case for Bug#9643 " CURSOR_TYPE_SCROLLABLE dos not work"
- check on the client the unsupported feature and return 
an error message if it's been requested.
Additionally added API support for STMT_ATTR_PREFETCH_ROWS.
Post-review fixes.


include/errmsg.h:
  Add a new error code for "Not implemented" client-side error message.
include/mysql.h:
  Add a statement attribute STMT_ATTR_PREFETCH_ROWS - unsigned long
  number of rows to fetch per one COM_FETCH command, used when there
  is a read-only cursor.
  Note, that we don't break compatibility by adding this new member
  because MYSQL_STMT is always allocated inside the client library by
  mysql_stmt_init.
libmysql/errmsg.c:
  Text for the error message CR_NOT_IMPLEMENTED
libmysql/libmysql.c:
  Implement support for STMT_ATTR_PREFETCH_ROWS
  Return an error message on attempt to set an attribute of a prepared
  statement which is not implemented yet. We probably should be doing
  it in the server: currently the server just ignores unknown attributes.
tests/mysql_client_test.c:
  A test case for Bug#9643 "CURSOR_TYPE_SCROLLABLE dos not work"
  - check that an error message is returned for CURSOR_TYPE_SCROLLABLE.
  Additionally, check setting of STMT_ATTR_PREFETCH_ROWS.
2005-05-16 18:27:21 +04:00
konstantin@mysql.com
38d68559bf A fix and a test case for Bug#9643 " CURSOR_TYPE_SCROLLABLE dos not work"
- check on the client the unsupported feature and return 
an error message if it's been requested.
Additionally added API support for STMT_ATTR_PREFETCH_ROWS.
Post-review fixes.
2005-05-16 18:27:21 +04:00
unknown
f8f714a2fb Merge with 4.1
BitKeeper/etc/logging_ok:
  auto-union
BitKeeper/deleted/.del-errmsg.txt~11edc4db89248c16:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~184eb1f09242dc72:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~2cdeb8d6f80eba72:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~4617575065d612b9:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~587903f9311db2d1:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~606dfaeb9e81aa4e:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~6bbd9eac7f0e6b89:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~7397c423c52c6d2c:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~898865062c970766:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~8ed1999cbd481dc4:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~94a93cc742fca24d:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~9dab24f7fb11b1e1:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~b44a85a177954da0:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~b6181e29d8282b06:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~ba132dc9bc936c8a:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~e2609fdf7870795:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~e3183b99fbba0a9c:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~eeb2c47537ed9c23:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~ef28b592c7591b7:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~ef53c33ac0ff8a84:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~f19bfd5d4c918964:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~f96b7055cac394e:
  Auto merged
libmysql/libmysql.c:
  Auto merged
myisam/mi_key.c:
  Auto merged
mysql-test/r/alter_table.result:
  Auto merged
mysql-test/r/auto_increment.result:
  Auto merged
mysql-test/r/innodb.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/t/alter_table.test:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
mysql-test/t/select.test:
  Auto merged
sql/handler.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/r/insert_update.result:
  Auto merged
strings/ctype-ucs2.c:
  Auto merged
sql/sql_table.cc:
  merge
sql/unireg.cc:
  merge
2005-05-14 18:31:22 +03:00
monty@mysql.com
9db45adb60 Merge with 4.1 2005-05-14 18:31:22 +03:00
unknown
78f2e7b53d Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1


libmysql/libmysql.c:
  Auto merged
sql/share/danish/errmsg.txt:
  Auto merged
2005-05-14 16:28:52 +03:00
monty@mysql.com
6588997eb8 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2005-05-14 16:28:52 +03:00
unknown
2059908b9c After merge fixes
BitKeeper/deleted/.del-outfile2.result~fb702ee2518d8e6d:
  Delete: mysql-test/r/outfile2.result
libmysql/libmysql.c:
  Fix indentation for new function mysql_set_character_set()
mysql-test/r/alter_table.result:
  Fix test to be in same order as in 4.0
mysql-test/r/innodb.result:
  After merge fix
mysql-test/r/insert_update.result:
  Add extra test for insert into ... on duplicate key upate
mysql-test/r/outfile.result:
  After merge fix
mysql-test/t/alter_table.test:
  Fix test to be in same order as in 4.0
mysql-test/t/insert_update.test:
  Add extra test for insert into ... on duplicate key upate
mysql-test/t/outfile.test:
  After merge fix
sql/item_func.cc:
  After merge fix
sql/sql_table.cc:
  After merge fix
2005-05-14 16:24:36 +03:00
monty@mysql.com
beb5867dfb After merge fixes 2005-05-14 16:24:36 +03:00
unknown
7f5bf3dcdb Manual merge (again)
configure.in:
  Auto merged
include/mysql.h:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
BitKeeper/deleted/.del-ctype-cp932.c:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~4617575065d612b9:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~ffe4a0c9e3206150:
  Auto merged
libmysql/libmysql.c:
  Auto merged
libmysqld/Makefile.am:
  Auto merged
mysql-test/r/ctype_ucs.result:
  Auto merged
mysql-test/t/ctype_ucs.test:
  Auto merged
mysql-test/t/ps_grant.test:
  Auto merged
sql/ha_blackhole.cc:
  Auto merged
strings/ctype-big5.c:
  Auto merged
strings/ctype-ucs2.c:
  Auto merged
2005-05-14 12:38:12 +04:00
konstantin@mysql.com
89bd09fed2 Manual merge (again) 2005-05-14 12:38:12 +04:00
unknown
ba3540cc69 Fix a valgrind warning: memcpy does not allow its arguments to overlap. 2005-05-14 02:31:26 +04:00
konstantin@mysql.com
6c981c0b80 Fix a valgrind warning: memcpy does not allow its arguments to overlap. 2005-05-14 02:31:26 +04:00
unknown
29f3f4a27f added function mysql_set_character_set (reviewed by Monty)
as a work around for #8317 and #9637

This function sends SET NAMES command and changes mysql->charset
so mysql_real_escape_string will work as expected.


libmysql/libmysql.def:
  added new function mysql_set_character_set
2005-05-13 15:06:11 +02:00
georg@lmy002.wdf.sap.corp
320d9cb4c2 added function mysql_set_character_set (reviewed by Monty)
as a work around for #8317 and #9637

This function sends SET NAMES command and changes mysql->charset
so mysql_real_escape_string will work as expected.
2005-05-13 15:06:11 +02:00
unknown
2a8556f32d A fix and test case for Bug#9478 "mysql_stmt_attr_set mysql_stmt_execute"
(crash on attempt to re-execute a statement with an open cursor) + 
post-review fixes.


include/errmsg.h:
  Add a special error message when we attempt to mysql_stmt_fetch
  from a statement which has no result set.
libmysql/errmsg.c:
  Error message text for CR_NO_RESULT_SET
libmysql/libmysql.c:
  Move the code which frees result sets on client and closes the cursor
  on server, resets long data state on client and server.
  This makes one function out of two (mysql_stmt_reset and
  mysql_stmt_free_result), thus aggregating all related reset work
  in one place.
sql-common/client.c:
  Fix one place where we flushed the pending result set of a statement,
  but didn't set unbuffered_fetch_cancelled flag.
sql/share/errmsg.txt:
  Fix format of ER_UNKNOWN_STMT_HANDLER error message (needs to
  be fixed separately in 4.1). Add two new error messages 
  for the case when we fetch from when there is no cursor
  and for the case when we attempt to execute a statement while there is
  a cursor.
sql/sql_prepare.cc:
  Return error when we fetch while there is no open cursor and
  when we call execute while there is a pending cursor.
  Fix mysql_stmt_reset to close the open cursor if there is any.
sql/sql_select.cc:
  free_items and free_root moved to Cursor::close().
sql/sql_select.h:
  A comment added.
tests/mysql_client_test.c:
  A test case for Bug#9478, test the case of mysql_stmt_reset
  called for client-side cached result set and for the case with open cursor.
  All strcpy replaced with strmov (review request).
2005-05-12 11:16:12 +04:00
konstantin@mysql.com
d0e24153b9 A fix and test case for Bug#9478 "mysql_stmt_attr_set mysql_stmt_execute"
(crash on attempt to re-execute a statement with an open cursor) + 
post-review fixes.
2005-05-12 11:16:12 +04:00
unknown
8b4175937d Merging
ndb/src/ndbapi/TransporterFacade.cpp:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-04-21 13:19:02 +05:00