Commit graph

322 commits

Author SHA1 Message Date
dlenev@mysql.com
cb7e272e46 Manual merge of fix for bug #6266 "Invalid DATETIME value is not handled
properly" with main tree.
2004-11-19 18:35:36 +03:00
konstantin@mysql.com
fec630622b Some comments regarding Bug#6275 ""client_test" fail in 4.1.7 make test" 2004-11-18 23:35:45 +03:00
gluh@gluh.mysql.r18.ru
a68a9fe268 remove unused parts of code
fix for 'show create schema_table'
fix for usage schema tables in subselect
'wrong schema table charset' fix
2004-11-18 12:16:06 +03:00
dlenev@brandersnatch.localdomain
b02f5aa692 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.
2004-11-15 15:44:29 +03:00
gluh@gluh.mysql.r18.ru
321f803784 WL#1629: SHOW with WHERE(partially) &
WL#173:  Create Data Dictionary Tables for SHOW Commands
2004-11-13 13:56:39 +03:00
monty@mysql.com
63da075081 Merge with 4.1 to get latest fix to client_test.c 2004-11-12 21:27:52 +02:00
monty@mysql.com
addd1a0da8 Merge with 4.1 2004-11-12 19:58:24 +02:00
jani@ua141d10.elisa.omakaista.fi
dc6452a4d4 Code cleanup and some optimizations. 2004-11-12 19:54:25 +02:00
jani@ua141d10.elisa.omakaista.fi
340ba1cf56 Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-4.1
into ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1
2004-11-12 18:31:11 +02:00
jani@ua141d10.elisa.omakaista.fi
379b46128f 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
monty@mysql.com
20eb74dcda Write fatal errors even if silent is used in client_test 2004-11-11 14:59:13 +02:00
konstantin@mysql.com
52da4cd912 Fix compile failure of client_test: Move DBUG_ENTER to work in standard C. 2004-11-10 16:49:44 +03:00
monty@mysql.com
1087186657 Merge with 4.1 to get new thd->mem_root handling 2004-11-08 17:53:32 +02:00
monty@mysql.com
4fbf62e6c2 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-11-08 01:15:26 +02:00
monty@mysql.com
b903a129e2 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
2004-11-08 01:13:54 +02:00
konstantin@mysql.com
eeeb342b3c 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).
2004-11-05 21:02:12 +03:00
konstantin@mysql.com
c1dc0975c6 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)
2004-11-05 00:45:41 +03:00
monty@mysql.com
071001950e Merge with 4.1 to get in latest bug fixes 2004-11-04 15:06:24 +02:00
serg@serg.mylan
4650f0acab bad automerge (?) fixed 2004-11-02 23:34:40 +01:00
monty@mysql.com
2185f1a56c 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
2004-11-02 20:13:27 +02:00
monty@mysql.com
afbe601302 merge with 4.1 2004-10-29 19:26:52 +03:00
konstantin@mysql.com
f96d99eba1 A fix and 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
konstantin@mysql.com
5622920f2c 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
dlenev@mysql.com
fbdc20e0af Manual merge of fix for bug #6081 "Call to deprecated mysql_create_db() function crashes
server" with main tree.
2004-10-22 20:21:56 +04:00
konstantin@mysql.com
f99d6ccfd0 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
konstantin@mysql.com
a55e6dda22 Manual merge. 2004-10-21 18:44:40 +04:00
konstantin@mysql.com
49a58fc64e 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).
2004-10-21 18:33:53 +04:00
konstantin@mysql.com
e546d901ac Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/kostja/work/mysql-4.1-6049
2004-10-20 16:45:09 +04:00
konstantin@mysql.com
0aa9195a2c 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.
2004-10-20 16:43:36 +04:00
monty@mishka.local
04c23808a8 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
2004-10-20 01:28:42 +03:00
dlenev@brandersnatch.localdomain
b7a957d127 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.
2004-10-17 13:59:46 +04:00
konstantin@mysql.com
33fb5ab61b 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.
2004-10-16 00:12:59 +04:00
konstantin@mysql.com
09b50375ed tests/client_test.c:
Make checks (asserts) performed in client_test.c work in non-debug
  builds.
2004-10-13 19:27:07 +04:00
kent@mysql.com
05c01360e3 Makefile.am, client_test.test, mysql-test-run.sh:
To make client_test work as mysql-test-run test case, needs to install it
2004-10-08 01:39:20 +02:00
konstantin@mysql.com
2aa7ec0d9d 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.
2004-10-08 02:21:19 +04:00
kent@mysql.com
155e1ec330 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
2004-09-28 16:27:50 +02:00
kent@mysql.com
405fdcb6dc Merge 2004-09-25 10:34:54 +02:00
kent@mysql.com
7d4445f17b 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
2004-09-25 10:30:36 +02:00
konstantin@mysql.com
be7415c11a fix client_test to be a bit faster under valgrind. 2004-09-23 20:38:18 +04:00
konstantin@mysql.com
36548b10ca A fix and test case for Bug#5315 "mysql_change_user() doesn't free
prepared statements."
2004-09-22 15:50:07 +04:00
konstantin@mysql.com
10aedc87d8 Fix the test case for bug#4231 (which before was passing just by occasion) 2004-09-15 02:43:17 +04:00
joerg@mysql.com
41aadd909d Syntax correction for bug#5560. 2004-09-14 09:46:05 +02:00
paul@kite-hub.kitebird.com
8cb8c1e15a client_test.c:
fix typos noticed while poking around in test program.
2004-09-08 20:13:27 -05:00
konstantin@mysql.com
48162f9653 A fix and test case for Bug#5194 "Bulk Insert Failures with Prepared
Statements": 
- fix a couple of net->buff overruns in libmysql,
- check in the server that statement parameter count is less than
  65535 (maximum value supported by prepared statements protocol).
2004-09-08 23:07:11 +04:00
konstantin@mysql.com
3640843a8b A fix and test case for bug#5399 "Wrong statement executed by MySQL
server" (use my_charset_bin for stmt id hash).
2004-09-08 12:33:05 +04:00
monty@mysql.com
31122efde7 Merge with 4.1
(Includes merge of arena code in 4.1 and 5.0)
2004-09-06 15:14:10 +03:00
monty@mysql.com
32594c9989 Print value of Item_param if it has a value (when debugging) 2004-09-04 15:02:57 +03:00
monty@mysql.com
46ff90738b Merge with pulled code 2004-09-03 22:38:45 +03:00
monty@mysql.com
cbd67f49e1 Cleanup of new code pushed into 5.0 since last pull
Merged the different find_xxxx_table_in_list functions to one + some inline functions
2004-09-03 21:43:04 +03:00
monty@mysql.com
936eb4b4f4 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-09-03 02:26:00 +03:00
konstantin@mysql.com
2f191db2b1 A fix and test case for Bug#4231 "Wrong result with MYSQL_TIME
parameters": when unpacking binary time recieved from client, handle
the case when length is 0: it means all MYSQL_TIME members are zero.
2004-09-02 20:16:01 +04:00
monty@mysql.com
8547d98c88 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-09-02 16:58:01 +03:00
monty@mysql.com
dec44916c1 After merge fixes 2004-09-02 16:57:26 +03:00
konstantin@mysql.com
3ee572768b Make client_test pass on 64-bit HP-UX11: long is 64 bit,
replace all (mis)uses of it with int32.
2004-09-01 12:50:23 +04:00
konstantin@mysql.com
46f1922fb5 A short fix and test case for Bug#5126
"Mediumint and PS problem": just treat mediumint as long.
2004-08-26 22:47:34 +04:00
serg@serg.mylan
08f3ba0e29 after merge 2004-08-26 18:22:22 +02:00
konstantin@mysql.com
f8c0850521 Cleanup in libmysql. 2004-08-05 02:43:18 -07:00
konstantin@mysql.com
7ff92949db Compilation failure fix. 2004-08-03 21:59:52 -07:00
konstantin@mysql.com
34ec6a2411 client_test.cc -> client_test.c 2004-08-03 18:58:35 -07:00
konstantin@mysql.com
b29ba2284e Followup3: operator new and operator delete are defined in mysys.
The fix makes client_test.cc compile with embedded library.
2004-08-03 04:30:31 -07:00
konstantin@mysql.com
d3e520ce7e Port of cursors to be pushed into 5.0 tree:
- client side part is simple and may be considered stable
- server side part now just joggles with THD state to save execution
  state and has no additional locking wisdom.
  Lot's of it are to be rewritten.
2004-08-03 03:32:21 -07:00
bell@sanja.is.com.ua
9336d36cf8 VIEW
two TABLE_LIST copy eliminated
2004-07-16 01:15:55 +03:00
monty@mysql.com
b97ef911c5 Merge 2004-07-15 04:28:42 +03:00
serg@serg.mylan
9982d79768 don't use atoll 2004-07-10 10:17:35 +02:00
monty@mysql.com
1e31199995 Merge with 4.1.3-beta 2004-07-07 11:29:39 +03:00
konstantin@mysql.com
354e2ba67b Type of MYSQL_BIND::buffer changed to void * 2004-06-25 17:04:33 +04:00
konstantin@mysql.com
674a1c4e18 - fixed test_frm_bug test to work with increased number of columns in
result of SHOW TABLE STATUS
2004-06-24 20:08:42 +04:00
konstantin@mysql.com
a30fcdc690 Fix for Bug#4030 "Client side conversion string -> date type doesn't
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.
2004-06-24 19:08:36 +04:00
konstantin@mysql.com
b81315d6e8 Fixes to make client_test run on 64 bit Sun: a bug in libmysql and
test suite fixed.
2004-06-22 23:07:08 +04:00
konstantin@mysql.com
02c654d218 - automatic dependency tracking for client_test enabled 2004-06-22 14:47:41 +04:00
konstantin@mysql.com
3f53a1cb44 Fix for bug#4236 "Server crash on attempt to execute non-prepared
statement": check that statement is not null when accessing it's name.
2004-06-22 11:04:41 +04:00
konstantin@mysql.com
e7de488713 Compilation error on AIX (IBM C Compiler Version 6) fixed. 2004-06-16 11:29:22 +04:00
konstantin@mysql.com
21c524e712 Fix for Bug#4079 "error checking in prepared statements":
reset mysql->status if there was an error in row reading.
2004-06-11 13:12:29 +04:00
konstantin@mysql.com
dc11d3cfa1 Proposed fix for Bug#4026 "Microseconds part of TIME/DATETIME types
is broken (prepared statements)": fixed date handling in many places 
of prepared statements code.
2004-06-09 03:21:50 +04:00
konstantin@mysql.com
dabc0e774e mysql_stmt_field_count() 2004-06-06 02:27:05 +04:00
konstantin@mysql.com
21783e8537 Few more cleanups in client_test:
No need for mysql_commit, especially after DDL statements.
2004-06-05 03:09:53 +04:00
konstantin@mysql.com
1ae0504c6a The comment is not true any more.
Is there a way to sefely use MYSQL_BIND structure without bzero?
2004-06-05 02:56:50 +04:00
konstantin@mysql.com
7d09dd999a HAVE_DEPRECATED_411_API macro removed. 2004-06-04 18:38:18 +04:00
konstantin@mysql.com
eaa4d106e6 Fix for Bug#3796 "Prepared statement, select concat(<parameter>,<column>), wrong
result": new Item_param member for use in val_str()
2004-05-31 14:21:48 +04:00
pem@mysql.com
71eddc362e Merging 4.1 to 5.0. 2004-05-26 17:04:45 +02:00
konstantin@mysql.com
f207b33a7b Support for character set conversion in binary protocol: another go
after Monty's review.
- Item_param was rewritten.
- it turns out that we can't convert string data to character set of
  connection on the fly, because they first should be written to the binary
  log.
  To support efficient conversion we need to rewrite prepared statements
  binlogging code first.
2004-05-25 02:03:49 +04:00
bell@sanja.is.com.ua
329ac02441 assigning max_length parameter for Item_param (Bug #3811) 2004-05-20 19:08:34 +03:00
hf@deer.(none)
af39bd4125 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.ps
2004-05-19 10:28:24 +05:00
monty@mysql.com
21f1bca789 Portability fixes
Fixed wrong number of warnings/duplicates for machines with high-byte-first
2004-05-19 05:09:10 +03:00
hf@deer.(none)
bbfe390afd Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.ps
2004-05-17 18:45:50 +05:00
hf@deer.(none)
e18cd2ea9f Fixes for #3371, #3372, #3374, #3375, #3376 2004-05-15 17:07:44 +05:00
monty@mysql.com
e0a4b51215 Better fix for bug #3749 (bug in deleting automatic generated foreign keys) 2004-05-15 11:57:40 +03:00
pem@mysql.comhem.se
ec92106535 Post-merge fixes.
Note: One sp.test still fails (prime), and rpl_server_id2.test fails (will be fixed by guilhem ASAP).
2004-05-14 16:00:57 +02:00
bell@sanja.is.com.ua
a00117902f treat parameter as constant in ORDER BY check of fields in SELECT list(Bug #3686) 2004-05-10 13:29:02 +03:00
pem@mysql.com
bf45960eef Merge 4.1 -> 5.0 2004-05-07 18:52:06 +02:00
konstantin@mysql.com
b58df2e9d4 mysql_stmt_reset now expects ok/error packet from server. 2004-05-06 22:44:00 +04:00
konstantin@mysql.com
57feb6625a Few cleanups to client_test.c 2004-05-06 13:49:20 +04:00
monty@mysql.com
104fdf607d Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-05-05 12:40:59 +03:00
dlenev@brandersnatch.localdomain
f1c8e165a5 After merge fix.
Now test_bug1664() uses new statement checking macros.
2004-05-04 20:02:55 +04:00
dlenev@brandersnatch.localdomain
2c30359aa4 Manual merge of bugfix for Bug #1664. 2004-05-04 19:13:18 +04:00
dlenev@brandersnatch.localdomain
c7fbcbca7a Fix for remaining issues described in Bug #1664
"mysql_send_long_data() API call is completely broken".

Now we are resetting some members (long_data_supplied/null_value...) of Item_param to its 
initial state after each execution of prepared statement. We also manipulating 
Item_param::maybe_null/null_value only via Item_param::set_* setters which makes code a bit 
more robust.
2004-05-04 19:08:19 +04:00
monty@mysql.com
59ddd8c738 Fix to handle unsigned data in prepared statements (Bug #3447)
Fixed security problem that password was temporarly reset when someone changed GRANT for a user. (Bug #3404)
Fixed problem with PROCEDURE analyse() and impossible WHERE (Bug #2238)
Don't auto-repair tables in mysqlcheck if table type doesn't support 'check' command.
2004-05-04 15:02:38 +03:00
bell@sanja.is.com.ua
66e7ff2a8c return table list of fake_select in empty state to prevent using TABLE_LIST allocated on stack in next execution of PS (Bug #3577) 2004-05-03 13:58:01 +03:00
sergefp@mysql.com
6475db534c Fix client_test to use new statement assertion macros 2004-04-30 17:21:06 +04:00
sergefp@mysql.com
d854a85f0c Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-bug3420
2004-04-30 16:28:04 +04:00