- 26 Jun, 2006 1 commit
-
-
konstantin@mysql.com authored
Bug#19022 "Memory bug when switching db during trigger execution" Bug#17199 "Problem when view calls function from another database." Bug#18444 "Fully qualified stored function names don't work correctly in SELECT statements" Documentation note: this patch introduces a change in behaviour of prepared statements. This patch adds a few new invariants with regard to how THD::db should be used. These invariants should be preserved in future: - one should never refer to THD::db by pointer and always make a deep copy (strmake, strdup) - one should never compare two databases by pointer, but use strncmp or my_strncasecmp - TABLE_LIST object table->db should be always initialized in the parser or by creator of the object. For prepared statements it means that if the current database is changed after a statement is prepared, the database that was current at prepare remains active. This also means that you can not prepare a statement that implicitly refers to the current database if the latter is not set. This is not documented, and therefore needs documentation. This is NOT a change in behavior for almost all SQL statements except: - ALTER TABLE t1 RENAME t2 - OPTIMIZE TABLE t1 - ANALYZE TABLE t1 - TRUNCATE TABLE t1 -- until this patch t1 or t2 could be evaluated at the first execution of prepared statement. CURRENT_DATABASE() still works OK and is evaluated at every execution of prepared statement. Note, that in stored routines this is not an issue as the default database is the database of the stored procedure and "use" statement is prohibited in stored routines. This patch makes obsolete the use of check_db_used (it was never used in the old code too) and all other places that check for table->db and assign it from THD::db if it's NULL, except the parser. How this patch was created: THD::{db,db_length} were replaced with a LEX_STRING, THD::db. All the places that refer to THD::{db,db_length} were manually checked and: - if the place uses thd->db by pointer, it was fixed to make a deep copy - if a place compared two db pointers, it was fixed to compare them by value (via strcmp/my_strcasecmp, whatever was approproate) Then this intermediate patch was used to write a smaller patch that does the same thing but without a rename. TODO in 5.1: - remove check_db_used - deploy THD::set_db in mysql_change_db See also comments to individual files.
-
- 01 Jun, 2006 15 commits
-
-
igor@rurik.mysql.com authored
-
igor@rurik.mysql.com authored
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
-
cmiller@zippy.(none) authored
into zippy.(none):/home/cmiller/work/mysql/mysql-5.0
-
msvensson@shellback.(none) authored
into shellback.(none):/home/msvensson/mysql/mysql-5.0
-
jonas@perch.ndb.mysql.com authored
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.0
-
msvensson@shellback.(none) authored
into shellback.(none):/home/msvensson/mysql/mysql-5.0-maint
-
msvensson@shellback.(none) authored
-
jonas@perch.ndb.mysql.com authored
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.0
-
jonas@perch.ndb.mysql.com authored
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.0
-
mskold@mysql.com authored
into mysql.com:/home/marty/MySQL/mysql-5.0
-
jonas@perch.ndb.mysql.com authored
into perch.ndb.mysql.com:/home/jonas/src/50-work
-
jonas@perch.ndb.mysql.com authored
Dont be too aggressive in Dbtc::nodeFailCheckTransaction let it timeout by 1, so that it does not assert that it has waited too long old impl. set timeotu value to 0, making timeout = (ctcTimer - 0) which could be quite big.
-
igor@rurik.mysql.com authored
-
igor@rurik.mysql.com authored
-
igor@rurik.mysql.com authored
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
-
- 31 May, 2006 14 commits
-
-
msvensson@devsrv-b.mysql.com authored
into devsrv-b.mysql.com:/users/msvensson/mysql-5.0
-
msvensson@shellback.(none) authored
- avoid allocating memory for each call to 'EVP_md5' and 'EVP_des_ede3_cbc' which were not released until server was stopped - Those functions are used from the SQL function 'des_encrypt' and 'des_decrypt'.
-
msvensson@shellback.(none) authored
-
msvensson@shellback.(none) authored
-
msvensson@shellback.(none) authored
-
aelkin@dl145k.mysql.com authored
adapting to pushbuild's custom to switch from default pathes. The name for var directory must be set with MYSQLTEST_VARDIR.
-
msvensson@shellback.(none) authored
into shellback.(none):/home/msvensson/mysql/mysql-5.0
-
msvensson@shellback.(none) authored
- Part 1, fixes rpl- and federated-tests where connection is made to 127.0.0.1
-
msvensson@shellback.(none) authored
- Include prefix files that renames all public functions in yaSSLs OpenSSL API to ya<function_name>. They will otherwise conflict with OpenSSL functions if loaded by an application that uses OpenSSL as well as libmysqlclient with yaSSL support.
-
mskold@mysql.com authored
into mysql.com:/home/marty/MySQL/mysql-5.0
-
tnurnberg@mysql.com authored
Two threads both try a shutdown sequence which creates a race to the de-init/free of certain resources. This exists in similar form in the client as 17926: "mysql.exe crashes when ctrl-c is pressed in windows."
-
aelkin@dl145k.mysql.com authored
missed table to drop after merge from 4.1
-
aelkin@dl145k.mysql.com authored
into dl145k.mysql.com:/tmp/andrei/MERGE/5.0
-
msvensson@shellback.(none) authored
into shellback.(none):/home/msvensson/mysql/mysql-5.0
-
- 30 May, 2006 9 commits
-
-
pekka@mysql.com authored
into mysql.com:/space/pekka/ndb/version/my50
-
iggy@mysql.com authored
into mysql.com:/mnt/storeage/mysql-5.0-maint_bug18669
-
ramil@mysql.com authored
into mysql.com:/usr/home/ram/work/mysql-5.0
-
anozdrin@mysql.com authored
into mysql.com:/home/alik/MySQL/devel/5.0-tree
-
ramil@mysql.com authored
into mysql.com:/usr/home/ram/work/mysql-5.0
-
igor@rurik.mysql.com authored
into rurik.mysql.com:/home/igor/mysql-4.1
-
igor@rurik.mysql.com authored
refers to a column name.
-
gluh@eagle.intranet.mysql.r18.ru authored
Bug#18282 "INFORMATION_SCHEMA.TABLES provides inconsistent info about invalid views" This bug caused crashes or resulted in wrong data being returned when one tried to obtain information from I_S tables about views using stored functions. It was caused by the fact that we were using LEX representing statement which were doing select from I_S tables as active LEX when contents of I_S table were built. So state of this LEX both affected and was affected by open_tables() calls which happened during this process. This resulted in wrong behavior and in violations of some of invariants which caused crashes. This fix tries to solve this problem by properly saving/resetting and restoring part of LEX which affects and is affected by the process of opening tables and views in get_all_tables() routine. To simplify things we separated this part of LEX in a new class and made LEX its descendant.
-
pekka@mysql.com authored
into mysql.com:/space/pekka/ndb/version/my50
-
- 29 May, 2006 1 commit
-
-
kent@mysql.com authored
-