1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-15 09:02:33 +03:00
Commit Graph

7139 Commits

Author SHA1 Message Date
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
bell@sanja.is.com.ua
b6f39d22e5 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-01 19:48:31 +03:00
unknown
4354fcd6ab Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-err-4.1


mysql-test/r/subselect.result:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2003-07-01 19:05:31 +03:00
bell@sanja.is.com.ua
5b3594a80c Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-err-4.1
2003-07-01 19:05:31 +03:00
unknown
c672b5d04b merge
acinclude.m4:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
scripts/mysql_create_system_tables.sh:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2003-07-01 15:57:45 +03:00
monty@mashka.mysql.fi
baf9baba2a merge 2003-07-01 15:57:45 +03:00
unknown
5a3c12effb Merge with 3.23 tree to get latest bug fixes
BitKeeper/etc/logging_ok:
  auto-union
sql/item_func.cc:
  Auto merged
mysql-test/t/user_var.test:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/nt_servc.cc:
  Auto merged
configure.in:
  Use local version
innobase/os/os0file.c:
  Use local version
innobase/page/page0page.c:
  Use local version
innobase/row/row0sel.c:
  Use local version
innobase/row/row0vers.c:
  Use local version
mysql-test/r/order_by.result:
  Use local version
mysql-test/r/user_var.result:
  merge with 3.23
mysql-test/t/order_by.test:
  Use local version (test is already in range.test)
sql/log.cc:
  Use local version
sql/share/spanish/errmsg.txt:
  merge
sql/slave.cc:
  Use local version
sql/sql_class.h:
  Use local version
sql/sql_select.cc:
  Use patch in 4.0 for range with NULL problem
2003-07-01 15:02:16 +03:00
monty@mashka.mysql.fi
ca2913a07e Merge with 3.23 tree to get latest bug fixes 2003-07-01 15:02:16 +03:00
unknown
2f8f8fabb1 merge
sql/sql_select.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
2003-07-01 13:57:46 +03:00
bell@sanja.is.com.ua
791ae8d34d merge 2003-07-01 13:57:46 +03:00
unknown
0fe578f52a Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mashka.mysql.fi:/home/my/mysql-4.0


sql/item_strfunc.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2003-07-01 13:30:55 +03:00
monty@mashka.mysql.fi
5dab55de73 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mashka.mysql.fi:/home/my/mysql-4.0
2003-07-01 13:30:55 +03:00
unknown
8db5021725 merged
sql/item_subselect.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
2003-07-01 10:03:20 +03:00
bell@sanja.is.com.ua
f1353c1dda merged 2003-07-01 10:03:20 +03:00
unknown
d0dc9e7db3 Remove FORCE_INIT_OF_VARS when compiling for valgrind/purify to spot wrong LINT_INIT() options
Fixed bug in ALTER TABLE ... MODIFY integer-column
Added ref_or_null optimization (needed for subqueries)


BUILD/compile-pentium-valgrind-max:
  Remove FORCE_INIT_OF_VARS to spot wrong LINT_INIT() options
mysql-test/r/distinct.result:
  Update of test results (new optimizer)
mysql-test/r/null_key.result:
  Update after ref_or_null optimization
mysql-test/r/subselect.result:
  Update after ref_or_null optimization
mysql-test/t/null_key.test:
  New tests for ref_or_null optimization
sql/sql_select.cc:
  Added ref_or_null optimization
  Optimized find_best_combinations() and read-functions
sql/sql_select.h:
  Added ref_or_null optimization
sql/sql_yacc.yy:
  Fixed bug in ALTER TABLE ... MODIFY integer-column
sql/table.cc:
  Safety fix for ALTER TABLE .. MODIFY
sql/unireg.cc:
  Safety fix for ALTER TABLE .. MODIFY
2003-06-30 13:23:54 +03:00
monty@mashka.mysql.fi
dbebed97e4 Remove FORCE_INIT_OF_VARS when compiling for valgrind/purify to spot wrong LINT_INIT() options
Fixed bug in ALTER TABLE ... MODIFY integer-column
Added ref_or_null optimization (needed for subqueries)
2003-06-30 13:23:54 +03:00
unknown
438d04f925 Merge
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/sql_lex.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/sql_lex.h:
  SCCS merged
2003-06-30 13:14:18 +03:00
bell@sanja.is.com.ua
100a101ab6 Merge 2003-06-30 13:14:18 +03:00
unknown
caddb5ea53 Fixed 'Unknown error' when doing ORDER BY on reference table which
was used with NULL value on NOT NULL column. (Bug #479)


mysql-test/r/order_by.result:
  Update of results
mysql-test/t/order_by.test:
  Test of new code
sql/sql_select.cc:
  Fixed problem with lookup on NULL
2003-06-29 21:15:51 +03:00
monty@mashka.mysql.fi
730776c452 Fixed 'Unknown error' when doing ORDER BY on reference table which
was used with NULL value on NOT NULL column. (Bug #479)
2003-06-29 21:15:51 +03:00
unknown
b871e549ee merged
sql/item_cmpfunc.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
2003-06-29 15:35:48 +03:00
bell@sanja.is.com.ua
7c799b17b6 merged 2003-06-29 15:35:48 +03:00
unknown
be9af553fb Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-cset-4.1


sql/sql_select.cc:
  Auto merged
2003-06-28 13:43:18 +03:00
bell@sanja.is.com.ua
a101fc9e79 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-cset-4.1
2003-06-28 13:43:18 +03:00
unknown
dfdb1e831b after review patch 2003-06-27 23:00:33 +03:00
bell@sanja.is.com.ua
95fbec7599 after review patch 2003-06-27 23:00:33 +03:00
unknown
c1ea9f5d05 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-order-4.1


sql/sql_select.cc:
  Auto merged
2003-06-27 22:19:14 +03:00
bell@sanja.is.com.ua
1c2191e2cc Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-order-4.1
2003-06-27 22:19:14 +03:00
unknown
c2cb9b97be Added thread variable max_seeks_for_key
Change optimizer to prefer key lookups before table scan
Change table scans to be done after tables with constrains on scanned table 


mysql-test/r/distinct.result:
  Update results
mysql-test/r/group_by.result:
  Update results
mysql-test/r/heap.result:
  Update results
mysql-test/r/join.result:
  Update results
mysql-test/r/key_diff.result:
  Update results
mysql-test/r/myisam.result:
  Update results
mysql-test/r/order_by.result:
  Update results
mysql-test/r/select_safe.result:
  Update results
mysql-test/t/distinct.test:
  Change test to be repeatable
mysql-test/t/join.test:
  Change test to be repeatable
mysql-test/t/select_safe.test:
  Add tests for MAX_SEEKS_FOR_KEY
sql/handler.h:
  Optimize structure for 64 bit machines (and to avoid problems with gdb)
sql/item_cmpfunc.cc:
  Initialize not_null_tables_cache properly
sql/mysqld.cc:
  Added max_seeks_for_key
sql/set_var.cc:
  Added max_seeks_for_key
sql/sql_class.h:
  Added max_seeks_for_key
sql/sql_select.cc:
  Added max_seeks_for_key
  Change optimizer to prefer key lookups before table scan.
  Change table scans to be done after tables with constrains on scanned table
2003-06-27 03:04:54 +03:00
monty@mashka.mysql.fi
34919a03c4 Added thread variable max_seeks_for_key
Change optimizer to prefer key lookups before table scan
Change table scans to be done after tables with constrains on scanned table
2003-06-27 03:04:54 +03:00
unknown
662506e093 Merge sanja.is.com.ua:/home/bell/mysql/bk/work-cond_count-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-top2-4.1


mysql-test/r/subselect.result:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
2003-06-26 11:31:13 +03:00
bell@sanja.is.com.ua
e8b1e21615 Merge sanja.is.com.ua:/home/bell/mysql/bk/work-cond_count-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-top2-4.1
2003-06-26 11:31:13 +03:00
unknown
54cd790bf3 cond_count moved to SELECT_LEX_NODE
fixed BUG #726


mysql-test/r/subselect.result:
  test of bug #726
mysql-test/t/subselect.test:
  test of bug #726
sql/item_cmpfunc.cc:
  cond_count moved to SELECT_LEX_NODE
sql/item_subselect.cc:
  fixed current_select pointer
sql/sql_base.cc:
  cond_count moved to SELECT_LEX_NODE
sql/sql_class.cc:
  cond_count moved to SELECT_LEX_NODE
sql/sql_class.h:
  cond_count moved to SELECT_LEX_NODE
sql/sql_lex.cc:
  cond_count moved to SELECT_LEX_NODE
sql/sql_lex.h:
  cond_count moved to SELECT_LEX_NODE
sql/sql_select.cc:
  cond_count moved to SELECT_LEX_NODE
2003-06-26 11:09:11 +03:00