1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-16 20:23:18 +03:00
Commit Graph

6771 Commits

Author SHA1 Message Date
serg@serg.mylan
4e22494ebf outer join, impossible on condition, where, and usable key for range
bug#926
2003-07-25 14:32:03 +02:00
unknown
ed8be699fe new optimisation for ref_null (SCRUM) (WL#818)
mysql-test/r/subselect.result:
  results of new optimisation
mysql-test/t/subselect.test:
  results of new optimisation
sql/item_cmpfunc.h:
  function type
sql/item_func.h:
  function type
sql/item_subselect.cc:
  new optimisation for ref_or_null
sql/item_subselect.h:
  new optimisation for ref_or_null
sql/sql_select.cc:
  new optimisation for ref_or_null
sql/sql_select.h:
  item_subselect.cc need safe_index_read
2003-07-17 19:39:31 +03:00
bell@sanja.is.com.ua
7e34954b5e new optimisation for ref_null (SCRUM) (WL#818) 2003-07-17 19:39:31 +03:00
unknown
1a45c83972 Fix for the bug #801: create table t1 select x'41'; doesn't work 2003-07-11 14:17:18 +05:00
ram@mysql.r18.ru
4ca9718375 Fix for the bug #801: create table t1 select x'41'; doesn't work 2003-07-11 14:17:18 +05:00
unknown
2b16d5457b Merging 4.1 into 5.0 (second pass; post-merge fixes).
One test in subselect.test still wrong.
Had to reconstruct all errmsg.txt files completely, since auto-merge made
a mess of the lot. :-(


mysql-test/r/sp-error.result:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
mysql-test/r/subselect.result:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
  One test still wrong (different from 4.1), left for Sanja. :)
mysql-test/r/variables.result:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
mysql-test/t/sp-error.test:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
mysql-test/t/subselect.test:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
  One test still wrong (different from 4.1), left for Sanja :)
scripts/mysql_create_system_tables.sh:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/item.cc:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/item_cmpfunc.cc:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/item_subselect.cc:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/item_sum.cc:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/mysql_priv.h:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/mysqld.cc:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/share/danish/errmsg.txt:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/share/dutch/errmsg.txt:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/share/english/errmsg.txt:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/share/estonian/errmsg.txt:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/share/french/errmsg.txt:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/share/german/errmsg.txt:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/share/greek/errmsg.txt:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/share/hungarian/errmsg.txt:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/share/italian/errmsg.txt:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/share/japanese/errmsg.txt:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/share/korean/errmsg.txt:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/share/norwegian-ny/errmsg.txt:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/share/norwegian/errmsg.txt:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/share/polish/errmsg.txt:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/share/portuguese/errmsg.txt:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/share/russian/errmsg.txt:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/share/serbian/errmsg.txt:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/share/slovak/errmsg.txt:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/share/spanish/errmsg.txt:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/share/swedish/errmsg.txt:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/share/ukrainian/errmsg.txt:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/sp.cc:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/sql_base.cc:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/sql_cache.cc:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/sql_insert.cc:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/sql_parse.cc:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/sql_select.cc:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
sql/sql_update.cc:
  Merging 4.1 into 5.0 (second pass; post-merge fixes).
2003-07-09 17:07:12 +02:00
pem@mysql.telia.com
a8a29a39d2 Merging 4.1 into 5.0 (second pass; post-merge fixes).
One test in subselect.test still wrong.
Had to reconstruct all errmsg.txt files completely, since auto-merge made
a mess of the lot. :-(
2003-07-09 17:07:12 +02:00
unknown
d6b336359a Merge 4.1 into 5.0 (first pass).
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
BitKeeper/deleted/.del-cron-build:
  Delete: netware/BUILD/cron-build
BitKeeper/deleted/.del-crontab:
  Delete: netware/BUILD/crontab
BitKeeper/triggers/post-commit:
  Auto merged
client/mysql.cc:
  Auto merged
client/mysqltest.c:
  Auto merged
configure.in:
  Auto merged
include/my_global.h:
  Auto merged
include/my_pthread.h:
  Auto merged
include/mysql_com.h:
  Auto merged
libmysqld/Makefile.am:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/myisamchk.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
myisam/sort.c:
  Auto merged
mysql-test/r/connect.result:
  Auto merged
mysql-test/r/rpl_temporary.result:
  Auto merged
mysql-test/r/show_check.result:
  Auto merged
mysql-test/r/variables.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
mysql-test/t/variables.test:
  Auto merged
netware/BUILD/compile-AUTOTOOLS:
  Auto merged
netware/BUILD/compile-linux-tools:
  Auto merged
netware/BUILD/compile-netware-END:
  Auto merged
netware/BUILD/compile-netware-START:
  Auto merged
netware/BUILD/compile-netware-all:
  Auto merged
netware/BUILD/compile-netware-debug:
  Auto merged
netware/BUILD/compile-netware-standard:
  Auto merged
netware/BUILD/mwasmnlm:
  Auto merged
netware/BUILD/mwccnlm:
  Auto merged
netware/BUILD/mwldnlm:
  Auto merged
netware/BUILD/nwbootstrap:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/records.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_derived.cc:
  Auto merged
sql/sql_error.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
2003-07-08 17:50:23 +02:00
pem@mysql.telia.com
9c3a7a6ba3 Merge 4.1 into 5.0 (first pass). 2003-07-08 17:50:23 +02:00
unknown
210c4aba95 new IN subquery engine added for simple IN with non-primary index but without NULL returning
(SCRUM) (part of WL#818)


mysql-test/r/subselect.result:
  test of new engine
mysql-test/t/subselect.test:
  test of new engine
sql/item_subselect.cc:
  new engine added
  some common operation moved in separate method
sql/item_subselect.h:
  new engine added
  some common operation moved in separate method
sql/sql_select.cc:
  new engine added
  some common operation moved in separate method
sql/sql_select.h:
  some common operation moved in separate method
2003-07-08 00:08:00 +03:00
bell@sanja.is.com.ua
8279740af4 new IN subquery engine added for simple IN with non-primary index but without NULL returning
(SCRUM) (part of WL#818)
2003-07-08 00:08:00 +03:00
unknown
a4c3f0d727 finally proper recursive descent for parsing expressions with MATCH ... AGAINST in add_ft_keys() 2003-07-07 19:02:58 +02:00
serg@serg.mylan
bbe08e4a03 finally proper recursive descent for parsing expressions with MATCH ... AGAINST in add_ft_keys() 2003-07-07 19:02:58 +02:00
unknown
f2ad6ba433 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


mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
2003-07-07 18:51:14 +03:00
bell@sanja.is.com.ua
acece34bce 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-07 18:51:14 +03:00
unknown
134cc54e80 merge
sql/sql_select.cc:
  Auto merged
2003-07-07 18:49:54 +03:00
bell@sanja.is.com.ua
5c836428eb merge 2003-07-07 18:49:54 +03:00
unknown
923dba86b1 Optimisation if simple IN subselect with primary index
(SCRUM) (part of WL#818)


mysql-test/r/subselect.result:
  test of new optimisation
mysql-test/t/subselect.test:
  test of new optimisation
sql/item_subselect.cc:
  new engine for simple IN with primary index
sql/item_subselect.h:
  new engine for simple IN with primary index
sql/sql_lex.h:
  fixed typo
sql/sql_select.cc:
  engine changing
  report_error can't be static, because it used in new engine
sql/sql_select.h:
  new JT_ type (just for information in EXPLAIN statement)
  report_error can't be static, because it used in new engine
2003-07-07 18:40:19 +03:00
bell@sanja.is.com.ua
6348e63f62 Optimisation if simple IN subselect with primary index
(SCRUM) (part of WL#818)
2003-07-07 18:40:19 +03:00
unknown
7ff9378a34 correct (finally) condition for MATCH >0, >=0 etc in add_ft_keys (SW#1647)
still no rec. descent
2003-07-07 16:45:19 +02:00
serg@serg.mylan
ec1aca5c52 correct (finally) condition for MATCH >0, >=0 etc in add_ft_keys (SW#1647)
still no rec. descent
2003-07-07 16:45:19 +02:00
unknown
2cd6d8ec6b merge
mysql-test/t/subselect.test:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2003-07-07 10:30:52 +03:00
bell@sanja.is.com.ua
7ad5331768 merge 2003-07-07 10:30:52 +03:00
unknown
51b26a4d3f fixed subselect with to temporary tables executing
(now it return correct results. Test was commited before, but it is not pushed,
BUG# is not registered, because bug was introduced after release)


sql/sql_select.cc:
  fixed subselect with to temporary tables executing
sql/sql_select.h:
  fixed subselect with to temporary tables executing
2003-07-07 00:45:51 +03:00
bell@sanja.is.com.ua
bfc70eb9c9 fixed subselect with to temporary tables executing
(now it return correct results. Test was commited before, but it is not pushed,
BUG# is not registered, because bug was introduced after release)
2003-07-07 00:45:51 +03:00
unknown
a6943f9988 avoiding of allocating JOIN structure on every UNION executing
(SCRUM)


sql/sql_select.cc:
  support of fake_select_lex join clean
  removed compiler warning
sql/sql_select.h:
  JOIN clean for fake_select_lex
sql/sql_union.cc:
  avoiding of allocating JOIN structure on every UNION executing
2003-07-05 17:21:39 +03:00
bell@sanja.is.com.ua
7b450a4fda avoiding of allocating JOIN structure on every UNION executing
(SCRUM)
2003-07-05 17:21:39 +03:00
unknown
929a4783f1 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-alloc_group-4.1


mysql-test/t/subselect.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
2003-07-05 00:10:51 +03:00
bell@sanja.is.com.ua
f9936c61f7 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-alloc_group-4.1
2003-07-05 00:10:51 +03:00
unknown
2848b0bed9 merge + order by (bug #515) temporary fix
properly fixed in 4.1
2003-07-04 14:42:57 +02:00
serg@serg.mylan
6a40b8e889 merge + order by (bug #515) temporary fix
properly fixed in 4.1
2003-07-04 14:42:57 +02:00
unknown
5621263a5c fixed typo in previous fix 2003-07-03 15:25:00 +03:00
bell@sanja.is.com.ua
0f0a0f95ad fixed typo in previous fix 2003-07-03 15:25:00 +03:00
unknown
31fa66ffe2 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-4.1


sql/sql_select.cc:
  Auto merged
2003-07-03 14:13:47 +03:00
bell@sanja.is.com.ua
7f29814769 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-4.1
2003-07-03 14:13:47 +03:00
unknown
7c16b86213 after review fix 2003-07-03 14:11:08 +03:00
bell@sanja.is.com.ua
9ef453c74b after review fix 2003-07-03 14:11:08 +03:00
unknown
01eb6a4a22 merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2003-07-03 11:59:57 +03:00
bell@sanja.is.com.ua
73fdf52fa2 merged 2003-07-03 11:59:57 +03:00
unknown
d433fe5580 Proposed bugfix for #717
Current table is placed into read_tables set of the current join_tab->select
so get_mm_parts function thinks that current table's record is read and
tries to calculate WHERE condition with the fields of the record.
Result of these calculations is unpredictable.
Looks funny - outcome of the SELECT depends on the queries executed before.

Anyway i think we should have testcase on this part of the code.


mysql-test/r/sel000001.result:
  appropriate result added
mysql-test/t/sel000001.test:
  testcase added
sql/sql_select.cc:
  I think we should count current table out of read_tables set
2003-07-03 10:42:13 +05:00
hf@deer.(none)
0cdf7f39af Proposed bugfix for #717
Current table is placed into read_tables set of the current join_tab->select
so get_mm_parts function thinks that current table's record is read and
tries to calculate WHERE condition with the fields of the record.
Result of these calculations is unpredictable.
Looks funny - outcome of the SELECT depends on the queries executed before.

Anyway i think we should have testcase on this part of the code.
2003-07-03 10:42:13 +05:00
unknown
69be8b9d64 (SCRUM)
It looks like samll revolution in SELECT_LEX tree, but it was only natural way to solve problem with name resolution of external fields inside subselect which belongs to global order of union
also it have following advantages:
 - removed mess with current_select type conversion
   - type checking/converting
   - a lot of virtual methods
 - fake select for union execution allocated only once (it was allocated for every subselect with union executing)

changes:
fixed bug with outer fields name resolution of subqueries which belong to global ORDER BY clause
remuved select_lex() function, now thd->lex.current_select always have type SELECT_LEX
new SELECT_LEX (fake_select_lex) will be allocated in case of UNION for using in UNION processing
fake_select_lex allocated for union hold global ORDER BY & LIMIT clauses and have linkage equal to GLOBAL_OPTIONS_TYPE 
new description of SELECT_LEX tree

(SCRUM)


sql/item.cc:
  global parameters moved to fake_select_lex
sql/item_subselect.cc:
  global parameters moved to fake_select_lex
sql/item_sum.cc:
  no need type checking & converion now
sql/sql_delete.cc:
  no need type checking & converion now
sql/sql_derived.cc:
  global parameters moved to fake_select_lex
sql/sql_lex.cc:
  not used fields/mrthods moved from st_select_lex_node to st_select_lex
  global parameters moved to fake_select_lex
sql/sql_lex.h:
  comments about new tree of select_lex s
  not used fields/mrthods moved from st_select_lex_node to st_select_lex
  global parameters moved to fake_select_lex
sql/sql_parse.cc:
  global parameters moved to fake_select_lex
  allocation of fake_select_lex on demand
sql/sql_select.cc:
  now fake_select_lex marked as GLOBAL_OPTIONS_TYPE
sql/sql_union.cc:
  global parameters moved to fake_select_lex
sql/sql_yacc.yy:
  global parameters moved to fake_select_lex
2003-07-03 02:30:52 +03:00
bell@sanja.is.com.ua
28207ede02 (SCRUM)
It looks like samll revolution in SELECT_LEX tree, but it was only natural way to solve problem with name resolution of external fields inside subselect which belongs to global order of union
also it have following advantages:
 - removed mess with current_select type conversion
   - type checking/converting
   - a lot of virtual methods
 - fake select for union execution allocated only once (it was allocated for every subselect with union executing)

changes:
fixed bug with outer fields name resolution of subqueries which belong to global ORDER BY clause
remuved select_lex() function, now thd->lex.current_select always have type SELECT_LEX
new SELECT_LEX (fake_select_lex) will be allocated in case of UNION for using in UNION processing
fake_select_lex allocated for union hold global ORDER BY & LIMIT clauses and have linkage equal to GLOBAL_OPTIONS_TYPE 
new description of SELECT_LEX tree

(SCRUM)
2003-07-03 02:30:52 +03:00
unknown
585cec0564 after review changes (SCRUM)
removed outer resolving flag (because of movingtransformation after fix_fields)


sql/item.cc:
  removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item.h:
  removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_cmpfunc.cc:
  removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_cmpfunc.h:
  removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_func.cc:
  removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_func.h:
  removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_row.cc:
  removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_row.h:
  removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_strfunc.h:
  removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_subselect.cc:
  after review changes
  removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_subselect.h:
  after review changes
  removed outer resolving flag (because of movingtransformation after fix_fields)
sql/mysql_priv.h:
  after review changes
sql/sql_base.cc:
  after review changes
sql/sql_lex.cc:
  after review changes
sql/sql_lex.h:
  after review changes
sql/sql_select.cc:
  after review changes
sql/sql_union.cc:
  after review changes
2003-07-02 01:45:22 +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
unknown
65d7980556 merge changes
mysql-test/r/insert_select.result:
  Auto merged
mysql-test/t/insert_select.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
2003-07-02 00:26:23 +03:00
Sinisa@sinisa.nasamreza.org
b7644c9212 merge changes 2003-07-02 00:26:23 +03:00
unknown
12d879c912 Lot's of clean-ups and fixes for 4.0.14.
include/my_global.h:
  CONFIG_SMP
mysql-test/r/grant.result:
  Test cases for bug fixes
mysql-test/r/insert_select.result:
  Test cases for bug fixes
mysql-test/r/union.result:
  Test cases for bug fixes
mysql-test/t/grant.test:
  Test cases for bug fixes
mysql-test/t/insert_select.test:
  Test cases for bug fixes
mysql-test/t/union.test:
  Test cases for bug fixes
sql/sql_acl.cc:
  Fix for granting global privileges on db level
sql/sql_parse.cc:
  Fix for INSERT... SELECT
sql/sql_select.cc:
  removing a fix
sql/sql_union.cc:
  P
2003-07-02 00:10:47 +03:00
Sinisa@sinisa.nasamreza.org
c1660e1a23 Lot's of clean-ups and fixes for 4.0.14. 2003-07-02 00:10:47 +03:00
unknown
54313be5e3 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-alloc_group-4.1


mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
2003-07-01 19:48:31 +03:00