Commit graph

338 commits

Author SHA1 Message Date
bar@mysql.com
8878c58fe2 Fixed thar proper charset was not set in Field_set::val_str() 2004-12-06 16:22:51 +04:00
monty@mysql.com
985400e0f5 merge (new code fixed the ALTER TABLE problem) 2004-12-02 15:14:01 +02:00
monty@mysql.com
55cc515c8f merged on pull 2004-12-02 14:47:14 +02:00
monty@mysql.com
d1a666d59a Cleanups during review stage
Added auto-correct of field length for enum/set tables for ALTER TABLE
This is becasue of a bug in previous MySQL 4.1 versions where the length for enum/set was set incorrectly after ALTER TABLE
2004-12-02 14:43:51 +02:00
ram@gw.mysql.r18.ru
c15b45df50 Portability fix. Why not to use UINT_MAX32 here? 2004-11-30 15:10:48 +04:00
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
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
monty@mysql.com
c724163e14 Fix to allow usage of 4.0 tables with 4.1 2004-11-12 19:01:49 +02:00
monty@mysql.com
c7e85ef9b9 More debugging
Print position in normal log for Binlog dump
2004-11-10 18:07:39 +02:00
monty@mysql.com
6c44563fc5 Simple optimization 2004-11-09 03:20:58 +02:00
bar@mysql.com
b7776f83e7 ctype_ujis.result, ctype_ujis.test, field.cc:
Bug#6345 Unexpected behaviour with partial indices
2004-11-08 13:15:01 +04:00
bar@mysql.com
f979603cf2 field.cc, sql_mode.result, sql_mode.test:
"SHOW CREATE TABLE" mysql-4.0 and mysql-3.23 
  compatibiliry mode change:
  Check that a binary collation adds 'binary'
  suffix into a char() column definition in
  mysql40 and mysql2323 modes. This allows
  not to lose the column's case sensitivity
  when loading the dump in pre-4.1 servers.
2004-11-04 08:50:07 +04:00
bar@mysql.com
7577c8bfc9 A fix according to Monty's request:
"uint *errors" is now a non-optional parameter in String:copy()
and copy_and_convert().
2004-10-29 17:00:39 +05:00
bar@mysql.com
541883f9d8 Produce a "truncated" warning if a value cannot be converted
into the column character set on INSERT/UPDATE.
2004-10-28 15:21:20 +05:00
serg@serg.mylan
51d3d41e8e merged 2004-10-26 21:12:14 +02:00
serg@serg.mylan
8dab51445e Bug #6019 - SELECT tries to use too short prefix index on utf8 data
Field_string::pack should respect max_length as Field_string::pack_key does
2004-10-26 20:31:41 +02:00
monty@mysql.com
7698054d19 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-10-26 19:30:57 +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
bar@mysql.com
a18cee7a18 Bug 6206: ENUMs are not case sensitive even if declared BINARY
The same problem with SET columns:

find_set() now executes find_type2() to do charset aware search,
instead of always using system_charset_info comparison.
2004-10-26 13:17:37 +05:00
bar@mysql.com
217d83a69f Bug#6202: ENUMs are not case sensitive even if declared BINARY 2004-10-25 17:51:26 +05: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
bar@mysql.com
2f8f0f2eb2 Bug #6043 erratic searching for diacriticals in indexed MyISAM UTF-8 table 2004-10-14 14:14:50 +05:00
dlenev@mysql.com
96458f8f64 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-bf
2004-10-05 21:24:08 +04:00
dlenev@brandersnatch.localdomain
eabec4c3ca Fixed small bug in handling of pre-4.1 TIMESTAMP columns which was
introduced during implementation of TIMESTAMP columns, which are able 
to store NULLs (Unfortunately it is impossible to write test case for
this. Kudos to Holyfoot for noticing it!)
2004-10-05 21:23:38 +04:00
bar@mysql.com
3fc7640a19 Bug #5832 SELECT doesn't return records in some cases 2004-10-05 21:22:14 +05:00
dlenev@mysql.com
53209cc4fc Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-ryan
2004-10-01 18:55:17 +04:00
dlenev@brandersnatch.localdomain
2511990c97 Support for TIMESTAMP columns holding NULL values. Unlike all other
column types TIMESTAMP is NOT NULL by default, so in order to have 
TIMESTAMP column holding NULL valaues you have to specify NULL as
one of its attributes (this needed for backward compatibility).

Main changes:
Replaced TABLE::timestamp_default_now/on_update_now members with
TABLE::timestamp_auto_set_type flag which is used everywhere
for determining if we should auto-set value of TIMESTAMP field 
during this operation or not. We are also use Field_timestamp::set_time()
instead of handler::update_timestamp() in handlers.
2004-10-01 18:54:06 +04:00
bar@noter.intranet.mysql.r18.ru
010f4242b7 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1/
into noter.intranet.mysql.r18.ru:/root/mysql-4.1
2004-09-26 21:55:17 +05:00
bar@noter.intranet.mysql.r18.ru
29b8c6b1e0 bug #5723 length(varchar utf8 field) returns verying results 2004-09-26 21:52:20 +05:00
bell@sanja.is.com.ua
10a081a05a postreview fix 2004-09-26 17:26:32 +03:00
bell@sanja.is.com.ua
6df58cc97e Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-4.1
2004-09-25 18:37:28 +03:00
bell@sanja.is.com.ua
f3e6405ff1 postreview fixes (BUG#5618 & BUG#5590) 2004-09-25 15:07:50 +03:00
konstantin@mysql.com
7b97b5b007 Fix alignment. 2004-09-24 13:50:53 +04:00
ram@gw.mysql.r18.ru
c9d97272ed A fix (Bug #5291: float -> string, truncation, sometimes without warning). 2004-09-03 19:38:16 +05:00
monty@mysql.com
ea687ba5da Portability fixes
Fixed bug in end space handle for WHERE text_column="constant"
2004-08-26 18:26:38 +03:00
serg@serg.mylan
8f254c1b7b followup 2004-08-24 18:20:27 +02:00
serg@serg.mylan
50ee43be43 BDB: Bug#4531: unique key prefix interacts poorly with utf8,
Bug#4594 column index make = failed for gbk
2004-08-24 15:32:57 +02:00
serg@serg.mylan
62722e7b05 merged 2004-08-20 00:52:43 +02:00
serg@serg.mylan
b81af1c750 less strict assert to take into account weird cases 2004-08-19 23:10:33 +02:00
serg@serg.mylan
8ef3cdc2f9 take dec. point into account in store_double_in_string 2004-08-19 11:21:08 +02:00
bar@mysql.com
3f75d2bd3e field.cc:
Serg's typo fix :)
2004-08-19 10:28:40 +05:00
serg@serg.mylan
3f2210c064 after merge fixes 2004-08-19 03:02:09 +02:00
serg@serg.mylan
e1237cbc53 manually merged 2004-08-18 19:57:55 +02:00
serg@serg.mylan
8ce92878a2 Bug 4937: different date -> string conversion when using
SELECT ... UNION and INSERT ... SELECT ... UNION
2004-08-18 14:46:31 +02:00
konstantin@mysql.com
ee89880473 A desperate attempt to comment one place where we do conversions. 2004-08-16 15:07:45 -07:00
bar@mysql.com
1c8b328e16 CSC issue # 3299 fix:
ENUM and SET type didn't compute their length correctly.
That showed up for example while converting into a CHAR column.
2004-08-13 19:06:24 +05:00
serg@serg.mylan
6023b58b9f Bug #4797 - 32 bit and 64 bit builds behave differently on int32 overflow 2004-08-11 23:43:41 +02:00
dlenev@brandersnatch.localdomain
d39fe2623f Fix for bug #4492.
TIMESTAMP columns should be unsigned to preserve compatibility with 4.0
(Or else InnoDB will return different internal TIMESTAMP values when user upgrades to 4.1).

Altough this fix will introduce problems with early 4.1 -> 4.1 upgrades (tables with 
TIMESTAMP field should be reloaded using mysqldump) it will allow easy 4.0 -> 4.1 
upgrade (which is more important since 4.1 is still beta).
2004-07-28 10:49:21 +04:00