Commit graph

193 commits

Author SHA1 Message Date
patg@krsna.patg.net
6128521b5b item_strfunc.cc:
BUG #11104 
      Took out the offset-=delimiter_length-1 out of the for loop. It was causing
      basically this: 
      select substring_index('the king of the the hill', 'the', -2) to not work.
      The first iteration, offset would be initialised to 24, then strstr would 
      point at 'the king of the the* hill' ('*'means right before the 
      character following), returning a offset of 16. The for loop would then 
      decrement offset by two (3 - 1), to 14, now pointing at 
      "the king of th*e the hill", _skipping_ past the 'e' in the second to last
      'the', and therefore strstr would never have a chance of matching the 
      second to last 'the', then moving on to the 'the' at the begginning of the 
      string!
      In a nutshell, offset was being decremented by too great a value, preventing
      the second to last 'the' from being ever found, hence the result of 
      'king of the the hill' from the query that is reported in the bug report
func_str.test:
  BUG #11104
  Added tests to make sure fix addresses issues in original bug report
func_str.result:
  BUG #11104 
  New results for new tests
2005-08-08 13:46:13 -07:00
jimw@mysql.com
49e5636410 Merge mysql.com:/home/jimw/my/mysql-4.1-clean
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2005-07-22 12:35:15 -07:00
jimw@mysql.com
e26a344d19 Fix calculation for length of LPAD() and RPAD() reported to
client via mysql_fetch_fields(). (Bug #11311)
2005-07-22 11:46:29 -07:00
gluh@mysql.com
b0ec1cd84e Merge mysql.com:/home/gluh/MySQL/Merge/4.1
into mysql.com:/home/gluh/MySQL/Merge/5.0
2005-07-13 16:08:13 +05:00
gluh@eagle.intranet.mysql.r18.ru
672e1f20cb Bug #9854 hex() and out of range handling
added out of range handling
2005-07-13 14:23:09 +05:00
bell@sanja.is.com.ua
8b71793766 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into  sanja.is.com.ua:/home/bell/mysql/bk/work-bug4-5.0
2005-07-06 16:59:56 +03:00
bell@sanja.is.com.ua
c41c8accd7 Merge 2005-07-06 11:36:27 +03:00
monty@mysql.com
86d7b02199 Merge with 4.1 2005-07-03 14:17:52 +03:00
igor@rurik.mysql.com
4b8f2e9bb4 func_str.test:
Added test cases for bug #11469.
item_strfunc.h:
  Fixed bug #11469: wrong implementation of the not_null_tables
  method for CONCAT_WS.
2005-06-29 02:40:25 -07:00
bell@sanja.is.com.ua
0e30eea141 fixed substring() length calculation in case of constant negative argument (BUG#10269) 2005-06-28 21:45:11 +03:00
msvensson@neptunus.(none)
88c96026af Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into neptunus.(none):/home/msvensson/mysql/bug10466
2005-06-27 13:12:10 +02: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
msvensson@neptunus.(none)
6282d89b0a bug#10466: Datatype "timestamp" displays "YYYYMMDDHHMMSS" irrespective of display sizes.
- Print warning that says display width is not supported for datatype TIMESTAMP, if user tries to create a TIMESTAMP column with display width.
 - Use display width for TIMESTAMP only in type_timestamp test to make sure warning is displayed correctly.
2005-06-20 12:09:00 +02:00
jimw@mysql.com
5a271e2c12 Merge mysql.com:/home/jimw/my/mysql-4.1-clean
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2005-06-01 16:13:24 -07:00
jimw@mysql.com
7ac7bfc3c8 Fix handling of NULL fields in FIELD(). (Bug #10944) 2005-06-01 09:48:25 -07: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
bar@eagle.intranet.mysql.r18.ru
9fbfa7a9af func_str.result:
post-merge fix.
  ,
2005-03-25 11:47:25 +04:00
bar@mysql.com
29ffcad226 Fixed that LEFT OUTER JOIN was replaced with a regulat join
in some cases, because "charset(x) = 'string'" was considered
as "x is not null" due to incorrect not_null_tables().
2005-03-24 18:10:46 +04:00
gluh@gluh.mysql.r18.ru
edb4dd5366 after merge fix 2005-03-17 18:44:24 +03:00
gluh@gluh.mysql.r18.ru
b435d6e862 Merge 4.1 -> 5.0 2005-03-17 16:51:07 +03:00
bar@mysql.com
a7b877df78 Bugs#9129: CHARSET(), COLLATION(), COERCIBILITY()
not always correct for NULL values.
Now they always result a non NULL value even
the argument is NULL. It is more usefull for 
debugging purposes.
2005-03-16 17:44:29 +04:00
igor@rurik.mysql.com
db4ca33f52 Merge rurik.mysql.com:/home/igor/dev/mysql-4.1-0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
2005-03-09 16:53:20 -08:00
igor@rurik.mysql.com
4406118cf8 func_str.result:
Correction after manual merge.
2005-03-09 13:20:52 -08:00
igor@rurik.mysql.com
af5d21357e Manual merge 2005-03-09 10:58:52 -08:00
igor@rurik.mysql.com
4559fb998b func_str.result, func_str.test:
Added a test case for bug #8669.
item_strfunc.cc:
  Fixed bug #8669.
  Function AES_DECRYPT can return NULL value.
2005-03-09 00:15:51 -08:00
bar@deer.(none)
42e5de1bee func_group.test, func_str.result, func_group.result:
after merge fixes
2005-03-05 20:44:22 +04:00
bar@mysql.com
d50d213162 Merge 2005-03-05 18:20:35 +04:00
bar@mysql.com
7e8e033290 type_blob.result, func_system.result, func_str.result, ctype_collate.result:
fixing test results accordingly.
func_system.test:
  New test that illegal mix of collations does not happen anymore.
item_strfunc.h:
    safe_charset_converter() was added for system constants.
item_strfunc.cc:
  safe_charset_converter() was added for system constants.
item_func.cc, item.h, item.cc:
  Bug#8291: Illegal collation mix with USER() function.
  After discussion with PeterG and Serge, a new coercibility
  level for "system constants" was introduced, between
  COERRIBLE and IMPLICIT. Thus:
  SELECT col1 = USER() FROM t1; - is done according to col1 collation.
  SELECT 'string' = USER(); - is done according to USER() collation.
  At the same time, "nagg" and "strong" members were removed as unused.
item_create.cc:
  Version is a system constant too.
2005-03-04 14:20:49 +04:00
gluh@gluh.mysql.r18.ru
907c7af3ce Merge gluh.mysql.r18.ru:/home/gluh/MySQL-MERGE/mysql-4.1
into gluh.mysql.r18.ru:/home/gluh/MySQL-MERGE/mysql-5.0
2005-02-23 18:47:00 +03:00
gluh@gluh.mysql.r18.ru
2b5ee94a33 Fix for bug#6317: string function CHAR, parameter is NULL, wrong result 2005-02-23 18:15:45 +03:00
monty@mysql.com
b233ddba8e After merge fixes 2005-02-03 18:00:50 +02:00
monty@mysql.com
422c2eb868 4.1 -> 5.0 merge 2005-02-03 13:18:30 +02:00
jimw@mysql.com
bcac063558 Fix merge of func_str tests (accidently duplicated a test). 2005-02-02 09:05:52 -08:00
jimw@mysql.com
5f0c4ff140 Merge fixes for #8248, #5569. 2005-02-02 08:21:11 -08:00
igor@rurik.mysql.com
0fb0dab4ca func_str.result, func_str.test:
Added a test case for bug #7751.
item_strfunc.cc:
  Fixed bug #7751.
  The function Item_func_conv::val_str did not update
  the unsigned_flag value.
2005-02-01 23:34:31 -08:00
jimw@mysql.com
e86457cef0 Fix QUOTE() to not reuse the input field for output, which resulted in
incorrect results when the input was a constant across a multi-row SELECT
statement. (Bug #8248)
2005-02-01 18:29:10 -08:00
bar@deer.(none)
3b7eb23e6b func_str.result:
after merge fix
2005-01-17 13:23:56 +04:00
bar@mysql.com
e7e5e8b1e7 user_var.result, func_str.result, item_strfunc.cc:
bug#7839 ncorrect collation for char(ascii('a'))
2005-01-17 10:38:35 +04:00
monty@mysql.com
1e88bdbf90 Streamlined code for trim, ltrim and rtrim
Portability fixes
2005-01-02 23:31:37 +02:00
serg@sergbook.mysql.com
a04fc26c54 manually merged 2004-12-31 15:26:24 +01:00
timour@mysql.com
064c73490b Fix for BUG#7455.
The fix checks if the trim string argument is NULL. If so, the standard
mandates that the function result must be also NULL.
2004-12-28 11:57:56 +02:00
Sinisa@sinisa.nasamreza.org
ca74ce3398 additional 4.0 -> 4.1 merge !! 2004-12-25 00:07:22 +02:00
Sinisa@sinisa.nasamreza.org
f385e79ad4 4.0 -> 4.1 merge 2004-12-24 23:07:10 +02:00
Sinisa@sinisa.nasamreza.org
3c5a325897 Fix for a bug #7495 2004-12-23 21:08:54 +02:00
Sinisa@sinisa.nasamreza.org
e409ebf143 A fix for the bug #7495 2004-12-22 21:31:17 +02:00
monty@mishka.local
4f4bbfc279 Merge with 4.1 2004-12-22 13:54:39 +02:00
serg@serg.mylan
d16c9e8615 getting rid of now() is tests 2004-12-11 09:39:29 +01:00
Sinisa@sinisa.nasamreza.org
6772f0a721 A fix for a crashing bug #7101, which occures when the
expression involving LEFT() function is used in GROUP BY
field.
2004-12-10 00:17:43 +02:00
bar@mysql.com
f90caa5826 - VARCHAR(n) with binary character set is now displayed as VARBINARY(N).
- CREATE TABLE t1 SELECT BINARY 'literal'
  now creates a VARBINARY() column, not a BINARY().
2004-12-08 14:03:29 +04:00
monty@mysql.com
563500994a Update results for new varchar handling
Fixed compiler warnings
String results in CREATE ... SELECT are now created as CHAR(0), VARCHAR(X) or TEXT() depending on item->max_length
2004-12-07 15:47:00 +02:00
monty@mysql.com
6cf9ea2c9a Add back data that bk loosed during automatic merge 2004-11-12 21:42:44 +02: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
jani@ua141d10.elisa.omakaista.fi
fe0b00985f Merge with 4.0 2004-11-12 20:38:58 +02:00
ram@gw.mysql.r18.ru
98df9313c0 A fix (bug #6564: QUOTE(NULL) returns NULL, not the string 'NULL') 2004-11-11 18:20:40 +04:00
monty@mysql.com
47bbf768d4 Fixes after merge with 4.1
FOUND is not a reserved keyword anymore
Added Item_field::set_no_const_sub() to be able to mark fields that can't be substituted
Added 'simple_select' method to be able to quickly determinate if a select_result is a normal SELECT
Note that the 5.0 tree is not yet up to date: Sanja will have to fix multi-update-locks for this merge to be complete
2004-11-03 12:39:38 +02:00
monty@mysql.com
afbe601302 merge with 4.1 2004-10-29 19:26:52 +03:00
bell@sanja.is.com.ua
84d4c4eb05 fixed printing of substring_index (BUG#5911) 2004-10-21 13:11:15 +03:00
monty@mysql.com
6239edc1d1 After merge fixes
Some bigger code changes was necessary becasue of the multi-table-update and the new HANDLER code
2004-10-07 10:50:13 +03:00
monty@mysql.com
62f3cd6a31 Merge with 4.0 for 4.1 release
Noteworthy:
- New HANDLER code
- New multi-update-grant-check code
- Table lock code in ha_innodb.cc was not applied
2004-10-06 19:14:33 +03: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
ram@gw.mysql.r18.ru
2488b827de A fix (bug #5498 TRIM fails with LEADING or TRAILING if remstr = str). 2004-09-13 14:25:43 +05:00
monty@mysql.com
e67fcee270 Update after merge 2004-09-09 14:55:28 +03:00
bar@mysql.com
87537752e2 "SELECT BINARY x" now means "SELECT CAST(x AS BINARY)". 2004-08-26 16:31:37 +05:00
ram@gw.mysql.r18.ru
74c64904c7 A fix (Bug #4878: Service crashes on query execution) 2004-08-12 11:28:39 +05:00
hf@deer.(none)
cbff743b2d Final patch for WL#1600(warn if max_allowed_packet used) 2004-07-21 21:27:45 +05:00
hf@deer.(none)
5bff13bc72 Merging 2004-07-21 19:10:37 +05:00
serg@serg.mylan
fe57b75079 bug#4441 - crash in UNHEX(NULL) 2004-07-07 23:49:03 +02:00
hf@deer.(none)
eb67909bf4 WL#1600 (Warn if result is truncatet due to max_allowed_packet) 2004-06-29 19:55:13 +05:00
bar@bar.intranet.mysql.r18.ru
500874b554 Bug #3717 ENCODE returns a character string, not a binary string 2004-06-08 15:36:44 +05:00
monty@mysql.com
56c0258536 After merge fixes
Remove compiler warnings
Update windows project files
2004-05-24 14:42:34 +03:00
ram@gw.mysql.r18.ru
e166036894 A fix (bug #3756: ISNULL(QUOTE()) returns 1 for every row after 1st NULL) 2004-05-17 12:47:16 +05:00
bell@sanja.is.com.ua
4c774e0c18 fixed flags of printed query 2004-05-13 23:47:20 +03:00
monty@mysql.com
939ea71ecd Portability fixes
Change strtoll -> my_strtoll10()
Fixed bug in my_strntoul() and my_strntol() where we got different values on 32 and 64 bit systems (Bug #3472)
2004-05-07 01:43:17 +03:00
monty@mysql.com
a5d8b846fa after merge fixes 2004-05-05 21:24:21 +03:00
monty@mysql.com
d21d49a32a Merge with 4.0.19 2004-05-05 17:05:24 +03:00
monty@mysql.com
7e3cf5958c Fixed crashing bug with alter table when table was in use (Bug #3643)
We didn't use 'only index' for tables of type 'const'. (Bug #3497)
2004-05-05 12:31:17 +03:00
antony@ltantony.dsl-verizon.net
9bd11ea8f6 Merge ltantony.dsl-verizon.net:/usr/home/antony/work/mysql-4.0
into ltantony.dsl-verizon.net:/usr/home/antony/work/bug3481
2004-04-28 16:38:29 +01:00
antony@ltantony.dsl-verizon.net
28870228d4 Fix for Bug 3481
CREATE statement allowed extra unnecessary commas
2004-04-28 16:14:53 +01:00
serg@serg.mylan
2bcfab10ea bug#3556 - soundex 2004-04-28 14:19:02 +02:00
bar@bar.intranet.mysql.r18.ru
66631a3c1e Bug #3087 CONCAT_WS makes the server die in case of illegal mix of collations 2004-03-19 12:09:14 +04:00
gluh@gluh.mysql.r18.ru
9f22beb242 Fix for bug#2972 Problem the the CONV() function 2004-03-15 19:18:30 +04:00
ram@gw.mysql.r18.ru
8ffd9a9190 Fix for the bug #3089: SUBSTRING bug when mixed with CONCAT and ORDER BY 2004-03-09 16:52:37 +04:00
serg@serg.mylan
de6d3b8dff UNHEX() function 2004-03-04 23:18:54 +01:00
monty@mysql.com
f43093ec0e After merge fixes
Added more DBUG statements
Ensure that we are comparing end space with BINARY strings
Use 'any_db' instead of '' to mean any database. (For HANDLER command)
Only strip ' ' when comparing CHAR, not other space-like characters (like \t)
2004-02-16 10:03:25 +02:00
monty@mysql.com
ce14578909 Merge with 4.0.18 2004-02-11 00:06:46 +01:00
vva@eagle.mysql.r18.ru
4a668f95ce added test for bug #2290 "output truncated with ELT when using DISTINCT" 2004-01-21 02:18:51 +04:00
ram@gw.mysql.r18.ru
73a36f1997 Fix & test for the bug #2182: lpad returns incorrect result. 2003-12-22 19:00:51 +04: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
monty@mysql.com
e0cc6799ec Merge with 4.0.17 2003-12-17 17:35:34 +02:00
monty@mysql.com
f995a5f4aa Fix autoincrement for signed columns (Bug #1366)
Fixed problem with char > 128 in QUOTE() function. (Bug #1868)
Disable creation of symlinks if my_disable_symlink is set
Fixed searching of TEXT with end space. (Bug #1651)
Fixed caching bug in multi-table-update where same table was used twice. (Bug #1711)
Fixed problem with UNIX_TIMESTAMP() for timestamps close to 0. (Bug #1998)
Fixed timestamp.test
2003-12-12 22:26:58 +02:00
antony@ltantony.rdg.cyberkinetica.homeunix.net
fcf96dbb18 WorkLog#1323
Deprecate the use of TYPE=... Preferred syntax is ENGINE=
2003-12-10 04:31:42 +00:00
gluh@gluh.mysql.r18.ru
d626c313e5 Fix for bug#1944 'Function RPad() sometimes produce unexpected result' 2003-12-04 14:12:01 +04:00
monty@mashka.mysql.fi
e5d75fb984 merge 2003-11-18 13:51:48 +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
bell@sanja.is.com.ua
ec9fa02b12 sunstring_index() code covarage
print() method code covarage for some string function which I lost last time
2003-11-07 09:43:24 +02:00
bell@sanja.is.com.ua
c56e75e2c1 after review fix 2003-11-03 12:28:36 +02:00
bell@sanja.is.com.ua
33346e26af added code covarage for functions convert(), nullif(), crc32(), is_used_lock(), char_lengtrh(), bit_xor()
added string length for more speed
made code covarage for print() method of Item
fixed printability of some items (SCRUM) (WL#1274)
2003-10-30 12:57:26 +02:00
bar@bar.mysql.r18.ru
ebbc1dc13e LPAD() and RPAD() are now multibyte-compatible 2003-09-25 17:31:20 +05: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