1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-22 17:44:29 +03:00
Commit Graph

7139 Commits

Author SHA1 Message Date
igor@rurik.mysql.com
45ba13889d olap.result, olap.test:
Added a test for bug #8615.
sql_select.cc:
  Fixed bug #8615.
  This fix only removed the cause of the reported crash.
  It does not resolve other problems of rollup queries
  with DISTINCT. They were fixed in the previous patch 
  for bug 8616.
2005-03-16 15:55:04 -08:00
unknown
284b8b8b63 Cleanup during reviews
Removed some optional arguments
Fixed portability problem in federated tests


client/sql_string.cc:
  update from sql/sql_string.cc
client/sql_string.h:
  update from sql/sql_string.h
mysql-test/r/federated.result:
  Fixed error message
sql/field.cc:
  Cleanup during review
  Remove const in 'const unsigned int'
sql/field.h:
  Remove const in 'const unsigned int'
sql/ha_federated.cc:
  Better error string.  Add missing argument to error (before 'errno' was picked up from stack)
sql/handler.cc:
  Removed compiler warning
sql/item_func.cc:
  Cleanup during review
sql/item_sum.cc:
  Cleanup during review
sql/lock.cc:
  Remove optional arguments
sql/log_event.cc:
  Remove optional arguments
sql/mysql_priv.h:
  Remove optional arguments
  cahnge preapre_create_fields to use pointers instead of references
sql/opt_range.cc:
  Fix arguments so that return value is last
sql/sql_base.cc:
  Remove optional arguments
sql/sql_delete.cc:
  Remove optional arguments
sql/sql_error.cc:
  Remove optional arguments
sql/sql_help.cc:
  Remove optional arguments
sql/sql_parse.cc:
  Remove optional arguments
sql/sql_prepare.cc:
  Remove optional arguments
sql/sql_rename.cc:
  Remove optional arguments
sql/sql_select.cc:
  Remove optional arguments
sql/sql_show.cc:
  Cleanup during review
sql/sql_string.cc:
  Simple optimization
sql/sql_table.cc:
  Remove optional arguments
  Fixed indentation
sql/sql_update.cc:
  Remove optional arguments
sql/sql_yacc.yy:
  Change references to pointers
2005-03-16 16:11:01 +02:00
monty@mysql.com
594ef41b2d Cleanup during reviews
Removed some optional arguments
Fixed portability problem in federated tests
2005-03-16 16:11:01 +02:00
unknown
e16535ce19 olap.result, olap.test:
Added a test case for bug #8616.
item.h:
  Fixed bug #8616.
  Added class Item_null_result used in rollup processing.
sql_select.h, sql_select.cc:
  Fixed bug #8616.
  Added JOIN::rollup_write_data to cover rollup queries
  with DISTINCT. Modified other rollup methods.


sql/sql_select.cc:
  Fixed bug #8616.
  Added JOIN::rollup_write_data to cover rollup queries
  with DISTINCT. Modified other rollup methods.
sql/sql_select.h:
  Fixed bug #8616.
  Added JOIN::rollup_write_data to cover rollup queries
  with DISTINCT. Modified other rollup methods.
sql/item.h:
  Fixed bug #8616.
  Added class Item_null_result used in rollup processing.
mysql-test/t/olap.test:
  Added a test case for bug #8616.
mysql-test/r/olap.result:
  Added a test case for bug #8616.
2005-03-15 22:50:54 -08:00
igor@rurik.mysql.com
ce6c390c39 olap.result, olap.test:
Added a test case for bug #8616.
item.h:
  Fixed bug #8616.
  Added class Item_null_result used in rollup processing.
sql_select.h, sql_select.cc:
  Fixed bug #8616.
  Added JOIN::rollup_write_data to cover rollup queries
  with DISTINCT. Modified other rollup methods.
2005-03-15 22:50:54 -08:00
unknown
a24df60224 Merge with global tree
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2005-03-15 16:21:08 +02:00
monty@mysql.com
05acaf060c Merge with global tree 2005-03-15 16:21:08 +02:00
unknown
66eaf5f243 Removed unnecessary current_thd 2005-03-14 15:53:44 +01:00
mskold@mysql.com
f2db341abe Removed unnecessary current_thd 2005-03-14 15:53:44 +01:00
unknown
9f4c18f044 WL#2353 EXPLAIN support for condition pushdown 2005-03-14 15:26:10 +01:00
mskold@mysql.com
7092c7dec2 WL#2353 EXPLAIN support for condition pushdown 2005-03-14 15:26:10 +01:00
unknown
7652a38941 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/media/sda1/mysql/mysql-5.0-926


sql/field.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-03-13 23:53:30 +03:00
konstantin@mysql.com
22915b3ad5 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/media/sda1/mysql/mysql-5.0-926
2005-03-13 23:53:30 +03:00
unknown
1534ed8e15 WL#926 "SUM(DISTINCT) and AVG(DISTINCT)": improvement of SUM(DISTINCT) and
implementation of AVG(DISTINCT) which utilizes the approach with Fields.
The patch implemented in October is portede to the up-to-date tree 
containing DECIMAL type.
Tests for AVG(DISTINCT) (although there is not much to test provided
that SUM(DISTINCT) works), cleanups for COUNT(DISTINCT) and GROUP_CONCAT()
will follow in another changeset.


sql/field.cc:
  A handy way to init create_field used for use with virtual tmp tables.
  Feel free to extend it for your own needs.
sql/field.h:
  Declaration for create_field::init_for_tmp_table()
sql/item.cc:
  Implementation for a framework used to easily handle different result
  types of SQL expressions. Instead of having instances of each possible 
  result type (integer, decimal, double) in every item, variables
  of all used types are moved to struct Hybrid_type.
  Hybrid_type can change its dynamic type in runtime, and become,
  for instance, DECIMAL from INTEGER.
  All type-specific Item operations are moved to the class hierarchy
  Hybrid_type_traits. Item::decimals and Item::max_length can
  be moved to Hybrid_type as well.
sql/item.h:
  Declaration for Hybrid_type framework. See also comments for item.cc
  in this changeset.
sql/item_sum.cc:
  Rewritten implementation for Item_sum_sum_distinct (SUM(DISTINCT))
  and added implementation for Item_sum_avg_distinct (AVG(DISTINCT)).
  The classes utilize Hybrid_type class hierarchy and Fields to
  convert SUM/AVG arguments to binary representation and store in a RB-tree.
sql/item_sum.h:
  Declarations for Item_sum_distinct (the new intermediate class used
  for SUM and AVG distinct), Item_sum_sum_distinct, Item_sum_avg_distinct.
sql/sql_select.cc:
  Implementatio of create_virtual_tmp_table().
sql/sql_select.h:
  Declaration for create_virtual_tmp_table.
sql/sql_yacc.yy:
  Grammar support for Item_sum_avg_distinct.
2005-03-13 23:50:43 +03:00
konstantin@mysql.com
983c75f05e WL#926 "SUM(DISTINCT) and AVG(DISTINCT)": improvement of SUM(DISTINCT) and
implementation of AVG(DISTINCT) which utilizes the approach with Fields.
The patch implemented in October is portede to the up-to-date tree 
containing DECIMAL type.
Tests for AVG(DISTINCT) (although there is not much to test provided
that SUM(DISTINCT) works), cleanups for COUNT(DISTINCT) and GROUP_CONCAT()
will follow in another changeset.
2005-03-13 23:50:43 +03:00
unknown
48577bb59f merged
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
Build-tools/Do-compile:
  Auto merged
client/mysql.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
include/my_sys.h:
  Auto merged
innobase/buf/buf0lru.c:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/include/page0page.ic:
  Auto merged
innobase/include/srv0srv.h:
  Auto merged
innobase/os/os0thread.c:
  Auto merged
innobase/rem/rem0cmp.c:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
innobase/trx/trx0sys.c:
  Auto merged
innobase/trx/trx0trx.c:
  Auto merged
innobase/ut/ut0ut.c:
  Auto merged
myisam/ft_parser.c:
  Auto merged
myisam/mi_create.c:
  Auto merged
mysql-test/Makefile.am:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/r/ndb_alter_table.result:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
mysql-test/t/ndb_alter_table.test:
  Auto merged
mysys/hash.c:
  Auto merged
mysys/my_bitmap.c:
  Auto merged
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
scripts/make_win_src_distribution.sh:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-03-09 14:09:06 +01:00
serg@serg.mylan
956682de1a merged 2005-03-09 14:09:06 +01:00
unknown
f70688e2aa BUG#6635 - test_if_skip_sort_order() thought it can skip filesort
for fulltext searches too
2005-03-08 19:45:55 +01:00
serg@serg.mylan
9272081ebb BUG#6635 - test_if_skip_sort_order() thought it can skip filesort
for fulltext searches too
2005-03-08 19:45:55 +01:00
unknown
e17a1e0a34 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0


sql/mysqld.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-03-04 10:48:32 +02:00
monty@mysql.com
03a2302202 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0
2005-03-04 10:48:32 +02:00
unknown
2860a7723e Fixes for bug#8115 "Server Crash with prepared statement"
and bug#8849 "problem with insert statement with table alias's": 
make equality propagation work in stored procedures and prepared 
statements.
Equality propagation can change AND/OR structure of ON expressions,
so the fix is to provide each execution of PS/SP with it's own
copy of AND/OR tree. We have been doing that already for WHERE clauses,
now ON clauses are also copied.


mysql-test/r/ps.result:
  Bug#8115: test results fixed.
mysql-test/r/sp.result:
  Bug#8849: test results fixed.
mysql-test/t/ps.test:
  A test case for Bug#8115 "Server Crash with prepared statement".
mysql-test/t/sp.test:
  A test case for Bug#8849 "problem with insert statement with table 
  alias's".
sql/item_cmpfunc.cc:
  Comment a parse tree transformation.
sql/item_cmpfunc.h:
  Comment how Item_equal works with PS/SP.
sql/mysql_priv.h:
  Add declaration for init_stmt_after_parse.
sql/sp_head.cc:
  Call init_stmt_after_parse in restore_lex(), which is used to
  grab TABLE_LIST and SELECT_LEX list of a parsed substatement of
  stored procedure. This is a necessary post-init step which 
  must be done for any statement which can be executed many times.
sql/sql_prepare.cc:
  Implement init_stmt_after_parse() which prepares AND/OR
  structure of all ON expressions and WHERE clauses of a statement
  for copying.
sql/sql_select.cc:
  Implementation of equality propagation inspected with regard to 
  prepared statements and stored procedures. We now restore
  AND/OR structure of every ON expression in addition to AND/OR
  structure of WHERE clauses when reexecuting a PS/SP.
sql/table.h:
  Add declaration for TABLE::prep_on_expr.
2005-03-03 17:38:59 +03:00
konstantin@mysql.com
fe2d63a060 Fixes for bug#8115 "Server Crash with prepared statement"
and bug#8849 "problem with insert statement with table alias's": 
make equality propagation work in stored procedures and prepared 
statements.
Equality propagation can change AND/OR structure of ON expressions,
so the fix is to provide each execution of PS/SP with it's own
copy of AND/OR tree. We have been doing that already for WHERE clauses,
now ON clauses are also copied.
2005-03-03 17:38:59 +03:00
unknown
1430a2a443 Make sure that the filename for temporary tables is built with fn_format()
so that extra slashes are handled in tmpdir. (Bug #8497)


sql/ha_heap.cc:
  use constants instead of magic integers on fn_format() calls
sql/sql_select.cc:
  Construct filename for temporary tables using fn_format() to get consistent
  filenames.
mysql-test/t/temp_table.test:
  Add new regression test
mysql-test/r/temp_table.result:
  Add new test results
2005-03-01 19:05:48 -08:00
jimw@mysql.com
ac69a4a22c Make sure that the filename for temporary tables is built with fn_format()
so that extra slashes are handled in tmpdir. (Bug #8497)
2005-03-01 19:05:48 -08:00
unknown
62f8573afd Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0


sql/sql_select.cc:
  Auto merged
2005-03-01 23:57:20 +02:00
monty@mysql.com
f4d22c9bbf Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0
2005-03-01 23:57:20 +02:00
unknown
a63808bcb5 Removed some usage of current_thd 2005-03-01 23:56:13 +02:00
monty@mysql.com
e654497ae7 Removed some usage of current_thd 2005-03-01 23:56:13 +02:00
unknown
53bfeb4844 Fix for Bug#5615 and merge from 4.1
mysql-test/r/func_group.result:
  Added some tests and fix for Bug#5615.
mysql-test/r/show_check.result:
  Fix for Bug#5615.
mysql-test/t/func_group.test:
  Added some tests.
sql/item_sum.cc:
  Fix for Bug#5615.
sql/item_sum.h:
  Fix for Bug#5615.
sql/sql_select.cc:
  Fix for Bug#5615.
sql/sql_select.h:
  Fix for Bug#5615.
2005-03-01 22:19:19 +02:00
jani@ua141d10.elisa.omakaista.fi
111e1cb29d Fix for Bug#5615 and merge from 4.1 2005-03-01 22:19:19 +02:00
unknown
425573747f Merge
mysql-test/r/func_group.result:
  Auto merged
mysql-test/r/ps.result:
  Auto merged
mysql-test/r/select_found.result:
  Auto merged
mysql-test/r/show_check.result:
  Auto merged
mysql-test/t/func_group.test:
  Auto merged
mysql-test/t/show_check.test:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
strings/ctype-bin.c:
  Auto merged
sql/sql_select.cc:
  SCCS merged
2005-03-01 14:50:59 +02:00
jani@ua141d10.elisa.omakaista.fi
62b9fc5da6 Merge 2005-03-01 14:50:59 +02:00
unknown
59158b851c Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/home/ram/work/4.1.b6089


sql/sql_select.cc:
  Auto merged
2005-03-01 14:19:32 +04:00
ramil@mysql.com
c862c11aab Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/home/ram/work/4.1.b6089
2005-03-01 14:19:32 +04:00
unknown
4dc33bc87d Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/home/ram/work/4.1.b6089


sql/sql_select.cc:
  Auto merged
2005-03-01 12:31:05 +04:00
ramil@mysql.com
8f90906961 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/home/ram/work/4.1.b6089
2005-03-01 12:31:05 +04:00
unknown
81dea6cd21 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/home/ram/work/4.1.b5615


mysql-test/r/show_check.result:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-03-01 12:20:55 +04:00
ramil@mysql.com
4225b8e8ff Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/home/ram/work/4.1.b5615
2005-03-01 12:20:55 +04:00
unknown
d2ead18b69 Fix for BUG#8726: In JOIN::optimize on ER_TOO_BIG_SELECT error set JOIN::error to -1 to cause
the error to be sent to the client.


mysql-test/r/select_safe.result:
  Testcase for BUG#8726
mysql-test/t/select_safe.test:
  Testcase for BUG#8726
sql/sql_select.cc:
  Fix for BUG#8726: On ER_TOO_BIG_SELECT set JOIN::error to -1 to cause the error to be sent to the client.
2005-02-28 20:21:21 +03:00
sergefp@mysql.com
a6ad8a4d0f Fix for BUG#8726: In JOIN::optimize on ER_TOO_BIG_SELECT error set JOIN::error to -1 to cause
the error to be sent to the client.
2005-02-28 20:21:21 +03:00
unknown
f9dd79c77d merging
mysql-test/r/ps.result:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-02-28 19:59:38 +04:00
ramil@mysql.com
c896fcb483 merging 2005-02-28 19:59:38 +04:00
unknown
1b002905b7 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0


BitKeeper/etc/logging_ok:
  auto-union
include/mysql_com.h:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-02-28 16:22:26 +02:00
monty@mysql.com
72b692e11f Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0
2005-02-28 16:22:26 +02:00
unknown
7865746c27 merging
mysql-test/r/show_check.result:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-02-28 18:11:18 +04:00
ramil@mysql.com
883ff0cc81 merging 2005-02-28 18:11:18 +04:00
unknown
45a26d449d merge with 4.1
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
client/mysql.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/fil/fil0fil.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
mysql-test/r/select_found.result:
  Auto merged
mysql-test/r/type_set.result:
  Auto merged
mysys/default.c:
  Auto merged
sql/field.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
strings/ctype-simple.c:
  Auto merged
include/mysql_com.h:
  Merge
sql/filesort.cc:
  merge
2005-02-28 12:18:39 +02:00
monty@mysql.com
3839e443a4 merge with 4.1 2005-02-28 12:18:39 +02:00
unknown
8b8c9452dd Fixed wrong memory references found by purify
(No really critical errors found, but a few possible wrong results)


innobase/dict/dict0dict.c:
  Replace memcmp with comparison of characters to avoid warnings from purify when 'sptr' points to a very short string
mysql-test/r/select_found.result:
  Add missing drop table
mysql-test/r/type_set.result:
  More tests
mysql-test/t/select_found.test:
  Add missing drop table
mysql-test/t/type_set.test:
  More tests
mysys/my_init.c:
  Avoid warning from purify (purify doesn't handle getrusage() properly)
sql/field.h:
  enum & set are sorted as numbers. This fixes an access to uninitialized memory when enum/set are multi-byte characters
sql/filesort.cc:
  enum & set are sorted as numbers. This fixes an access to uninitialized memory when enum/set are multi-byte characters
sql/item_cmpfunc.cc:
  Fixed warning from purify. (Not critical as the arguments are passed to a function but not used)
  Allocate Arg_comparator() with 'new' instead of sql_alloc() to ensure proper initialization
sql/mysqld.cc:
  Wait for signal handler to stop when running --bootstrap
  (Fixes warning from purify)
sql/sql_insert.cc:
  Initialize slot used by innodb.cc (not critical)
sql/sql_lex.h:
  Better comments
sql/sql_repl.cc:
  memcmp -> bcmp() to avoid warning from purify
sql/sql_select.cc:
  Fix for out-of-bound memory reference when doing DISTINCT on const expressions
strings/ctype-simple.c:
  Fixes to not access uninitialized memory
  (Not critical)
2005-02-28 11:59:46 +02:00