Commit graph

226 commits

Author SHA1 Message Date
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
gluh@gluh.mysql.r18.ru
276622c92d Fix for bug #5595: NULLIF() IS NULL returns false if NULLIF() returns NULL 2004-09-18 13:06:44 +04:00
bell@sanja.is.com.ua
f797298fc5 fixed merged view fields names (BUG#5147)
support of merged VIEW over several tables added (WL#1809)
2004-09-14 19:28:29 +03: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
bell@sanja.is.com.ua
2cf1234ba2 after review patch 2004-08-31 21:10:57 +03:00
timour@mysql.com
4d070fd92b Fix for Bug#3759
The cause of the bug is that Item_func_in::fix_fields did not fully update its
used_table_cache. This was the cause for not_null_tables in setup_conds() to be
still 0 after the call
  not_null_tables= (*conds)->not_null_tables();
As a result the condition in setup_conds()
  if ( ... (table->table->map & not_null_tables) ...)
failed, which was the cause for the ON expression not to be added to conds, and later
the optimizer couldn't detect that it could apply the OUTER JOIN ==> JOIN optimization.
2004-08-30 15:26:27 +03:00
bell@sanja.is.com.ua
18366c930c NOT elimination moved in parsing (suggested by Monty) 2004-08-29 23:14:46 +03:00
igor@rurik.mysql.com
4b760fcb94 null.test, null.result:
Added test case for bug #4256.
join_outer.result:
  Fixed bug #4256.
item_cmpfunc.h:
  Fixed inconsistency of values of used_tables_cache and
  const_item_cache for Item_func_isnull objects.
  This inconsistency caused bug #4256.
2004-08-20 23:48:30 -07:00
sergefp@mysql.com
83dc887b9d Renamed Arg_comparator::compare_int -> compare_int_signed 2004-08-18 02:37:31 +04:00
sergefp@mysql.com
fdb51f67a2 Fix for bug#4488: sign-aware equality check 2004-08-17 02:59:24 +04:00
sergefp@mysql.com
4ddeee9d2f Fix for BUG#4488: first portion: sign aware '<' and '>' comparisons. 2004-08-11 23:08:20 +04:00
monty@mysql.com
1e31199995 Merge with 4.1.3-beta 2004-07-07 11:29:39 +03:00
igor@rurik.mysql.com
64d46dfe9b After merge fix 2004-06-25 06:48:10 -07:00
dlenev@brandersnatch.localdomain
b20dca925d Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into brandersnatch.localdomain:/home/dlenev/src/mysql-4.1-bg4200
2004-06-22 19:28:01 +04:00
dlenev@brandersnatch.localdomain
eea19e5235 Fix for Bug# 4200 "Parse error on LIKE ESCAPE with parameter binding"
Now ESCAPE in LIKE will accept not only string literal but constant 
delimited expression.
2004-06-22 19:27:16 +04:00
bell@sanja.is.com.ua
a19b0f0a8e cleanup for Item_func_regex (Bug #4199) 2004-06-19 13:26:39 +03:00
igor@rurik.mysql.com
356cbe4fa2 join_nested.test, join_nested.result:
new file
Many files:
  Nested joins added.
2004-06-10 22:27:21 -07:00
monty@mysql.com
ff223db0fe Merge with 3.23 to get latest bug fixes 2004-06-10 11:59:45 +03:00
bell@sanja.is.com.ua
73964382a7 removed incorrect destructor (to prevent deleting item by recursion instead of by list scanning in case of chained OR or AND) 2004-06-03 15:38:38 +03:00
pem@mysql.comhem.se
d02d105916 Fixed (portability) bug in handler.h, and tried to silence cast warnings on some platforms. 2004-05-06 19:55:12 +02:00
bell@sanja.is.com.ua
2f4d2a0e38 fixed brocken of client_test
fixed aggregate functions in PS (BUG#3360)
2004-04-03 11:13:51 +03:00
monty@mysql.com
1448199bd7 Cleanups & safety fixes 2004-03-25 22:11:22 +02:00
bell@sanja.is.com.ua
d095d4753e after review changes 2004-03-20 13:36:26 +02:00
bell@sanja.is.com.ua
2b45b53066 DBUG_ASSERT(fixed == 1); added to val*
small optimisation in signed_literal
2004-03-18 15:14:36 +02:00
bell@sanja.is.com.ua
8035ce40ec DBUG_ASSERT(fixed == 0) added to fix_fields() 2004-03-17 14:26:26 +02:00
igor@rurik.mysql.com
bae2554367 sql_select.cc, item_cmpfunc.h:
After merge fix for collation.
2004-02-19 17:12:31 -08:00
igor@rurik.mysql.com
f18e0068ba Manual merge 2004-02-19 01:09:54 -08:00
igor@rurik.mysql.com
09fa16424a Many files:
After review fixes for Item_equal.
2004-02-18 22:21:37 -08:00
bell@sanja.is.com.ua
a66b398eb8 merge 2004-02-17 11:12:55 +02: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
bell@sanja.is.com.ua
272bd74abb memory leacks in PS with subqueries fixed (adddition to fix of BUG#2462) 2004-02-12 03:10:26 +02:00
monty@mysql.com
ce14578909 Merge with 4.0.18 2004-02-11 00:06:46 +01:00
bell@sanja.is.com.ua
cefdd4fec6 merge 2004-02-09 15:49:11 +02:00
bell@sanja.is.com.ua
69e2460bd4 fixed subquery with PS (BUG#2462)
fixed UNION preparation
2004-02-08 20:14:13 +02:00
monty@mysql.com
480b082cf4 merge 2004-02-05 18:14:48 +01:00
bar@bar.intranet.mysql.r18.ru
e2ffbc1a6a Indexes can be used for optimization if the operation
collation is the same with the index collation.
2004-02-02 17:50:14 +04:00
monty@mysql.com
0eb6070068 Code cleanup
Fixed bug in optimizer where it didn't choose right table order in some cases
2004-01-19 23:51:17 +01:00
hf@deer.(none)
1f8eb40310 Code cleanup (working on PS & cleanup() code)
Item & changed with Item* in Item_xxx constructors
tables_list.first -> get_table_list()
2004-01-19 19:53:25 +04:00
ram@gw.mysql.r18.ru
e49c7ae45f Fix for the bug #2231: string column, INDEX+LIKE, don't take the ESCAPE character.
(acctually i don't like the fix, any suggestions?)
2003-12-30 19:23:38 +04:00
hf@deer.(none)
bfe134b86f Fix for prepared statements
Here i added Item_*::cleanup() functions,
removed a lot of ~Item_*'s,
added code to restore order_list and group_list
2003-12-30 14:08:19 +04:00
igor@rurik.mysql.com
e235d796c9 Merge 2003-12-01 18:47:19 -08:00
igor@rurik.mysql.com
e282c8cc6f Merge rurik.mysql.com:/home/igor/mysql-5.0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-1
2003-12-01 16:20:46 -08:00
igor@rurik.mysql.com
441ad81b48 join_outer.result, null.result, null.test:
Fixed inconsistency of values of used_tables_cache
  and const_item_cache for Item_func_isnull objects (bug #1990).
item_cmpfunc.h:
  Fixed inconsistency of values of used_tables_cache
  and const_item_cache for Item_func_isnull objects (bug #1990).
2003-12-01 16:12:05 -08:00
igor@rurik.mysql.com
dcbbbe6b94 join_outer.result, null.result, null.test, item_cmpfunc.h:
Fixed inconsistency of values of used_tables_cache and
  const_item_cache for Item_func_isnull objects (bug #1990).
2003-12-01 13:59:09 -08: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
igor@rurik.mysql.com
3938ac5436 This ChangeSet Introdices Item_equal.
The objects of this class represent multiple conjunctive equalities
in where conditions: =(f1,f2,...fn) <=> f1=f2 and f2= ... and =fn.
The objects are used to generate new possibale paths to access
the tables when executing a query.
They are also used to optimize the execution plan 
chosen by the optimizer for the query.
2003-11-26 17:23:52 -08:00
monty@mashka.mysql.fi
0bd17351ca Changed mysql_next_result() to return int instead of bool
Changed ~Item_func_in() to call cleanup() (to fix memory leak)
Fixed test_multi_statements() test in client_test
2003-11-19 17:31:57 +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
c56e75e2c1 after review fix 2003-11-03 12:28:36 +02:00
bell@sanja.is.com.ua
0747324ede merge 2003-10-31 22:14:49 +02:00
serg@serg.mylan
b1f5a03685 Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2003-10-31 14:25:38 +01:00
serg@serg.mylan
74551a72ec Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2003-10-31 10:34:34 +01:00
ram@gw.mysql.r18.ru
c5b481d99a Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into gw.mysql.r18.ru:/usr/home/ram/work/4.1.wl1056
2003-10-31 13:03:12 +04:00
ram@gw.mysql.r18.ru
90ffe1be00 WL #1056: Eliminate NOT operators from where condition 2003-10-31 13:02:16 +04:00
igor@rurik.mysql.com
f29ed57531 Merge 2003-10-30 10:45:28 -08: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
serg@serg.mylan
c60ef8160f FULLTEXT: correct charset support (UTF included, UCS2 - not)
code cleanup
2003-10-20 15:53:48 +02:00
bell@sanja.is.com.ua
a7bdd19707 subqueries made printable
new EXPLAIN parameter to show real query as it was interpreted
(SCRUM) (WL#1274)
2003-10-16 15:54:47 +03:00
bell@laptop.sanja.is.com.ua
ddf4d1e529 fixed printability of Items (all items except subselects)
(SCRUM) (WL#1274)
2003-10-12 17:56:05 +03:00
bell@laptop.sanja.is.com.ua
e1b53fdd42 Merge 2003-10-06 20:55:06 +03:00
igor@rurik.mysql.com
17aecac32c Manual merge after improving concurrency for key cache reassignment 2003-10-01 20:16:36 -07:00
bell@sanja.is.com.ua
51374e569d fixed BUG#1180 (changing WHERE clause of prepared statements by optimisation) 2003-09-02 19:56:55 +03:00
vva@eagle.mysql.r18.ru
60fc3ae02b Merge 2003-08-27 21:26:00 -04:00
vva@eagle.mysql.r18.ru
cde2b50514 fixed bug #910 (right type of ifnull function) 2003-08-27 19:11:54 -04:00
igor@rurik.mysql.com
40193a7fa5 Manual merge 2003-08-26 00:13:22 -07:00
bell@laptop.sanja.is.com.ua
c514948a30 merge 2003-08-20 22:17:57 +03:00
bell@laptop.sanja.is.com.ua
dd9cbce47b merge 2003-08-19 20:14:35 +03:00
monty@mashka.mysql.fi
2263e3e51f Merge with 4.0.14 2003-08-11 22:44:43 +03:00
serg@serg.mylan
c0317ce66c make it clear for optimizer that XOR's are not optimizable at the moment (BUG#992) 2003-08-05 16:29:09 +02:00
igor@rurik.mysql.com
f7adcbff7b Merge rurik.mysql.com:/home/igor/mysql-4.1
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0
2003-08-02 03:27:13 -07:00
bell@sanja.is.com.ua
ec74bb8d76 independent ALL/ANY subselect on top of WHERE clause (subselect without GROUP BY or aggregate functions) optimisation
(SCRUM) (WL#1086)
2003-07-24 15:26:21 +03:00
bell@sanja.is.com.ua
695c71d1c1 Merge sanja.is.com.ua:/home/bell/mysql/bk/work-top3-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-simple_in-4.1
2003-07-22 11:20:02 +03:00
bell@sanja.is.com.ua
af41a59af7 merge 2003-07-22 11:18:51 +03:00
bar@bar.mysql.r18.ru
e6cd54379e IN now aggregates all argument types for comparison 2003-07-18 14:03:54 +05:00
bar@bar.mysql.r18.ru
a2f7ef9c8b CASE now aggregates all argument types instead of using the only one argument 2003-07-17 22:58:05 +05:00
bell@sanja.is.com.ua
7e34954b5e new optimisation for ref_null (SCRUM) (WL#818) 2003-07-17 19:39:31 +03:00
bar@bar.mysql.r18.ru
8c06421c12 CASE stores first_expr and else_expr in args[] array now.
This allowed to reuse a lot of code.
2003-07-17 16:07:56 +05:00
igor@rurik.mysql.com
26ecd86539 Conflict resolution 2003-07-16 13:35:34 -07:00
bell@sanja.is.com.ua
a6b1a6fe3a merge 2003-07-16 13:58:11 +03:00
bar@bar.mysql.r18.ru
a35fff5bc3 Item_func_null doesn't have a separate Item for the first argument anymore.
args[0] is used instead. This allowed to resuse a lot of code.
2003-07-16 11:29:16 +05:00
bell@sanja.is.com.ua
7ad5331768 merge 2003-07-07 10:30:52 +03:00
bar@bar.mysql.r18.ru
07f94cb7cd Row comparison now does compare field collations, e.g.
ROW('a','b','c) = ROW('A' collate latin1_bin,'b','c') returns 0
When a number is compared to a string, character sets and 
collations are not aggregated. e.g. this returned error in 4.1.0:

SELECT 1=_latin2'1';
because character sets was aggregated, and 1 was considered as
a string of latin1 charset during this aggregation.
2003-07-03 17:00:01 +05:00
bell@sanja.is.com.ua
73fdf52fa2 merged 2003-07-03 11:59:57 +03:00
bar@bar.mysql.r18.ru
74b74ad5e7 There is no Item->binary() anymore. It was remain from 4.0. 2003-07-02 18:34:43 +05:00
bell@sanja.is.com.ua
2ae8a00b2a Item tree iterator
fixed dependence of items from reduced subquery
(SCRUM)
2003-07-02 13:12:18 +03:00
bell@sanja.is.com.ua
5eaaf8e732 after review changes (SCRUM)
removed outer resolving flag (because of movingtransformation after fix_fields)
2003-07-02 01:45:22 +03:00
igor@rurik.mysql.com
236560e8b3 Merge rurik.mysql.com:/home/igor/mysql-4.1
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0
2003-06-30 09:53:04 -07:00
igor@rurik.mysql.com
fb46172880 item_cmpfunc.h, opt_range.cc:
Added inequality predicate to range optimization
2003-06-30 09:52:30 -07:00
bell@sanja.is.com.ua
100a101ab6 Merge 2003-06-30 13:14:18 +03:00
bar@bar.mysql.r18.ru
d31de69795 str0 IN (str1, str2, ...) now works according to collation rules 2003-06-27 13:52:38 +05:00
bar@bar.mysql.r18.ru
52a7f95678 BETWEEN now works according to collation rules 2003-06-27 12:02:08 +05:00
bar@bar.mysql.r18.ru
65335d37ff New messages for 3-adic and N-adic operations
REPLACE() now processed arguments collations according to standard
2003-06-26 15:45:04 +05:00
monty@mashka.mysql.fi
7655f05dc2 LEFT JOIN optimization: Change LEFT JOIN to normal join if possible 2003-06-26 05:38:19 +03:00
bell@sanja.is.com.ua
7b77c5a2d3 merged 2003-06-25 23:52:15 +03:00
bar@bar.mysql.r18.ru
cb4539e8de String comparison functions now use the same DTCollation with
CONCAT() and other string functions. This allows to reuse a lot
if code and to simplify further development.
2003-06-24 17:12:07 +05:00
bar@bar.mysql.r18.ru
7371150f2d New class DTCollation (SQL:2003 calls it "declared type collation")
It's a combination of collation and its derivation (precedence order)
2003-06-24 15:11:07 +05:00
bar@bar.mysql.r18.ru
3d08cfecd4 Some more functions work according to coercibility now:
repeat, reverse, quote, soundex, substring
Test func_str has been extended to check them
2003-06-10 14:54:03 +05:00
ram@mysql.r18.ru
a36d4212fc Moved spatial functions to the sql/item_geofunc.cc file. 2003-05-30 15:22:34 +05:00
bell@sanja.is.com.ua
1a064a43a7 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-top-4.1
2003-05-26 09:28:56 +03:00
monty@mashka.mysql.fi
6aa8929cf3 After merge fixes
Added initialization of all important global variables
2003-05-21 21:39:58 +03:00