1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-18 07:48:43 +03:00
Commit Graph

6771 Commits

Author SHA1 Message Date
timour@mysql.com
a247282aa6 Implementation of WL#2486 -
"Process NATURAL and USING joins according to SQL:2003".

* Some of the main problems fixed by the patch:
  - in "select *" queries the * expanded correctly according to
    ANSI for arbitrary natural/using joins
  - natural/using joins are correctly transformed into JOIN ... ON
    for any number/nesting of the joins.
  - column references are correctly resolved against natural joins
    of any nesting and combined with arbitrary other joins.

* This patch also contains a fix for name resolution of items
  inside the ON condition of JOIN ... ON - in this case items must
  be resolved only against the JOIN operands. To support such
  'local' name resolution, the patch introduces a stack of
  name resolution contexts used at parse time.

NOTICE:
- This patch is not complete in the sense that
  - there are 2 test cases that still do not pass -
    one in join.test, one in select.test. Both are marked
    with a comment "TODO: WL#2486".
  - it does not include a new test specific for the task
2005-08-12 17:57:19 +03:00
unknown
d6c3d655b8 Fixes during review of new pushed code
Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong


sql/ha_berkeley.cc:
  Removed not used variable (and options)
sql/ha_berkeley.h:
  Removed not used argument
sql/ha_ndbcluster.cc:
  Remove compiler warning
sql/init.cc:
  Simplify code
sql/item_sum.cc:
  Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong
sql/mysql_priv.h:
  Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong
sql/mysqld.cc:
  Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong
sql/sql_class.h:
  Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong
sql/sql_delete.cc:
  Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong
sql/sql_derived.cc:
  Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong
sql/sql_lex.h:
  Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong
sql/sql_parse.cc:
  Indentation fixes
sql/sql_select.cc:
  Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong
sql/sql_select.h:
  Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong
sql/sql_show.cc:
  Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong
sql/sql_union.cc:
  Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong
sql/sql_update.cc:
  Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong
sql/sql_yacc.yy:
  Changed variable name i to more descriptive name
  Removed compiler warning
2005-08-12 13:54:42 +03:00
monty@mysql.com
4c0d23e156 Fixes during review of new pushed code
Removed duplicate usage of TMP_TABLE_FORCE_MYISAM by making 'options' longlong
2005-08-12 13:54:42 +03:00
unknown
8e9f6b1950 A fix for Bug#11901 "mysql_stmt_attr_set CURSOR_TYPE_READ_ONLY join in
subqry order by server crash": failing DBUG_ASSERT(curr_join == this)
when opening a cursor.
Ensure that for top-level join curr_join == join (always), 
and thus fix the failing assert.
curr_join is a hack to ensure that uncacheable subqueries can be
re-evaluated safely, and should be never different from main join
in case of top-level join.


sql/sql_select.cc:
  - utilize tmp_join only if we evaluate an uncacheable subquery.
sql/sql_select.h:
  - implement JOIN::is_top_level_join()
tests/mysql_client_test.c:
  A test case for Bug#11901 "mysql_stmt_attr_set CURSOR_TYPE_READ_ONLY
   join in subqry order by server crash"
2005-08-10 12:25:26 +04:00
konstantin@mysql.com
f6306a8db1 A fix for Bug#11901 "mysql_stmt_attr_set CURSOR_TYPE_READ_ONLY join in
subqry order by server crash": failing DBUG_ASSERT(curr_join == this)
when opening a cursor.
Ensure that for top-level join curr_join == join (always), 
and thus fix the failing assert.
curr_join is a hack to ensure that uncacheable subqueries can be
re-evaluated safely, and should be never different from main join
in case of top-level join.
2005-08-10 12:25:26 +04:00
unknown
97988099eb Review of new pushed code
- Fixed some error condtion when handling dates with 'T'
- Added extra test for bug #11867 (Wrong result with "... WHERE ROW( a, b ) IN ( SELECT DISTINCT a, b WHERE ...)" to show it's not yet fixed
- Safety fixes and cleanups


mysql-test/r/subselect.result:
  Added extra test case to test case for bug #11867
  (Result shows that current code is not yet right and needs to be fixed)
mysql-test/r/type_datetime.result:
  More tests for dates of type CCYYMMDDTHHMMSS
mysql-test/t/subselect.test:
  Added extra test case to test case for bug #11867
mysql-test/t/type_datetime.test:
  More tests for dates of type CCYYMMDDTHHMMSS
sql-common/my_time.c:
  Fixed handling of dates of type CCYYMMDDTHHMMSS
  (Old code couldn't handle 2003-0304 or 2003-0003-02)
sql/slave.cc:
  Indentation cleanup
sql/sql_parse.cc:
  Added test of return value of get_system_var()
sql/sql_select.cc:
  Removed unnecessary call to field->table->maybe_null
sql/sql_union.cc:
  Indentation fixes
2005-08-09 00:13:49 +03:00
monty@mysql.com
99cb083549 Review of new pushed code
- Fixed some error condtion when handling dates with 'T'
- Added extra test for bug #11867 (Wrong result with "... WHERE ROW( a, b ) IN ( SELECT DISTINCT a, b WHERE ...)" to show it's not yet fixed
- Safety fixes and cleanups
2005-08-09 00:13:49 +03:00
unknown
9e3e0c87bb Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/kostja/mysql/mysql-5.0-11909


sql/sql_select.cc:
  Auto merged
2005-08-08 19:26:19 +04:00
konstantin@mysql.com
78482b2616 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/kostja/mysql/mysql-5.0-11909
2005-08-08 19:26:19 +04:00
unknown
76a280f180 A fix and a test case for Bug#11909 "mysql_stmt_attr_set
CURSOR_TYPE_READ_ONLY nested queries corrupt result"


sql/sql_prepare.cc:
  If there is a cursor, use its protocol for fetch: 
  Protocol instances have a state and thd->protocol_prep can't
  be used for multiple cursors.
sql/sql_select.cc:
  - init Cursor::protocol
sql/sql_select.h:
  - add Cursor::protocol
tests/mysql_client_test.c:
  A test case for Bug#11909 "mysql_stmt_attr_set CURSOR_TYPE_READ_ONLY
   nested queries corrupt result"
2005-08-08 19:24:56 +04:00
konstantin@mysql.com
043f77ccdf A fix and a test case for Bug#11909 "mysql_stmt_attr_set
CURSOR_TYPE_READ_ONLY nested queries corrupt result"
2005-08-08 19:24:56 +04:00
unknown
630a23ba00 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/psergey/mysql-5.0-bug12082


sql/sql_select.cc:
  Auto merged
2005-08-08 14:04:09 +00:00
sergefp@mysql.com
8e09db01ad Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/psergey/mysql-5.0-bug12082
2005-08-08 14:04:09 +00:00
unknown
7ca7da411e Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/psergey/mysql-5.0-bug11869-part3


BitKeeper/deleted/.del-not_windows.inc:
  Auto merged
mysql-test/r/create.result:
  Auto merged
mysql-test/r/query_cache.result:
  Auto merged
mysql-test/r/type_datetime.result:
  Auto merged
mysql-test/t/query_cache.test:
  Auto merged
mysql-test/t/rpl_flush_tables.test:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
2005-08-07 21:32:26 +00:00
sergefp@mysql.com
65566e449d Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/psergey/mysql-5.0-bug11869-part3
2005-08-07 21:32:26 +00:00
unknown
d7086c4a0c BUG#11869:part 2: post-review fixes: merging into 5.0
We're out of bits in st_select_lex->options so make TMP_TABLE_FORCE_MYISAM ==
OPTION_FOUND_COMMENT (the latter is not used by create_tmp_table).


mysql-test/r/create.result:
  Updated the test result
mysql-test/r/fulltext_order_by.result:
  Drop all tables this test uses
mysql-test/t/fulltext_order_by.test:
  Drop all tables this test uses
2005-08-07 21:21:30 +00:00
sergefp@mysql.com
d9ce6e8f25 BUG#11869:part 2: post-review fixes: merging into 5.0
We're out of bits in st_select_lex->options so make TMP_TABLE_FORCE_MYISAM ==
OPTION_FOUND_COMMENT (the latter is not used by create_tmp_table).
2005-08-07 21:21:30 +00:00
unknown
f3ce475dce Manual merge
mysql-test/t/fulltext_order_by.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
2005-08-07 11:03:54 +00:00
sergefp@mysql.com
c3bac658be Manual merge 2005-08-07 11:03:54 +00:00
unknown
852dcb7597 BUG#11869 (cont'd, eliminating "table type doesn't support FULLTEXT" error):
When creating temporary table for UNION, pass TMP_TABLE_FORCE_MYISAM flag to 
create_tmp_table if we will be using fulltext function(s) when reading from the 
temp. table.


mysql-test/r/fulltext_order_by.result:
  Testcase for BUG#11869 (cont'd, eliminating "table type doesn't support FULLTEXT" error)
mysql-test/t/fulltext_order_by.test:
  Testcase for BUG#11869 (cont'd, eliminating "table type doesn't support FULLTEXT" error)
sql/mysql_priv.h:
  BUG#11869 (cont'd, eliminating "table type doesn't support FULLTEXT" error):
  Added TMP_TABLE_FORCE_MYISAM flag
sql/sql_select.cc:
  BUG#11869 (cont'd, eliminating "table type doesn't support FULLTEXT" error):
  In create_tmp_table(), honor the TMP_TABLE_FORCE_MYISAM flag
2005-08-06 21:08:28 +00:00
sergefp@mysql.com
5e9545d4c4 BUG#11869 (cont'd, eliminating "table type doesn't support FULLTEXT" error):
When creating temporary table for UNION, pass TMP_TABLE_FORCE_MYISAM flag to 
create_tmp_table if we will be using fulltext function(s) when reading from the 
temp. table.
2005-08-06 21:08:28 +00:00
unknown
aca6f88ebb Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.0
into  c-8b0ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/mysql-5.1


BitKeeper/etc/config:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/information_schema_db.result:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
mysys/default.c:
  Auto merged
scripts/Makefile.am:
  Auto merged
scripts/mysql_create_system_tables.sh:
  Auto merged
scripts/mysql_fix_privilege_tables.sql:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/ha_federated.cc:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_innodb.h:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/lock.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/slave.cc:
  Auto merged
sql/slave.h:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/table.cc:
  Auto merged
sql/table.h:
  Auto merged
sql/tztime.cc:
  Auto merged
sql/unireg.cc:
  Auto merged
storage/innobase/buf/buf0buf.c:
  Auto merged
storage/innobase/include/os0file.h:
  Auto merged
storage/innobase/include/read0read.h:
  Auto merged
storage/innobase/include/read0types.h:
  Auto merged
storage/innobase/include/trx0trx.h:
  Auto merged
storage/innobase/os/os0file.c:
  Auto merged
storage/innobase/read/read0read.c:
  Auto merged
storage/innobase/row/row0sel.c:
  Auto merged
storage/innobase/srv/srv0srv.c:
  Auto merged
storage/innobase/srv/srv0start.c:
  Auto merged
storage/innobase/trx/trx0sys.c:
  Auto merged
storage/innobase/trx/trx0trx.c:
  Auto merged
storage/myisam/mi_create.c:
  Auto merged
storage/myisam/sort.c:
  Auto merged
storage/ndb/include/mgmapi/mgmapi.h:
  Auto merged
storage/ndb/include/mgmapi/mgmapi_config_parameters.h:
  Auto merged
storage/ndb/src/common/portlib/NdbMutex.c:
  Auto merged
storage/ndb/src/common/portlib/NdbThread.c:
  Auto merged
storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp:
  Auto merged
storage/ndb/src/mgmapi/mgmapi.cpp:
  Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.hpp:
  Auto merged
strings/ctype-big5.c:
  Auto merged
strings/ctype-ucs2.c:
  Auto merged
support-files/mysql.spec.sh:
  Auto merged
configure.in:
  Manual merge 5.0 -> 5.1
mysql-test/t/alter_table.test:
  Manual merge 5.0 -> 5.1
sql/share/errmsg.txt:
  Manual merge 5.0 -> 5.1
storage/ndb/tools/Makefile.am:
  Manual merge 5.0 -> 5.1
2005-08-05 18:01:34 -04:00
pappa@c-8b0ae253.1238-1-64736c10.cust.bredbandsbolaget.se
69acde961f Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.0
into  c-8b0ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/mysql-5.1
2005-08-05 18:01:34 -04:00
unknown
c5bcb9f01c Manual merge of #11335 bugfix
sql/item_sum.cc:
  Auto merged
mysql-test/r/view.result:
  Manual merge
mysql-test/t/view.test:
  Manual megre
sql/sql_select.cc:
  Manual merge
2005-08-05 00:34:42 +04:00
evgen@moonbone.local
1894cff045 Manual merge of #11335 bugfix 2005-08-05 00:34:42 +04:00
unknown
7c7843a216 Manual merge
myisam/sort.c:
  Auto merged
mysql-test/r/fulltext.result:
  Auto merged
mysql-test/t/fulltext.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
strings/ctype-big5.c:
  Auto merged
2005-08-02 12:09:49 -07:00
igor@rurik.mysql.com
b5f33d2bc4 Manual merge 2005-08-02 12:09:49 -07:00
unknown
c2b83502f9 sql_select.cc, sql_class.h:
Reversed the changes to fix bug #12095 after review
  done by SergeyG. Applied a fix suggested by him.


sql/sql_class.h:
  Reversed the changes to fix bug #12095 after review
  done by SergeyG. Applied a fix suggested by him.
sql/sql_select.cc:
  Reversed the changes to fix bug #12095 after review
  done by SergeyG. Applied a fix suggested by him.
2005-08-02 11:58:52 -07:00
igor@rurik.mysql.com
8420d76f8d sql_select.cc, sql_class.h:
Reversed the changes to fix bug #12095 after review
  done by SergeyG. Applied a fix suggested by him.
2005-08-02 11:58:52 -07:00
unknown
7246ca6ca9 Merge aschwenke@bk-internal.mysql.com:/home/bk/mysql-5.0
into  alpha.xl.local:/home/schwenke/Work/MySQL/BK-internal-tree/mysql-5.0


sql/sql_select.cc:
  Auto merged
2005-08-01 08:34:29 +02:00
schwenke@alpha.xl.local
655a86a9e7 Merge aschwenke@bk-internal.mysql.com:/home/bk/mysql-5.0
into  alpha.xl.local:/home/schwenke/Work/MySQL/BK-internal-tree/mysql-5.0
2005-08-01 08:34:29 +02:00
unknown
a560a9f3b3 After merge fixes
Review of new pushed code


client/mysqlbinlog.cc:
  After merge fixes
sql/set_var.cc:
  After merge fixes
sql/sql_select.cc:
  Removed not needed test (field->maybe_null() also tests field->table->maybe_null)
2005-07-31 22:56:24 +03:00
monty@mishka.local
7f845036c0 After merge fixes
Review of new pushed code
2005-07-31 22:56:24 +03:00
unknown
4dbc076e1e Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mishka.local:/home/my/mysql-5.0


sql/sql_select.cc:
  Auto merged
2005-07-31 21:09:18 +03:00
monty@mishka.local
585da2f6fd Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mishka.local:/home/my/mysql-5.0
2005-07-31 21:09:18 +03:00
unknown
2fa55b0ad1 Merge aschwenke@bk-internal.mysql.com:/home/bk/mysql-5.0
into  alpha.xl.local:/home/schwenke/Work/MySQL/BK-internal-tree/mysql-5.0


sql/sql_select.cc:
  Auto merged
2005-07-31 19:59:20 +02:00
schwenke@alpha.xl.local
84c5ce61c5 Merge aschwenke@bk-internal.mysql.com:/home/bk/mysql-5.0
into  alpha.xl.local:/home/schwenke/Work/MySQL/BK-internal-tree/mysql-5.0
2005-07-31 19:59:20 +02:00
unknown
6b3478ec12 Fixes during review of new pushed code
Change bool in C code to my_bool
Added to mysqltest --enable_parsning and --disable_parsing to avoid to have to comment parts of tests
Added comparison of LEX_STRING's and use this to compare file types for view and trigger files.


client/client_priv.h:
  Added OPT_TRIGGERS (to get rid of compiler warning)
client/mysql.cc:
  Added cast to get rid of compiler warning
client/mysqldump.c:
  Added OPT_TRIGGERS (to get rid of compiler warning)
  Abort if we can't write to outfile (even if --ignore-errors is given)
client/mysqltest.c:
  Added --enable_parsning and --disable_parsing to avoid to have to comment parts of tests
include/my_sys.h:
  Make my_progname const
include/my_time.h:
  Avoid using 'bool' in C programs
mysql-test/lib/init_db.sql:
  Align with mysql_create_system_tables
  (Ideally this file should be auto-generated from the above script)
mysql-test/r/mysqltest.result:
  Test for --enable_parsing
mysql-test/r/variables.result:
  Update results after fix for overflow checking of max_heap_table_size
mysql-test/t/information_schema.test:
  USe --enable/disable parsing instead of comments
mysql-test/t/mysqltest.test:
  Test for --enable_parsing
mysql-test/t/sp.test:
  USe --enable/disable parsing instead of comments
mysql-test/t/variables.test:
  Portability fix for 64 bit systems
mysql-test/t/view.test:
  USe --enable/disable parsing instead of comments
mysys/my_init.c:
  May my_progname const
mysys/my_static.c:
  May my_progname const
mysys/thr_lock.c:
  Remove not needed casts
sql-common/my_time.c:
  Change bool -> my_bool as bool is not portable in C programs
sql/field.cc:
  Test number_to_datetime() for -1 instead of < 0 (Safety fix)
  New prototype for TIME_to_timestamp()
sql/item.h:
  Don't have prototypes for both uint32 and ulong as these 'may' be the same thing
sql/item_timefunc.cc:
  New prototype for TIME_to_timestamp()
sql/log.cc:
  Remove compiler warnings
sql/mysql_priv.h:
  New prototype for TIME_to_timestamp()
  Added function for comparing LEX_STRING
sql/set_var.cc:
  Added overflow checking when setting ulong variable
sql/sql_base.cc:
  Added function is_equal()
  Changed strncmp -> is_equal() as strncmp() to not match "V" (instead of "VIEW")
sql/sql_class.cc:
  Added comment
sql/sql_select.cc:
  Portability fixes
  After review fixes
sql/sql_trigger.cc:
  Use 'tables_alias_charset' for comparing database name
  Use 'is_equal()' to compare file type. (Old code didn't do the comparison correctly)
sql/sql_view.cc:
  Use 'is_equal()' to compare file type. (Old code didn't do the comparison correctly)
sql/time.cc:
  New prototype for TIME_to_timestamp() to allow easyer mapping to C function
sql/tztime.cc:
  bool -> my_bool (to allow calling C code from C++ code)
sql/tztime.h:
  bool -> my_bool (to allow calling C code from C++ code)
2005-07-31 12:49:55 +03:00
monty@mishka.local
8437e9c1be Fixes during review of new pushed code
Change bool in C code to my_bool
Added to mysqltest --enable_parsning and --disable_parsing to avoid to have to comment parts of tests
Added comparison of LEX_STRING's and use this to compare file types for view and trigger files.
2005-07-31 12:49:55 +03:00
unknown
7a62b5928b Fix for BUG#12082 (assert failure when the query fails to get a lock for record in 'const' table):
Set table->key_read back to 0 regardless of whether join_read_const() succeeded or not.
2005-07-31 02:47:54 +00:00
sergefp@mysql.com
7bf65299cc Fix for BUG#12082 (assert failure when the query fails to get a lock for record in 'const' table):
Set table->key_read back to 0 regardless of whether join_read_const() succeeded or not.
2005-07-31 02:47:54 +00:00
unknown
a292b42436 Fix bug #11335 View redefines TinyInt(1) column definition
Item_type_holder doesn't store information about length and exact type of
original item which results in redefining length to max_length and geometry 
type to longtext.

Changed the way derived tables except unions are built. Now they are created
from original field list instead of list of Item_type_holder.


mysql-test/r/subselect.result:
  Fixed wrong test case result. bug#11335
mysql-test/r/view_grant.result:
   Fixed wrong test case result. bug#11335
mysql-test/r/view.result:
  Added test case for bug #11335. Fixed wrong test case result.
mysql-test/t/view.test:
  Test case for bug #11335 View  redefines TinyInt(1) column definition.
sql/sql_union.cc:
  Fix bug #11335 View redefines TinyInt(1) column definition.
  Changed the way derived tables except unions are built. Now they are created from original field list instead of list of Item_type_holders.
sql/sql_select.cc:
  Fix bug #11335 View redefines TinyInt(1) column definition.
  Added special handling of DATE/TIME fields to preserve field's type in tmp field creation.
  In create_tmp_field() for Item_field added special handling of case when item have to be able to store NULLs but underlaid field is NOT NULL.
sql/item_sum.cc:
  Fix bug #11335 View redefines TinyInt(1) column definition.
  Added special handling of DATE/TIME fields to preserve field's type while tmp
  field created in Item_sum_hybrid::create_tmp_field().
2005-07-30 05:53:35 +04:00
evgen@moonbone.local
fa0ea36507 Fix bug #11335 View redefines TinyInt(1) column definition
Item_type_holder doesn't store information about length and exact type of
original item which results in redefining length to max_length and geometry 
type to longtext.

Changed the way derived tables except unions are built. Now they are created
from original field list instead of list of Item_type_holder.
2005-07-30 05:53:35 +04:00
unknown
b66ffdcbda fixed two bugs that break Windows build
libmysql/libmysql.def:
  "get_defaults_files" has been renamed to "get_defaults_options"
  but was not removed here
sql/sql_select.cc:
  pulled variable out of for() scope to satisfy dumb MSVC6 compiler
2005-07-29 15:40:39 +02:00
schwenke@alpha.xl.local
4344cd39e0 fixed two bugs that break Windows build 2005-07-29 15:40:39 +02:00
unknown
48abe1d664 Manual merge
configure.in:
  Auto merged
mysql-test/r/null_key.result:
  Auto merged
mysql-test/t/null_key.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
support-files/mysql.spec.sh:
  Auto merged
2005-07-28 21:28:20 -07:00
igor@rurik.mysql.com
64e53ec5c4 Manual merge 2005-07-28 21:28:20 -07:00
unknown
21d2fb6287 func_gconcat.result, func_gconcat.test:
Added a test case for bug #12095.
sql_class.h:
  Fixed bug #12095: a join query with GROUP_CONCAT over a single row table.
  Added a flag to the TMP_TABLE_PARAM class forcing to put constant
  items generated after elimination of a single row table into temp table
  in some cases (e.g. when GROUP_CONCAT is calculated over a single row
  table).
  bk ci sql/item_sum.cc
  Fixed bug #12095: a join query with GROUP_CONCAT over a single row table.
  If GROUP_CONCAT is calculated we always put its argument into a temp
  table, even when the argument is a constant item.
sql_select.cc:
  Fixed bug #12095: a join query with GROUP_CONCAT over one row table.
  If temp table is used to calculate GROUP_CONCAT the argument should
  be always put into this table, even when it is a constant item.


sql/sql_select.cc:
  Fixed bug #12095: a join query with GROUP_CONCAT over one row table.
  If temp table is used to calculate GROUP_CONCAT the argument should
  be always put into this table, even when it is a constant item.
sql/sql_class.h:
  Fixed bug #12095: a join query with GROUP_CONCAT over a single row table.
  Added a flag to the TMP_TABLE_PARAM class forcing to put constant
  items generated after elimination of a single row table into temp table
  in some cases (e.g. when GROUP_CONCAT is calculated over a single row
  table).
  bk ci sql/item_sum.cc
  Fixed bug #12095: a join query with GROUP_CONCAT over a single row table.
  If GROUP_CONCAT is calculated we always put its argument into a temp
  table, even when the argument is a constant item.
mysql-test/t/func_gconcat.test:
  Added a test case for bug #12095.
mysql-test/r/func_gconcat.result:
  Added a test case for bug #12095.
2005-07-28 19:11:29 -07:00
igor@rurik.mysql.com
a5f2c7528c func_gconcat.result, func_gconcat.test:
Added a test case for bug #12095.
sql_class.h:
  Fixed bug #12095: a join query with GROUP_CONCAT over a single row table.
  Added a flag to the TMP_TABLE_PARAM class forcing to put constant
  items generated after elimination of a single row table into temp table
  in some cases (e.g. when GROUP_CONCAT is calculated over a single row
  table).
  bk ci sql/item_sum.cc
  Fixed bug #12095: a join query with GROUP_CONCAT over a single row table.
  If GROUP_CONCAT is calculated we always put its argument into a temp
  table, even when the argument is a constant item.
sql_select.cc:
  Fixed bug #12095: a join query with GROUP_CONCAT over one row table.
  If temp table is used to calculate GROUP_CONCAT the argument should
  be always put into this table, even when it is a constant item.
2005-07-28 19:11:29 -07:00
unknown
0cd0a46301 Manual merge
sql/sql_select.cc:
  Auto merged
2005-07-28 13:39:06 -07:00