Commit graph

1168 commits

Author SHA1 Message Date
unknown
f8a20dbeb6 Resolve merge from 4.1
BitKeeper/etc/logging_ok:
  auto-union
configure.in:
  Auto merged
myisam/mi_check.c:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
client/mysqldump.c:
  Resolve merge
mysql-test/r/myisam.result:
  Resolve merge
mysql-test/r/mysqldump.result:
  Resolve merge
mysql-test/r/olap.result:
  Resolve merge
mysql-test/r/subselect.result:
  Resolve merge
mysql-test/t/myisam.test:
  Resolve merge
mysql-test/t/mysqldump.test:
  Resolve merge
mysql-test/t/olap.test:
  Resolve merge
mysql-test/t/range.test:
  Resolve merge
mysql-test/t/subselect.test:
  Resolve merge
ndb/src/common/util/version.c:
  Resolve merge
ndb/src/ndbapi/ndberror.c:
  Resolve merge
sql/item.cc:
  Resolve merge
sql/item_strfunc.h:
  Resolve merge
sql/sql_select.cc:
  Resolve merge
sql/sql_yacc.yy:
  Resolve merge
2005-05-18 11:06:34 -07:00
unknown
1c0e670911 A draft comment for mysql_select. Feel free to moderate and improve. 2005-05-18 19:35:20 +04:00
unknown
0a2b07254f olap.result, olap.test:
Added test cases for bug #7914.
sql_select.cc:
  Fixed bug #7914: rollup over expresssions such as sum(a)+1.


sql/sql_select.cc:
  Fixed bug #7914: rollup over expresssions such as sum(a)+1.
mysql-test/t/olap.test:
  Added test cases for bug #7914.
mysql-test/r/olap.result:
  Added test cases for bug #7914.
2005-05-18 05:15:48 -07:00
unknown
70c4325d67 Fixed failing tests for not 32 bit intel machines
Fixed bug in mysql_stmt_fetch() when retrieving rows to return


mysql-test/r/ps.result:
  Fix to not get warnings if mysql_client_test.test fails
mysql-test/t/index_merge_ror.test:
  Proper fix for 64 bit intel (which gives uses another, equal good index)
mysql-test/t/ps.test:
  Fix to not get warnings if mysql_client_test.test fails
sql-common/client.c:
  More debugging
sql/sql_prepare.cc:
  Fixed bug in mysql_stmt_fetch() when retrieving rows to return
sql/sql_select.cc:
  More debugging
tests/mysql_client_test.c:
  More debugging
2005-05-16 13:34:23 +03:00
unknown
c572e46980 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/media/sda1/mysql/mysql-5.0-9478


sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-05-12 11:17:38 +04:00
unknown
2a8556f32d A fix and test case for Bug#9478 "mysql_stmt_attr_set mysql_stmt_execute"
(crash on attempt to re-execute a statement with an open cursor) + 
post-review fixes.


include/errmsg.h:
  Add a special error message when we attempt to mysql_stmt_fetch
  from a statement which has no result set.
libmysql/errmsg.c:
  Error message text for CR_NO_RESULT_SET
libmysql/libmysql.c:
  Move the code which frees result sets on client and closes the cursor
  on server, resets long data state on client and server.
  This makes one function out of two (mysql_stmt_reset and
  mysql_stmt_free_result), thus aggregating all related reset work
  in one place.
sql-common/client.c:
  Fix one place where we flushed the pending result set of a statement,
  but didn't set unbuffered_fetch_cancelled flag.
sql/share/errmsg.txt:
  Fix format of ER_UNKNOWN_STMT_HANDLER error message (needs to
  be fixed separately in 4.1). Add two new error messages 
  for the case when we fetch from when there is no cursor
  and for the case when we attempt to execute a statement while there is
  a cursor.
sql/sql_prepare.cc:
  Return error when we fetch while there is no open cursor and
  when we call execute while there is a pending cursor.
  Fix mysql_stmt_reset to close the open cursor if there is any.
sql/sql_select.cc:
  free_items and free_root moved to Cursor::close().
sql/sql_select.h:
  A comment added.
tests/mysql_client_test.c:
  A test case for Bug#9478, test the case of mysql_stmt_reset
  called for client-side cached result set and for the case with open cursor.
  All strcpy replaced with strmov (review request).
2005-05-12 11:16:12 +04:00
unknown
623444963e Manual merge
sql/sql_base.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/table.cc:
  Auto merged
sql/table.h:
  Auto merged
2005-05-10 16:41:47 -07:00
unknown
e02416c53c Many files:
Fixed bug #8528.
  Representation for single-table views was made similar to
  representation for multi-table views.
view.test:
  Added test case for bug #8528.
view.result:
  Added test case for bug #8528. Fixed other test cases.


mysql-test/r/view.result:
  Added test case for bug #8528. Fixed other test cases.
mysql-test/t/view.test:
  Added test case for bug #8528.
sql/sql_base.cc:
  Fixed bug #8528.
  Representation for single-table views was made similar to
  representation for multi-table views.
sql/sql_delete.cc:
  Fixed bug #8528.
  Representation for single-table views was made similar to
  representation for multi-table views.
sql/sql_insert.cc:
  Fixed bug #8528.
  Representation for single-table views was made similar to
  representation for multi-table views.
sql/sql_parse.cc:
  Fixed bug #8528.
  Representation for single-table views was made similar to
  representation for multi-table views.
sql/sql_prepare.cc:
  Fixed bug #8528.
  Representation for single-table views was made similar to
  representation for multi-table views.
sql/sql_select.cc:
  Fixed bug #8528.
  Representation for single-table views was made similar to
  representation for multi-table views.
sql/sql_update.cc:
  Fixed bug #8528.
  Representation for single-table views was made similar to
  representation for multi-table views.
sql/sql_view.cc:
  Fixed bug #8528.
  Representation for single-table views was made similar to
  representation for multi-table views.
sql/table.cc:
  Fixed bug #8528.
  Representation for single-table views was made similar to
  representation for multi-table views.
sql/table.h:
  Fixed bug #8528.
  Representation for single-table views was made similar to
  representation for multi-table views.
2005-05-10 16:31:13 -07:00
unknown
facce9257b Removed call to cond_push for empty cond 2005-05-08 22:42:40 +02:00
unknown
63b89d8192 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/usr/local/home/marty/MySQL/mysql-5.0


sql/ha_ndbcluster.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-05-07 22:44:49 +02:00
unknown
0410766f3d Removed double cond_push 2005-05-07 22:41:30 +02:00
unknown
474a4d5d8d Merge
BUILD/FINISH.sh:
  Auto merged
client/mysql.cc:
  Auto merged
mysql-test/r/innodb.result:
  Auto merged
mysql-test/r/type_float.result:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
sql/ha_heap.cc:
  Auto merged
mysql-test/r/create.result:
  Merge changes
mysql-test/r/temp_table.result:
  SCCS merged
mysql-test/t/temp_table.test:
  Merge new tests
sql/item.cc:
  Merge from 4.1
sql/sql_select.cc:
  Merge from 4.1
2005-05-07 08:25:58 -07:00
unknown
e28ddc8d7b Merge mysql.com:/home/jimw/my/mysql-4.1-8497
into mysql.com:/home/jimw/my/mysql-4.1-clean


sql/ha_heap.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-05-07 01:00:24 -07:00
unknown
f43c581781 merge
sql/ha_innodb.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/key.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/unireg.cc:
  Auto merged
2005-05-06 13:51:58 +03:00
unknown
ab54e16705 Fixes while reviewing new code
Added option --count to mysqlshow (to show number of rows)
Fixed possible core dump in information schema


client/client_priv.h:
  --count for mysqlshow
client/mysqlshow.c:
  Added option --count to be used when the user want's number of rows per table in the output
  (We shouldn't use count(*) as default as this can be a slow operation)
mysys/my_thr_init.c:
  Correct comment
sql/ha_berkeley.cc:
  Remove not used variable
sql/ha_berkeley.h:
  Remove not used variable
sql/ha_innodb.cc:
  Remove not used function
sql/ha_ndbcluster.cc:
  false -> FALSE
  true -> TRUE
sql/handler.cc:
  Added and fixed comments
  Remove 'strange' code to remove compiler warnings (better to do things like this with attribute)
sql/item.cc:
  false -> FALSE
sql/item_cmpfunc.cc:
  Fixed indentation
sql/item_cmpfunc.h:
  marked BETWEEN as a bool function
sql/item_func.cc:
  Simple optimzation
sql/key.cc:
  Removed wrong code
sql/log.cc:
  Check result from open_index_file()
sql/mysql_priv.h:
  Simplyfy some test of netware
sql/mysqld.cc:
  Fixed indentation
  Check result form open_index_file()
  Simplify code with IF_NETWARE()
sql/opt_range.cc:
  false -> FALSE
  true -> TRUE
  Fixed indentation
sql/opt_sum.cc:
  Fixed comments
sql/sp_head.cc:
  Simple optimzation
  Move variable declarations to begining of blocks
sql/sql_acl.cc:
  Fix long lines
  Rename xx -> column
  Move declaration to beginning of block
sql/sql_parse.cc:
  Removed comment
sql/sql_select.cc:
  Indentation fixes
sql/sql_show.cc:
  Fixed reference outside of array (possible core dump)
sql/sql_table.cc:
  Simplify code
  Combine common code
sql/sql_test.cc:
  false -> FALSE
sql/sql_trigger.cc:
  false -> false
  true -> TRUE
sql/sql_yacc.yy:
  Simpler test
sql/unireg.cc:
  Added comment
2005-05-06 11:39:30 +03:00
unknown
930644731d Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/root/mysql-5.0


sql/sql_select.cc:
  Auto merged
2005-05-06 11:48:54 +05:00
unknown
d8cf7e0133 Bug#9509 Optimizer: wrong result after AND with latin1_german2_ci
We cannot propagate constants with tricky collations.
2005-05-05 21:13:57 +05:00
unknown
6de14a23f7 A lot of fixes to Precision math
Mostly about precision/decimals of the results of the operations


include/decimal.h:
  decimal interface changed a little
sql/field.cc:
  a lot of precision/decimals related changes to the Field_new_decimal
sql/field.h:
  Field_new_decimal interface changed
sql/ha_ndbcluster.cc:
  f->precision should be used here
sql/item.cc:
  precision/decimals counting related changes
sql/item.h:
  precision/decimals counting related changes
sql/item_cmpfunc.cc:
  precision/decimals counting related changes
sql/item_cmpfunc.h:
  precision/decimals counting related changes
sql/item_func.cc:
  precision/decimals counting related changes
sql/item_func.h:
  precision/decimals counting related changes
sql/item_sum.cc:
  precision/decimals counting related changes
sql/item_sum.h:
  precision/decimals counting related changes
sql/my_decimal.cc:
  precision/decimals counting related changes
sql/my_decimal.h:
  precision/decimals counting related changes
sql/mysqld.cc:
  precision/decimals counting related changes
sql/set_var.cc:
  precision/decimals counting related changes
sql/sp_head.cc:
  dbug_decimal_print was replaced with dbug_decimal_as_string
sql/sql_class.h:
  div_precincrement variable added
sql/sql_parse.cc:
  precision/decimals counting related changes
sql/sql_select.cc:
  precision/decimals counting related changes
sql/sql_show.cc:
  Field::representation_length was removed
strings/decimal.c:
  decimal_actual_fraction was introduced
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2005-05-05 20:06:49 +05:00
unknown
21d3d43cf2 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/psergey/mysql-5.0-test-valgrind


sql/sql_select.cc:
  Auto merged
2005-05-03 10:23:10 +04:00
unknown
9b512475fc Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0


Makefile.am:
  Auto merged
client/mysqladmin.cc:
  Auto merged
configure.in:
  Auto merged
include/my_global.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-05-01 23:10:55 +02:00
unknown
a6acc4462c Merge with 4.1
BitKeeper/etc/logging_ok:
  auto-union
configure.in:
  Auto merged
include/config-win.h:
  Auto merged
include/my_global.h:
  Auto merged
mysql-test/r/drop.result:
  Auto merged
mysys/default.c:
  Auto merged
mysys/mf_keycache.c:
  Auto merged
sql/field.h:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
BitKeeper/deleted/.del-errmsg.txt~f96b7055cac394e:
  Auto merged
mysql-test/r/cast.result:
  Merge
mysql-test/t/cast.test:
  Merge
sql/sql_insert.cc:
  Merge
sql/sql_select.cc:
  Merge
2005-04-30 09:46:08 +03:00
unknown
963e94ce49 A fix and a test case for Bug#9520 "SELECT DISTINCT crashes server
with cursor". The patch refactors do_select/sub_select
functions, which implement the nested loop algorithm, and reuses them to
fetch rows for cursors as well.
Pushing with view.test failing (--ps-protocol).


sql/sql_prepare.cc:
   Cursor::fetch() now returns void
sql/sql_select.cc:
  A fix for Bug#9520 "SELECT DISTINCT crashes server with cursor":
  * rename sub_select returns codes to be able to track down what's going
    on in which case.
  * move record processing and outer join record processing to a separate
    function, out of sub_select read-record loop.
  * use generalized sub_select() nested loop function for
  cursors instead of own loop implementation used in Cursor::fetch() before
sql/sql_select.h:
  Replace all return values of sub_select family with enum.
  Add JOIN::resume_nested_loop flag to indicate we are restarting the nested loop
  for execution of next chunk of cursor's rows.
tests/mysql_client_test.c:
  A test case for Bug#9520 "SELECT DISTINCT crashes server with cursor"
2005-04-30 09:54:35 +04:00
unknown
3b6043870d Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1


sql/sql_select.cc:
  Auto merged
2005-04-30 03:45:12 +03:00
unknown
27fa1254dc Fix bug #9703 "Error 1032 with GROUP BY query and large tables"
Reset old error if tmp table was successfully created.

Test data is large and can be found in bug report along with test query.


sql/sql_select.cc:
  Fix bug #9703
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2005-04-29 21:19:39 +04:00
unknown
fe40de6f94 Fix for BUG#10244:
Make get_quick_select_for_ref() accept estimated # records as parameter and 
set QUICK_RANGE_SELECT::records, as this value is used to allocate buffers 
in Multi-Range Read. 


sql/opt_range.cc:
  Make get_quick_select_for_ref() accept estimated # records as parameter and 
  set QUICK_RANGE_SELECT::records, as this value is used to allocate buffers 
  in Multi-Range Read.
sql/opt_range.h:
  Added "records" parameter to get_quick_select_for_ref()
sql/sql_select.cc:
  Added "records" parameter to get_quick_select_for_ref()
2005-04-29 01:16:32 +04:00
unknown
e5e73082b1 be sure to call top_level_item() on the new Item_cond_and,
that merges ON and WHERE (BUG#10162)


mysql-test/r/join_outer.result:
  BUG#10162 - ON is merged with WHERE, left join is convered to a regular join
mysql-test/t/join_outer.test:
  BUG#10162 - ON is merged with WHERE, left join is convered to a regular join
2005-04-27 01:32:44 +02:00
unknown
bf17c826de Cleanups during review
mysys/default.c:
  Cleanup:
  - Just test once for recursion level
  - Don't test explicitely for \r or \n as my_isspace() already does that
sql/sql_insert.cc:
  Fix argument
sql/sql_select.cc:
  Fixed indentation
  added comment
2005-04-26 23:24:59 +03:00
unknown
714aa10a3c Merge rurik.mysql.com:/home/igor/mysql-5.0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0


ndb/test/ndbapi/Makefile.am:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-04-20 16:39:31 -07:00
unknown
2e33f4e2fb Merge rurik.mysql.com:/home/igor/mysql-4.1
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0


sql/sql_select.cc:
  Auto merged
2005-04-20 15:08:22 -07:00
unknown
b529fed683 BUG#9103 merge to 5.0
sql/sql_select.h:
  Auto merged
2005-04-20 12:09:56 +04:00
unknown
3125fed2a3 Merge of the fix for bug #9681 4.1->5.0
mysql-test/r/olap.result:
  Auto merged
mysql-test/t/olap.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-04-19 19:00:02 -07:00
unknown
6a97b07994 sql_select.cc:
Fixed bug #9681.
  The bug happened with queries using derived tables specified by
  a SELECT with ROLLUP, such as:
  SELECT * FROM (SELECT a, SUM(a) FROM t1 GROUP BY a WITH ROLLUP) t2,
  if column a of table t1 is declared as NOT NULL.
  This was to the fact that the first column of the temporary table
  created to contain the derived table erroneously inherited the NOT NULL
  attribute from column a.
olap.result, olap.test:
  Added a test case for bug #9681.


mysql-test/t/olap.test:
  Added a test case for bug #9681.
mysql-test/r/olap.result:
  Added a test case for bug #9681.
sql/sql_select.cc:
  Fixed bug #9681.
  The bug happened with queries using derived tables specified by
  a SELECT with ROLLUP, such as:
  SELECT * FROM (SELECT a, SUM(a) FROM t1 GROUP BY a WITH ROLLUP) t2,
  if column a of table t1 is declared as NOT NULL.
  This was to the fact that the first column of the temporary table
  created to contain the derived table erroneously inherited the NOT NULL
  attribute from column a.
2005-04-19 16:54:30 -07:00
unknown
955ec71f78 Fix for BUG#9103:
Don't produce data truncation warnings from within cp_buffer_from_ref(). This function
is only used to make index search tuples and data truncation that occurs here has no
relation with truncated values being saved into tables.


mysql-test/r/update.result:
  Testcase for BUG#9103
mysql-test/t/update.test:
  Testcase for BUG#9103
sql/opt_range.cc:
  cp_buffer_from_ref now has THD* parameter
sql/sql_select.h:
  cp_buffer_from_ref now has THD* parameter
2005-04-18 05:21:44 +04:00
unknown
e77860b7be Merge rurik.mysql.com:/home/igor/mysql-5.0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0


sql/item.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-04-15 22:35:29 -07:00
unknown
2b92a78eb8 subselect.result, subselect.test:
Added a test case for bug #9338.
sql_select.cc:
  Fixed bug #9338.
  When an occurence of a field reference has to be replaced
  by another field reference the whole Item_field must be
  replaced.
item.cc:
  Fixed bug #9338.
  The method Item_field::replace_equal_field_processor was
  replaced by Item_field::replace_equal_field. The new method
  is used to replace the occurences of Item_field objects.
item.h:
  Fixed bug #9338.
  The virtual function replace_equal_field_processor was replaced
  by replace_equal_field. The latter is supposed to be used as a
  callback function in calls of the method transform.


sql/item.h:
  Fixed bug #9338.
  The virtual function replace_equal_field_processor was replaced
  by replace_equal_field. The latter is supposed to be used as a
  callback function in calls of the method transform.
sql/item.cc:
  The method Item_field::replace_equal_field_processor was
  replaced by Item_field::replace_equal_field The new method
  is used to replace the occurences of Item_field objects.
sql/sql_select.cc:
  Fixed bug #9338.
  When an occurence of a field reference has to be replaced
  by another field reference the whole Item_field must be
  replaced.
mysql-test/t/subselect.test:
  Added a test case for bug #9338.
mysql-test/r/subselect.result:
  Added a test case for bug #9338.
2005-04-15 20:43:45 -07:00
unknown
e35244d626 Add a comment to update_ref_and_keys 2005-04-14 17:47:48 -07:00
unknown
90b7d13ab4 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-04-07 19:25:20 +03:00
unknown
e10d81448d Moved some old test and added a new test to only be run with mysql-test-run --big
Fixed warnings by valgrind for sum_distinct.test
Enable buffered-record-reads after filesort for InnoDB tables with short primary key
Enabled sort-with-data for MyISAM temporary files


BitKeeper/etc/ignore:
  added tools/mysqltestmanager
client/mysqltest.c:
  Ensure that BIG_TEST is always set to 0 or 1
  Fix the 'eval' also honors 'require'
mysql-test/mysql-test-run.sh:
  Enlarge InnoDB table space for --big tests
mysql-test/r/heap.result:
  Fix after adding more optimzation for filsort
mysql-test/r/sum_distinct.result:
  Move 'slow' part of test to sum_distinct-big.test
mysql-test/t/heap.test:
  Ensure that results are indpendent of optimizer
mysql-test/t/sum_distinct.test:
  Move 'slow' part of test to sum_distinct-big.test
sql/filesort.cc:
  Use 'sort with data' also on temporary files and with INSERT ... SELECT
sql/ha_innodb.h:
  Remove HA_FAST_KEY_READ to enable buffered-record-reads after filesort
sql/handler.h:
  More comments
sql/mysql_priv.h:
  A bit smaller limit for cache for buffered-records-read (after testing)
sql/records.cc:
  Don't use buffered-record-reads if ref_length > MAX_REFLENGTH
  Fixed warning from valgrind in 'sum_distinct'
sql/sql_select.cc:
  Ensure that tempory tables has query_id set for all fields
  (Required for sort-with-data to work on temp files)
2005-04-07 19:24:14 +03:00
unknown
baf90cc0ce Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/psergey/mysql-5.0-bug8877-merge


sql/sql_select.cc:
  Auto merged
2005-04-07 17:48:42 +04:00
unknown
3e801322d7 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/psergey/mysql-4.1-bug8877


sql/sql_select.cc:
  Auto merged
2005-04-07 17:47:37 +04:00
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