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

13691 Commits

Author SHA1 Message Date
fc83f787cb Fix for bug bug#23651 "Server crashes when trigger which uses
stored function invoked from different connections".

Invocation of trigger which was using stored function from different
connections caused server crashes (for non-debug server this happened
in highly concurrent environment, but debug server failed on assertion
in relatively simple scenario).

Item_func_sp was not safe to use in triggers (in other words for
re-execution from different threads) as artificial TABLE object
pointed by Item_func_sp::dummy_table referenced incorrect THD
object. To fix the problem we force re-initialization of this
object for each re-execution of statement.


mysql-test/r/trigger.result:
  Added test for bug#23651 "Server crashes when trigger which uses
  stored function invoked from different connections".
mysql-test/t/trigger.test:
  Added test for bug#23651 "Server crashes when trigger which uses
  stored function invoked from different connections".
sql/item_func.cc:
  To make Item_func_sp safe for usage in triggers (in other words safe
  for re-execution in different threads) we need to ensure that artificial
  TABLE object pointed by Item_func_sp::dummy_table references correct
  THD object. To achieve this we simply force its re-initialization for
  each re-execution of statement.
2006-11-13 11:10:49 +03:00
28f6e13299 embedded-mode tests fixed
libmysqld/examples/test-run:
  mysql_embedded should be run here
libmysqld/lib_sql.cc:
  thd->real_id setup added
  bootstrap check added
mysql-test/t/innodb.test:
  paths can be different in embedded server - replace_result added
sql/item_func.cc:
  we should compare real_id-s in embedded server
2006-11-13 10:39:15 +04:00
383fbde532 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime
2006-11-12 10:55:33 +03:00
3af223ed9b Merge mysql.com:/Users/kent/mysql/bk/mysql-4.1
into  mysql.com:/Users/kent/mysql/bk/mysql-5.0
2006-11-11 14:32:10 +01:00
c6d317831a mysql-test-run.pl:
Test for base directory when a RPM install corrected


mysql-test/mysql-test-run.pl:
  Test for base directory when a RPM install corrected
2006-11-11 14:12:30 +01:00
75a0878fbf Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime


configure.in:
  Auto merged
include/my_time.h:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/rename.result:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
mysql-test/t/im_daemon_life_cycle.imtest:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/time.cc:
  Auto merged
mysql-test/t/rename.test:
  Use local (resolve a conflict)
2006-11-11 14:51:19 +03:00
09a65b47be Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/mtr_winfix/my41-mtr_winfix
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-4.1-maint


mysql-test/mysql-test-run.pl:
  Auto merged
2006-11-10 15:53:34 -05:00
16ce16adef Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/mtr_winfix/my50-mtr_winfix
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-5.0-maint


mysql-test/mysql-test-run.pl:
  Auto merged
2006-11-10 15:52:49 -05:00
c838a52ff3 Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/mtr_winfix/my41-mtr_winfix
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/mtr_winfix/my50-mtr_winfix


mysql-test/mysql-test-run.pl:
  Auto merged
2006-11-10 15:49:10 -05:00
7a0e75103f Test Suite failing on Windows because the $opt_report_features variable was not defined before use.
mysql-test/mysql-test-run.pl:
  Defined global variable.
2006-11-10 15:47:11 -05:00
67006549bc Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
2006-11-10 14:49:39 -05:00
00e781c8cc Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug20691/my50-bug20691
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
2006-11-10 14:48:37 -05:00
56934f9dd4 Merge trift2.:/MySQL/M41/push-4.1
into  trift2.:/MySQL/M50/push-5.0


BitKeeper/deleted/.del-gcc.cpp~3d2e013cfac48838:
  Auto merged
configure.in:
  Auto merged
include/my_time.h:
  Auto merged
mysql-test/install_test_db.sh:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/rename.result:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
mysql-test/t/rename.test:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/time.cc:
  Auto merged
myisam/sort.c:
  Manual merge: "use local" (= 5.0 version).
mysql-test/mysql-test-run.pl:
  Manual merge, part of the fix for bug#17194.
2006-11-10 19:07:52 +01:00
0d087e0558 Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


mysql-test/mysql-test-run.pl:
  Auto merged
2006-11-10 16:07:49 +01:00
68ae8da64c Look for "mysqlmanager" also in "bin" directory
Improve log message
2006-11-10 15:58:38 +01:00
aa341c498e Merge trift2.:/MySQL/M41/bug17194-4.1
into  trift2.:/MySQL/M41/push-4.1
2006-11-10 15:54:58 +01:00
744aadbef9 Merge trift2.:/MySQL/M41/clone-4.1
into  trift2.:/MySQL/M41/push-4.1


myisam/sort.c:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/mysql-test-run.pl:
  Manual merge.
2006-11-10 15:52:53 +01:00
1cb38d3be6 Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1
into  kahlann.erinye.com:/home/df/mysql/build/mtr-4.1
2006-11-10 14:49:07 +01:00
694227c08a Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-5.0
into  kahlann.erinye.com:/home/df/mysql/build/mtr-5.0


mysql-test/mysql-test-run.pl:
  merge
2006-11-10 14:44:01 +01:00
fbd4378b85 Bug#10608 mysqladmin breaks on "database" variable in my.cnf
- Add printout of "Warning" or "Note" for non error messages in default_reporter
 - Add test for the above in new mysqladmin.test


mysql-test/mysql-test-run.pl:
  Add support for mysqladmin to mysql-test-run.pl
mysys/my_getopt.c:
  Add printout of Warning: or Info: in 'default_reporter', this
  will make the user aware of the problem but can filter it
  as a warning or note.
mysql-test/r/mysqladmin.result:
  New BitKeeper file ``mysql-test/r/mysqladmin.result''
mysql-test/t/mysqladmin.test:
  New BitKeeper file ``mysql-test/t/mysqladmin.test''
2006-11-10 13:25:10 +01:00
0f8e62b492 Merge kahlann.erinye.com:/home/df/mysql/build/mtr-4.1
into  kahlann.erinye.com:/home/df/mysql/build/mtr-5.0


mysql-test/mysql-test-run.pl:
  Auto merged
2006-11-10 13:14:21 +01:00
df1b6ae6e1 add --report-features to mysql-test-run.pl
mysql-test/mysql-test-run.pl:
  add --report-features
mysql-test/include/report-features.test:
  test file showing server features for mysql-test-run.pl --report-features
2006-11-10 13:12:08 +01:00
cb80733a89 Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  outpost.site:/home/cps/mysql/trees/4.1-runtime-bug9191


configure.in:
  Auto merged
include/my_time.h:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/rename.result:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/time.cc:
  Auto merged
mysql-test/t/rename.test:
  choose one of the race problem solutions. It was solved
  differently in -runtime and mainstream
2006-11-10 15:05:38 +03:00
71c646f34d Merge mysql.com:/Users/kent/mysql/bk/lic/my50-lic
into  mysql.com:/Users/kent/mysql/bk/mysql-5.0
2006-11-10 02:35:01 +01:00
bb662f6e62 Merge mysql.com:/Users/kent/mysql/bk/lic/my41-lic
into  mysql.com:/Users/kent/mysql/bk/lic/my50-lic


mysql-test/mysql-test-run.sh:
  Auto merged
2006-11-10 02:28:31 +01:00
facaaeb4c4 mysql-test-run.sh:
Added --force-restart pseudo server argument to shell version as well


mysql-test/mysql-test-run.sh:
  Added --force-restart pseudo server argument to shell version as well
2006-11-10 02:22:33 +01:00
19d61b1b81 Bug#20691: DATETIME col (NOT NULL, NO DEFAULT) may insert garbage when \
specifying DEFAULT

This was not specific to datetime.  When there is no default value 
for a column, and the user inserted DEFAULT, we would write 
uninitialized memory to the table.  

Now, insist on writing a default value, a zero-ish value, the same 
one that comes from inserting NULL into a not-NULL field.

(This is, at best, really strange behavior that comes from allowing 
sloppy usage, and serves as a good reason always to run one's server 
in a strict SQL mode.)


mysql-test/r/default.result:
  Verify that all kinds of types work, even others other than datetime.
mysql-test/t/default.test:
  Verify that all kinds of types work, even others other than datetime.
sql/item.cc:
  Even if we warn that there is no default value in the table definition,
  we have to insert /something/.
2006-11-09 18:33:58 -05:00
1707d5e6e0 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-4.1-maint


mysql-test/mysql-test-run.pl:
  Auto merged
2006-11-09 15:36:13 -05:00
62e0e608ff mysql-test/install_test_db.sh
Adapt to the different path of the server program, if installation was by RPM.
    Missing in the first changeset for bug#17194.


mysql-test/install_test_db.sh:
  Adapt to the different path of the server program, if installation was by RPM.
  Missing in the first changeset for bug#17194.
2006-11-09 17:43:31 +01:00
a5975941a4 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B20191-5.0-opt


sql/sql_select.cc:
  Auto merged
2006-11-09 18:03:49 +02:00
59b45b5b0a Bug #20191: getTableName gives wrong or inconsistent result when using VIEWs
When compiling GROUP BY Item_ref instances are dereferenced in 
setup_copy_fields(), i.e. replaced with the corresponding Item_field 
(if they point to one) or Item_copy_string for the other cases.
Since the Item_ref (in the Item_field case) is no longer used the information
about the aliases stored in it is lost.   
Fixed by preserving the column, table and DB alias on dereferencing Item_ref


mysql-test/r/metadata.result:
  Bug #20191: getTableName gives wrong or inconsistent result when using VIEWs
   - test case
mysql-test/t/metadata.test:
  Bug #20191: getTableName gives wrong or inconsistent result when using VIEWs
   - test case
sql/item.cc:
  Bug #20191: getTableName gives wrong or inconsistent result when using VIEWs
   - use the table and db name to fill up the metadata for columns
sql/sql_select.cc:
  Bug #20191: getTableName gives wrong or inconsistent result when using VIEWs
   - preserve the field, table and DB name on dereferencing an Item_ref
2006-11-09 16:55:42 +02:00
69d8bfe231 Fix for bug #23653: Crash if last_day('0000-00-00')
As get_arg0_date() in the Item_func_last_day::get_date() returns 
0000-00-00 date sometimes, we have to check ltime->month for 0 after the call.


mysql-test/r/func_time.result:
  Fix for bug #23653: Crash if last_day('0000-00-00')
    - test result.
mysql-test/t/func_time.test:
  Fix for bug #23653: Crash if last_day('0000-00-00')
    - test case.
sql/item_timefunc.cc:
  Fix for bug #23653: Crash if last_day('0000-00-00')
    - return error if month is 0.
2006-11-09 16:17:50 +04:00
27aa4489ad Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/8663/my50-8663
2006-11-09 16:08:31 +04:00
f90f1e306f Bug#19371 VARBINARY() have trailing zeros after upgrade from 4.1
- Detect if a table has field of type MYSQL_TYPE_VAR_STRING while running
   "CHECK TABLE t FOR UPGRADE" and indicate it need to be fixed
   with "REPAIR TABLE t".
 - When running a "REPAIR TABLE t" or "ALTER TABLE t FORCE" on the above
   table, install a special copy function to trim off the trailing spaces
   which we safely can say that the pre 5.0 mysqld didn't put there. 


mysql-test/r/varbinary.result:
  Add test to see that a table with varbinary from 4.1 can be REPAIRED
mysql-test/t/varbinary.test:
  Add test to see that a table with varbinary from 4.1 can be REPAIRED
sql/field_conv.cc:
  Add new field copy function 'do_field_varbinary_pre50' used for copying
  between MYSQL_TYPE_VAR_STRING and MYSQL_TYPE_VARCHAR. It will remove trailing
  spaces from the field as MySQL <= 4.1 never stores the trailing spaces for
  a MYSQL_TYPE_VAR_STRING.
  Install this new copy function in ALTER TABLEs list of functions to use for
  copying data during and alter if from field is a <= 4.1 varbinary and to
  field is 5.0 varbinary.
sql/handler.cc:
  If the table has a pre 5.0 varbinary, table not to be altered so the field
  type is upgraded to 5.0 version and trailing space can be trimmed.
mysql-test/std_data/bug19371.MYD:
  New BitKeeper file ``mysql-test/std_data/bug19371.MYD''
mysql-test/std_data/bug19371.MYI:
  New BitKeeper file ``mysql-test/std_data/bug19371.MYI''
mysql-test/std_data/bug19371.frm:
  New BitKeeper file ``mysql-test/std_data/bug19371.frm''
2006-11-09 12:00:27 +01:00
7614eb0d1d Bug#21505 Create view - illegal mix of collation for operation 'UNION'
The problem was that any VIEW columns had always implicit derivation.
  Fix: derivation is now copied from the original expression
  given in VIEW definition.
  For example:
  - a VIEW column which comes from a string constant
    in CREATE VIEW definition have now coercible derivation.
  - a VIEW column having COLLATE clause
    in CREATE VIEW definition have now explicit derivation.


mysql-test/r/ctype_utf8.result:
  Adding test case
mysql-test/t/ctype_utf8.test:
  Adding test case
sql/field.cc:
  Copying derivation from item to field.
sql/field.h:
  Adding derivation and methods to get/set it into Field.
sql/item.cc:
  Copying derivation from field to item.
sql/item.h:
  Moving "enum Derivation" declaration from item.h to mysql_priv.h
sql/mysql_priv.h:
  Moving "enum Derivation" declaration from item.h to mysql_priv.h
sql/sql_select.cc:
  Copying derivation from item to field in
  create_tmp_field_from_item() and create_tmp_field().
2006-11-09 14:41:34 +04:00
e0fc25e982 Bug#23619 Incorrectly escaped multibyte characters in binary log break replication
Problem: when embedding a character string with introducer with charset X
into a SQL query which is generally in character set Y, the string constants
were escaped according to their own character set (i.e.X), then after reading
such a "mixed" query from binlog, the string constants were unescaped
using character set of the query (i.e. Y), instead of X, which gave wrong
results or even syntax errors with tricky charsets (e.g. sjis)
Fix: when embedding a string constant of charset X into a query of charset Y,
the string constant is now escaped according to character Y, instead of
its own character set X.


mysql-test/r/ctype_cp932_binlog.result:
  Fixing test results.
sql/log_event.cc:
  Using character set "csinfo" instead of the string character set.
sql/sp_head.cc:
  - adding "thd" argument to sp_get_item_value()
    to have access to thd->variables.character_set_client
  - using character_set_client for escaping, instead of
    the string character set
mysql-test/r/rpl_charset_sjis.result:
  Adding test case
mysql-test/t/rpl_charset_sjis.test:
  Adding test case
2006-11-09 14:27:34 +04:00
2eeb38ac7d Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


mysql-test/mysql-test-run.pl:
  Merge
2006-11-09 11:01:37 +01:00
fc449ac174 Fix problem when running mysql_client_test in "binary dist", path should include the binary name 2006-11-09 09:48:50 +01:00
6004231787 Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/g50
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/50
2006-11-09 00:26:22 +01:00
b3e24bedd3 Merge bk-internal:/home/bk/mysql-5.0-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-11-08 23:24:16 +01:00
b1520eb3e2 Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


mysql-test/mysql-test-run.pl:
  Auto merged
2006-11-08 23:17:09 +01:00
d3b049a6bf Update of --mem flag after comments
mysql-test/mysql-test-run.pl:
  Allow --mem to be specified as a flag or --mem=<dir>
  Add /tmp to locations to search
  Update comments and usage description
2006-11-08 23:16:44 +01:00
26e6d78845 No need to pass an additional arg to to mtr_add_arg when there is no % sign 2006-11-08 22:56:06 +01:00
39c8672fb6 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/mysql-test-run.pl:
  Auto merged
2006-11-08 22:54:22 +01:00
427f1acaaa Pass location of charsets dir to mysqltest to avoid using the charsetdir locally installed on machine.
client/mysqltest.c:
  Add new option --character-sets-dir to mysqltest
  Set MYSQL_SET_CHRSET_DIR before connecting to mysqld if the above variable is set
mysql-test/mysql-test-run.pl:
  Pass $path_charsetsdir to mysqltest
2006-11-08 22:53:40 +01:00
c98a6dc8af Don't run mysqltest with both --silent and --verbose 2006-11-08 22:45:52 +01:00
96a78a6321 Merge trift2.:/MySQL/M41/bug17194-4.1
into  trift2.:/MySQL/M41/clone-4.1
2006-11-08 21:22:52 +01:00
1144a46631 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1-rpl
into  mysql.com:/usr/home/bar/mysql-4.1.b23451v2


mysql-test/t/func_gconcat.test:
  Auto merged
sql/item_sum.cc:
  Auto merged
2006-11-08 22:03:08 +04:00
a4e945600e Merge polly.local:/tmp/maint/bug22129/my41-bug22129
into  polly.local:/tmp/maint/bug22129/my50-bug22129


mysql-test/r/type_float.result:
  Auto merged
strings/strtod.c:
  Auto merged
2006-11-08 20:35:51 +03:00
23493eb222 Removed the underflow check (bug #22129)
mysql-test/r/type_float.result:
  Fixed the testcase
strings/strtod.c:
  Removed the underflow check
2006-11-08 19:07:21 +03:00