Commit graph

554 commits

Author SHA1 Message Date
bar@mysql.com
0e9c8395c7 Merge mysql.com:/usr/home/bar/mysql-4.1.b15581
into  mysql.com:/usr/home/bar/mysql-5.0
2006-01-12 11:38:09 +04:00
serg@serg.mylan
8dc77f267b merged 2006-01-06 18:26:59 +01:00
monty@mysql.com
b0a5ea01ef Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/my/mysql-5.0
2006-01-06 01:08:48 +02:00
monty@mysql.com
6e22e29de6 Review fixes of new pushed code
- Fixed tests
- Optimized new code
- Fixed some unlikely core dumps
- Better bug fixes for:
  - #14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
  - #14850 (ERROR 1062 when a quering a view using a Group By on a column that can be null
2006-01-06 00:47:49 +02:00
serg@serg.mylan
30c09d6dc0 merged 2006-01-03 18:12:03 +01:00
serg@serg.mylan
14f94dc0ca many warnings (practically safe but annoying) corrected 2006-01-03 17:54:54 +01:00
SergeyV@selena.
6d55b423d8 Fixes bug #15634. Eliminates compiler warning 'all return paths are recursive in
Field_date::store function'. Though the Field_date::store function almost unused
when protocol_version=10 additional check was added into it to store 4byte dates 
properly. Effective test routine is not available so far due to protocol_version
is not a dynamic property and can not be modified with mysql-test script.
2005-12-28 19:40:37 +03:00
bar@mysql.com
f206a123a1 Bug#15581: COALESCE function truncates mutli-byte TINYTEXT values
field.cc:
  BLOB variations have number-in-bytes limit,
  unlike CHAR/VARCHAR which have number-of-characters limits.
  A tinyblob column can store up to 255 bytes.
  In the case of basic Latin letters (which use 1 byte per character)
  we can store up to 255 characters in a tinyblob column.
  When passing an utf8 tinyblob column as an argument into
  a function (e.g. COALESCE) we need to reserve 3*255 bytes.
  I.e. multiply length in bytes to mbcharlen for the character set.
  Although in reality a tinyblob column can never be 3*255 bytes long,
  we need to set max_length to multiply to make fix_length_and_dec()
  of the function-caller (e.g. COALESCE) calculate the correct max_length
  for the column being created.

ctype_utf8.result, ctype_utf8.test:
  Adding test case.
2005-12-19 15:52:10 +04:00
anozdrin@mysql.com
5b981a4844 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/alik/Documents/AllProgs/MySQL/devel/5.0-sp-vars-merge-2
2005-12-07 17:17:42 +03:00
anozdrin@mysql.com
0ff8f60b45 Patch for WL#2894: Make stored routine variables work
according to the standard.

The idea is to use Field-classes to implement stored routines
variables. Also, we should provide facade to Item-hierarchy
by Item_field class (it is necessary, since SRVs take part
in expressions).

The patch fixes the following bugs:
  - BUG#8702: Stored Procedures: No Error/Warning shown for inappropriate data 
    type matching; 
 
  - BUG#8768: Functions: For any unsigned data type, -ve values can be passed 
    and returned; 
 
  - BUG#8769: Functions: For Int datatypes, out of range values can be passed 
    and returned; 
 
  - BUG#9078: STORED PROCDURE: Decimal digits are not displayed when we use 
    DECIMAL datatype; 
 
  - BUG#9572: Stored procedures: variable type declarations ignored; 
 
  - BUG#12903: upper function does not work inside a function; 
 
  - BUG#13705: parameters to stored procedures are not verified; 
 
  - BUG#13808: ENUM type stored procedure parameter accepts non-enumerated
    data; 
 
  - BUG#13909: Varchar Stored Procedure Parameter always BINARY string (ignores 
    CHARACTER SET); 
 
  - BUG#14161: Stored procedure cannot retrieve bigint unsigned;

  - BUG#14188: BINARY variables have no 0x00 padding;

  - BUG#15148: Stored procedure variables accept non-scalar values;
2005-12-07 17:01:17 +03:00
jimw@mysql.com
68bc3dd1fd Merge mysql.com:/home/jimw/my/mysql-5.0-14299
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2005-12-06 14:16:34 -08:00
bar@mysql.com
3e284e22a1 Bug#15098 CAST(column double TO signed int), wrong result
field.cc:
  Adding longlong range checking to return
  LONGLONG_MIN or LONGLONG_MAX when out of range. 
  Using (longlong) cast only when range is ok.
cast.test:
  Adding test case.
cast.result:
  Fixing results accordingly.
2005-12-06 16:54:13 +04:00
ramil@mysql.com
b46c240b96 Addition to fix for bug #12956: cast make differ rounding.
- use rint() in some other val_int() methods as well.
2005-11-29 18:06:58 +04:00
ingo@production.mysql.com
49ed3c589d Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.0
into production.mysql.com:/usersnfs/istruewing/autopush/mysql-5.0
2005-11-21 23:30:14 +01:00
bell@sanja.is.com.ua
806f9e24ff Inefficient usage of String::append() fixed.
Bad examples of usage of a string with its length fixed.
The incorrect length in the trigger file configuration descriptor
  fixed (BUG#14090).
A hook for unknown keys added to the parser to support old .TRG files.
2005-11-20 20:47:07 +02:00
jimw@mysql.com
8ecedd193b Report truncation of spaces when inserting into a BINARY or VARBINARY
field. (Bug #14299)
2005-11-15 19:21:05 -08:00
ingo@mysql.com
88b6d28aba Bug#13707 - Server crash with INSERT DELAYED on MyISAM table
After push fix. Must not access new_field if it is NULL.
2005-11-14 19:53:41 +01:00
ingo@production.mysql.com
cae673d0a9 Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.0
into production.mysql.com:/usersnfs/istruewing/autopush/mysql-5.0
2005-11-08 20:18:08 +01:00
ingo@mysql.com
7533d92b23 Bug#13707 - Server crash with INSERT DELAYED on MyISAM table
Initialized 'ptr' for a newly instantiated varstring field.
This is required by INSERT DELAYED.

No test case. This is a migration issue. There are two shell
scripts attached to the bug report. They can be used for testing.
2005-11-07 18:31:48 +01:00
guilhem@mysql.com
ef415ceb14 Fix for BUG#14703 "Valgrind error when inserting 0 into a BIT column (like in type_bit.test)":
test "length" first (otherwise when "length" is 0, the *from invalid access still triggers a Valgrind warning).
I wrote to the Valgrind authors in case this is something fixable in Valgrind (normally the
decision to issue a warning is based on the simulated CPU condition code, which should not be undefined here).
2005-11-07 16:18:46 +01:00
patg@krsna.patg.net
7b611b33f2 BUG #14532
Added FIELD_TYPE_BIT to field method 'needs_quotes' to make BIT columns
work.
2005-10-31 17:17:16 -08:00
jani@ua141d10.elisa.omakaista.fi
44aea416f9 Merge ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.0-tmp
2005-10-31 11:54:36 +02:00
hf@deer.(none)
5150bd8f9f Merge bk@192.168.21.1:/usr/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.12839
2005-10-31 12:24:43 +04:00
hf@deer.(none)
16c66d49ca Additional fix for #12839 2005-10-31 12:05:27 +04:00
sergefp@mysql.com
09a4d0c7a7 4.1->5.0 merge 2005-10-29 02:36:57 +04:00
sergefp@mysql.com
2219ada7f6 BUG#14139: When handling "CREATE TABLE(field_X type_spec,...) SELECT smth AS field_X, ...."
avoid multiplying length of field_X by charset->mbmaxlen twice when calculating space 
required for field_X in the new table.
2005-10-26 00:56:17 +04:00
monty@mysql.com
3da5f1c223 Move handling of suffix_length from strnxfrm_bin() to filesort to ensure proper sorting of all kind of binary objects
field::sort_key() now adds length last for varbinary/blob
VARBINARY/BLOB is now sorted by filesort so that shorter strings comes before longer ones
Fixed issues in test cases from last merge
2005-10-14 00:04:52 +03:00
bar@mysql.com
39b0712cf7 type_binary.result, type_binary.test:
new file
mysql_fix_privilege_tables.sql, mysql_create_system_tables.sh:
  Adding true BINARY/VARBINARY: fixing "password" type, not to be 0x00-padding.
Many files:
  Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes.
  Adding true BINARY/VARBINARY: new pad_char structure member.
ctype-bin.c:
  Adding true BINARY/VARBINARY: new pad_char structure member.
  New strnxfrm, with two trailing length bytes.
field.cc:
  Adding true BINARY/VARBINARY.
2005-10-13 19:16:19 +05:00
jani@a193-229-222-105.elisa-laajakaista.fi
8d3036c35e Some minor fixes revealed as warnings by
Intel compiler.
2005-09-23 21:28:56 +03:00
hf@deer.(none)
12068b45e8 Fix for bug #12839 (Endian support is absurd) 2005-09-21 14:35:01 +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
monty@mishka.local
8437e9c1be Fixes during review of new pushed code
Change bool in C code to my_bool
Added to mysqltest --enable_parsning and --disable_parsing to avoid to have to comment parts of tests
Added comparison of LEX_STRING's and use this to compare file types for view and trigger files.
2005-07-31 12:49:55 +03:00
monty@mysql.com
987edeaa9b Fixed compiler warnings 2005-07-28 21:25:05 +03: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
93ae805db3 Fix date conversion on 32-bit machines. 2005-07-20 10:16:43 -07:00
konstantin@mysql.com
4570ace8fb Fix warnings/compilation failures reported by Jan Lindstrom 2005-07-20 14:17:06 +04: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
ffb7421955 NO_DEFAULT_VALUE_FLAG and BLOB_FLAG combined 2005-07-15 16:25:31 +05: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
konstantin@mysql.com
3f28ad8eb7 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:32 +04:00
konstantin@mysql.com
62b8e6fdd1 A fix and a test case for Bug#9735.
No separate typecode for MEDIUMTEXT/LONGTEXT is added, as we
have no sound decision yet what typecodes and for what types are
sent by the server (aka what constitutes a distinct type in MySQL).
2005-07-14 15:13:23 +04:00
monty@mysql.com
fe30ec9032 manual merge 2005-07-04 03:50:04 +03:00
monty@mysql.com
ec420bfb43 Fixes during review of new code
- Mostly indentation fixes
- Added missing test
- Ensure that Item_func_case() checks for stack overruns
- Use real_item() instead of (Item_ref*) item
- Fixed wrong error handling
2005-07-04 03:42:33 +03:00
monty@mysql.com
86d7b02199 Merge with 4.1 2005-07-03 14:17:52 +03:00
monty@mysql.com
e4bb8377c7 Simple optimization
nsure that delete works not only on table->record[0] for federated tables
2005-06-29 12:44:40 +03:00
igor@rurik.mysql.com
42bb0eaf9f Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1
into rurik.mysql.com:/home/igor/mysql-4.1
2005-06-28 03:20:00 -07:00
igor@rurik.mysql.com
c3aa161c28 field.cc:
Correction after manula merge.
2005-06-24 01:21:18 -07:00
igor@rurik.mysql.com
268110b34b Manual merge 2005-06-23 11:22:30 -07:00
igor@rurik.mysql.com
c73c2af614 func_str.result, func_str.test:
Added a test case for bug #10124.
sql_select.h, item_subselect.cc, sql_select.cc:
  Fixed bug #10124.
  The copy method of the store_key classes can return
  STORE_KEY_OK=0, STORE_KEY_FATAL=1, STORE_KEY_CONV=2 now.
field.cc:
  Fixed bug #10124.
  When ussuing a warning the store methods return 2 instead of 1 now.
2005-06-23 06:15:50 -07:00
svoj@mysql.com
74373e7d54 WL#2286 - Compile MySQL w/YASSL support
Fix GCC 4.0 link failure.
Better CXX_VERSION guessing.
2005-06-22 14:08:28 +05:00
monty@mishka.local
1524cd001d Cleanup during review of new code
Fixed wrong allocation that could cause buffer overrun when using join cache
2005-06-21 18:18:58 +03:00
svoj@mysql.com
7660f609e6 WL#2286 - Compile MySQL w/YASSL support
Fix for yaSSL link failures with Forte Developer 7, MIPSpro Compilers, Compaq C++.
These compilers have problem with implicit template instantiation in archives
(libyassl.a, libtaocrypt.a). Instantiate templates explicitly.

Fix for yaSSL link failure on powermacg5 (gcc 3.3). When -O3 is specified gcc inlines
__cxa_pure_virtual. This is wrong behavior, __cxa_pure_virtual must never be inlined.
2005-06-19 21:46:44 +05:00
igor@rurik.mysql.com
ff0b7e4d73 Manual merge 2005-06-15 08:39:00 -07:00
igor@rurik.mysql.com
316815f44e cast.result, cast.test:
Added test case for bug #11283.
field.h, field.cc:
  Fixed bug #11283: wrong conversion from varchar to decimal.
  Added methods Field_string::val_decimal,
  Field_varstring::val_decimal, Field_blob::val_decimal.
  They are not inherited from the base class Field_longstr
  anymore.
2005-06-15 08:27:33 -07:00
georg@lmy002.wdf.sap.corp
b64e6db5a4 fixes for windows 64-bit compiler warnings 2005-06-13 12:41:15 +02:00
jimw@mysql.com
1055c36000 Merge mysql.com:/home/jimw/my/mysql-5.0-10543
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2005-06-09 19:29:55 -07:00
hf@deer.(none)
935b5ec4b4 Fix for bug #9894 (Negative numbers are allowed to 'unsigned' column) 2005-06-08 12:25:57 +05:00
monty@mysql.com
775f17667b Merge with 4.1 2005-06-07 00:31:53 +03:00
ramil@mysql.com
592d8f8d41 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/usr/home/ram/work/5.0.b10539
2005-06-06 11:30:15 +05:00
serg@serg.mylan
6a5349028c a compiler must see '#pragma implementation' *before*
'#pragma interface' (that comes with the #include'd header file)
2005-06-05 19:38:52 +02:00
monty@mysql.com
29fd1f2fd9 Move USE_PRAGMA_IMPLEMENTATION to proper place
Ensure that 'null_value' is not accessed before val() is called in FIELD() functions
Fixed initialization of key maps. This fixes some problems with keys when you have more than 64 keys
Fixed that ROLLUP don't always create a temporary table. This fix ensures that func_gconcat.test results are now predictable
2005-06-03 23:46:03 +03:00
bar@mysql.com
618934fe5f Merge 2005-06-03 09:44:13 +05:00
bar@mysql.com
1002a9416b ctype_utf8.result, ctype_utf8.test:
adding test
field.cc:
  bug#10714 Inserting double value into utf8 column crashes server:
  sprintf was executed with too big length, which caused
  crash on some Windows platforms.
2005-06-03 09:37:53 +05:00
kent@mysql.com
f0fcc54b0c Merge 2005-06-02 04:45:09 +02:00
kent@mysql.com
bd48eed988 tztime.cc:
Set #pragma implementation" earlier
Many files:
  Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
2005-06-02 02:43:32 +02:00
msvensson@neptunus.(none)
697cfe7f07 Merge from 4.1 2005-05-26 21:01:55 +02:00
msvensson@neptunus.(none)
83d430353e Add ifdefs to control when "#pragma implementation" should be used
Added some more ifdefs for "#pragma interface"
2005-05-26 12:09:14 +02:00
jimw@mysql.com
ef9ef1f958 Fix partial keys when converting VARCHAR to TEXT. (Bug #10543) 2005-05-25 18:11:47 -07:00
ramil@mysql.com
44a2007111 a fix (bug #10539: When inserting out of range value in BIT, different engines behaves differently). 2005-05-18 17:30:11 +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
jani@a193-229-222-105.elisa-laajakaista.fi
187ee4712b Fixed bug 10465. 2005-05-12 17:37:38 +03:00
holyfoot@hf-ibm.(none)
2c8e9df232 A lot of fixes to Precision math
Mostly about precision/decimals of the results of the operations
2005-05-05 20:06:49 +05:00
hf@deer.(none)
054463f975 Fix for #6553 and #8776 (no errors on bad spatial data) 2005-04-29 20:23:02 +05:00
ramil@mysql.com
b2dbaea394 Bit type: fix for create_field::create_field(). 2005-04-14 14:32:25 +05:00
ramil@mysql.com
eae4d9c073 Bit type: code cleanup. 2005-04-12 19:36:21 +05:00
ramil@mysql.com
3b1c3d8c68 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/usr/home/ram/work/5.0.bit_class
2005-04-12 12:30:09 +05:00
ramil@mysql.com
c4376b2bc6 Bit type support for non-MyISAM tables. 2005-04-12 12:27:43 +05:00
jimw@mysql.com
9b4f106045 Fix warning and error when compiling on Windows. 2005-04-09 03:05:47 +02:00
serg@serg.mylan
e1e5b97dea manually merged
Gluh's SESSION/GLOBAL for @variables fix in sql_yacc.yy and
Bar's well_formed_len() changes in ndb code
did not make it and should be re-applied manually
2005-04-06 21:19:20 +02:00
bar@mysql.com
1c46a02069 Minor clean-ups for the previous commit. 2005-04-06 15:12:44 +05:00
bar@mysql.com
0134a2b286 Adding a new parameter for well_formed_length to
return error. We'll use it for better warnign reporting.
2005-04-06 11:53:15 +05:00
serg@serg.mylan
c796ea598c Merge 2005-04-05 13:23:11 +02:00
serg@serg.mylan
52770e8682 XID SQL syntax
minor cleanups
XA tests
2005-04-04 00:50:05 +02:00
monty@mysql.com
9616c9a80d Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0
2005-04-01 15:06:35 +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
bell@sanja.is.com.ua
45a79c9056 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-union_merge-5.0
2005-04-01 02:15:40 +03:00
bell@sanja.is.com.ua
1029e533df postmerge 4.1->5.0 fixes 2005-04-01 02:14:30 +03:00
bell@sanja.is.com.ua
05d4ed14e4 merge 4.1->5.0 2005-03-31 10:39:48 +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
serg@serg.mylan
d6bedfa8e0 merged 2005-03-23 09:42:24 +01:00
bell@sanja.is.com.ua
4554b1f263 fixed union types merging and table related metadata (BUG#8824) 2005-03-23 08:36:48 +02:00
serg@mysql.com
f7cbe9a2cc BUG#9339 - Updating a column does not work if the table has a UTF-8 VARCHAR primary key
fixed my_charpos() call in Field_varstring::get_key_image
2005-03-22 20:13:49 +01:00
serg@serg.mylan
f4d4df2ca4 Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2005-03-21 13:43:25 +01:00
jimw@mysql.com
ee2b4ec959 Eliminate warnings noticed by VC7. This includes fixing my_mmap() on
Windows to call CreateFileMapping() with correct arguments, and
propogating the introduction of query_id_t to everywhere query ids are
passed around. (Bug #8826)
2005-03-18 16:12:25 -08:00
serg@serg.mylan
376a4ee03b Field::quote_data():
don't call escape_string_for_mysql() unnecesary
  don't overwrite local buffer
escape_string_for_mysql():
  take a length of the destination buffer as an argument
2005-03-17 12:27:45 +01:00
monty@mysql.com
594ef41b2d Cleanup during reviews
Removed some optional arguments
Fixed portability problem in federated tests
2005-03-16 16:11:01 +02:00