Commit graph

295 commits

Author SHA1 Message Date
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
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
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
unknown
29898afbdd Item tree iterator
fixed dependence of items from reduced subquery
(SCRUM)


sql/item.cc:
  fixed dependence of items from reduced subquery
sql/item.h:
  fixed dependence of items from reduced subquery
  Item tree iterator
sql/item_cmpfunc.cc:
  Item tree iterator
sql/item_cmpfunc.h:
  Item tree iterator
sql/item_func.cc:
  Item tree iterator
sql/item_func.h:
  Item tree iterator
sql/item_row.cc:
  Item tree iterator
sql/item_row.h:
  Item tree iterator
sql/item_strfunc.h:
  Item tree iterator
sql/item_subselect.cc:
  Item tree iterator
2003-07-02 13:12:18 +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
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
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
unknown
16aaba7060 merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/sql_derived.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.h:
  Auto merged
mysql-test/r/subselect.result:
  merging (wiil be fixed after building)
sql/item_subselect.cc:
  merging
sql/sql_select.cc:
  merging
2003-06-25 23:52:15 +03:00
unknown
23ebb07fbc Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-item-4.1


sql/item.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2003-06-19 15:25:41 +03:00
unknown
a100c0e951 added mem_root switching for subselect if it is necessary
(bug #518 fixed)


mysql-test/r/subselect.result:
  test of bug #518
mysql-test/t/subselect.test:
  test of bug #518
sql/item_subselect.cc:
  test and switch mem_root if it is necessary
  exec() - wrapper around engine->exec() to test and switch mem_root if necessary
sql/item_subselect.h:
  added storing THD for mem_root testinmg & switching
  exec() - wrapper around engine->exec() to test and switch mem_root if necessary
2003-05-28 16:52:56 +03:00
unknown
acda3d79b6 fixed memory overrun (bug 380)
mysql-test/r/func_group.result:
  new tests
mysql-test/t/func_group.test:
  new tests
sql/item.cc:
  count items in select list
sql/item_subselect.cc:
  use number of item in select list for array creation
sql/item_sum.cc:
  with_sum_func now is boolean
sql/sql_derived.cc:
  use number of item in select list for array creation
sql/sql_lex.cc:
  create_refs changed with parsing_place enum variable
sql/sql_lex.h:
  added items in select list counter
  create_refs changed with parsing_place enum variable
  with_sum_func now is boolean
sql/sql_select.cc:
  use number of item in select list for array creation
sql/sql_union.cc:
  use number of item in select list for array creation
sql/sql_yacc.yy:
  create_refs changed with parsing_place enum variable
2003-05-17 10:05:07 +03:00
unknown
c4bc507fdd 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


mysql-test/r/subselect.result:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2003-05-14 22:01:56 +03:00
unknown
a32b868c3b subselect transformation moved in after-fix_field place
removed "of is null" if it is possible
  (this cset should be SCRUM related, but not approved as scrum task yet)


mysql-test/r/subselect.result:
  new subselect test result (new place of error detecting & and more subselect reducing)
sql/item.cc:
  layout fix
sql/item.h:
  unneed ';'
  fixed print pethod
sql/item_cmpfunc.cc:
  new method to support transformation after fix_fields
sql/item_cmpfunc.h:
  new method to support transformation after fix_fields
  fixed Item printing
sql/item_subselect.cc:
  new transformation
sql/item_subselect.h:
  new transformation
sql/sql_derived.cc:
  'table' & 'table_list' now is not union
sql/sql_lex.cc:
  'table' & 'table_list' now is not union to support reinit only shared tables (but all)
sql/sql_lex.h:
  mark fake st_select_lex
sql/sql_olap.cc:
  fixed table assignment
  TODO added
sql/sql_select.cc:
  'table' & 'table_list' now is not union
  transforming subselect
sql/sql_union.cc:
  prepare make on fix_fields
sql/sql_yacc.yy:
  fixed layout
sql/table.h:
  'table & 'table_list' now is different fields
2003-05-14 21:51:33 +03:00
unknown
b96aaea7e1 Removed compiler warnings
Fixed memory leak in new filesort code
Optimzed sub selects to use keys with outer references.
Increased max tables in join to 62


client/Makefile.am:
  Remve test programs
myisam/mi_check.c:
  Remove compiler warnings
myisam/mi_delete.c:
  Remove 'rnd' variable to make usage repeatable
myisam/mi_open.c:
  Remove 'rnd' variable to make usage repeatable
myisam/mi_write.c:
  Remove 'rnd' variable to make usage repeatable
myisam/myisamdef.h:
  Remove 'rnd' variable to make usage repeatable
myisam/myisamlog.c:
  Remove 'rnd' variable to make usage repeatable
mysql-test/r/subselect.result:
  new test
mysql-test/t/join.test:
  Updated test
mysql-test/t/subselect.test:
  new test
sql/filesort.cc:
  Added function to free buffers allocated by filesort
sql/item.cc:
  Sub select optimization
sql/item_cmpfunc.cc:
  Sub select optimization
sql/item_subselect.cc:
  Sub select optimization
sql/item_sum.cc:
  Removed compiler warnings
sql/item_sum.h:
  Simple code cleanup
sql/log.cc:
  Removed compiler warning
sql/mysql_priv.h:
  Made table_map ulonglong to allow 62 tables in join
sql/records.cc:
  Moved free of filesort buffers to own function
sql/sql_select.cc:
  subselect optimization
  Call filesort_free_buffers() to free memory from filesort
sql/unireg.h:
  Sub select optimization
2003-05-06 01:38:38 +03:00
unknown
b9121cdea3 made lex a pointer in THD 2003-05-05 14:54:37 -04:00
unknown
06017a0db0 fixed bug 185 (constant IN (SELECT field ...) do not return NULL correctly)
mysql-test/r/subselect.result:
  new test results
  test of bug 185
mysql-test/t/subselect.test:
  test of bug 185
sql/item.h:
  new method
sql/item_cmpfunc.cc:
  new Item to control NULL value in HAVING clouse
sql/item_cmpfunc.h:
  new Item to control NULL value in HAVING clouse
sql/item_subselect.cc:
  if IN was rewrited through WHERE thien it will be rewrited in following way:
  
  WHERE left_expr=item or is null(item) heving is_not_null_test(item)
sql/item_subselect.h:
  Item_is_not_null_test can change was_null flag
sql/sql_select.cc:
  some layout fix
2003-04-23 00:01:19 +03:00
unknown
9e7b3cde60 Merge
sql/item_subselect.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/subselect.result:
  SCCS merged
mysql-test/t/subselect.test:
  SCCS merged
2003-03-15 14:16:57 +02:00
unknown
6c546f765c Merge sanja.is.com.ua:/home/bell/mysql/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/work-leak-4.1


mysql-test/r/subselect.result:
  Auto merged
sql/item_subselect.cc:
  Auto merged
2003-03-15 11:24:44 +02:00
unknown
395714aa45 Merge sanja.is.com.ua:/home/bell/mysql/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/work-in-4.1


sql/item.h:
  Auto merged
sql/item_subselect.cc:
  Auto merged
2003-03-10 16:38:26 +02:00
unknown
c2ce5116f3 fixed crash on non-well-constructed reference
mysql-test/r/subselect.result:
  test of IN with error
mysql-test/t/subselect.test:
  test of IN with error
2003-03-10 16:38:06 +02:00
unknown
36c2b9ca78 merge fixes
sql/item_subselect.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
2003-03-06 17:31:22 +02:00
unknown
236015ed7a three bug fixes and major code cleanup 2003-03-06 17:02:10 +02:00
unknown
310545adf0 Strings which appear without charset context,
like number-to-string-convertion-result, now 
takes current database character set, instead of
thread character set. This makes it easy to be
SQL99 conformant and 4.0 compatible.

Item->thd_charset() is renamed to Item->default_charset()
as old name doesn't describe its nature anymore.
2003-03-03 10:53:08 +04:00
unknown
cef26176ad fix of illegal usage aggregate functions
mysql-test/r/subselect.result:
  test of illegal aggregate functions
mysql-test/t/subselect.test:
  test of illegal aggregate functions
2003-02-15 00:11:00 +02:00
unknown
96273457dd Move tmp_table_used to THD
Optimize depending sub querys
Remove valgrind warnings


libmysqld/lib_sql.cc:
  Better way to reset errors
mysql-test/mysql-test-run.sh:
  Remove wrong `
mysql-test/r/subselect.result:
  Don't use table t1
mysql-test/t/subselect.test:
  Don't use table t1
sql/item.cc:
  Indentation fix
sql/item.h:
  optimize depending sub querys
sql/item_func.cc:
  Remove warning for uninitalized data
sql/item_row.cc:
  Remove warning
sql/item_strfunc.h:
  Fixed memory overrun
sql/item_subselect.cc:
  Better debugging names
sql/log_event.cc:
  Move tmp_table_used to THD
sql/sql_base.cc:
  Move tmp_table_used to THD
sql/sql_class.cc:
  Move tmp_table_used to THD
sql/sql_class.h:
  Move tmp_table_used to THD
sql/sql_lex.cc:
  Move tmp_table_used to THD
sql/sql_lex.h:
  Move tmp_table_used to THD
sql/sql_parse.cc:
  Move tmp_table_used to THD
sql/sql_select.cc:
  optimize depending sub querys
sql/sql_table.cc:
  Move tmp_table_used to THD
2003-02-10 17:59:16 +02:00
unknown
e1134143e8 after-review changes (577 SCRUM)
sql/item.cc:
  typo fix
sql/item.h:
  typo fix
sql/item_cmpfunc.cc:
  comment
sql/item_func.cc:
  new interface
sql/item_subselect.cc:
  comment inserted
sql/item_sum.cc:
  layout fixed
  comment inserted
sql/mysql_priv.h:
  names changed
sql/sql_base.cc:
  some optimization
sql/sql_delete.cc:
  name changed
sql/sql_insert.cc:
  name changed
sql/sql_lex.h:
  name changed
sql/sql_prepare.cc:
  layout fixed
sql/sql_select.cc:
  layout fixed
  names changed
  comments inserted
  debugging code removed
sql/sql_select.h:
  name changed
sql/sql_union.cc:
  name changed
  layout fixed
sql/sql_update.cc:
  name changed
sql/sql_yacc.yy:
  typo fixed
2003-02-02 23:30:01 +02:00
unknown
c7c45bf28b fixed bug in determinating uncacheable queries
new fatal_error interface to assign is_fatal_error and ne.report_error
commant about Item_row


mysql-test/r/subselect.result:
  test of inheritence of uncacheability
mysql-test/t/subselect.test:
  test of inheritence of uncacheability
sql/item.cc:
  new fatal_error interface to assign is_fatal_error and ne.report_error
sql/item_func.cc:
  new fatal_error interface to assign is_fatal_error and ne.report_error
sql/item_row.cc:
  comment about row
sql/item_subselect.cc:
  new fatal_error interface to assign is_fatal_error and ne.report_error
  (message should be sent by allocate routine
sql/log_event.cc:
  new fatal_error interface to assign is_fatal_error and ne.report_error
sql/mysqld.cc:
  new fatal_error interface to assign is_fatal_error and ne.report_error
sql/protocol.cc:
  new fatal_error interface to assign is_fatal_error and ne.report_error
sql/sql_base.cc:
  new fatal_error interface to assign is_fatal_error and ne.report_error
sql/sql_class.cc:
  new fatal_error interface to assign is_fatal_error and ne.report_error
sql/sql_class.h:
  new fatal_error interface to assign is_fatal_error and ne.report_error
sql/sql_delete.cc:
  new fatal_error interface to assign is_fatal_error and ne.report_error
sql/sql_insert.cc:
  new fatal_error interface to assign is_fatal_error and ne.report_error
sql/sql_lex.h:
  fixed bug in determinating uncacheable queries
sql/sql_parse.cc:
  new fatal_error interface to assign is_fatal_error and ne.report_error
sql/sql_prepare.cc:
  new fatal_error interface to assign is_fatal_error and ne.report_error
sql/sql_select.cc:
  new fatal_error interface to assign is_fatal_error and ne.report_error
sql/sql_show.cc:
  new fatal_error interface to assign is_fatal_error and ne.report_error
sql/sql_union.cc:
  new fatal_error interface to assign is_fatal_error and ne.report_error
sql/sql_update.cc:
  new fatal_error interface to assign is_fatal_error and ne.report_error
sql/thr_malloc.cc:
  new fatal_error interface to assign is_fatal_error and ne.report_error
2003-01-30 22:15:44 +02:00
unknown
a0ddb72d52 cyclic reference test removed, becouse testing of Item::fixed field apply more strict limitation
mysql-test/r/subselect.result:
  test of cyclic reference false alarm
mysql-test/t/subselect.test:
  test of cyclic reference false alarm
2003-01-30 14:35:07 +02:00
unknown
b2ffb29ad7 improving of fields list creation in derived tables and unions
fixed length of fields created in fubselect
fixed resolving fields of reduced in derived table subselect


mysql-test/r/subselect.result:
  test of created with subselect fields
mysql-test/t/subselect.test:
  test of created with subselect fields
sql/item.cc:
  fixed length of fields created in fubselect
  fixed resolving fields of reduced in derived table subselect
sql/item_subselect.cc:
  improving of fields list creation in derived tables and unions
sql/mysql_priv.h:
  improving of fields list creation in derived tables and unions
sql/sql_derived.cc:
  improving of fields list creation in derived tables and unions
sql/sql_lex.h:
  improving of fields list creation in derived tables and unions
sql/sql_parse.cc:
  improving of fields list creation in derived tables and unions
sql/sql_prepare.cc:
  improving of fields list creation in derived tables and unions
sql/sql_select.cc:
  improving of fields list creation in derived tables and unions
sql/sql_select.h:
  improving of fields list creation in derived tables and unions
sql/sql_union.cc:
  improving of fields list creation in derived tables and unions
sql/sql_update.cc:
  improving of fields list creation in derived tables and unions
2003-01-29 19:42:39 +02:00
unknown
ca0d06d599 fixed bugs in temporary tables in subselect implementation (SCRUM)
merging with switching on static tables optimization (SCRUM)
fixed subselects with uncacheable results
added test for fixed bugs from bugreports


mysql-test/r/subselect.result:
  changes in subselect test after switching on static tables optimization
  fixed bug test added
  uncacheable subselects
mysql-test/t/subselect.test:
  changes in subselect test after switching on static tables optimization
  fixed bug test added
  uncacheable subselects
sql/item_create.cc:
  fixed subselects with uncacheable results
sql/item_func.cc:
  fixed subselects with uncacheable results
sql/item_subselect.cc:
  fixed subselects with uncacheable results
  clean up
sql/item_subselect.h:
  fixed subselects with uncacheable results
sql/sql_lex.cc:
  fixed subselects with uncacheable results
sql/sql_lex.h:
  fixed subselects with uncacheable results
sql/sql_select.cc:
  fixed bugs in temporary tables in subselect implementation
  fixed subselects with uncacheable results
sql/sql_union.cc:
  fixed subselects with uncacheable results
sql/sql_yacc.yy:
  fixed subselects with uncacheable results
2003-01-28 14:48:12 +02:00
unknown
a72ebebf5d after merge fix of 577 task (SCRUM, pre commit to be able to merge with static tables optimization fix)
fixed derived tables with subselect inside


mysql-test/r/derived.result:
  test of subselects inside derived tables
mysql-test/t/derived.test:
  test of subselects inside derived tables
mysql-test/t/subselect.test:
  subselect test (not finished)
sql/item.cc:
  after merge fix
sql/item.h:
  after merge fix
sql/item_cmpfunc.h:
  after merge fix
sql/item_subselect.cc:
  after merge fix
sql/item_sum.h:
  after merge fix
sql/mysql_priv.h:
  fixed derived tables with subselect inside
sql/sql_class.h:
  after merge fix
sql/sql_derived.cc:
  fixed derived tables with subselect inside
sql/sql_lex.cc:
  fixed derived tables with subselect inside
sql/sql_lex.h:
  fixed derived tables with subselect inside
sql/sql_parse.cc:
  fixed derived tables with subselect inside
  after merge fix
sql/sql_prepare.cc:
  after merge fix
sql/sql_select.cc:
  after merge fix
  fixed derived tables with subselect inside
2003-01-26 21:30:35 +02:00
unknown
fbd882fca6 merging
sql/item.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_list.h:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_olap.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2003-01-25 13:19:46 +02:00
unknown
b23541339c fixed subselects with temporary tables (SCRUM)
fixed memory leacks


mysql-test/r/subselect.result:
  some changes in subselect tests
mysql-test/t/subselect.test:
  some changes in subselect tests
sql/item.cc:
  some item made copyable
  methods for creating copy of item list
  tmp_table_field() splited
sql/item.h:
  some item made copyable
  methods for creating copy of item list
  tmp_table_field() splited
sql/item_cmpfunc.cc:
  changed references creation
sql/item_cmpfunc.h:
  changed references creation
sql/item_func.cc:
  some item made copyable
  methods for creating copy of item list
  changed references creation
sql/item_func.h:
  some item made copyable
  methods for creating copy of item list
  changed references creation
  tmp_table_field() splited
sql/item_subselect.cc:
  changed references creation
sql/item_sum.cc:
  some item made copyable
  methods for creating copy of item list
sql/item_sum.h:
  some item made copyable
  methods for creating copy of item list
sql/item_timefunc.h:
  tmp_table_field() splited
sql/item_uniq.h:
  some item made copyable
  methods for creating copy of item list
sql/mysql_priv.h:
  fixed subselects with temporary tables
sql/sql_base.cc:
  fixed subselects with temporary tables
sql/sql_class.h:
  fixed subselects with temporary tables
sql/sql_delete.cc:
  fixed subselects with temporary tables
sql/sql_derived.cc:
  fixed subselects with temporary tables
sql/sql_do.cc:
  fixed subselects with temporary tables
sql/sql_insert.cc:
  fixed subselects with temporary tables
sql/sql_lex.cc:
  fixed subselects with temporary tables
sql/sql_lex.h:
  fixed subselects with temporary tables
sql/sql_list.h:
  fixed subselects with temporary tables
sql/sql_load.cc:
  fixed subselects with temporary tables
sql/sql_olap.cc:
  fixed subselects with temporary tables
sql/sql_parse.cc:
  fixed subselects with temporary tables
sql/sql_prepare.cc:
  fixed subselects with temporary tables
sql/sql_select.cc:
  fixed subselects with temporary tables
sql/sql_select.h:
  fixed subselects with temporary tables
sql/sql_table.cc:
  fixed subselects with temporary tables
sql/sql_union.cc:
  fixed subselects with temporary tables
sql/sql_update.cc:
  fixed subselects with temporary tables
sql/sql_yacc.yy:
  fixed subselects with temporary tables
2003-01-25 02:25:52 +02:00
unknown
10e22c346a Portability fixes (for windows)
Some changes to the prepared statement protocol to make it easier to use and faster.


Makefile.am:
  Fix to make dist to work with cmd-line-utils
client/mysql.cc:
  Portability fixes
client/mysqlbinlog.cc:
  Portabiliy fixes and remove usafe of FILE
configure.in:
  Fix to make dist to work with cmd-line-utils
heap/_check.c:
  Portability fixes
include/config-win.h:
  Portability fixes
include/m_ctype.h:
  Indentation cleanup
include/my_list.h:
  Portability fixes
include/mysql.h:
  Cleanup of BIND structure
include/violite.h:
  Portability fixes
innobase/dict/dict0dict.c:
  Portability fixes
innobase/dict/dict0load.c:
  Portability fixes
innobase/include/os0proc.h:
  Portability fixes (Heikki, please check)
innobase/os/os0proc.c:
  Portability fixes (Heikki, please check)
innobase/ut/ut0ut.c:
  Portability fixes
isam/pack_isam.c:
  Portability fixes
libmysql/libmysql.c:
  Portability fixes
  Remove obscure usage of the length parameter for prepared statements.
libmysql/libmysql.def:
  Remove not existing functions
libmysqld/lib_sql.cc:
  Remove compiler warning
mysql-test/r/explain.result:
  Fix after merge
mysql-test/r/join.result:
  Fix after merge
mysys/my_once.c:
  Portability fix
mysys/tree.c:
  Portability fixes
sql/field.cc:
  Portability fixes
sql/filesort.cc:
  move assert.h to mysql_priv.h
sql/ha_berkeley.cc:
  move assert.h to mysql_priv.h
sql/ha_innodb.cc:
  move assert.h to mysql_priv.h
sql/item.cc:
  move assert.h to mysql_priv.h
  Fixed syntax error
sql/item_cmpfunc.cc:
  move assert.h to mysql_priv.h
sql/item_func.cc:
  move assert.h to mysql_priv.h
sql/item_row.cc:
  move assert.h to mysql_priv.h
sql/item_strfunc.cc:
  Portability fix
sql/item_subselect.cc:
  Portability fix
sql/item_sum.cc:
  move assert.h to mysql_priv.h
sql/lex.h:
  Portability fix
sql/lock.cc:
  move assert.h to mysql_priv.h
sql/log.cc:
  move assert.h to mysql_priv.h
sql/log_event.cc:
  Portability fix
sql/mf_iocache.cc:
  move assert.h to mysql_priv.h
sql/mysql_priv.h:
  move assert.h to mysql_priv.h
sql/mysqld.cc:
  move assert.h to mysql_priv.h
sql/opt_range.cc:
  move assert.h to mysql_priv.h
sql/password.c:
  Portability fix
sql/protocol.cc:
  move assert.h to mysql_priv.h
sql/set_var.cc:
  Portability fix
sql/slave.cc:
  move assert.h to mysql_priv.h
sql/spatial.cc:
  Portability fix
sql/sql_acl.cc:
  move assert.h to mysql_priv.h
sql/sql_base.cc:
  move assert.h to mysql_priv.h
sql/sql_cache.cc:
  move assert.h to mysql_priv.h
sql/sql_class.cc:
  move assert.h to mysql_priv.h
sql/sql_handler.cc:
  move assert.h to mysql_priv.h
sql/sql_help.cc:
  Removed compiler warning
sql/sql_lex.cc:
  Portability fix
sql/sql_lex.h:
  Portability fix
sql/sql_parse.cc:
  move assert.h to mysql_priv.h
sql/sql_prepare.cc:
  move assert.h to mysql_priv.h
sql/sql_repl.cc:
  move assert.h to mysql_priv.h
sql/sql_select.cc:
  move assert.h to mysql_priv.h
sql/sql_string.cc:
  Portability fix
sql/sql_string.h:
  Portability fix
sql/sql_table.cc:
  move assert.h to mysql_priv.h
sql/sql_yacc.yy:
  Portability fix
  Remove not accessed code
strings/ctype-bin.c:
  Portability fix
strings/ctype-mb.c:
  Portability fix
strings/ctype.c:
  Portability fix
tests/client_test.c:
  A
2003-01-21 21:07:59 +02:00
unknown
3fe840ee07 post-post-review fix (SCRUM)
sql/item.cc:
  post-post-review fix
sql/item_cmpfunc.h:
  post-post-review fix
sql/item_row.cc:
  post-post-review fix
sql/item_subselect.cc:
  post-post-review fix
2003-01-02 12:24:33 +02:00
unknown
cd248a8d63 postreviews fix (SCRUM related)
reordered Item_row class variables to be sorted by memory size


mysql-test/r/subselect.result:
  fix result of subselect test
sql/item.cc:
  postreviews fix
sql/item.h:
  postreviews fix
sql/item_cmpfunc.h:
  postreviews fix
sql/item_row.cc:
  postreviews fix
sql/item_row.h:
  reordered class variables to be sorted by memory size
  postreviews fix
sql/item_strfunc.cc:
  postreviews fix
sql/item_subselect.cc:
  postreviews fix
2002-12-31 18:39:16 +02:00
unknown
3ab0ddc294 postreview fix (SCRUM)
fixed layout


sql/filesort.cc:
  fixed layout
sql/gstream.cc:
  fixed layout
sql/item.cc:
  postreview fix
sql/item.h:
  postreview fix
sql/item_cmpfunc.cc:
  postreview fix
sql/item_cmpfunc.h:
  fixed layout
sql/item_func.h:
  fixed layout
sql/item_row.h:
  fixed layout
sql/item_strfunc.cc:
  fixed layout
sql/item_subselect.cc:
  postreview fix
sql/item_subselect.h:
  postreview fix
sql/nt_servc.cc:
  fixed layout
sql/opt_range.cc:
  fixed layout
sql/password.c:
  fixed layout
sql/spatial.cc:
  fixed layout
sql/sql_help.cc:
  fixed layout
sql/sql_lex.cc:
  fixed layout
sql/sql_olap.cc:
  fixed layout
sql/sql_select.cc:
  fixed layout
sql/sql_show.cc:
  fixed layout
sql/sql_string.cc:
  fixed layout
sql/sql_table.cc:
  fixed layout
sql/stacktrace.c:
  fixed layout
2002-12-28 01:01:05 +02:00
unknown
7388e9bd5b Merge sanja.is.com.ua:/home/bell/mysql/work-row-4.1
into sanja.is.com.ua:/home/bell/mysql/work-from-4.1


sql/item_subselect.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
2002-12-27 21:36:56 +02:00
unknown
d201a34e8c postreview fix 2002-12-27 21:19:25 +02:00
unknown
1dfa625f7b support of subselect without FROM reducing (SCRUM)
fixed bug of calling setup_fields without correct lex->current_select pointer in mysql_derived
more correct creation of reference in Item_field::fix_field


mysql-test/r/subselect.result:
  new explain with subselect reduced
mysql-test/t/subselect.test:
  new explain with subselect reduced
sql/item.cc:
  support of subselect without FROM reducing
  more correct creation of reference in Item_field::fix_field
sql/item.h:
  support of subselect without FROM reducing
sql/item_cmpfunc.cc:
  support of subselect without FROM reducing
sql/item_cmpfunc.h:
  support of subselect without FROM reducing
sql/item_func.cc:
  support of subselect without FROM reducing
sql/item_func.h:
  support of subselect without FROM reducing
sql/item_row.cc:
  support of subselect without FROM reducing
sql/item_row.h:
  support of subselect without FROM reducing
sql/item_strfunc.h:
  fixed layout
  support of subselect without FROM reducing
sql/item_subselect.cc:
  support of subselect without FROM reducing
sql/item_subselect.h:
  support of subselect without FROM reducing
sql/mysql_priv.h:
  reference in Item_field::fix_field related changes
sql/sql_base.cc:
  reference in Item_field::fix_field related changes
sql/sql_derived.cc:
  fixed bug of calling setup_fields without correct lex->current_select pointer
2002-12-26 01:28:59 +02:00
unknown
0ba620214c more correct argument for translation function (SCRUM related)
fiexd bug in LIMIT check


sql/item_subselect.cc:
  more correct argument for translation function
  fiexd bug in LIMIT check
sql/item_subselect.h:
  more correct argument for translation function
2002-12-25 12:51:08 +02:00
unknown
d765d3f37b check of LIMIT in row IN subquery (SCRUM related)
mysql-test/r/subselect.result:
  test of LIMIT in row IN subquery
mysql-test/t/subselect.test:
  test of LIMIT in row IN subquery
sql/item_subselect.cc:
  check of LIMIT in row IN subquery
2002-12-25 12:03:08 +02:00
unknown
e10a326790 merging
sql/item.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
2002-12-25 11:09:19 +02:00
unknown
23326969a4 LIMIT is prohibited in IN/ALL/ANY/SOME 2002-12-23 18:25:25 +02:00
unknown
a05b0f087c row IN subselects (SCRUM)
mysql-test/r/subselect.result:
  test of row IN subslect
mysql-test/t/subselect.test:
  test of row IN subslect
sql/item.cc:
  New helper Item - reference on item list by number
  cache item for row
sql/item.h:
  layout fixed 
  New helper Item - reference on item list by number
  cache item for row
sql/item_cmpfunc.cc:
  changed Item_in_optimizer to be able work with row
sql/item_cmpfunc.h:
  changed Item_in_optimizer to be able work with row
sql/item_row.cc:
  Fixed row Item to be compatible with row subselect
sql/item_row.h:
  Fixed row Item to be compatible with row subselect
sql/item_subselect.cc:
  changed name of class to corerectly reflex its function
  row IN subselect
sql/item_subselect.h:
  changed name of class to corerectly reflex its function
  row IN subselect
sql/sql_class.cc:
  changed name of class to corerectly reflex its function
sql/sql_class.h:
  changed name of class to corerectly reflex its function
sql/sql_yacc.yy:
  changed name of class to corerectly reflex its function
2002-12-19 21:15:09 +02:00
unknown
900a86f631 Item_in_optimizer is changed to be used with row IN subselect (SCRUM)
removed unused items


sql/item.cc:
  removed unused Items
sql/item.h:
  removed unused Items
sql/item_cmpfunc.cc:
  Item_in_optimizer is changed to be used with row IN subselect
sql/item_cmpfunc.h:
  Item_in_optimizer is changed to be used with row IN subselect
sql/item_subselect.cc:
  Item_in_optimizer is changed to be used with row IN subselect
2002-12-19 13:35:12 +02:00
unknown
86ccbe3727 support of simple row subselects (SCRUM)
mysql-test/r/subselect.result:
  test of simple row subselect
  fixed table droping
mysql-test/t/subselect.test:
  test of simple row subselect
  fixed table dropimg
sql/item.cc:
  Item_cache_str fixed to correctly store NULL and copy string value
sql/item.h:
  Item_cache_str fixed to correctly store NULL and copy string value
sql/item_cmpfunc.cc:
  support of simple row subselects
sql/item_subselect.cc:
  support of simple row subselects
sql/item_subselect.h:
  support of simple row subselects
sql/sql_class.cc:
  support of simple row subselects
2002-12-19 07:38:33 +02:00
unknown
ea4f406baf optimized single value subselect (to be used as row) (SCRUM)
sql/item.h:
  optimized single value subselect (to be used as row)
sql/item_subselect.cc:
  optimized single value subselect (to be used as row)
sql/item_subselect.h:
  optimized single value subselect (to be used as row)
sql/sql_class.cc:
  optimized single value subselect (to be used as row)
2002-12-19 07:38:32 +02:00
unknown
5a9437ac05 merge
mysql-test/r/derived.result:
  Auto merged
mysql-test/r/func_str.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/union.result:
  Auto merged
mysql-test/t/func_str.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/item.h:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_analyse.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2002-12-14 17:49:01 +02:00
unknown
f918dfc8b2 rename of net_pkg.cc to protocol.cc
Class for sending data from server to client (Protocol)
This handles both the old ( <= 4.0 ) protocol and then new binary protocol that is used for prepared statements.


libmysql/libmysql.c:
  Jump over reserved bits in the binary protocol
libmysqld/Makefile.am:
  rename of net_pkg.cc to protocol.cc
mysql-test/r/case.result:
  Fixed previously wrong test
mysql-test/r/cast.result:
  Fixed previously wrong test
sql/Makefile.am:
  Rename of net_pkg.cc to protocol.cc
sql/field.cc:
  Binary protocol
  Added key handling functions for new VARCHAR type
sql/field.h:
  New protocol
sql/ha_berkeley.cc:
  New protocol
sql/ha_berkeley.h:
  New protocol
sql/ha_innodb.cc:
  New protocol
sql/ha_myisam.cc:
  New protocol
sql/item.cc:
  New protocol
sql/item.h:
  New protocol
sql/item_func.cc:
  Removed old code from 3.23
sql/item_func.h:
  Set cached_result_type as it was previosly used before set
sql/item_subselect.cc:
  Standard make_field() is now good enough
sql/item_subselect.h:
  Use default make_field()
sql/item_sum.cc:
  Clean up Item_sum::make_field()
sql/item_sum.h:
  Use standard make_field()
sql/item_timefunc.h:
  return correct types for casts()
  Use standard make_field()
sql/log_event.cc:
  New protocol
sql/log_event.h:
  New protocol
sql/mysql_priv.h:
  Move things to protocol.h
sql/opt_range.cc:
  Indentation cleanups + small optimization
sql/procedure.h:
  Use MYSQL_TYPE instead of FIELD_TYPE
sql/protocol.cc:
  Class for sending data from server to client.
  This handles both the old ( <= 4.0 ) protocol and then new binary protocol that is used for prepared statements.
sql/repl_failsafe.cc:
  New protocol
sql/slave.cc:
  New protocol
sql/sql_acl.cc:
  New protocol
sql/sql_base.cc:
  Move send_fields() to protocol.cc
sql/sql_class.cc:
  New protocol
sql/sql_class.h:
  New protocol
sql/sql_db.cc:
  New protocol
sql/sql_error.cc:
  New protocol
sql/sql_handler.cc:
  New protocol
sql/sql_help.cc:
  New protocol
sql/sql_parse.cc:
  Remove wrong assert (variable was not initalized at this point)
sql/sql_prepare.cc:
  New protocol
sql/sql_repl.cc:
  New protocol
sql/sql_select.cc:
  New protocol
sql/sql_show.cc:
  New protocol
sql/sql_string.h:
  New functions used by the protocol functions
sql/sql_table.cc:
  New protocol
sql/structs.h:
  Make second_part ulong to prepare for ANSI sub-seconds
sql/time.cc:
  New convert function needed by the new protocol functions
2002-12-11 09:17:51 +02:00