Commit graph

64 commits

Author SHA1 Message Date
gshchepa/uchum@host.loc
8715855aa0 Fixed bug#30059.
Server handles truncation for assignment of too-long values
into CHAR/VARCHAR/TEXT columns in a different ways when the
truncated characters are spaces:
1. CHAR(N) columns silently ignore end-space truncation;
2. TEXT columns post a truncation warning/error in the
   non-strict/strict mode.
3. VARCHAR columns always post a truncation note in
   any mode.

Space truncation processing has been synchronised over
CHAR/VARCHAR/TEXT columns: current behavior of VARCHAR
columns has been propagated as standard.

Binary-encoded string/BLOB columns are not affected.
2008-02-07 02:33:21 +04:00
gluh@mysql.com/eagle.(none)
cdbdc4e745 backport of Bug#11491 Misleading error message if not NULL column set to NULL, SQL mode TRADITIONAL 2007-05-30 17:04:04 +05:00
tsmith@quadxeon.mysql.com
99488b31b9 Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/50
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
2007-05-21 20:50:08 +02:00
serg@sergbook.mysql.com
11e5fa8f71 added cleanup to some tests 2007-05-18 17:48:44 +02:00
msvensson@pilot.blaudden
a65d12a830 Backport of TIME->MYSQL_TIME / Y2K fixset
Made year 2000 handling more uniform
Removed year 2000 handling out from calc_days()
The above removes some bugs in date/datetimes with year between 0 and 200
Now we get a note when we insert a datetime value into a date column
For default values to CREATE, don't give errors for warning level NOTE
Fixed some compiler failures
Added library ws2_32 for windows compilation (needed if we want to compile with IOCP support)
Removed duplicate typedef TIME and replaced it with MYSQL_TIME

Better (more complete) fix for: Bug#21103 "DATE column not compared as DATE"
Fixed properly Bug#18997 "DATE_ADD and DATE_SUB perform year2K autoconversion magic on 4-digit year value"
Fixed Bug#23093 "Implicit conversion of 9912101 to date does not match cast(9912101 as date)"
2007-05-16 10:44:59 +02:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
bc1805891c Merge mysql.com:/home/ram/work/mysql-5.0-maint
into  mysql.com:/home/ram/work/b22824/my50-b22824
2007-04-19 12:32:38 +05:00
gluh@mysql.com/eagle.(none)
b80d373b6a Bug#27069 set with identical elements are created(additional fix)
issue an error in strict mode
if enum|set column has duplicates members in 'create table'
2007-04-10 15:01:04 +05:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
73f0c5d7c6 Merge mysql.com:/home/ram/work/mysql-5.0-maint
into  mysql.com:/home/ram/work/b26359/b26359.5.0
2007-03-29 11:06:15 +05:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
e3c34c9cbf Fix for bugs
#27176: Assigning a string to an year column has unexpected results
#26359: Strings becoming truncated and converted to numbers under STRICT mode

Problems: 
1. storing a string to an integer field we don't check 
   if strntoull10rnd() returns MY_ERRNO_EDOM error.
   Fix: check for MY_ERRNO_EDOM.
2. storing a string to an year field we use my_strntol() function.
   Fix: use strntoull10rnd() instead.
2007-03-29 09:08:30 +05:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
505ec52b04 After merge fix.
Reverted fix for 19370 DateTime datatype in MySQL has two bugs in it
as it's not a bug.
2007-02-08 12:53:18 +04:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
d779739834 Fix for bug #22824: strict, datetime, NULL, wrong warning
During optimization we replace NULL with 0 for not null 
date{time} fields, so uset MODE_NO_ZERO_DATE flag for a while 
as we don't want to give extra warnings.
2006-12-21 13:53:34 +04:00
msvensson@neptunus.(none)
3f8edc3706 Merge bk-internal:/home/bk/mysql-5.0-rpl
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-10-03 14:24:43 +02:00
bar@mysql.com/bar.intranet.mysql.r18.ru
07f9efd1e1 Merge mysql.com:/usr/home/bar/mysql-5.0.b6147v2
into  mysql.com:/usr/home/bar/mysql-5.0.b6147rpl
2006-09-29 16:40:18 +05:00
kaa@polly.local
8c625a3987 Merge polly.local:/tmp/22129/bug22129/my50-bug22129
into  polly.local:/home/kaa/src/maint/m50-maint--07OGt
2006-09-25 13:04:46 +04:00
kaa@polly.local
781879adf9 Fixed broken 'strict' test which relied on incorrect behaviour of my_strtod() (fixed in bug #22129) 2006-09-25 12:50:32 +04:00
acurtis/antony@xiphis.org/ltantony.xiphis.org
e2d4aa2ca4 Merge xiphis.org:/home/antony/work2/mysql-5.0-engines
into  xiphis.org:/home/antony/work2/mysql-5.0-merge
2006-08-14 21:27:36 -07:00
svoj@may.pils.ru
6c6f435b03 BUG#14770 - LOAD DATA INFILE doesn't respect default values for
columns
Fixed confusing warning.

Quoting INSERT section of the manual:
----
Inserting NULL into a column that has been declared NOT NULL. For
multiple-row INSERT statements or INSERT INTO ... SELECT statements, the
column is set to the implicit default value for the column data type. This
is 0 for numeric types, the empty string ('') for string types, and the
"zero" value for date and time types. INSERT INTO ... SELECT statements are
handled the same way as multiple-row inserts because the server does not
examine the result set from the SELECT to see whether it returns a single
row. (For a single-row INSERT, no warning occurs when NULL is inserted into
a NOT NULL column. Instead, the statement fails with an error.)
----
This is also true for LOAD DATA INFILE. For INSERT user can specify
DEFAULT keyword as a value to set column default. There is no similiar
feature available for LOAD DATA INFILE.
2006-08-02 17:15:50 +05:00
bar@mysql.com/bar.intranet.mysql.r18.ru
29bc5cc179 Bug#6147: Traditional: Assigning a string to a numeric column has unexpected results
The problem was that when converting a string to an exact number,
rounding didn't work, because conversion didn't understand
approximate numbers notation.
Fix: a new function for string-to-number conversion was implemented,
which is aware of approxinate number notation (with decimal point
and exponent, e.g. -19.55e-1)
2006-07-20 13:41:12 +05:00
ramil/ram@mysql.com/myoffice.izhnet.ru
794fe3435c Fix for bug #19370: DateTime datatype in MySQL has two bugs in it 2006-07-12 11:38:11 +05:00
gluh@eagle.intranet.mysql.r18.ru
a230166f28 Fix for bug#13934 Silent truncation of table comments
Table comment: issue a warning(error in traditional mode) if length of comment > 60 symbols
Column comment: issue a warning(error in traditional mode) if length of comment > 255 symbols
Table 'comment' is changed from char* to LEX_STRING
2006-06-29 18:39:34 +05:00
gluh@eagle.intranet.mysql.r18.ru
474ef8ed43 Fix for bug#17626 CREATE TABLE ... SELECT failure with TRADITIONAL SQL mode
transfer NO_DEFAULT_VALUE_FLAG flag to new field
2006-05-23 13:27:45 +05:00
monty@mishka.mysql.fi
f348f62cc3 Added option --valgrind-mysqltest to mysql-test-run
Added flag to Field::store(longlong) to specify if value is unsigned.
This fixes bug #12750: Incorrect storage of 9999999999999999999 in DECIMAL(19, 0)
Fixed warning from valgrind in CREATE ... SELECT
Fixed double free of mysql.options if reconnect failed
2005-09-14 01:41:44 +03:00
ramil@mysql.com
5ac378ba15 after-merge fix 2005-07-27 15:57:00 +05:00
ramil@mysql.com
e43dff67f5 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/home/ram/work/mysql-5.0
2005-07-27 15:09:06 +05:00
ramil@mysql.com
afb1ad8415 a fix (bug #11546: Bad error message from inserting out of range values, SQL_MODE='tradition'). 2005-07-26 12:18:35 +05:00
ramil@mysql.com
efc8404a40 fix (bug #11964: ALTER TABLE gives wrong error message with sql-mode TRADITIONAL (timestamp)). 2005-07-25 14:36:07 +05:00
jimw@mysql.com
d4e0d60156 Clean up after merge of bug fixes 2005-07-19 19:59:36 -07:00
jimw@mysql.com
d7fbff3ec5 Merge mysql.com:/home/jimw/my/mysql-5.0-5906
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2005-07-19 19:59:34 -07:00
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
ramil@mysql.com
b11d04e50a a fix (bug #9881: ALTER TABLE gives wrong error message with sql-mode TRADITIONAL). 2005-07-15 15:50:57 +05:00
ramil@mysql.com
524b988260 a fix (bug #6961: Traditional: assignment of string to numeric column should fail). 2005-05-13 13:22:27 +05:00
ramil@mysql.com
152f751831 fix (Bug #8295 and #8296: varchar and varbinary conversion)
select, gis & gis-tree tests fails at the moment, but
I will push this CS because it was tested before and I'm absolutely
sure it's right.
2005-05-12 15:56:04 +05:00
jimw@mysql.com
2f398fc3ae Update tests after merge of bug fix. 2005-04-05 20:55:06 -07:00
jimw@mysql.com
b95cb4e654 Merge 2005-04-05 19:45:34 -07:00
pem@mysql.comhem.se
b18ca48c47 Additional fix for BUG#5907: Traditional mode: invalid value can be inserted via a stored procedure
... make the handler catch too.
2005-04-05 15:49:10 +02:00
monty@mysql.com
1be0a0c82a Now one gets an error if one tries to insert an invalid value via a stored procedure in STRICT mode. (Bug #5907) 2005-04-05 00:32:48 +03:00
monty@mysql.com
5ba3f707f7 Don't use -lsupc++ with gcc 3.3 and below as this gives linking problems when linking staticly
Fix that mysql.proc works with new VARCHAR fields
Give warnings for wrong zero dates
2005-04-04 16:43:25 +03:00
monty@mysql.com
201ee3eb78 Invalid DEFAULT values for CREATE TABLE now generates errors. (Bug #5902)
CAST() now produces warnings when casting a wrong INTEGER or CHAR values. This also applies to implicite string to number casts. (Bug #5912)
ALTER TABLE now fails in STRICT mode if it generates warnings.
Inserting a zero date in a DATE, DATETIME or TIMESTAMP column during TRADITIONAL mode now produces an error. (Bug #5933)
2005-04-01 15:04:50 +03:00
monty@mysql.com
b43b7dc128 Enabled more tests of STR_TO_DATE()
Fixed that datetime gives warning for zero dates in traditional mode
2005-03-30 23:41:42 +03:00
monty@mysql.com
332b7ed4a1 Give warnings if wrong date/time/datetime argument for STR_TO_DATE
Small fixes while doing review of new pushed code
More test cases for decimal
2005-03-30 16:00:31 +03:00
sergefp@mysql.com
ce564b2d7f Updated tests results for BUG#8510 2005-03-15 10:27:44 +03:00
ramil@mysql.com
ec06f3e762 a fix (bug #9029 Traditional: Wrong SQLSTATE returned for string truncation). 2005-03-10 17:08:45 +04:00
monty@mysql.com
ee8c7a3eb5 After merge fixes 2005-02-22 18:30:40 +02:00
mleich@mysql.com
48bc6d477d Merge mysql.com:/home/matthias/Arbeit/mysql-5.0/src
into mysql.com:/home/matthias/Arbeit/mysql-5.0/src-WL1420
2005-02-09 11:00:15 +01:00
hf@deer.(none)
b94a482ee9 Precision Math implementation 2005-02-09 02:50:45 +04:00
mleich@mysql.com
c1c4822bf3 Insertion of additional sub test cases checking DATA/TIME/TIMESTAMP
functionality into the test case "strict".

The additional sub test cases are part of the SoW6 test draft
(sow6-dates.test) written by Trudy/PeterG. 

sow6-dates will be no longer needed, because "strict" contains with
this extension all sub test cases of sow6-dates.
2005-02-08 13:46:04 +01:00
ram@gw.mysql.r18.ru
f131e5a925 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into gw.mysql.r18.ru:/usr/home/ram/work/5.0.b6999
2005-01-19 12:05:59 +04:00
ram@gw.mysql.r18.ru
c24c023e8c A fix (bug #6999: Traditional: Wrong SQLSTATE returned for string truncation). 2005-01-19 12:04:35 +04:00
monty@mysql.com
a37e91e435 Changed interface for my_strntod() to make it more general and more portable 2005-01-15 12:28:38 +02:00
jimw@mysql.com
01ddc370f0 Enable warnings for 'no default' fields being set to default when they
are not specified in an insert. Most of these changes are actually to
clean up the test suite to either specify defaults to avoid warnings,
or add the warnings to the results. Related to bug #5986.
2005-01-14 17:09:35 -08:00