1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-11 15:22:09 +03:00
Commit Graph

13691 Commits

Author SHA1 Message Date
9809dbeda8 Merge mysql.com:/usr/home/ram/work/mysql-4.1-maint
into  mysql.com:/usr/home/ram/work/bug20732/my41-bug20732
2006-10-23 12:58:20 +05:00
07cf5b9bd3 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime-merge


mysql-test/t/func_gconcat.test:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
mysql-test/r/view.result:
  Manual merge.
mysql-test/t/view.test:
  Manual merge.
2006-10-23 11:51:45 +04:00
95d64ee3cb Merge mysql.com:/usr/home/ram/work/mysql-5.0-maint
into  mysql.com:/usr/home/ram/work/bug20732/my50-bug20732
2006-10-23 12:44:25 +05:00
3cf49a3dd8 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rurik.mysql.com:/home/igor/mysql-5.0-opt
2006-10-20 12:43:01 -07:00
8b447a8af7 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rurik.mysql.com:/home/igor/mysql-4.1-opt
2006-10-20 10:08:58 -07:00
5676602fb1 Merge rurik.mysql.com:/home/igor/mysql-4.1-opt
into  rurik.mysql.com:/home/igor/mysql-5.0-opt


sql/item_subselect.cc:
  Auto merged
mysql-test/r/subselect.result:
  SCCS merged
mysql-test/t/subselect.test:
  SCCS merged
2006-10-20 09:26:01 -07:00
12c43f4f15 Init some variables that changes between test cases direclty in run_testcase
This can not be done in run_testcase_start_servers as embedded never starts a server
Add error if mysqld_start is called in embedded mode
2006-10-20 17:09:07 +02:00
8cc480915f Merge bk-internal:/home/bk/mysql-5.0
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt


mysql-test/r/myisam.result:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2006-10-20 11:02:56 +02:00
0153d67e59 Merge bk-internal:/home/bk/mysql-4.1
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt


sql/sql_base.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2006-10-20 10:57:38 +02:00
d649efbb07 Fixed bug #23478.
If elements a not top-level IN subquery were accessed by an index and 
the subquery result set included  a NULL value then the quantified
predicate that contained the subquery was evaluated to NULL when 
it should return a non-null value.


mysql-test/r/subselect.result:
  Added a test case for bug #23478.
mysql-test/t/subselect.test:
  Added a test case for bug #23478.
2006-10-19 23:05:53 -07:00
5bd58f3e00 Bug#20028 (Function with select return no data)
This patch reverts a change introduced by Bug 6951, which incorrectly
set thd->abort_on_warning for stored procedures.

As per internal discussions about the SQL_MODE=TRADITIONAL,
the correct behavior is to *not* abort on warnings even inside an INSERT/UPDATE
trigger.

Tests for Stored Procedures, Stored Functions, Triggers involving SQL_MODE
have been included or revised, to reflect the intended behavior.

(reposting approved patch, to work around source control issues, no review needed)


mysql-test/include/sp-vars.inc:
  Tests for SQL_MODE='TRADITIONAL'
mysql-test/r/sp-vars.result:
  Tests for SQL_MODE='TRADITIONAL'
mysql-test/r/sp.result:
  Tests for SQL_MODE='TRADITIONAL'
mysql-test/r/trigger.result:
  Tests for SQL_MODE='TRADITIONAL'
mysql-test/t/sp-vars.test:
  Tests for SQL_MODE='TRADITIONAL'
mysql-test/t/sp.test:
  Tests for SQL_MODE='TRADITIONAL'
mysql-test/t/trigger.test:
  Tests for SQL_MODE='TRADITIONAL'
sql/sp_head.cc:
  For SQL_MODE='TRADITIONAL',
  thd->abort_on_warning should be set only when assigning a *column*
2006-10-19 11:39:51 -07:00
801368e755 Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


mysql-test/lib/mtr_cases.pl:
  Auto merged
mysql-test/lib/mtr_misc.pl:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
2006-10-19 20:34:28 +02:00
fc9cf7f45d Adapt to running from "binary dist"
Add function mtr_exe_maybe_exists to look for binaries that is optional
Skip ndb support if it's a binary dist where mysqld supports ndb but there is no ndbd


mysql-test/lib/mtr_misc.pl:
  Add function mtr_exe_maybe_exists
mysql-test/mysql-test-run.pl:
  Adapt to running from binary dist
  Add function mtr_exe_maybe_exists to look for binaries that is optional
  Skip ndb support if it's a binary dist where mysqld supports ndb but there is no ndbd
2006-10-19 20:33:32 +02:00
9ee7178742 Fix problem running rpl_timezone on powermacg5, it was not popular to set TZ to "" so now it's set
to a value wich is not our default
2006-10-19 20:29:33 +02:00
83196ad860 Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


client/mysqltest.c:
  Auto merged
mysql-test/r/mysqltest.result:
  Auto merged
mysql-test/t/mysqltest.test:
  Auto merged
2006-10-19 17:15:49 +02:00
3ad2baa172 After merge fix. 2006-10-19 18:48:37 +05:00
baacb8a13d Merge mysql.com:/home/svoj/devel/mysql/engines/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/engines/mysql-5.0-engines


myisam/sort.c:
  Auto merged
mysql-test/r/repair.result:
  Auto merged
mysql-test/t/repair.test:
  Auto merged
sql/sql_base.cc:
  Use local.
2006-10-19 18:04:34 +05:00
5e1fe0f800 Merge dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt


sql/sql_select.cc:
  Auto merged
mysql-test/r/olap.result:
  SCCS merged
2006-10-19 15:04:12 +02:00
d30186772f Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-5.0
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt


mysql-test/r/merge.result:
  Auto merged
mysql-test/r/myisam.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/opt_range.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/table.cc:
  Auto merged
2006-10-19 14:37:49 +02:00
2576c4c0c9 Merge mysql.com:/home/svoj/devel/mysql/BUG23175/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/engines/mysql-4.1-engines


mysql-test/r/repair.result:
  Manual merge.
mysql-test/t/repair.test:
  Manual merge.
2006-10-19 17:35:09 +05:00
9bfaab57fa Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-4.1
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt


sql/sql_select.cc:
  Auto merged
2006-10-19 14:34:56 +02:00
f841b546b0 Merge mysql.com:/home/svoj/devel/mysql/BUG22562/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/engines/mysql-4.1-engines
2006-10-19 17:33:22 +05:00
cd06481d65 Add command "exit" to mysqltest, it will stop processing any more
commands and go directly to result file processing


client/mysqltest.c:
  Add command "exit" to mysqltest
mysql-test/r/mysqltest.result:
  Add command "exit" to mysqltest
mysql-test/t/mysqltest.test:
  Add command "exit" to mysqltest
2006-10-19 13:34:09 +02:00
68c2a008a1 Merge mysql.com:/usr/home/ram/work/bug20732/my41-bug20732
into  mysql.com:/usr/home/ram/work/bug20732/my50-bug20732


sql/opt_range.cc:
  Auto merged
sql/opt_range.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/table.cc:
  Auto merged
mysql-test/r/range.result:
  SCCS merged
mysql-test/t/range.test:
  SCCS merged
2006-10-19 16:15:30 +05:00
de304106ca Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug21856


sql/sql_parse.cc:
  Auto merged
mysql-test/r/ps.result:
  Manual merge.
mysql-test/t/ps.test:
  Manual merge.
2006-10-19 14:53:50 +04:00
ef2d2165d1 BUG#21856: Prepared Statements: crash if bad create
When statement to be prepared contained CREATE PROCEDURE, CREATE FUNCTION
or CREATE TRIGGER statements with a syntax error in it, the preparation
would fail with syntax error message, but the memory could be corrupted.

The problem occurred because we switch memroot when parse stored
routine or trigger definitions, and on parse error we restored the
original memroot only after performing some memory operations.  In more
detail:
 - prepared statement would activate its own memory root to parse
   the definition of the stored procedure.
 - SP would reset this memory root with its own memory root to
   parse SP statements
 - a syntax error would happen
 - prepared statement would restore the original memory root
 - stored procedure would restore what it thinks was the original
   memory root, but actually was the statement memory root.
That led to double free - in destruction of the statement and in
a next call to mysql_parse().

The solution is to restore memroot right after the failed parsing.


mysql-test/r/ps.result:
  Add result for bug#21856: Prepared Statements: crash if bad create.
mysql-test/t/ps.test:
  Add test case for bug#21856: Prepared Statements: crash if bad create.
sql/sql_parse.cc:
  On parse error if thd->lex->sphead is set we have to free sp_head object
  to restore statement memroot, if it was switched during parsing.
  
  The change here is for safety, currently query_cache_abort() and
  lex->unit.cleanup() calls do not use current memroot.
sql/sql_prepare.cc:
  On parse error if thd->lex->sphead is set we have to free sp_head object
  to restore statement memroot, if it was switched during parsing.
2006-10-19 14:43:52 +04:00
32b3846c9c Merge bk-internal:/home/bk/mysql-5.0-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


client/mysqldump.c:
  Auto merged
sql/sql_class.cc:
  Auto merged
2006-10-19 12:36:40 +02:00
123275321f Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


client/mysqldump.c:
  Auto merged
mysql-test/include/have_lowercase0.inc:
  Auto merged
mysql-test/t/lowercase_table3.test:
  Auto merged
mysql-test/t/mysql_protocols.test:
  Auto merged
mysql-test/t/rpl_change_master.test:
  Auto merged
mysql-test/t/rpl_drop_db.test:
  Auto merged
mysql-test/t/rpl_error_ignored_table.test:
  Auto merged
mysql-test/t/rpl_loaddata.test:
  Auto merged
mysql-test/t/rpl_log.test:
  Auto merged
mysql-test/t/rpl_max_relay_size.test:
  Auto merged
mysql-test/t/rpl_replicate_do.test:
  Auto merged
mysys/my_read.c:
  Auto merged
sql/sql_class.cc:
  Auto merged
mysql-test/r/rpl000015.result:
  C
mysql-test/r/rpl_log.result:
  ul
mysql-test/r/rpl_max_relay_size.result:
  ul
mysql-test/r/rpl_replicate_do.result:
  ul
mysql-test/t/rpl000015.test:
  ul
2006-10-19 11:35:10 +02:00
f30cb12707 Backport test cases fixes from 5.0
client/mysqldump.c:
  fflush stderr after printing of error message
mysql-test/include/have_lowercase0.inc:
  Remove extra ;
mysql-test/r/rpl000015.result:
  Update result
mysql-test/r/rpl_change_master.result:
  Update result
mysql-test/r/rpl_error_ignored_table.result:
  Update result
mysql-test/r/rpl_loaddata.result:
  Update result
mysql-test/r/rpl_log.result:
  Update result
mysql-test/r/rpl_max_relay_size.result:
  Update result
mysql-test/r/rpl_replicate_do.result:
  Update result
mysql-test/t/lowercase_table3.test:
  Backport from 5.0
mysql-test/t/mysql_protocols.test:
  Backport from 5.0
mysql-test/t/rpl000015.test:
  Backport from 5.0
mysql-test/t/rpl_change_master.test:
  Backport from 5.0
mysql-test/t/rpl_drop_db.test:
  Backport from 5.0
mysql-test/t/rpl_error_ignored_table.test:
  Backport from 5.0
mysql-test/t/rpl_loaddata.test:
  Backport from 5.0
mysql-test/t/rpl_log-master.opt:
  Use --force-restart command in master.opt to force a restart for this test case
mysql-test/t/rpl_log.test:
  Backport from 5.0
mysql-test/t/rpl_max_relay_size.test:
  Backport from 5.0
mysql-test/t/rpl_replicate_do.test:
  Backport from 5.0
2006-10-19 10:54:23 +02:00
554aaed352 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  chilla.local:/home/mydev/mysql-5.0-merge


sql/sql_select.cc:
  Auto merged
2006-10-19 09:59:01 +02:00
da7af481cd Fix for bug #20732: Partial index and long sjis search with '>' fails sometimes
We miss some records sometimes using RANGE method if we have
partial key segments.
Example:
  Create table t1(a char(2), key(a(1)));
  insert into t1 values ('a'), ('xx');
  select a from t1 where a > 'x';
We call index_read() passing 'x' key and HA_READ_AFTER_KEY flag
in the handler::read_range_first() wich is wrong because we have
a partial key segment for the field and might miss records like 'xx'.

Fix: don't use open segments in such a case.


mysql-test/r/range.result:
  Fix for bug #20732: Partial index and long sjis search with '>' fails sometimes
    - test result.
mysql-test/t/range.test:
  Fix for bug #20732: Partial index and long sjis search with '>' fails sometimes
    - test case.
sql/opt_range.cc:
  Fix for bug #20732: Partial index and long sjis search with '>' fails sometimes
    - check if we have a partial key segment for a Item_func::GT_FUNC;
      if so, don't set NEAR_MIN flag in order to use HA_READ_KEY_OR_NEXT
      instead of HA_READ_AFTER_KEY.
sql/opt_range.h:
  Fix for bug #20732: Partial index and long sjis search with '>' fails sometimes
    - key segment 'flag' slot added.
sql/sql_select.cc:
  Fix for bug #20732: Partial index and long sjis search with '>' fails sometimes
    - test (HA_PART_KEY_SEG | HA_NULL_PART) as we split it in the sql/table.cc
sql/table.cc:
  Fix for bug #20732: Partial index and long sjis search with '>' fails sometimes
    - set HA_NULL_PART flag instead of HA_PART_KEY_SEG in order not to mix them.
2006-10-19 12:52:37 +05:00
672b61c575 Changed test case for bug 22342 to make it platform independent. 2006-10-18 17:24:33 -07:00
3cb0a19dd0 Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/bug19745/my50-bug19745
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-5.0-maint


client/mysqldump.c:
  Auto merged
2006-10-18 19:27:14 -04:00
15a86d185d Merge neptunus.(none):/home/msvensson/mysql/bug22436/my50-bug22436
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


mysql-test/r/innodb_mysql.result:
  Auto merged
mysql-test/t/innodb_mysql.test:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
mysql-test/r/create.result:
  Merge
mysql-test/t/create.test:
  Merge
mysql-test/t/view.test:
  Remove the disable_warnings part as engine=innodb has been removed
2006-10-19 01:01:54 +02:00
54fadc5b88 Change the ssl related variables to loose so they work also when the server is compiled without ssl 2006-10-19 00:53:01 +02:00
016a7d4c63 Bug#19745: mysqldump --xml produces invalid xml
The mysqldump command with both the --xml and --hex-blob options will output blob data encoded as hexBinary.  
The proper XML datatype is xs:hexBinary.  
The correct XML datatype is specified be setting the xsi_type attribute equal to xs:hexBinary for each encoded element.


client/mysqldump.c:
  Bug#19745: mysqldump --xml produces invalid xml
  - Moved hex-blob code to it's own function.
  - Rewrote print_xml_tag function to accept zero or more attribute/value
    pair(s) which are appended to a separate tag name.
  - --xml option respects the --hex-blob option by ouputting blob data in hex
    encoded format.  Each hex encoded field tag will also contain an xsi:type
    attribute with an xs:hexBinary value.
  - --extended-insert and --xml are mutually exclusive. Otherwise, the xml file
    will contain INSERT commands.
  - Minor comment cleanup.
mysql-test/r/mysqldump.result:
  Bug#19745: mysqldump --xml produces invalid xml
  -Added results.
mysql-test/t/mysqldump.test:
  Bug#19745: mysqldump --xml produces invalid xml
  -Added test.
2006-10-18 18:43:51 -04:00
c2699e1a62 Merge neptunus.(none):/home/msvensson/mysql/bug21868/my50-bug21868
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-10-19 00:12:36 +02:00
8008bf9faa Remove extra whitespace in result file
mysql-test/r/show_check.result:
  Remove extra whitespace
2006-10-18 22:47:30 +02:00
1355b0dc9b Merge shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint


mysql-test/lib/mtr_report.pl:
  Auto merged
2006-10-18 18:02:07 +02:00
ea80f1a07a Put the printf of failed ratio on itäs only line, printf was tricked
into thinking the escaped % + w was a format specifier
2006-10-18 17:58:26 +02:00
90b23da3e2 Merge shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint


mysql-test/lib/mtr_process.pl:
  Auto merged
mysql-test/lib/mtr_timer.pl:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
2006-10-18 17:16:53 +02:00
3c0a746633 Don't stop the time in mtr_timer_timeout, that will be done after testcase or when program exit 2006-10-18 17:16:08 +02:00
b0c262c053 Merge bk-internal:/home/bk/mysql-5.0-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-10-18 16:41:01 +02:00
62309faa1d Remove some junk 2006-10-18 16:40:22 +02:00
8e5b64ae0a Stop all timers before exiting when --start-and-exit 2006-10-18 16:39:00 +02:00
364cda0a6e Merge mysql.com:/windows/Linux_space/MySQL/mysql-4.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-4.1-ndb


mysql-test/r/ndb_update.result:
  Auto merged
2006-10-18 16:34:43 +02:00
fca9224bde Merge shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint


mysql-test/lib/mtr_timer.pl:
  Auto merged
2006-10-18 16:31:38 +02:00
b860c4dbf5 Fix bug where a timer was stopped by calling mtr_timer_stop with a "timer" instead of it's name 2006-10-18 16:30:51 +02:00
48cf65c037 BUG#23175 - MYISAM crash/repair failed during repair
Repair table could crash a server if there is not sufficient
memory (myisam_sort_buffer_size) to operate. Affects not only
repair, but also all statements that use create index by sort:
repair by sort, parallel repair, bulk insert.

Return an error if there is not sufficient memory to store at
least one key per BUFFPEK.

Also fixed memory leak if thr_find_all_keys returns an error.


myisam/sort.c:
  maxbuffer is number of BUFFPEK-s for repair. It is calculated
  as records / keys. keys is number of keys that can be stored
  in memory (myisam_sort_buffer_size). There must be sufficient
  memory to store both BUFFPEK-s and keys. It was checked
  correctly before this patch. However there is another
  requirement that wasn't checked: there must be sufficient
  memory for at least one key per BUFFPEK, otherwise repair
  by sort/parallel repair cannot operate.
  
  Return an error if there is not sufficient memory to store at
  least one key per BUFFPEK.
  
  Also fixed memory leak if thr_find_all_keys returns an error.
mysql-test/r/repair.result:
  A test case for BUG#23175.
mysql-test/t/repair.test:
  A test case for BUG#23175.
2006-10-18 17:57:29 +05:00
55ae6636bd Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb


sql/ha_ndbcluster.cc:
  Auto merged
2006-10-18 14:28:18 +02:00