Commit graph

5324 commits

Author SHA1 Message Date
unknown
1ce535c6ab Cset exclude: msvensson@neptunus.(none)|ChangeSet|20060825084614|09755
mysql-test/r/myisam.result:
  Exclude
mysql-test/t/myisam.test:
  Exclude
2007-01-17 11:27:33 +01:00
unknown
4743deeba0 Merge pilot.mysql.com:/home/msvensson/mysql/mysql-4.1
into  pilot.mysql.com:/home/msvensson/mysql/mysql-4.1-maint


mysql-test/t/mysqladmin.test:
  Auto merged
mysys/mf_iocache.c:
  Auto merged
mysys/my_read.c:
  Auto merged
mysys/my_seek.c:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2007-01-17 11:13:03 +01:00
unknown
d470c233f7 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-runtime
into  bodhi.local:/opt/local/work/mysql-4.1-4968-to-push


sql/mysql_priv.h:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_parse.cc:
  Manual merge.
sql/sql_table.cc:
  Manual merge.
2007-01-15 13:03:21 +03:00
unknown
b9dc0243a8 Fixed bug #24776: an assertion abort in handler::ha_index_init
for queries using 'range checked for each record'.
The problem was fixed in 5.0 by the patch for bug 12291.
This patch down-ported the corresponding code from 5.0 into 
QUICK_SELECT::init() and added a new test case. 


mysql-test/r/range.result:
  Added a test case for bug #24776.
mysql-test/t/range.test:
  Added a test case for bug #24776.
sql/opt_range.h:
  Fixed bug #24776: an assertion abort in handler::ha_index_init
  for queries using 'range checked for each record'.
  The problem was fixed in 5.0 by the patch for bug 12291.
  The patch for 4.1 down-ported the corresponding code from 5.0 into 
  QUICK_SELECT::init().
2007-01-13 10:49:26 -08:00
unknown
6dc0202617 Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-4.1-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-4.1-merge


sql/sql_parse.cc:
  Auto merged
2007-01-12 12:21:44 +01:00
unknown
52c100ae0c Bug#23409: Arguments of the ENCODE() and the DECODE() functions were not printed
correctly.

The Item_func::print method was used to print the Item_func_encode and the
Item_func_decode objects. The last argument to ENCODE and DECODE functions
is a plain C string and thus Item_func::print wasn't able to print it.

The print() method is added to the Item_func_encode class. It correctly
prints the Item_func_encode and the Item_func_decode objects.


mysql-test/t/func_str.test:
  Added a test case for bug#23409: Arguments of the ENCODE() and the
  > DECODE() functionswere not printed correctly.
mysql-test/r/func_str.result:
  Added a test case for bug#23409: Arguments of the ENCODE() and the DECODE() functions were not printed correctly.
sql/item_strfunc.h:
  Bug#23409: Arguments of the ENCODE() and the DECODE() functions were not printed correctly.
  The print() method is added to the Item_func_encode class.
sql/item_strfunc.cc:
  Bug#23409: Arguments of the ENCODE() and the DECODE() functions were not printed correctly.
  The print() method is added to the Item_func_encode class. It correctly
  prints the Item_func_encode and the Item_func_decode objects.
2007-01-11 16:45:38 +03:00
unknown
0fdd3dce16 Merge fix for bug#17711 2007-01-11 16:20:08 +03:00
unknown
661796389f Bug#17711: DELETE doesn't use index when ORDER BY, LIMIT and non-restricting
WHERE is present.

If a DELETE statement with ORDER BY and LIMIT contains a WHERE clause
with conditions that for sure cannot be used for index access (like in
WHERE @var:= field) the execution always follows the filesort path.    
It happens currently even when for the above case there is an index that
can be used to speedup sorting by the order by list.

Now if a DELETE statement with ORDER BY and LIMIT contains such WHERE
clause conditions that cannot be used to build any quick select then
the mysql_delete() tries to use an index like there is no WHERE clause at all.


mysql-test/t/delete.test:
  Added a test case for bug#17711: DELETE doesn't use index when ORDER BY, LIMIT and non-restricting
  WHERE is present.
mysql-test/r/delete.result:
  Added a test case for bug#17711: DELETE doesn't use index when ORDER BY, LIMIT and non-restricting WHERE is present.
sql/sql_delete.cc:
  Bug#17711: DELETE doesn't use index when ORDER BY, LIMIT and non-restricting WHERE is present.
  Now if a DELETE statement with ORDER BY and LIMIT contains such WHERE
  clause conditions that cannot be used to build any quick select then
  the mysql_delete() tries to use an index like there is no WHERE clause at all.
2007-01-11 16:05:03 +03:00
unknown
6fc17dab1e Fixed bug #25427.
In the method Item_field::fix_fields we try to resolve the name of
the field against the names of the aliases that occur in the select
list. This is done by a call of the function find_item_in_list.
When this function finds several occurrences of the field name
it sends an error message to the error queue and returns 0.
Yet the code did not take into account that find_item_in_list
could return 0 and tried to dereference the returned value.


mysql-test/r/order_by.result:
  Added a test case for bug #25427.
mysql-test/t/order_by.test:
  Added a test case for bug #25427.
sql/item.cc:
  Fixed bug #25427.
  In the method Item_field::fix_fields we try to resolve the name of
  the field against the names of the aliases that occur in the select
  list. This is done by a call of the function find_item_in_list.
  When this function finds several occurrences of the field name 
  it sends an error message to the error queue and returns 0.
  Yet the code did not take into account that find_item_in_list
  could return 0 and tried to dereference the returned value.
2007-01-10 00:27:11 -08:00
unknown
422d6b357f Bug#24607 - MyISAM pointer size determined incorrectly
The function mi_get_pointer_length() computed too small
pointer size for very large tables.

Inserted missing 'else' between the branches for very
large tables.


myisam/mi_create.c:
  Bug#24607 - MyISAM pointer size determined incorrectly
  Inserted missing 'else' between the branches for very
  large tables.
  Harmonized literals "(longlong) 1" and "1L" to "ULL(1)"
  where they are used for "ulonglong file_length".
mysql-test/r/myisam.result:
  Bug#24607 - MyISAM pointer size determined incorrectly
  Added the test result.
mysql-test/t/myisam.test:
  Bug#24607 - MyISAM pointer size determined incorrectly
  Added the test.
2007-01-05 10:26:51 +01:00
unknown
8e0eea0d33 Merge mysql.com:/d2/hf/common/my41-common
into  mysql.com:/d2/hf/opt/my41-opt
2007-01-03 11:17:00 +04:00
unknown
33b6bab871 Fix for bug #23616: Week() changed behaviour between 5.0.22 and 5.0.24
Consider double values as legal date{time} function's arguments
(i.e. allow dates in internal format YYYYMMDDHHMMSS.XXXXXX).


mysql-test/r/func_sapdb.result:
  Fix for bug #23616: Week() changed behaviour between 5.0.22 and 5.0.24
    - result adjusted.
mysql-test/r/func_time.result:
  Fix for bug #23616: Week() changed behaviour between 5.0.22 and 5.0.24
    - test result.
mysql-test/t/func_time.test:
  Fix for bug #23616: Week() changed behaviour between 5.0.22 and 5.0.24
    - test case.
sql-common/my_time.c:
  Fix for bug #23616: Week() changed behaviour between 5.0.22 and 5.0.24
    - consider '.' as an acceptable separator for dates like YYYYYMMDDHHMMSS.XXXXXX
2006-12-26 15:08:41 +04:00
unknown
0f462179db Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  siva.hindu.god:/usr/home/tim/m/bk/41
2006-12-22 13:23:12 -07:00
unknown
368dcac4f8 Merge polly.local:/tmp/maint/bug24037/my41-bug24037
into  polly.local:/home/kaa/src/maint/mysql-4.1-maint
2006-12-22 16:19:45 +03:00
unknown
ee37cf0bb9 Fix for the bug #24037 "Lossy Hebrew to Unicode conversion".
Added definitions for the following Hebrew characters as specified by the ISO/IEC 8859-8:1999:

LEFT-TO-RIGHT MARK (LRM)
RIGHT-TO-LEFT MARK (RLM)


sql/share/charsets/hebrew.xml:
  Added definitions for the following Hebrew characters as specified by the ISO/IEC 8859-8:1999:
  
  LEFT-TO-RIGHT MARK (LRM)
  RIGHT-TO-LEFT MARK (RLM)
strings/conf_to_src.c:
  Added a warning comment in the generated C source file.
strings/ctype-extra.c:
  Re-generated from sql/share/charsets/hebrew.xml
mysql-test/r/ctype_hebrew.result:
  Added the test case for bug #24037 "Lossy Hebrew to Unicode conversion"
mysql-test/t/ctype_hebrew.test:
  Added the test case for bug #24037 "Lossy Hebrew to Unicode conversion"
2006-12-22 15:30:37 +03:00
unknown
454b7d0f52 Merge siva.hindu.god:/usr/home/tim/m/bk/g41
into  siva.hindu.god:/usr/home/tim/m/bk/41


scripts/mysqld_multi.sh:
  Auto merged
2006-12-21 18:18:27 -07:00
unknown
9d094c56bc Merge mysql.com:/home/svoj/devel/bk/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG21310/mysql-4.1-engines


sql/sql_update.cc:
  Auto merged
2006-12-20 19:08:28 +04:00
unknown
9d85b0a616 BUG#21310 - Trees in SQL causing a "crashed" table with MyISAM storage engine
An update that used a join of a table to itself and modified the
table on one side of the join reported the table as crashed or
updated wrong rows.

Fixed by creating temporary table for self-joined multi update statement.


mysql-test/r/myisam.result:
  A test case for BUG#21310.
mysql-test/t/myisam.test:
  A test case for BUG#21310.
sql/lock.cc:
  Exclude 'table' param from check.
sql/sql_update.cc:
  Disabling record cache for self-joined multi update statement is wrong.
  The join must only see the table as it was at the beginning of the statement.
  safe_update_on_fly check if it is safe to update first table on the fly, that is
  not creating temporary table. It is possible in case a row from this table is
  never read more than once. safe_update_on_fly now detect self-joined table and
  refuse to update this table on the fly.
2006-12-20 19:05:35 +04:00
unknown
9166c711c2 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2006-12-19 10:40:53 +01:00
unknown
a6f4c958ca myisam.result: a test was moved from the .test file, but the results were not updated.
mysql-test/r/myisam.result:
  Fix results file - a test was moved from the .test file, but the results were not updated.
mysql-test/r/symlink.result:
  echo End of 4.1 tests while I'm here
mysql-test/t/myisam.test:
  echo End of 4.1 tests while I'm here
mysql-test/t/symlink.test:
  echo End of 4.1 tests while I'm here
2006-12-14 16:23:54 -07:00
unknown
833b235b18 Merge kpettersson@bk-internal:/home/bk/mysql-4.1-maint
into  kpdesk.mysql.com:/home/thek/dev/mysql-4.1-maint
2006-12-14 16:09:15 +01:00
unknown
e21242fef8 Merge kpettersson@bk-internal:/home/bk/mysql-4.1-maint
into  naruto.:C:/cpp/mysql-4.1-maint
2006-12-14 16:02:43 +01:00
unknown
c4b2bee9a1 Merge kpdesk.mysql.com:/home/thek/dev/bug17489/my41-bug17498
into  kpdesk.mysql.com:/home/thek/dev/mysql-4.1-maint


mysql-test/t/myisam.test:
  SCCS merged
2006-12-14 15:30:00 +01:00
unknown
e524063bee Bug#17498 failed to put data file in custom directory use "data directory" option
- When this bug was corrected it changed the behavior 
  for data/index directory in the myisam test case.
- This patch moves the OS depending tests to a non-windows
  test file.


mysql-test/r/myisam.result:
  moved test from myisam to symlink; new result file
mysql-test/r/symlink.result:
  moved test from myisam to symlink; new result file
mysql-test/t/myisam.test:
  moved test from myisam to symlink
mysql-test/t/symlink.test:
  moved test from myisam to symlink
2006-12-14 13:23:31 +01:00
unknown
2f8fd0c44c Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-4.1-ndb
2006-12-14 11:28:28 +01:00
unknown
a4ad07b7ea Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG23404/mysql-4.1-engines


mysql-test/r/alter_table.result:
  SCCS merged
mysql-test/t/alter_table.test:
  SCCS merged
2006-12-13 15:53:37 +04:00
unknown
ddb182e53d Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  mysql.com:/usr/home/ram/work/bug22377/my41-bug22377
2006-12-13 14:05:29 +04:00
unknown
33446269e1 Fixed bug #24670: optimizations that are legal only for subqueries without tables
and no WHERE condition were applied for any subquery without tables.



mysql-test/r/subselect.result:
  Added a test case for bug #24670.
mysql-test/t/subselect.test:
  Added a test case for bug #24670.
sql/item_subselect.cc:
  Fixed bug #24670: optimizations that are legal only for subqueries without tables
  and no WHERE condition were applied for any subquery without tables.
  
  Removed an assertion that caused an abort for subqueries without tables and no 
  WHERE condition. 
  Blocked substitution of a single-row subquery without tables for the constant 
  row from its select list when the subquery contained a WHERE condition.
  This optimization is valid only for subquries without tables with no conditions.
  Any subquery without tables with WHERE clause returns NULL if the WHERE condition
  is FALSE. Erroneously it was always considered as non-nullable that could trigger 
  another optimization concerning IS NULL predicates which is applicable only for 
  non-nullable expressions and ultimately led to a wrong result returned by the outer
  query.
  Added a proper implementation of the virtual method may_be_null for class 
  subselect_single_select_engine.
sql/item_subselect.h:
  Fixed bug #24670: optimizations that are legal only for subqueries without tables
  and no WHERE condition were applied for any subquery without tables.
  Made method may_by_null for class subselect_engine vvirtual.
2006-12-11 18:57:23 -08:00
unknown
e78b4fc276 Merge naruto.:C:/cpp/bug17489/my41-bug17489
into  naruto.:C:/cpp/mysql-4.1-maint
2006-12-11 13:06:59 +01:00
unknown
1c1c35d2b5 Merge mysql.com:/home/gluh/MySQL/Merge/4.1
into  mysql.com:/home/gluh/MySQL/Merge/4.1-opt
2006-12-11 15:32:07 +04:00
unknown
5aa8705ab6 Merge mysql.com:/home/bkroot/mysql-4.1-rpl
into  mysql.com:/home/bk/MERGE/mysql-4.1-merge


sql/item_timefunc.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
2006-12-08 23:33:15 +01:00
unknown
e47ded8114 A fix and test cases for
Bug#4968 "Stored procedure crash if cursor opened on altered table"
Bug#19733 "Repeated alter, or repeated create/drop, fails"
Bug#19182 "CREATE TABLE bar (m INT) SELECT n FROM foo; doesn't work from 
stored procedure."
Bug#6895 "Prepared Statements: ALTER TABLE DROP COLUMN does nothing"
Bug#22060 "ALTER TABLE x AUTO_INCREMENT=y in SP crashes server"

Test cases for bugs 4968, 19733, 6895 will be added in 5.0.

Re-execution of CREATE DATABASE, CREATE TABLE and ALTER TABLE 
statements in stored routines or as prepared statements caused
incorrect results (and crashes in versions prior to 5.0.25).
In 5.1 the problem occured only for CREATE DATABASE, CREATE TABLE
SELECT and CREATE TABLE with INDEX/DATA DIRECTOY options).

The problem of bugs 4968, 19733, 19282 and 6895 was that functions
mysql_prepare_table, mysql_create_table and mysql_alter_table were not
re-execution friendly: during their operation they used to modify contents
of LEX (members create_info, alter_info, key_list, create_list),
thus making the LEX unusable for the next execution.
In particular, these functions removed processed columns and keys from
create_list, key_list and drop_list. Search the code in sql_table.cc 
for drop_it.remove() and similar patterns to find evidence.

The fix is to supply to these functions a usable copy of each of the
above structures at every re-execution of an SQL statement. 

To simplify memory management, LEX::key_list and LEX::create_list
were added to LEX::alter_info, a fresh copy of which is created for
every execution.

The problem of crashing bug 22060 stemmed from the fact that the above 
metnioned functions were not only modifying HA_CREATE_INFO structure in 
LEX, but also were changing it to point to areas in volatile memory of 
the execution memory root.
 
The patch solves this problem by creating and using an on-stack
copy of HA_CREATE_INFO (note that code in 5.1 already creates and
uses a copy of this structure in mysql_create_table()/alter_table(),
but this approach didn't work well for CREATE TABLE SELECT statement).


mysql-test/r/ps.result:
  Update test results (Bug#19182, Bug#22060)
mysql-test/t/ps.test:
  Add a test case for Bug#19182, Bug#22060 (4.1-only parts)
sql/mysql_priv.h:
  LEX::key_list and LEX::create_list were moved to LEX::alter_info.
  Update declarations to use LEX::alter_info instead of these two
  members.
sql/sql_class.h:
  Replace pair<columns, keys> with an instance of Alter_info in
  select_create constructor. We create a new copy of Alter_info
  each time we re-execute SELECT .. CREATE prepared statement.
sql/sql_insert.cc:
  Adjust to a new signature of create_table_from_items.
sql/sql_lex.cc:
  Implement Alter_info::Alter_info that would make a "deep" copy
  of all definition lists (keys, columns).
sql/sql_lex.h:
  Move key_list and create_list to class Alter_info. Implement
  Alter_info::Alter_info that can be used with PS and SP.
sql/sql_list.h:
  Implement a copy constructor of class List that makes a deep copy
  of all list nodes.
sql/sql_parse.cc:
  Adjust to new signatures of mysql_create_table, mysql_alter_table,
  select_create. Functions mysql_create_index and mysql_drop_index has
  become identical after initialization of alter_info was moved to the 
  parser, and were merged. Flag enable_slow_log was not updated for 
  SQLCOM_DROP_INDEX, which is a bug. Just like CREATE INDEX, DROP INDEX
  is currently done via complete table rebuild and is rightfully a slow
  administrative statement.
sql/sql_show.cc:
  Adjust mysqld_show_create_db to a new signature.
sql/sql_table.cc:
  Adjust mysql_alter_table, mysql_recreate_table, mysql_create_table,
  mysql_prepare_table to new signatures.
sql/sql_yacc.yy:
  LEX::key_list and LEX::create_list moved to class Alter_info
2006-12-08 02:20:09 +03:00
unknown
1267a7fb3c Bug#17498 failed to put data file in custom directory use "data directory" option
- Using DATA/INDEX DIRECTORY option on Windows put data/index file into
  default directory because the OS doesn't support readlink().
- The procedure for changing data/index file directory is 
  different under Windows.
- With this fix we report a warning if DATA/INDEX option is used,
  but OS doesn't support readlink().


mysql-test/r/windows.result:
  - updated result file.
mysql-test/t/windows.test:
  - Added test case to verify we get warnings if we specify DATA/INDEX
    DIRECTORY on a platform which doesn't support readlink().
sql/sql_parse.cc:
  - Added warnings if DATA/INDEX DIRECTORY option is used but not supported
    by the target platform.
2006-12-07 17:01:00 +01:00
unknown
1d23a8f65b Merge mysql.com:/windows/Linux_space/MySQL/mysql-4.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-4.1-ndb
2006-12-07 15:59:15 +01:00
unknown
6e47c11c7a Bug#24818 CREATE UNIQUE INDEX (...) USING HASH on a NDB table crashes mysqld: Added test case 2006-12-07 15:49:59 +01:00
unknown
1cb8e4e9c9 BUG#23404 - ROW_FORMAT=FIXED option is lost is an index is added to the
table

ROW_FORMAT option is lost during CREATE/DROP INDEX.

This fix forces CREATE/DROP INDEX to retain ROW_FORMAT by instructing
mysql_alter_table() that ROW_FORMAT is not used during creating/dropping
indexes.


mysql-test/r/alter_table.result:
  A test case for bug#23404.
mysql-test/t/alter_table.test:
  A test case for bug#23404.
sql/sql_parse.cc:
  CREATE/DROP INDEX must not change ROW_FORMAT. Setting create_info.row_type
  to ROW_TYPE_NOT_USED informs mysql_alter_table that ROW_FORMAT was not
  used during alteration, and thus must be retained.
2006-12-07 18:32:40 +04:00
unknown
fa115a0f2c bug #22372 (LOAD DATA crashes the table with the geometry field)
The problem is that the GEOMETRY NOT NULL can't automatically set
any value as a default one. We always tried to complete LOAD DATA
command even if there's not enough data in file. That doesn't work
for GEOMETRY NOT NULL. Now Field_*::reset() returns an error sign
and it's checked in mysql_load()


mysql-test/r/gis.result:
  test result
mysql-test/t/gis.test:
  testcase
sql/field.cc:
  reset() now returns error sign
sql/field.h:
  Field_*::reset() now returns error sign if the field can't be reset
sql/sql_load.cc:
  check if field can't be reset and return error if it's so
2006-12-06 21:45:57 +04:00
unknown
0ce02f6d98 Fix for bug #22533: Traditional: Too-long bit value not rejected.
Problem: storing >=8 byte hexadecimal values we don't check data.
Fix: check if the data fits the {u}longlong range.


mysql-test/r/select.result:
  Fix for bug #22533: Traditional: Too-long bit value not rejected.
    - test result.
mysql-test/t/range.test:
  Fix for bug #22533: Traditional: Too-long bit value not rejected.
    - adjusted.
mysql-test/t/select.test:
  Fix for bug #22533: Traditional: Too-long bit value not rejected.
    - test case.
sql/item.cc:
  Fix for bug #22533: Traditional: Too-long bit value not rejected.
    - limit storing value to {U}LONGLONG_MAX in numeric context.
2006-12-06 16:32:12 +04:00
unknown
4474cc8493 Bug#22645 LC_TIME_NAMES: Statement not replicated
Problem: replication of LC_TIME_NAMES didn't work.
Thus, INSERTS or UPDATES using date_format() always
worked with en_US on the slave side.
Fix: adding ONE_SHOT implementation for LC_TIME_NAMES.


mysql-test/r/variables.result:
  Adding various tests with LC_TIME_NAMES and
  string and numeric constants and expressions.
mysql-test/t/variables.test:
  Adding various tests with LC_TIME_NAMES and
  string and numeric constants and expressions.
sql/log.cc:
  Adding ONE_SHOT trick for lc_time_names.
sql/mysql_priv.h:
  Adding new member "number" - for unique locale IDs.
  Adding prototype for my_locale_by_number().
sql/set_var.cc:
  Modifying lc_time_names variable to understand both:
  - string valyes (using locale name)
  - number values (using locale IDs)
sql/set_var.h:
  - Marking lc_time_names as ONE_SHOT capable.
  - Marking lc_time_names as INT_RESULT compatible.
sql/sql_locale.cc:
  - adding local IDs
  - better layout for locale data declarations
    (splitting long lines into short ones)
  - adding DBUG_ASSERT into my_locale_by_name()
    and moving this function towards the end of file -
    after "my_locales" declaration
  - adding my_locale_by_number() implementation
sql/sql_parse.cc:
  Adding initialization of lc_time_names
  to its default value (en_US)
mysql-test/r/rpl_locale.result:
  Adding test case
mysql-test/t/rpl_locale.test:
  Adding test case
2006-12-05 13:45:21 +04:00
unknown
ea67b2fd3e Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/bug20836/my41-bug20836
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-4.1-maint


sql/sql_class.h:
  Auto merged
2006-12-04 15:33:53 -05:00
unknown
c0612e453e Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint


Makefile.am:
  Auto merged
client/mysqltest.c:
  Auto merged
mysql-test/lib/mtr_process.pl:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
sql/mysqld.cc:
  Auto merged
2006-12-04 19:06:42 +01:00
unknown
33fc8d5064 Merge bk-internal:/home/bk/mysql-4.1-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
2006-12-04 19:01:31 +01:00
unknown
665004c8e0 fix for bug #23938: ISNULL on DATE AND CAST AS DATE returns false for null values
Set null_value in case of wrong data.


mysql-test/r/cast.result:
  fix for bug #23938: ISNULL on DATE AND CAST AS DATE returns false for null values
    - test result.
mysql-test/t/cast.test:
  fix for bug #23938: ISNULL on DATE AND CAST AS DATE returns false for null values
    - test case.
sql/item_timefunc.cc:
  fix for bug #23938: ISNULL on DATE AND CAST AS DATE returns false for null values
    - set null_value in case of error.
2006-12-04 17:06:25 +04:00
unknown
6b9d3ccb8b Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  example.com:/work/bug24395-v2/my41


myisam/mi_open.c:
  Auto merged
2006-12-01 23:11:44 +01:00
unknown
d242920922 Merge neptunus.(none):/home/msvensson/mysql/bug10608/my41-bug10608
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint


mysql-test/mysql-test-run.pl:
  Auto merged
2006-11-30 11:58:23 +01:00
unknown
708bce0a97 Add "chmod" command to mysqltest 2006-11-30 10:54:50 +01:00
unknown
760bd9d166 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  bodhi.local:/opt/local/work/mysql-4.1-runtime


libmysql/libmysql.c:
  Auto merged
libmysqld/lib_sql.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
2006-11-29 02:39:17 +03:00
unknown
b4aab15272 Bug#20836 Selecting into variables results in wrong results being returned
This error is displayed anytime the SELECT statement needs a temp table to
return correct results because the object (select_dumpvar) that represents
variables named in the INTO clause stored the results before the temp
table was considered.  The problem was fixed by creating the necessary
Item_func_set_user_var objects once the correct data is ready.


mysql-test/r/distinct.result:
  Bug#20836 Selecting into variables results in wrong results being returned
  - Added results
mysql-test/t/distinct.test:
  Bug#20836 Selecting into variables results in wrong results being returned
  - Added various Selects that use the INTO statement and a temp table.
  - Added Select Into Outfile variant tests also.
sql/sql_class.cc:
  Bug#20836 Selecting into variables results in wrong results being returned
  - The select_dumpvar variable created a Item_func_set_user_var too early
  and once set, it was not possible to change.  The Item_func_set_user_var
  is now created once the final results are available.
sql/sql_class.h:
  Bug#20836 Selecting into variables results in wrong results being returned
  - Removed unnecessary object members.
2006-11-28 17:21:39 -05:00
unknown
befbebcfdb Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint


client/mysqltest.c:
  Auto merged
Makefile.am:
  Manual merge
mysql-test/mysql-test-run.pl:
  Manual merge
2006-11-28 21:11:05 +01:00
unknown
a9173ec999 Fix for bug#24395:
ALTER TABLE DISABLE KEYS doesn't work when modifying the table
  
ENABLE|DISABLE KEYS combined with another ALTER TABLE option, different
than RENAME TO did nothing. Also, if the table had disabled keys
and was ALTER-ed then the end table was with enabled keys.
  
Fixed by checking whether the table had disabled keys and enabling them
in the copied table.


myisam/mi_open.c:
  Extend mi_indexes_are_disabled to implement return value
  2 - Non-unique indexes are disabled
mysql-test/r/alter_table.result:
  update result
mysql-test/t/alter_table.test:
  update test
sql/sql_table.cc:
  When ENABLE|DISABLE index is combined with another option
  different than RENAME TO, we should ENABLE|DISABLE the keys of
  the modified table. Also when modifying we should preserve the
  previous state of the indices.
  (This problem exists in 5.0 and 5.1 but since the codebase has
  diverged, this fix won't automerge, but the fix will be quite
  similar).
2006-11-28 18:27:32 +01:00