Commit graph

171 commits

Author SHA1 Message Date
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
monty@mysql.com
5706a92f06 Added missing initialier 2004-10-26 19:59:33 +03:00
monty@mysql.com
6fbc869d18 A lot of fixes for prepared statements (PS):
New mysqltest that can run mysqltest with PS
Added support for ZEROFILL in PS
Fixed crash when one called mysql_stmt_store_result() without a preceding mysql_stmt_bind_result()
Updated test cases to support --ps-protocol
(Some tests are still run using old protocol)
Fixed crash in PS when using SELECT * FROM t1 NATURAL JOIN t2...
Fixed crash in PS when using sub queries
Create table didn't signal when table was created. This could cause a "DROP TABLE created_table" in another thread to wait "forever"
Fixed wrong permissions check in PS and multi-table updates (one could get permission denied for legal quries)
Fix for PS and SELECT ... PROCEDURE
Reset all warnings when executing a new PS query
group_concat(...ORDER BY) didn't work with PS
Fixed problem with test suite when not using innodb
2004-10-26 19:30:01 +03: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
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
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
monty@mishka.local
f2941380c4 Strict mode & better warnings
Under strict mode MySQL will generate an error message if there was any conversion when assigning data to a field.
Added checking of date/datetime fields.
If strict mode, give error if we have not given value to field without a default value (for INSERT)
2004-09-28 20:08:00 +03: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
wax@mysql.com
da53ad65b0 Merge mysql.com:/home/wax/mysql/mysql-4.1
into mysql.com:/home/wax/mysql/mysql-4.1group_concat
2004-09-09 13:02:15 +06:00
paul@ice.snake.net
39a37691ac client.c:
sqlstat uninitialized in mysql_init().
2004-09-06 09:23:51 -05: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
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
vva@eagle.mysql.r18.ru
b076665030 Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.1
into eagle.mysql.r18.ru:/home/vva/work/BUG_4998/mysql-4.1
2004-08-24 20:18:39 +05:00
vva@eagle.mysql.r18.ru
ffacc77f22 more accurate processing of find_type result
(Bug #4998 --protocol doesn't reject bad values)
2004-08-24 20:13:31 +05:00
dlenev@brandersnatch.localdomain
577d9b6ff2 Fixed windows-specific warning about undeclared localtime_r() in my_time.c.
We have to include my_pthread.h since it is the place where localtime_r() is declared 
on platforms where this function is missing.
2004-08-24 13:53:02 +04:00
rburnett@build.mysql.com
680aa3d69d Bug #4629 Crash after SLAVE STOP, if the IO thread is in special state.
client.c:
  Removed call to clear_slave_vio in end_server().  Removed header declaration of clear_slave_vio
slave.cc:
  Removed clear_slave_vio function and added calls to thd->clear_active_vio before each call to end_server()
2004-08-23 18:55:12 +02:00
rburnett@build.mysql.com
3bd71971d6 Bug #4629 Crash after SLAVE STOP, if the IO thread is in special state.
client.c:
  Added call to clear_slave_vio inside end_server only when under Windows with repliaction
slave.cc:
  Added clear_slave_vio function for clearing active vio on THD under Windows replication
2004-08-21 05:07:32 +02:00
wax@mysql.com
589c485aa7 Merge mysql.com:/home/wax/mysql/mysql-4.1
into mysql.com:/home/wax/mysql/mysql-4.1group_concat
2004-08-19 19:41:30 +06:00
wax@kishkin.ru
5c872a7ebc Change information text in pipe and shared memory 2004-08-19 18:42:17 +06:00
hf@deer.(none)
c43d7d92dd Merge bk@192.168.21.1:/usr/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.emb
2004-08-19 15:47:09 +05:00
serg@serg.mylan
3f2210c064 after merge fixes 2004-08-19 03:02:09 +02:00
lenz@mysql.com
4078c1ce03 - removed several C++-style comments (//) - these confuse the IBM
compiler
2004-08-03 11:28:37 +02:00
guilhem@mysql.com
80e74c80aa syntax fix: superfluous ';' which caused a problem with gcc 2.95 2004-07-30 10:08:37 +02:00
guilhem@mysql.com
0f3e279a05 WL#1580: --start-datetime, --stop-datetime, --start-position (alias for --position) and --stop-position
options for mysqlbinlog, with a test file.
This enables user to say "recover my database to how it was this morning at 10:30"
(mysqlbinlog "--stop-datetime=2003-07-29 10:30:00").
Using time functions into client/ made me move them out of sql/ into sql-common/.
+ (small) fix for BUG#4507 "mysqlbinlog --read-from-remote-server sometimes
cannot accept 2 binlogs" (that is, on command line).
2004-07-29 23:25:58 +02:00
hf@deer.(none)
94bfeb8393 Fixes for bugs in embedded library:
#4700 (Unsigned value returned as signed)
    just no appropriate checking
#4701 (Errors returned earlier than expected)
    all errors returned from send_command()
#4702 (Result isn't freed properly if there's no retrieval)
    flush_use_result has only 'client' version and should
    be made 'virtual'
2004-07-22 20:54:25 +05:00
monty@mysql.com
1e31199995 Merge with 4.1.3-beta 2004-07-07 11:29:39 +03:00
paul@kite-hub.kitebird.com
c53dc62ece client.c, libmysql.c:
Symbol spelling change.
errmsg.c:
  Client error message edits.
errmsg.h:
  Two symbol spelling changes.
2004-06-30 22:18:41 -05:00
monty@mysql.com
e7a01ed3dc After merge fixes 2004-06-25 21:56:23 +03: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
monty@mysql.com
1388c164bc After merge fixes
Return NULL if a time argument is given to date_add(). (Warning will be shown after Dimitri's timezone patch is pushed)
2004-06-21 10:21:20 +03:00
konstantin@mysql.com
f08bbd1f12 assert.h needed for my_dbug.h now is included in my_dbug.h, where it for
some reason wasn't included before.
A lot of files cleaned up from #include <assert.h>
2004-06-10 23:58:39 +04:00
bar@bar.intranet.mysql.r18.ru
acbb3096b2 client.c:
Bug #3990  	`--with-charset' ./configure's switch doesn'taffect mysql client library.
2004-06-07 17:28:31 +05:00
monty@mysql.com
42c35d4569 Added authentication code that was missed in merge
Added new windows configuration
2004-06-03 01:55:47 +03:00
dlenev@brandersnatch.localdomain
03b705ff44 Made my_snprintf() behavior snprintf() compatible when printing %x arguments (it should
produce hex digits in lower case). (fixed version)

Replaced _dig_vec array with two _dig_vec_upper/_dig_vec_lower arrays.
Added extra argument to int2str function which controls case of digits you get.
Replaced lot of invocations of int2str for decimal radix with more optimized int10_to_str()
function.
Removed unused my_itoa/my_ltoa functions.
2004-05-27 17:54:40 +04:00
pem@mysql.com
dfd59e296e Merge 4.1 -> 5.0. 2004-04-07 19:07:44 +02:00
monty@mysql.com
42cf92ce37 Fixed many compiler warnings
Fixed bugs in group_concat with ORDER BY and DISTINCT (Bugs #2695, #3381 and #3319)
Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
Set locked_in_memory properly
2004-04-05 13:56:05 +03:00
jcole@mugatu.jcole.us
15cc92cacb Added LOCAL INFILE callback function support. 2004-03-22 19:58:49 -05:00
monty@mysql.com
75dda82526 Removed compiler warning
Changed _XXX to _MY_XXX to solve conflict problem on Mac OS X
2004-03-18 14:53:38 +02:00
konstantin@mysql.com
420c956d27 Intermediate commit of client library (cleanups + fixes of 3 items from
flaws list)
TODO: 
 * verify that no sequence of API calls produces SIGSEGV.
 That is, verify that mysql_stmt_init  -> mysql_stmt_fetch is OK,
 or mysql_stmt_prepare -> mysql_stmt_fetch_column is OK and sets
 meaningful error.
 * remove alloc_stmt_fields call
 * revise stmt->state codes and statement states.
 * there are other items in prepared statements 'to fix' document.

Done:
 - cleanups and comments
 - revision of prepared statement error codes.
 - mysql_stmt_prepare is now can always be called (that is, you can reprepare
   a statement)
 - new implementation of mysql_stmt_close and fetch cancellation
2004-03-16 01:04:04 +03:00
konstantin@oak.local
a1834919a9 Rudimentary part of libmysql patch:
set_mysql_error is deployed
2004-03-12 15:21:48 +03:00
konstantin@oak.local
082a01d1e0 Rename:
read_statistic -> read_statistics
(statistic is adjective)
2004-03-10 20:12:24 +03:00
konstantin@mysql.com
7753c6b93e New call mysql_stmt_init() introduced.
Renames:
mysql_bind_param      -> mysql_stmt_bind_param
mysql_bind_result     -> mysql_stmt_bind_result
mysql_execute         -> mysql_stmt_execute
mysql_fetch           -> mysql_stmt_fetch
mysql_fetch_column    -> mysql_stmt_fetch_column
mysql_get_metadata    -> mysql_stmt_result_metadata
mysql_param_count     -> mysql_stmt_param_count
mysql_param_result    -> mysql_stmt_param_metadata
mysql_prepare         -> mysql_stmt_prepare
mysql_send_long_data  -> mysql_stmt_send_long_data

client_test.c cleaned up from memory leaks
2004-03-05 16:55:09 +03:00
monty@mashka.mysql.fi
1ae05760ac Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mashka.mysql.fi:/home/my/mysql-4.1
2004-02-22 11:01:28 +02:00
monty@mashka.mysql.fi
e1bc99c131 After merge fixes
Fixed wrong test of database name (affected optimization of ORDER BY)
2004-02-22 08:09:32 +02:00
hf@deer.(none)
e01ea15029 Fix for #1429 (Segfault in mysql_stmt_close)
Problem was that we checked for existing connection in stmt_close
and did not free(stmt) if it's closed (that didn't work well with
embedded)
I just added new flag to the stmt_close and now we check it instead
of connection
2004-02-20 12:18:06 +04:00
hf@deer.(none)
e100530b3e Fix for #2212 (mysql_change_user doesn't work in embedded library)
now it's working
2004-02-14 20:26:21 +04:00
pem@mysql.com
5faf244b30 Merge mysql.com:/home/pem/work/mysql-4.1
into mysql.com:/home/pem/work/mysql-5.0-merge
2004-02-13 17:39:00 +01:00
hf@deer.(none)
345dc4d1ab This line missed in the fix #2208 2004-02-13 18:04:07 +04:00
pem@mysql.com
c8585f3283 Merge 4.1 into 5.0. 2004-02-10 18:44:02 +01:00
bar@bar.intranet.mysql.r18.ru
147afc0ff2 Client character set is now not set from the server value. 2004-02-04 12:49:54 +04:00
konstantin@oak.local
ce88d81796 Names of all client methods (static functions inside client.c) now
uniform: cli_ + member name.
2003-12-22 15:57:34 +03:00
monty@mysql.com
c6ed2a625b Update for VC++
(Fixed project files, compiler warnings etc..)
2003-12-21 02:07:45 +02:00
monty@mysql.com
eeff10e4c1 merge 2003-12-19 16:34:48 +02:00
monty@mysql.com
031390a9a4 Fixes after merge with 4.0
Cleaned up embedded library access and query cache handling
Changed min stack size to 128K (to allow longer MyISAM keys)
Fixed wrong priority for XOR (should be less than NEG to get -1^1 to work)
2003-12-19 16:25:50 +02:00
hf@deer.(none)
42799cc584 Fix for #2126 (mysql_server_init call shouldn't be needed)
now mysql_server_init is called from mysql_init with fake parameters
mysql_once_init code included to mysql_server_init.
embedded-specific initialization is in init_embedded_server function
2003-12-18 15:51:22 +04:00
konstantin@mysql.com
4e370c333a Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/kostja/mysql/mysql-4.1-root
2003-11-28 17:28:48 +03:00
konstantin@oak.local
e149e63334 cleanup: comment moved to proper place 2003-11-28 17:28:04 +03:00
monty@mysql.com
320fcb0ef6 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/my/mysql-4.1
2003-11-28 14:23:54 +02:00
monty@mysql.com
7f9466a717 Merge 2003-11-28 13:31:38 +02:00
monty@mysql.com
ede8169d24 Added missing SSL library (Should be in source distribution)
Fixed compiler warnings (a lot of hidden variables detected by the Forte compiler)
Added a lot of 'version_xxx' strings to 'show variables'
Prevent copying of TMP_TABLE_PARAM (This caused core dump bug on Solaris)
Fixed problem with printing sub selects to debug log
2003-11-28 12:18:13 +02:00
konstantin@oak.local
3f6ef8d1ae BK automerge tends to eat break; statements 2003-11-28 13:14:10 +03:00
konstantin@mysql.com
5a4782c360 Merge mysql.com:/home/kostja/mysql/mysql-4.1-root
into mysql.com:/home/kostja/mysql/mysql-4.1-wl519
2003-11-28 13:12:16 +03:00
konstantin@oak.local
2e8cf31abc Second part of WL #519:
Client option secure-auth deployed on all possible layers:
- mysql client command-line and config file option
- mysql_options option MYSQL_SECURE_AUTH
- mysql_real_connect will automatically take into account that option if
  mysql->options.my_cnf_file/my_cnf_group is set
2003-11-28 13:11:44 +03:00
konstantin@oak.local
38b140fb09 fix:
2 forgotten 'break;' statements added
2003-11-28 02:50:58 +03:00
monty@mysql.com
d87494c5ac Don't flush cur_log (relay log) on flush_relay_log_info becasue this crashes the server if cur_log is 'hot' and the io_thread has changed log file.
Updated project files for windows
Made rpl_change_master.test portable
Ensure that mutex are not freed if not initilized
2003-11-22 03:21:40 +02:00
monty@mysql.com
7c6113a39f Merge key cache structures to one
Fixed compiler warnings (IRIX C compiler and VC++)
2003-11-20 22:06:25 +02:00
monty@mashka.mysql.fi
cab1dc628c CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
New multi-key-cache handling. This was needed becasue the old one didn't work reliable with MERGE tables.
ALTER TABLE table_name ... CHARACTER SET  ... now changes all char/varchar/text columns to the given character set
(One must use ALTER TABLE ... DEFAULT CHARACTER SET ... to change the default character set)
Fixed that have_compress is detected properly (fixes problems with func_compress.test on platforms without zlib)
New syntax for CACHE INDEX ('keys' is optional if no index name is given and one mentions the key cache name only ones)
Removed compiler warnings
Added mysql_set_server_option() to allow clients like PHP to easaily set/reset the multi-statement flag.
2003-11-18 13:47:27 +02:00
monty@narttu.mysql.fi
f763d4c31d Removed some warnings reported by valgrind
After merge fixes.
Now code compiles, but there is still some valgrind warnings that needs to be fixed
2003-11-04 14:09:03 +02:00
monty@mashka.mysql.fi
9ef2a83fbe Portability fixes for windows
After merge fixes
2003-10-15 22:40:36 +03:00
monty@narttu.mysql.fi
d9ff665102 Fixes after merge 2003-10-08 12:01:58 +03:00
hf@deer.(none)
8bc13b1874 Fix for bugs #1437, #1446 2003-10-04 19:28:08 +05:00
hf@deer.(none)
cca80f8b58 SCRUM
embedded library
some fixes - cleanup procedure changed for embedded library - deletion of
embedded mysql->thd
2003-09-29 14:09:51 +05:00
hf@deer.(none)
5f8e7fef27 Merge 2003-09-26 15:40:26 +05:00
hf@deer.(none)
ba8fa76fa2 SCRUM:
WL#604 Privileges in embedded library
code added to check privileges in embedded library
NO_EMBEDDED_ACCESS_CHECKS macros inserted in code so we can exclude
access-checking parts. Actually we now can exclude these parts from
standalone server as well. Do we need it?
Access checks are disabled in embedded server by default. One should
edit libmysqld/Makefile manually to get this working.
We definitely need the separate configure for embedded server
2003-09-26 15:33:13 +05:00
hf@deer.(none)
cda32e123c SCRUM
prepared statements in embedded library.
some fixes after testing
2003-09-19 14:05:28 +05:00
hf@deer.(none)
e89e3ff753 SCRUM
embedded library
some dirty places cleaned:

uint removed from mysql.h as Miguel suggested
empty_string renamed as my_empty_string to get rid of name's intersections
using embedded library
2003-09-18 18:58:02 +05:00
hf@deer.(none)
0e059dcb74 SCRUM:
embedded library
I decided to get rid of #define mysql_some_function in mysql.h
It puzzles users and makes problems with dynamic libraries

Finally, there are only two functions left, that are covered with
the #define-s and it won't hurt performance at all
2003-09-18 18:28:42 +05:00
hf@deer.(none)
ddbca4176d SCRUM:
prepared statements in embedded library
2003-09-17 20:48:53 +05:00
hf@deer.(none)
7a763f3fe3 SCRUM
prepared statements in embedded library
2003-09-17 15:18:18 +05:00
hf@deer.(none)
bf017a2eb0 SCRUM
Prepared statements in embedded server
Several changes in library code with two goals:
to make mysql_prepare_stmt working in embedded server
to get rid of #define mysql_interface_func mysql->methods->interface_func
in user's interface
2003-09-16 16:06:25 +05:00
hf@deer.(none)
9f3996cde9 SCRUM:
#977 Prepared statements in embedded library
2003-09-12 19:35:34 +05:00
hf@deer.(none)
f434b329f5 SCRUM
embedded&client library
some fixes: zero at the end of the data added
mysql_list_fields became 'virtual'
2003-09-11 09:46:31 +05:00
kostja@oak.local
36dd82c1d5 merge commit, hope that none of bar and dlenev changes were
lost.
2003-09-03 14:12:10 +04:00
hf@deer.(none)
bf3e65b128 SCRUM:
Fixed some mess with STDCALL in function's declarations
2003-08-28 13:39:46 +05:00
monty@narttu.mysql.fi
1d0b539263 Fix for bug in ROLLUP when all tables where 'const' tables (Bug #714) 2003-08-26 20:23:48 +03:00
monty@mashka.mysql.fi
4f7512160b After merge fixes
Use server character set if --default-character-set is not used
Added convert_string() for more efficient alloc+character-set convert of strings
2003-08-19 00:08:08 +03:00
kostja@oak.local
50d3291aee manual merge 2003-07-31 17:11:52 +04:00
kostja@oak.local
ce691c7c61 merge commit 2003-07-31 15:47:00 +04:00
hf@deer.(none)
33603d796f Fix for #886 2003-07-28 20:16:11 +05:00
hf@deer.(none)
a4f899dfc0 SCRUM - adding client into embedded server
error handling fixed
fetch_lengths made to work differently in embedded and client cases
2003-07-23 15:23:20 +05:00
kostja@oak.local
09e53b0169 Style fixes, comments for 4.1.1 authorization
Now special 1-byte packet is used for request of old password
Fixed bug with --skip-grant-tables and acl_getroot
2003-07-18 18:25:54 +04:00
hf@deer.(none)
cbff55a59d SCRUM
Including client code into embedded library
fixes
2003-07-18 16:26:35 +05:00
hf@deer.(none)
1b1a126aa1 Some mistakes fixed 2003-07-14 16:38:51 +05:00
kostja@oak.local
a232225b69 Preliminary support for options --secure-auth,
--old-passwords
Support for option --old-protocol was removed.
Some test performed.
Tests for SSL and replication are pending.
More strict following to specification for --old-passwords
is in the TODO.
2003-07-08 02:36:14 +04:00
kostja@oak.local
1d20b23247 Bug fixes for authentication
OLD_PASSWORD made a keyword to allow set password=old_password('abc') constructions.
2003-07-04 20:52:04 +04:00
hf@deer.(none)
9d4bae335c Resolving conflicts 2003-07-04 13:21:14 +05:00
hf@deer.(none)
c224b55835 SCRUM
Including client code into embedded library

Code trimming (fixes of comments etc)
2003-07-04 11:40:10 +05:00
kostja@oak.local
7df0475847 First version of new authentification procedure: now authentification is one-stage (instead of two-stage in 4.1)
For now following tasks have been done:
- PASSWORD() function was rewritten. PASSWORD() now returns SHA1
  hash_stage2; for new passwords user.password contains '*'hash_stage2; sql_yacc.yy also fixed; 

- password.c: new functions were implemented, old rolled back to 4.0 state

- server code was rewritten to use new authorization algorithm (check_user(), change
  user, and other stuff in sql/sql_parse.cc)

- client code was rewritten to use new authorization algorithm
  (mysql_real_connect, myslq_authenticate in sql-common/client.c)

- now server barks on 45-byte-length 4.1.0 passwords and refuses 4.1.0-style
  authentification. Users with 4.1.0 passwords are blocked (sql/sql_acl.cc)

- mysqladmin.c was fixed to work correctly with new passwords

Tests for 4.0-4.1.1, 4.1.1-4.1.1 (with or without db/password) logons was performed;
mysqladmin also was tested. Additional check are nevertheless necessary.
2003-07-01 23:40:59 +04:00