Commit graph

1228 commits

Author SHA1 Message Date
unknown
114b600b68 Merge mysql.com:/home/psergey/mysql-4.1-bug8877
into mysql.com:/home/psergey/mysql-5.0-bug8877-merge


sql/sql_select.cc:
  Auto merged
2005-04-07 17:46:08 +04:00
unknown
ebbe70585a Post-review fixes: local variable renamed 2005-04-07 17:44:48 +04:00
unknown
33e54bb815 BUG#8877: Post-merge fixes. 2005-04-07 17:42:32 +04:00
unknown
df64ac0bc5 Minor fix in cursors execution.
sql/sql_select.cc:
  Fix a discrepancy spotted after the setup_end_select_func patch has been 
  pushed: last join sweep assumes that join->tmp_table is zero.
2005-04-06 22:09:43 +04:00
unknown
61c8b3a8e4 Refactor parts of do_select() (JOIN execution).
sql/sql_select.cc:
  Bits of refactoring of do_select as one step forward to merge cursor and
  non-cursor execution.
  Moving send_fields (metadata handling) out of do_select to one level up
  and moving end_select setting to a separate function.
  This function is used in the Cursor::open() too.
2005-04-06 21:48:16 +04:00
unknown
903b59c74a Merge mysql.com:/home/psergey/mysql-4.1-bug8877
into mysql.com:/home/psergey/mysql-5.0-bug8877-merge


sql/sql_select.cc:
  Auto merged
2005-04-05 03:36:14 +04:00
unknown
6d2e510a30 Removed extra comment 2005-04-05 03:34:39 +04:00
unknown
ed1f7d375e Manually merged (will need a post-merge fix)
sql/sql_select.h:
  Auto merged
2005-04-05 03:07:37 +04:00
unknown
31f2f9bcf8 Fix for BUG#8877: Implementation of
"Early NULL-values filtering for ref access" (attempt2+post-review fixes)
1. update_ref_and_keys() accumulates info about null-rejecting
predicates in in KEY_FIELD::null_rejecting, add_key_part saves
these to KEYUSE.
2. create_ref_for_key copies them to TABLE_REF.
3. add_not_null_conds adds "x IS NOT NULL" to join_tab->select_cond of
appropiate JOIN_TAB members.

Includes code cleanups: 
* add_key_field() params: s/COND/Item_func/ (as only Item_funcs are
passed to it)
* add_key_fields() params: JOIN_TAB *stat removed (wasn't used)


sql/sql_select.cc:
  Fix for BUG#8877: Implementation of 
  "Early NULL-values filtering for ref access"
  1. update_ref_and_keys() accumulates info about null-rejecting
  predicates in in KEY_FIELD::null_rejecting, add_key_part saves
  these to KEYUSE.
  2. create_ref_for_key copies them to TABLE_REF.
  3. add_not_null_conds adds "x IS NOT NULL" to join_tab->select_cond
  of appropiate JOIN_TAB members.
  
  Includes code cleanups: 
  * add_key_field() params: s/COND/Item_func/ (as only Item_funcs are
  passed to it)
  * add_key_fields() params: JOIN_TAB *stat removed (wasn't used)
sql/sql_select.h:
  Fix for BUG#8877: Implementation of 
  "Early NULL-values filtering for ref access" (attempt2)
2005-04-05 02:42:23 +04:00
unknown
bee2a64d0b Merge
mysql-test/r/ps_1general.result:
  Auto merged
mysql-test/t/ps_1general.test:
  Auto merged
mysql-test/t/type_ranges.test:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/type_ranges.result:
  Update results
2005-04-04 08:54:36 -07:00
unknown
10e2581f4d Merge embedded server testing changes from 4.1.
mysql-test/r/innodb.result:
  Auto merged
BitKeeper/deleted/.del-select.result.es~240635f6a3f1a079:
  Auto merged
BitKeeper/deleted/.del-type_float.result.es~a5533e4118eadc04:
  Auto merged
BitKeeper/deleted/.del-type_ranges.result.es~bb77517f4c9dc978:
  Auto merged
mysql-test/r/type_float.result:
  Auto merged
mysql-test/r/variables.result:
  Auto merged
mysql-test/t/alter_table.test:
  Auto merged
mysql-test/t/connect.test:
  Auto merged
mysql-test/t/grant2.test:
  Auto merged
mysql-test/t/grant_cache.test:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
mysql-test/t/mix_innodb_myisam_binlog.test:
  Auto merged
mysql-test/t/mysqlbinlog.test:
  Auto merged
mysql-test/t/mysqlbinlog2.test:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
mysql-test/t/ps_1general.test:
  Auto merged
mysql-test/t/select.test:
  Auto merged
mysql-test/t/show_check.test:
  Auto merged
mysql-test/t/system_mysql_db_fix.test:
  Auto merged
mysql-test/t/type_blob.test:
  Auto merged
mysql-test/t/type_float.test:
  Auto merged
mysql-test/t/variables.test:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/mysql-test-run.sh:
  Merge
mysql-test/r/alter_table.result:
  Update results
mysql-test/r/ctype_ucs.result:
  Update results
mysql-test/r/grant.result:
  Update results
mysql-test/r/insert_select.result:
  Update results
mysql-test/r/ps_1general.result:
  Update results
mysql-test/r/select.result:
  Update results
mysql-test/r/timezone2.result:
  Update results
mysql-test/r/type_blob.result:
  Update results
mysql-test/r/type_ranges.result:
  Update results
mysql-test/r/user_var.result:
  Update results
mysql-test/t/ctype_ucs.test:
  Merge
mysql-test/t/grant.test:
  Merge
mysql-test/t/insert_select.test:
  Merge
mysql-test/t/timezone2.test:
  Merge
mysql-test/t/type_ranges.test:
  Merge
mysql-test/t/user_var.test:
  Merge
2005-04-01 19:17:15 -08:00
unknown
dd882cfb64 Merge embedded-server testing changes.
mysql-test/r/ctype_ucs.result:
  Auto merged
mysql-test/r/ps_1general.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/r/type_blob.result:
  Auto merged
mysql-test/r/type_float.result:
  Auto merged
mysql-test/r/user_var.result:
  Auto merged
mysql-test/r/variables.result:
  Auto merged
mysql-test/t/ctype_ucs.test:
  Auto merged
mysql-test/t/grant2.test:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
mysql-test/t/select.test:
  Auto merged
mysql-test/t/show_check.test:
  Auto merged
mysql-test/t/type_float.test:
  Auto merged
mysql-test/t/user_var.test:
  Auto merged
mysql-test/t/variables.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/mysql-test-run.sh:
  Merge changes
mysql-test/t/ps_1general.test:
  Merge changes
2005-04-01 16:43:35 -08:00
unknown
8af8c53040 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-multi-5.0


mysql-test/r/view.result:
  Auto merged
sql/sql_derived.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-04-01 13:02:29 +03:00
unknown
cb1bdf4d84 Merge
mysql-test/r/group_by.result:
  Auto merged
ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
  Auto merged
scripts/make_win_src_distribution.sh:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  merge
sql/item_cmpfunc.cc:
  merge
support-files/mysql.server.sh:
  merge
2005-04-01 10:13:37 +02:00
unknown
8ef1afbaa4 Better comment 2005-04-01 11:05:17 +04:00
unknown
8a898a0b72 merge 4.1->5.0
mysql-test/r/group_by.result:
  Auto merged
mysql-test/r/metadata.result:
  Auto merged
mysql-test/r/union.result:
  Auto merged
mysql-test/t/union.test:
  Auto merged
sql/item.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
support-files/mysql.server.sh:
  Auto merged
2005-03-31 10:39:48 +03:00
unknown
f0148b21c3 Remove result.es files and support for them, which requires splitting
up a couple of tests and adjusting the output of others. Exposes two
bugs (9472 and 9508).


BitKeeper/deleted/.del-drop_temp_table.result.es~bc4cfb1ee1257458:
  Delete: mysql-test/r/drop_temp_table.result.es
BitKeeper/deleted/.del-insert_select.result.es~ae7eb9891d6c07c4:
  Delete: mysql-test/r/insert_select.result.es
BitKeeper/deleted/.del-myisam-blob.result.es~d498dae7d9f1a6d4:
  Delete: mysql-test/r/myisam-blob.result.es
BitKeeper/deleted/.del-packet.result.es~6e71c3b634806185:
  Delete: mysql-test/r/packet.result.es
BitKeeper/deleted/.del-query_cache.result.es~246ad731a517d9ab:
  Delete: mysql-test/r/query_cache.result.es
BitKeeper/deleted/.del-select.result.es~240635f6a3f1a079:
  Delete: mysql-test/r/select.result.es
BitKeeper/deleted/.del-type_blob.result.es~a4a0d4454b2d0218:
  Delete: mysql-test/r/type_blob.result.es
BitKeeper/deleted/.del-type_float.result.es~a5533e4118eadc04:
  Delete: mysql-test/r/type_float.result.es
BitKeeper/deleted/.del-type_ranges.result.es~bb77517f4c9dc978:
  Delete: mysql-test/r/type_ranges.result.es
mysql-test/mysql-test-run.sh:
  Remove support for special result extension -- bad idea!
mysql-test/t/ps_1general.test:
  Explain --replace_result
mysql-test/r/insert_select.result:
  Update results
mysql-test/r/select.result:
  Update results
mysql-test/r/type_blob.result:
  Update results
mysql-test/r/type_float.result:
  Update results
mysql-test/r/type_ranges.result:
  Update results
mysql-test/t/drop_temp_table.test:
  Skip this test with embedded server
mysql-test/t/insert_select.test:
  Move binlog test to new file
mysql-test/t/select.test:
  Replace grants column from 'show full columns'
mysql-test/t/type_blob.test:
  Replace grants column from 'show full columns'
mysql-test/t/type_float.test:
  Replace grants column from 'show full columns'
mysql-test/t/type_ranges.test:
  Replace grants column from 'show full columns'
sql/sql_select.cc:
  Fix conditional around query_cache_abort() call.
2005-03-30 17:32:44 -08:00
unknown
504ab8d4f4 merge
sql/sql_parse.cc:
  Auto merged
2005-03-30 22:11:08 +03:00
unknown
72aef9c207 Merge
include/violite.h:
  Auto merged
mysql-test/r/ps_7ndb.result:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Manual merge
2005-03-30 17:07:40 +05:00
unknown
5ac4670bf7 Fix for BUG#9213: GROUP BY returns wrong query results:
Make test_if_skip_sort_order() rebuild tab->ref if it decides to use an index
different from the index join optimizer has choosen.  


mysql-test/r/group_by.result:
  Testcase for BUG#9213
mysql-test/t/group_by.test:
  Testcase for BUG#9213
sql/table.h:
  Added comments about TABLE::used_keys
2005-03-30 15:57:42 +04:00
unknown
216ed8c7e2 A fix (bug #9401: type_timestamp segfaults mysqld)
sql/sql_select.cc:
  A fix (bug #9401: type_timestamp segfaults mysqld).
  1. create_tmp_field_from_field() is modified to take 'Item_ref *item' and 'char *name'
  instead of 'bool modify_item' and 'Item *item'.
  2. For Item_sum_min/max we should never modify item, so NULL is 
  passed as item to the create_tmp_field_from_field().
2005-03-30 14:43:56 +05:00
unknown
dddabc7edd Merge
mysql-test/r/metadata.result:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
mysql-test/r/union.result:
  SCCS merged
mysql-test/t/union.test:
  SCCS merged
2005-03-30 10:27:36 +03:00
unknown
daddf263e5 fixed mechanism of detection selection from table wich we update
(BUG##9398, BUG#8703)
fixed wrong join view detection in multi-delete which lead to server crash


mysql-test/r/lowercase_view.result:
  added new tests of updation and selection from the same table
mysql-test/r/view.result:
  added new tests of updation and selection from the same table
  added test of multidelete command over join view which lead to server crash
  test suite from bugs #9398 and #8703
mysql-test/t/lowercase_view.test:
  added new tests of updation and selection from the same table
mysql-test/t/view.test:
  added new tests of updation and selection from the same table
  added test of multidelete command over join view which lead to server crash
  test suite from bugs #9398 and #8703
sql/sql_base.cc:
  changed procedure of finding tables
sql/sql_class.cc:
  added derived table procession detection
sql/sql_class.h:
  added derived table procession detection
sql/sql_delete.cc:
  fixed detection of selection from table which update for multidelete
sql/sql_derived.cc:
  added derived table procession detection
sql/sql_lex.cc:
  added detection os SELECTs processed inside derived tables
  removed old mechanism of multidelete/multiupdate table duplication detection (which can't work with views)
sql/sql_lex.h:
  added detection os SELECTs processed inside derived tables
  removed old mechanism of multidelete/multiupdate table duplication detection (which can't work with views)
sql/sql_parse.cc:
  removed wrong test of join view (for multidelete in can be not only first table)
sql/sql_prepare.cc:
  added detection os SELECTs processed inside derived tables (reset it for reusing in PS/SP)
sql/sql_select.cc:
  added detection os SELECTs processed inside derived tables
sql/sql_update.cc:
  fixed detection of selection from table which update for multiupdate
2005-03-28 15:13:31 +03:00
unknown
a7f5977c3c Bug #9317: Wrong count for tables in INFORMATION_SCHEMA
there was no check of result of 
  table->file->write_row() function. When count of rows was
  more than table max_rows(HEAP table) the following recodrs
  were not inserted to the table
  -'schema_table_store_record' function is added. 
    The function checks result of write_row function
    and convert HEAP table to MyISAM if necessary
  - Result check after write_row is added into all 
    I_S function which store the records to I_S tables  


mysql-test/r/information_schema.result:
  Bug #9317: Wrong count for tables in INFORMATION_SCHEMA
mysql-test/t/information_schema.test:
  Bug #9317: Wrong count for tables in INFORMATION_SCHEMA
sql/sql_select.cc:
  Bug #9317: Wrong count for tables in INFORMATION_SCHEMA
sql/sql_show.cc:
  Bug #9317: Wrong count for tables in INFORMATION_SCHEMA
sql/table.h:
  Bug #9317: Wrong count for tables in INFORMATION_SCHEMA
2005-03-24 16:32:11 +03:00
unknown
5a42525027 fixed union types merging and table related metadata (BUG#8824)
mysql-test/r/func_group.result:
  new result
mysql-test/r/metadata.result:
  new result
  test of metadata of variables, unions and derived tables
mysql-test/r/union.result:
  new results
  test of union of enum
mysql-test/t/metadata.test:
  test of metadata of variables, unions and derived tables
mysql-test/t/union.test:
  test of union of enum
sql/field.cc:
  Field type merging rules added
  Fixed table name/alias returting for field made from temporary tables
sql/field.h:
  removed unned field type reporting
sql/item.cc:
  fixed bug in NEW_DATE type field creartion
  replaced mechanism of merging types of UNION
sql/item.h:
  replaced mechanism of merging types of UNION
sql/item_func.h:
  new item type to make correct field type detection possible
sql/item_subselect.cc:
  added table name parameter to prepare() to show right table alias for derived tables
sql/sql_derived.cc:
  added table name parameter to prepare() to show right table alias for derived tables
sql/sql_lex.h:
  added table name parameter to prepare() to show right table alias for derived tables
sql/sql_parse.cc:
  made function for enum/set pack length calculation
sql/sql_prepare.cc:
  added table name parameter to prepare() to show right table alias for derived tables
sql/sql_select.cc:
  new temporary table field creation by Item_type_holder
  fixed table alias for temporary table
sql/sql_union.cc:
  added table name parameter to prepare() to show right table alias for derived tables
2005-03-23 08:36:48 +02:00
unknown
bac0698065 Fixed newly introduced bug in ROLLUP 2005-03-22 02:36:31 +02:00
unknown
61f1e9a3e4 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0


sql/handler.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-03-21 23:46:11 +02:00
unknown
802c41e04d Cleanups during review of code
Fixed newly introduced bug in rollup


client/mysqldump.c:
  Safer buffer allocation
  Removed wrong assert
mysql-test/r/olap.result:
  more tests
mysql-test/t/olap.test:
  more tests
sql/handler.cc:
  Simple cleanup
  Fixed wrong check for next digit (wrong debug output)
sql/item.cc:
  Replace shrink_to_length() with mark_as_const() as the former allowed one to do changes to the string
sql/item_sum.cc:
  Change reference to pointer
  Trivial optimzation of testing 'allways_null'
sql/mysqld.cc:
  Proper indentation of comment
sql/sql_select.cc:
  Fixed newly introduced bug in rollup
sql/sql_string.h:
  Remove not needed 'shrink_to_length()'
  Added 'mark_as_const()' to be used when one want to ensure that a string is not changed
2005-03-21 23:41:28 +02:00
unknown
3d8ea9d112 Manual merge of csets from -build tree into main 5.0 tree.
innobase/include/data0type.ic:
  Auto merged
mysql-test/r/endspace.result:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
support-files/mysql.spec.sh:
  Manual merge.
2005-03-21 11:39:47 +03:00
unknown
2ba3544f0e func_group.test, func_group.result:
Added a test case for bug #9210.
sql_select.cc:
  Fixed bug #9210.
  The function calc_group_buffer did not cover the case
  when the GROUP BY expression was decimal.
  Slightly optimized the other code.


sql/sql_select.cc:
  Fixed bug #9210.
  The function calc_group_buffer did not cover the case
  when the GROUP by expression was decimal.
  Slightly optimized the other code.
mysql-test/t/func_group.test:
  Added a test case for bug #9210.
2005-03-19 23:12:50 -08:00
unknown
892a6138ff Eliminate warnings noticed by VC7. This includes fixing my_mmap() on
Windows to call CreateFileMapping() with correct arguments, and
propogating the introduction of query_id_t to everywhere query ids are
passed around. (Bug #8826)


libmysql/libmysql.c:
  Make implicit cast explicit
myisam/mi_open.c:
  Make cast of value to smaller data size explicit
myisam/mi_packrec.c:
  Cast file size (my_off_t) to size_t for mmap
mysys/my_mmap.c:
  Fix Windows version of my_mmap() to use the right parameters
  for call to CreateFileMapping()
sql/field.cc:
  Use temporary value of correct type
sql/field.h:
  Use query_id_t for query_id value
sql/ha_berkeley.cc:
  Fix flag check
sql/ha_innodb.h:
  Use query_id_t for query_id value
sql/handler.cc:
  Explain opt_using_transactions calculation, and add cast
sql/handler.h:
  Fix forward declaration of COND
sql/item.cc:
  Fix val_bool() tests of val_int() to avoid implicit cast
sql/item_cmpfunc.cc:
  Fix typo in switch label
sql/item_func.cc:
  Make implicit cast explicit
sql/item_strfunc.cc:
  Now that query_id is a query_id_t, need to cast it to a ulong here
sql/item_subselect.cc:
  Fix test of value
sql/log.cc:
  Cast my_off_t used for file size to size_t for memory allocation
  Also cast my_off_t when using it to calculate the number of pages for TC log
  Cast total_ha_2pc to uchar when saving it
sql/mysql_priv.h:
  Move up query_id definition so it can be used more widely
sql/opt_range.cc:
  Add unused delete operator to prevent compiler warning
sql/set_var.cc:
  Cast value for max_user_connections
sql/sql_cache.cc:
  Remove unused label
sql/sql_class.h:
  Fix query id values to be of type query_id_t
sql/sql_db.cc:
  Move variable only used inside #ifdef within the #ifdef
sql/sql_help.cc:
  Remove unused label
sql/sql_insert.cc:
  Use query_id_t for query id values
sql/sql_lex.h:
  Add unused delete operator to prevent compiler warning
sql/sql_select.cc:
  Remove unused variable
  Make cast of value explicit
sql/sql_select.h:
  Use query_id_t for query id values
sql/sql_table.cc:
  Make comparison to function pointer explicit
sql/sql_update.cc:
  Use query_id_t for query id values
sql/table.h:
  Use query_id_t for query id values
strings/ctype-simple.c:
  Add cast of long value to (char) in expression
strings/ctype-ucs2.c:
  Add cast of long value to (char) in expression
strings/ctype-utf8.c:
  Make cast to smaller size explicit
2005-03-18 16:12:25 -08:00
unknown
0f58efbd48 Manual merge
BitKeeper/etc/logging_ok:
  auto-union
mysql-test/r/olap.result:
  Auto merged
sql/sql_select.cc:
  Auto merged
BitKeeper/deleted/.del-isamchk.1.in~9d44303f6d951962:
  Auto merged
BitKeeper/deleted/.del-isamlog.1.in~416d91adbf665b19:
  Auto merged
2005-03-17 21:47:46 -08:00
unknown
ee2633a7e2 olap.test:
Added a test case for bug #8617.
sql_select.cc:
  Fixed bug #8617.
  Queries with ROLLUP and LIMIT n returned more than n rows
  if SQL_CALC_FOUND_ROWS was used.


sql/sql_select.cc:
  Fixed bug #8617.
  Queries with ROLLUP and LIMIT n returned more than n rows
  if SQL_CALC_FOUND_ROWS was used.
mysql-test/t/olap.test:
  Added a test case for bug #8617.
2005-03-17 20:18:19 -08:00
unknown
63d70574c9 Fix merge of sql/sql_select.cc using Igor's patch (Bug #9254)
sql/sql_select.cc:
  Post-merge correction
2005-03-17 17:22:40 -08:00
unknown
0c0a2d5590 after merge fix 2005-03-17 18:44:24 +03:00
unknown
17791f9500 Merge 4.1 -> 5.0
heap/hp_create.c:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/r/olap.result:
  Auto merged
mysql-test/t/func_str.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/key.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
sql/sql_string.h:
  Auto merged
client/mysqldump.c:
  Manual merge
mysql-test/r/func_gconcat.result:
  Manual merge
mysql-test/r/func_str.result:
  Manual merge
mysql-test/t/func_gconcat.test:
  Manual merge
sql/ha_heap.cc:
  Manual merge
sql/sql_select.cc:
  Manual merge
2005-03-17 16:51:07 +03:00
unknown
31f6b0dde8 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.


sql/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.
mysql-test/t/olap.test:
  Added a test for bug #8615.
mysql-test/r/olap.result:
  Added a test for bug #8615.
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
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
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
unknown
66eaf5f243 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
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
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
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
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
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
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
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
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