Commit graph

9522 commits

Author SHA1 Message Date
dlenev@mysql.com
2033f7ba45 Fix for bug#11081 "Using a CONVERT_TZ function in a stored function or
trigger fails".

In cases when CONVERT_TZ() function was used in trigger or stored function
(or in stored procedure which was called from trigger or stored function)
error about non existing '.' table was reported.

Statements that use CONVERT_TZ() function should have time zone related
tables in their table list. tz_init_table_list() function which is used
to produce part of table list containing those tables didn't set
TABLE_LIST::db_length/table_name_length members properly. As result time
zone tables needed for CONVERT_TZ() function were incorrectly handled by
prelocking algorithm and "Table '.' doesn't exist' error was emitted.
This fix changes tz_init_table_list() in such way that it properly inits
TABLE_LIST::table_name_length/db_length members and thus produces table list
which can be handled by prelocking algorithm correctly.
2006-04-24 18:57:00 +04:00
svoj@april.(none)
a83c4b6841 Merge april.(none):/home/svoj/devel/mysql/merge/mysql-5.0
into  april.(none):/home/svoj/devel/mysql/merge/mysql-5.1-new
2006-04-24 19:53:38 +05:00
tomas@poseidon.ndb.mysql.com
d999da80b0 Bug #18935 restore of apply_status table fails using old ndb backup 2006-04-24 16:05:02 +02:00
evgen@moonbone.local
1a6dc770e3 Manually merged 2006-04-24 17:52:15 +04:00
msvensson@neptunus.(none)
9e49e393a4 Ad file "have_ndb_status_ok.require" 2006-04-24 13:25:50 +02:00
bell@sanja.is.com.ua
b2c810e847 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into  sanja.is.com.ua:/home/bell/mysql/bk/work-merge-5.1
2006-04-24 13:32:07 +03:00
andrey@lmy004.
82c8ef7be1 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-new-clean
2006-04-24 12:21:38 +03:00
andrey@lmy004.
b7adc19900 test case for bug 19170 2006-04-24 12:12:15 +03:00
msvensson@neptunus.(none)
d59a0f4840 Bug#17002 mysql-test-run as root user
- Add test to see if tests are running with root permissions
 - Disables tests that uses chmod if that is the case
2006-04-24 10:21:09 +02:00
ramil@production.mysql.com
f7394c26f5 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  production.mysql.com:/usersnfs/rkalimullin/4.1.b17896
2006-04-24 08:01:10 +02:00
aelkin@mysql.com
a8368fde52 Merge mysql.com:/net/nb/home/elkin/MySQL/FIXES/5.0-bug17263-temp_drop
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.0
2006-04-23 20:06:30 +03:00
aelkin@mysql.com
b56d36dd30 Bug#17263 temporary tables and replication
The fix refines the algorithm of generating DROPs for binlog. 
Temp tables with common pseudo_thread_id are clustered into one query. 
Consequently one replication event per pseudo_thread_id is generated.
2006-04-23 19:59:43 +03:00
aivanov@mysql.com
e72bab17fd Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/alexi/innodb/mysql-5.1
2006-04-23 16:06:46 +04:00
aivanov@mysql.com
3431db829e Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/alexi/innodb/mysql-5.1
2006-04-23 14:28:47 +04:00
aelkin@mysql.com
c5219d0d67 Merge mysql.com:/usr_rh9/home/elkin.rh9/MySQL/BARE/4.1
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.0
2006-04-23 12:32:39 +03:00
konstantin@mysql.com
8301e6f625 Merge mysql.com:/opt/local/work/mysql-5.0-root
into  mysql.com:/opt/local/work/mysql-5.0-runtime-merge
2006-04-23 13:32:38 +04:00
aivanov@mysql.com
4fba67933d Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/alexi/innodb/mysql-5.0
2006-04-23 13:32:37 +04:00
aelkin@mysql.com
a4ff312037 Bug#17263 temporary tables and replication
Backporting a changeset made for 5.0. Comments from there:

  The fix refines the algorithm of generating DROPs for binlog.
  Temp tables with common pseudo_thread_id are clustered into one query.
  Consequently one replication event per pseudo_thread_id is generated.
2006-04-23 12:18:57 +03:00
aivanov@mysql.com
780f80be16 Applied innodb-5.1-ss475 snapshot.
* Fix BUG#15650: "DELETE with LEFT JOIN crashes server with innodb_locks_unsafe_for binlog"
* Fix BUG#17134: "Partitions: uncommitted changes are visible"
* Fix BUG#17992: "Partitions: InnoDB, somehow rotten table after UPDATE"
  row0ins.c: MySQL's partitioned table code does not set preduilt->sql_stat_start right
  if it does an insert in the same statement after doing a search first in the same
  partition table. We now write trx id always to the buffer, not just when flag
  sql_stat_start is on. This will waste CPU time very sightly.
* Fix BUG#18077: "InnoDB uses full explicit table locks in stored FUNCTION"
* Fix BUG#18238: "When locks exhaust the buffer pool, InnoDB does not roll back the trx"
* Fix BUG#18252" "Disk space leak in updates of InnoDB BLOB rows in 5.0 and 5.1"
* Fix BUG#18283: "When InnoDB returns error 'lock table full', MySQL can write to binlog too much"
* Fix BUG#18350: "Use consistent read in CREATE ... SELECT ... if innodb_locks_unsafe_for_binlog"
* Fix BUG#18384: "InnoDB memory leak on duplicate key errors in 5.0 if row has many columns"
* Fix BUG#18934: "InnoDB crashes when table uses column names like DB_ROW_ID"
  Refuse tables that use reserved column names.
* InnoDB's SQL parser:
  - Add support for UNSIGNED types, EXIT keyword, quoted identifiers, user-function callbacks
    for processing results of FETCH statements, bound literals, DATA_VARCHAR for bound literals.
  - Allow bound literals of type non-INTEGER to be of length 0.
  - Add make_flex.sh and update lexer/parser generation documentation.
  - Add comment clarifying the difference between 'alias' and 'indirection' fields in sym_node_t.
  - Remove never reached duplicate code in pars_set_dfield_type().
  - Rewrite pars_info datatypes and APIs, add a few helper functions.
  - Since the functions definitions in pars_info_t are accessed after pars_sql() returns
    in the query graph execution stage, we can't free pars_info_t in pars_sql(). Instead,
    make pars_sql() transfer ownership of pars_info_t to the created query graph, and
    make que_graph_free() free it if needed.
  - Allow access to system columns like DB_ROW_ID.
* Use bound literals in row_truncate_table_for_mysql, row_drop_table_for_mysql,
  row_discard_tablespace_for_mysql, and row_rename_table_for_mysql.
* Setting an isolation level of the transaction to read committed weakens the locks for
  this session similarly like the option innodb_locks_unsafe_for binlog. This patch removes
  alnost all gap locking (used in next-key locking) and makes MySQL to release the row locks
  on the rows which does not belong to result set. Additionally, nonlocking selects on
  INSERT INTO SELECT, UPDATE ... (SELECT ...), and CREATE ... SELECT ... use a nonlocking
  consistent read. If a binlog is used, then binlog format should be set to row based
  binloging to make the execution of the complex SQL statements.
* Disable the statistic variables btr_search_n_hash_fail and n_hash_succ, n_hash_fail,
  n_patt_succ, and n_searches of btr_search_t in builds without #ifdef UNIV_SEARCH_PERF_STAT.
* Make innodb.test faster. Group all consistent read test cases to a one test case and
  wait their lock timeout after all have been send to the server. Decrease amount of rows
  inserted in a certain test - this has no effect on the effectiveness of the test and
  reduces the running time by ~10 sec. Remove temporary work-arounds from innodb.result
  now that ALTER TABLE DROP FOREIGN KEY works once again.
* Make innodb_unsafe_binlog.test faster. Grout all consistent read test cases to a one
  test case amd wait their lock timeout after all have been sent to the server. Remove
  unnecessary option --loose_innodb_lock_wait_timeout.
* Print dictionary memory size in SHOW INNODB STATUS.
* Fix memory leaks in row_create_table_for_mysql() in rare corner cases.
* Remove code related to clustered tables. They were never implemented, and the
  implementation would be challenging with ROW_FORMAT=COMPACT. Remove the table types
  DICT_TABLE_CLUSTER_MEMBER and DICT_TABLE_CLUSTER and all related tests and functions.
  dict_table_t: Remove mix_id, mix_len, mix_id_len, mix_id_buf, and cluster_name.
  plan_t: Remove mixed_index.
  dict_create_sys_tables_tuple(): Set MIX_ID=0, MIX_LEN=0, CLUSTER_NAME=NULL when
  inserting into SYS_TABLES.
  dict_tree_check_search_tuple(): Enclose in #ifdef UNIV_DEBUG.
* Move calling of thr_local_free() from trx_free_for_mysql() to
  innobase_close_connection().
2006-04-23 12:48:31 +04:00
konstantin@mysql.com
ba845055f9 Merge mysql.com:/opt/local/work/tmp_merge
into  mysql.com:/opt/local/work/mysql-5.1-merge
2006-04-23 04:04:36 +04:00
dlenev@mysql.com
5e7076ce95 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mysql.com:/home/dlenev/mysql-5.0-bg15153-2
2006-04-22 11:56:15 +04:00
dlenev@mysql.com
c77d5a0ed1 Fix for bug#15153 "CONVERT_TZ() is not allowed in all places in VIEWs".
Error was emitted when one tried to select information from view which used
merge algorithm and which also had CONVERT_TZ() function in its select list.

This bug was caused by wrong assumption that global table list for view
which is handled using merge algorithm begins from tables belonging to
the main select of this view. Nowadays the above assumption is not true only
when one uses convert_tz() function in view's select list, but in future
other cases may be added (for example we may support merging of views
with subqueries in select list one day). Relying on this false assumption
led to the usage of wrong table list for field lookups and therefor errors. 

With this fix we explicitly use pointer to the beginning of main select's
table list.
2006-04-22 11:54:25 +04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
fd799cf6f5 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/wl2826
2006-04-21 16:26:34 -04:00
igor@rurik.mysql.com
510ab81362 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1
into  rurik.mysql.com:/home/igor/mysql-4.1
2006-04-21 08:22:03 -07:00
igor@rurik.mysql.com
639e875032 Post merge fixes 2006-04-21 08:19:38 -07:00
kroki@mysql.com
b0c1e49a11 Bug#15728: LAST_INSERT_ID function inside a stored function returns 0
Do not reset value of LAST_INSERT_ID() in sub-statement.
2006-04-21 18:55:04 +04:00
tomas@poseidon.ndb.mysql.com
e38f6bc590 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new
2006-04-21 16:42:31 +02:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
fa3c74b420 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/wl2826
2006-04-21 09:30:05 -04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
4d0a4e1199 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/wl2826
2006-04-21 08:57:53 -04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
dc8a0bd64d Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug18962
2006-04-21 08:55:01 -04:00
ramil@production.mysql.com
aed861fd86 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  production.mysql.com:/usersnfs/rkalimullin/4.1.b18643
2006-04-21 13:56:40 +02:00
tomas@poseidon.ndb.mysql.com
fa21279e8e Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new
2006-04-21 11:32:25 +02:00
pem@mysql.com
8c5ae25ff5 Merge mysql.com:/extern/mysql/bk/mysql-5.0-runtime
into  mysql.com:/extern/mysql/5.0/bug18344/mysql-5.0-runtime
2006-04-21 10:22:06 +02:00
igor@rurik.mysql.com
37ac782206 Merge rurik.mysql.com:/home/igor/dev/mysql-4.1-0
into  rurik.mysql.com:/home/igor/dev/mysql-5.0-0
2006-04-21 00:36:20 -07:00
igor@rurik.mysql.com
fd3e924164 Merge rurik.mysql.com:/home/igor/mysql-4.1
into  rurik.mysql.com:/home/igor/dev/mysql-4.1-0
2006-04-20 22:34:37 -07:00
igor@rurik.mysql.com
fc7514151f Fixed bug #18767.
The bug caused wrong result sets for union constructs of the form
(SELECT ... ORDER BY order_list1 [LIMIT n]) ORDER BY order_list2.
For such queries order lists were concatenated and limit clause was
completely neglected.
2006-04-20 22:15:38 -07:00
jimw@mysql.com
ec00b92f48 Bug #12792: @@system_time_zone is not SELECTable
Bug #15684: @@version_* are not all SELECTable

  Added the appropriate information as read-only system variables, and
  also removed some special-case handling of @@version along the way.

  @@version_bdb was added, but isn't included in the test because it
  depends on the presence of BDB.
2006-04-20 21:56:53 -07:00
jimw@mysql.com
4d392fb9f4 Bug #16195: SHOW VARIABLES doesn't report correctly sql_warnings and sql_notes values
SQL_WARNINGS and SQL_NOTES were being displayed with SHOW_BOOL, but they
  are system variables that need SHOW_SYS to be used.
2006-04-20 20:41:12 -07:00
igor@rurik.mysql.com
1afc70d03e Merge rurik.mysql.com:/home/igor/tmp_merge
into  rurik.mysql.com:/home/igor/dev/mysql-5.1-2
2006-04-20 17:00:29 -07:00
tomas@poseidon.ndb.mysql.com
8f957a8058 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new
2006-04-21 01:56:15 +02:00
tomas@poseidon.ndb.mysql.com
8f9cc67841 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new-ndb
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new
2006-04-21 01:53:44 +02:00
tomas@poseidon.ndb.mysql.com
cc138b5a3b Bug#18594 ndb_restore log boken in 5.1
- added compatability with 5.0
- added test case for compatability with 5.0 and 5.1
2006-04-21 01:51:58 +02:00
igor@rurik.mysql.com
0a65106cfb Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  rurik.mysql.com:/home/igor/mysql-5.1
2006-04-20 16:14:17 -07:00
evgen@moonbone.local
663fee9c05 Fixed bug#18739: non-standard HAVING extension was allowed in strict ANSI sql mode.
The SQL standard doesn't allow to use in HAVING clause fields that are not 
present in GROUP BY clause and not under any aggregate function in the HAVING
clause. However, mysql allows using such fields. This extension assume that 
the non-grouping fields will have the same group-wise values. Otherwise, the 
result will be unpredictable. This extension allowed in strict 
MODE_ONLY_FULL_GROUP_BY sql mode results in misunderstanding of HAVING 
capabilities.

The new error message ER_NON_GROUPING_FIELD_USED message is added. It says
"non-grouping field '%-.64s' is used in %-.64s clause". This message is
supposed to be used for reporting errors when some field is not found in the
GROUP BY clause but have to be present there. Use cases for this message are 
this bug and when a field is present in a SELECT item list not under any 
aggregate function and there is GROUP BY clause present which doesn't mention 
that field. It renders the ER_WRONG_FIELD_WITH_GROUP error message obsolete as
being more descriptive.
The resolve_ref_in_select_and_group() function now reports the 
ER_NON_GROUPING_FIELD_FOUND error if the strict mode is set and the field for 
HAVING clause is found in the SELECT item list only.
2006-04-21 01:52:59 +04:00
aivanov@mysql.com
364621abc0 Restoring changes erroneously removed by applying
the innodb-5.0-ss476 snapshot.
2006-04-21 01:37:31 +04:00
aivanov@mysql.com
25d9a75d12 Applied innodb-5.0-ss476 snapshot.
Fix BUG#18934: "InnoDB crashes when table uses column like DB_ROW_ID".
 Also, fix memory leaks in row_create_table_for_mysql() in rare
 corner cases.
2006-04-21 01:07:37 +04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
a3f152cc6e Merge c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/clean-mysql-5.1-new
into  c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug18962
2006-04-20 14:16:27 -04:00
mleich@mysql.com
4cbad914ca Post merge correction for the Changesset
Fixes for Bug#12429: Replication tests fail: "Slave_IO_Running" (?) differs related to MySQL 4.1
and Bug#16920 rpl_deadlock_innodb fails in show slave status (reported for MySQL 5.1)
2006-04-20 19:43:02 +02:00
pekka@mysql.com
a272f257c2 ndb/repl - bug#19004 rpl_ndb_2myisam ok, rpl_ndb_2innodb new bug(number)19227 2006-04-20 18:53:23 +02:00
konstantin@mysql.com
f14040e4d8 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/opt/local/work/mysql-5.1-merge
2006-04-20 20:49:41 +04:00