Commit graph

31153 commits

Author SHA1 Message Date
unknown
78c814154a fixed too small requestInfo in signal
+ adopted signal to be as close as possible to 5.1...
2006-06-29 13:01:54 +02:00
unknown
728371c56e Bug#15298 SHOW GRANTS FOR CURRENT_USER: Incorrect output in DEFINER context
user name is calculated on function execution stage instead of parse stage


mysql-test/r/sp_notembedded.result:
  Bug#15298 SHOW GRANTS FOR CURRENT_USER: Incorrect output in DEFINER context
  test case
mysql-test/t/sp_notembedded.test:
  Bug#15298 SHOW GRANTS FOR CURRENT_USER: Incorrect output in DEFINER context
  test case
sql/mysql_priv.h:
  Bug#15298 SHOW GRANTS FOR CURRENT_USER: Incorrect output in DEFINER context
  new get_current_user(THD *thd, LEX_USER *user) function
sql/sql_acl.cc:
  Bug#15298 SHOW GRANTS FOR CURRENT_USER: Incorrect output in DEFINER context
  user name is calculated using get_current_user() function
sql/sql_parse.cc:
  Bug#15298 SHOW GRANTS FOR CURRENT_USER: Incorrect output in DEFINER context
  new get_current_user() function
  user name is calculated using get_current_user() function
sql/sql_yacc.yy:
  Bug#15298 SHOW GRANTS FOR CURRENT_USER: Incorrect output in DEFINER context
  empty LEX_USER struct for CURRENT USER, 
  user name is calculated on function execution stage
2006-06-29 15:50:44 +05:00
unknown
8c435bdf7d Replace all numeric error code with symbolic names in trigger.test.
mysql-test/t/trigger.test:
  Replace all numeric error code with symbolic names.
  Left are --error 1 for system error, and --error 1100.  The
  symbolic constant for the latter is ER_TABLE_NOT_LOCKED, but using
  it triggers a bug in test driver due to name prefix collision with
  1099 ER_TABLE_NOT_LOCKED_FOR_WRITE.  This bug is fixed in 5.1.
2006-06-29 13:45:43 +04:00
unknown
474c4e9206 ndb - build
Fix compile error for forte


ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  Fix compile error for forte
2006-06-29 11:39:07 +02:00
unknown
4c23783cdd Merge knielsen@knielsen.mysql.internal:/usr/local/mysql/tmp-5.0
into  mysql.com:/data0/knielsen/tmp-5.0


mysql-test/r/federated.result:
  Auto merged
mysql-test/t/federated.test:
  Auto merged
2006-06-29 10:38:50 +02:00
unknown
9ee8e42d1c Fix test files to work with non-standard ports (MTR_BUILD_THREAD).
mysql-test/t/federated.test:
  Use --replace_result to make test work on non-standard ports.
mysql-test/r/federated.result:
  Use --replace_result to make test work on non-standard ports.
2006-06-29 10:35:16 +02:00
unknown
916c39888f Merge mysql.com:/home/mydev/mysql-4.1-bug19835
into  mysql.com:/home/mydev/mysql-5.0-bug11824


myisam/mi_dynrec.c:
  Auto merged
2006-06-29 10:27:56 +02:00
unknown
389e22c29a Merge mysql.com:/home/mydev/mysql-4.1-bug17877
into  mysql.com:/home/mydev/mysql-5.0-bug11824


myisam/mi_key.c:
  Auto merged
mysql-test/r/func_sapdb.result:
  Auto merged
mysql-test/r/gis-rtree.result:
  Auto merged
mysql-test/r/symlink.result:
  Auto merged
mysql-test/t/func_sapdb.test:
  Auto merged
mysql-test/t/gis-rtree.test:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
myisam/mi_check.c:
  Manual merge
mysql-test/r/func_time.result:
  Manual merge
mysql-test/t/func_time.test:
  Manual merge
2006-06-29 10:26:24 +02:00
unknown
a24a4516f3 Merge mysql.com:/home/mydev/mysql-4.1-bug11824
into  mysql.com:/home/mydev/mysql-5.0-bug11824


myisam/mi_create.c:
  Auto merged
2006-06-29 10:20:07 +02:00
unknown
579d0519a2 Merge mysql.com:/home/mydev/mysql-5.0-amerge
into  mysql.com:/home/mydev/mysql-5.0-bug11824


configure.in:
  Auto merged
mysql-test/r/federated.result:
  Auto merged
mysql-test/t/federated.test:
  Auto merged
sql/ha_federated.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
2006-06-29 10:18:29 +02:00
unknown
d0201bc371 Fix test files to work with non-standard ports (MTR_BUILD_THREAD).
mysql-test/t/federated.test:
  Use --replace_result to make test work on non-standard ports.
mysql-test/r/federated.result:
  Use --replace_result to make test work on non-standard ports.
2006-06-29 10:03:26 +02:00
unknown
bdf32845d6 Merge mysql.com:/home/kgeorge/mysql/4.1/warnings
into  mysql.com:/home/kgeorge/mysql/5.0/warnings


sql/opt_range.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/item_cmpfunc.h:
  resolve the conflicts in 4.1->5.0 merge of the gcc 4.1 warnings in favor of 
  5.0 code
sql/spatial.h:
  resolve the conflicts in 4.1->5.0 merge of the gcc 4.1 warnings in favor of 
  5.0 code
sql/sql_select.h:
  resolve the conflicts in 4.1->5.0 merge of the gcc 4.1 warnings in favor of 
  5.0 code
2006-06-29 10:46:30 +03:00
unknown
1ae69b6b1a Merge mysql.com:/home/kgeorge/mysql/4.1/teamclean
into  mysql.com:/home/kgeorge/mysql/4.1/warnings
2006-06-29 10:36:08 +03:00
unknown
48d1dc7417 Merge mysql.com:/home/tomash/src/mysql_ab/mysql-5.0
into  mysql.com:/home/tomash/src/mysql_ab/mysql-5.0-bug10946


mysql-test/r/trigger.result:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
2006-06-28 23:54:18 +04:00
unknown
837c9719c4 Bug#10946: Confusing error messeges in the case of duplicate trigger definition
It was hard to distinguish case, when one was unable to create trigger
on the table because trigger with same action time and event already
existed for this table, from the case, when one tried to create trigger
with name which was already occupied by some other trigger, since in
both these cases we emitted ER_TRG_ALREADY_EXISTS error and message.
Now we emit ER_NOT_SUPPORTED_YET error with appropriate additional
message in the first case. There is no sense in introducing separate
error for this situation since we plan to get rid of this limitation
eventually.


mysql-test/r/trigger.result:
  Update result for new error message.
mysql-test/t/trigger.test:
  Update test for new error code.
sql/sql_trigger.cc:
  If there is already a trigger with the same activation time, report an
  "Unsupported yet" error.
2006-06-28 23:50:50 +04:00
unknown
88843709d8 A fix for Bug#19022 "Memory bug when switching db during trigger execution".
No test case as the bug is in an existing test case (rpl_trigger.test
when it is run under valgrind).
The warning was caused by memory corruption in replication slave: thd->db
was pointing at a stack address that was previously used by 
sp_head::execute()::old_db. This happened because mysql_change_db
behaved differently in replication slave and did not make a copy of the 
argument to assign to thd->db. 
The solution is to always free the old value of thd->db and allocate a new
copy, regardless whether we're running in a replication slave or not.


sql/log_event.cc:
  Move rewrite_db to log_event.cc, the only place where it is used.
sql/slave.cc:
  Move rewrite_db to log_event.cc
sql/slave.h:
  Remove an unneeded declaration.
sql/sql_class.h:
  Fix set_db to always free the old db, even if the argument is NULL.
  Add a comment.
sql/sql_db.cc:
  Always make a deep copy of the argument in mysql_change_db, even 
  if running in a replication slave. This is necessary because 
  sp_use_new_db (stored procedures) assumes that mysql_change_db always makes
  a deep copy of the argument, and thus passes a pointer to stack into it.
  This assumption was true for all cases except the replication slave thread.
2006-06-28 23:47:45 +04:00
unknown
01d3a61fef Merge bk-internal:/home/bk/mysql-5.0-engines
into  mysql.com:/home/jimw/my/mysql-5.0-16494


sql/ha_federated.cc:
  Auto merged
mysql-test/r/federated.result:
  Resolve conflict
mysql-test/t/federated.test:
  Resolve conflict
2006-06-28 12:26:21 -07:00
unknown
9016a6be20 BUG #19773
Pushbuild fixes to result file, test, and header file for federated.


mysql-test/r/federated.result:
  BUG #19773
  
  Pushbuild fixes - result file had hard-coded port
mysql-test/t/federated.test:
  BUG #19773
  
  Pushbuild fixes Test was missing --replace_result
sql/ha_federated.h:
  BUG #19773
  
  HPUX and Windows failed with variable named row and *row in method declaration
2006-06-28 12:18:21 -07:00
unknown
12e62a8e89 Optimize stack usage of ha_federated::update_row().
sql/ha_federated.cc:
  We only need one string buffer for fields in ::update_row()
2006-06-28 12:11:52 -07:00
unknown
d127fa3b51 Merge bk-internal:/home/bk/mysql-5.0-runtime
into  mysql.com:/home/jimw/my/mysql-5.0-18005


sql/sql_trigger.cc:
  Auto merged
2006-06-28 10:55:27 -07:00
unknown
23474afb8d Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  xiphis.org:/home/antony/work2/mysql-5.0-engines.sync


configure.in:
  Auto merged
sql/ha_federated.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
2006-06-28 10:31:03 -07:00
unknown
7f9a6aa9c0 Merge pgalbraith@bk-internal.mysql.com:/home/bk/mysql-5.0
into  govinda.patg.net:/home/patg/mysql-build/mysql-5.0-engines-bug19773


sql/ha_federated.cc:
  Auto merged
2006-06-28 10:11:43 -07:00
unknown
7aa26e2645 Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert"
It was possible that fetching a record by an exact key value 
(including the record pointer) could return a record with a 
different key value. This happened only if a concurrent insert 
added a record with the searched key value after the fetching 
statement locked the table for read.

The search succeded on the key value, but the record was
rejected as it was past the file length that was remembered
at start of the fetching statement. With other words it was 
rejected as being a concurrently inserted record.

The action to recover from this problem was to fetch the 
record that is pointed at by the next key of the index. 
This was repeated until a record below the file length was 
found.

I do now avoid this loop if an exact match was searched. 
If this match is beyond the file length, it is now treated 
as "key not found". There cannot be another key with the 
same record pointer.


myisam/mi_rkey.c:
  Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert"
  Added a check for exact key match before searching for
  the next key that was not concurrently inserted. If an
  exact key match finds a concurrently inserted row, this
  must be treated as "key not found".
sql/sql_class.cc:
  Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert"
  Fixed some DBUG_ENTER strings.
2006-06-28 18:55:30 +02:00
unknown
76d0badd89 Merge xiphis.org:/home/antony/work2/p4-bug12096.2
into  xiphis.org:/home/antony/work2/p4-bug12096.2-merge


configure.in:
  Auto merged
sql/mysqld.cc:
  Auto merged
2006-06-28 09:54:40 -07:00
unknown
11d38c1d44 Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge


sql/ha_ndbcluster.cc:
  Auto merged
2006-06-28 16:18:57 +02:00
unknown
9ad8a373f1 Bug#19835 - Binary copy of corrupted tables crash the server when issuing a query
A corrupt table with dynamic record format can crash the 
server when trying to select from it.
        
I fixed the crash that resulted from the particular type 
of corruption that has been reported for this bug.

No test case. To test it, one needs a table with a very special
corruption. The bug report contains a file with such a table.


myisam/mi_dynrec.c:
  Bug#19835 - Binary copy of corrupted tables crash the server when issuing a query
  Added a protection against corrupted records. A dynamic 
  record header with invalid 'next' pointer could trigger 
  the assert in _mi_get_block_info(). Now I avoid this by 
  reporting a corruption error.
2006-06-28 16:07:39 +02:00
unknown
730d16614d gcc 4.1 linux warning fixes backported from 5.0.
sql/item_cmpfunc.h:
  gcc 4.1 linux warning fixes backported from 5.0
sql/opt_range.cc:
  gcc 4.1 linux warning fixes.
sql/spatial.h:
  gcc 4.1 linux warning fixes backported from 5.0
sql/sql_select.h:
  gcc 4.1 linux warning fixes.
sql/sql_update.cc:
  gcc 4.1 linux warning fixes.
2006-06-28 16:28:29 +03:00
unknown
48b09e2a51 BUG#20739.
In the Windows build files, the "Max nt" configuration for some reason
had the mysql_client_test project disabled. Enable it.


VC++Files/mysql.sln:
  The "Max nt" configuration for some reason had the mysql_client_test
  project disabled. Enable it.
2006-06-28 15:15:49 +02:00
unknown
1fdccc8903 Disabled test case for Windows (BUG#20753) 2006-06-28 15:07:41 +02:00
unknown
8f42d836dc 4.1->5.0 merge for bug #16458
mysql-test/r/distinct.result:
  4.1->5.0 merge for bug #16458
   * 5.0 is better in detecting duplicate columns
sql/sql_select.cc:
  4.1->5.0 merge for bug #16458
   * Should not do the optimization if using index for group by
   * chnaged structures in 5.0
2006-06-28 15:53:54 +03:00
unknown
0b235009e6 Bug#17877 - Corrupted spatial index
CHECK TABLE could complain about a fully intact spatial index.
A wrong comparison operator was used for table checking. 
The result was that it checked for non-matching spatial keys. 
This succeeded if at least two different keys were present, 
but failed if only the matching key was present.

I fixed the key comparison.


myisam/mi_check.c:
  Bug#17877 - Corrupted spatial index
  Fixed the comparison operator for checking a spatial index.
  Using MBR_EQUAL | MBR_DATA to compare for equality and
  include the data pointer in the comparison. The latter
  finds the index entry that points to the current record.
  This is necessary for non-unique indexes.
  
  The old operator, SEARCH_SAME, is unknown to the rtree
  search functions and handled like MBR_DISJOINT.
myisam/mi_key.c:
  Bug#17877 - Corrupted spatial index
  Added a missing DBUG_RETURN.
myisam/rt_index.c:
  Bug#17877 - Corrupted spatial index
  Included the data pointer in the copy of the search key.
  This is necessary for searching the index entry that points
  to a specific record if the search_flag contains MBR_DATA.
myisam/rt_mbr.c:
  Bug#17877 - Corrupted spatial index
  Extended the RT_CMP() macro with an assert for an 
  unexpected comparison operator.
mysql-test/r/gis-rtree.result:
  Bug#17877 - Corrupted spatial index
  The test result.
mysql-test/t/gis-rtree.test:
  Bug#17877 - Corrupted spatial index
  The test case.
2006-06-28 14:27:37 +02:00
unknown
7e4ae350ea Merge mysql.com:/home/stewart/Documents/MySQL/5.0/ndb
into  mysql.com:/home/stewart/Documents/MySQL/5.0/merge


ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2006-06-28 22:25:41 +10:00
unknown
ffaacf0dd3 BUG#20739
Improved definition of mysys configuration for -nt builds.


VC++Files/mysql.sln:
  Use the name 'nt' instead of 'Release' for configuration.
VC++Files/mysys/mysys.vcproj:
  Use the name 'nt' instead of 'Release' for configuration.
  Use separate output files for NT and non-NT configurations.
2006-06-28 14:25:17 +02:00
unknown
07a0e614b9 Merge mysql.com:/home/stewart/Documents/MySQL/4.1/ndb
into  mysql.com:/home/stewart/Documents/MySQL/4.1/merge
2006-06-28 22:21:42 +10:00
unknown
3e8cba8be1 Merge mysql.com:/home/stewart/Documents/MySQL/4.1/merge
into  mysql.com:/home/stewart/Documents/MySQL/5.0/merge


ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
2006-06-28 21:54:04 +10:00
unknown
a0837ecec4 BUG#19894 Data nodes fail during loading data if NoOfFragmentLogFiles=1
change default minimum to 3

bug is *very* timing dependent, unable to reproduce here, but theoretically possible.


ndb/src/mgmsrv/ConfigInfo.cpp:
  change minimum NoOfFragmentLogFiles to 3
2006-06-28 21:52:24 +10:00
unknown
2f45384bf1 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/tnurnberg/mysql-5.0
2006-06-28 13:37:13 +02:00
unknown
da10159df1 Merge perch.ndb.mysql.com:/home/jonas/src/50-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0


ndb/src/ndbapi/NdbScanOperation.cpp:
  Auto merged
2006-06-28 13:01:36 +02:00
unknown
03ce43128d Merge mysql.com:/home/tnurnberg/work/mysql-5.0-maint-19857
into  mysql.com:/home/tnurnberg/mysql-5.0
2006-06-28 12:43:04 +02:00
unknown
5312b34910 Bug#19857: When a user with CREATE ROUTINE priv creates a routine it results in NULL p/w
sp_grant_privileges(), the function that GRANTs EXECUTE + ALTER privs on a SP,
did so creating a user-entry with not password; mysql_routine_grant() would then
write that "change" to the user-table.


mysql-test/r/sp-security.result:
  prove that creating a stored procedure will not destroy the creator's password
mysql-test/t/sp-security.test:
  prove that creating a stored procedure will not destroy the creator's password
sql/sql_acl.cc:
  get password from ACLs, convert to correct format, and use it when
  forcing GRANTS for SPs
2006-06-28 12:40:17 +02:00
unknown
f659c1b740 BUG#20739: __NT__ not probably defined for mysys project.
Make sure for the mysys project that __NT__ is defined in *nt solution
configurations (but not in other configurations).


VC++Files/mysql.sln:
  Define __NT__ in mysys for *nt configurations.
VC++Files/mysys/mysys.vcproj:
  Add configurations with __NT__ defined.
mysql-test/mysql-test-run.pl:
  Also allow testing a "Max nt" build.
2006-06-28 12:30:14 +02:00
unknown
cd3dedc981 Adding __NT__ to Max Win32 configuration. 2006-06-28 14:30:13 +04:00
unknown
d7534c3af3 ndb - bug#20442
force close of scan (of outstanding scan_frag)


ndb/src/ndbapi/NdbScanOperation.cpp:
  Force close of scan in when not doing committed read scan
2006-06-28 11:27:37 +02:00
unknown
b5f89708eb Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/gluh/MySQL/Merge/5.0-kt


sql/set_var.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2006-06-28 14:23:33 +05:00
unknown
2ee3ef2edc BUG #19773
Final-review fixes per Monty, pre-push. OK'd for 
push. Please see each file's comments.



mysql-test/r/federated.result:
  BUG #19773
      
  Results for multi-table deletes, updates
mysql-test/t/federated.test:
  BUG #19773
      
  Test multi table update and delete. Added drop table to end of previous test.
sql/ha_federated.cc:
  BUG #19773 
      
  Post-review changes, per Monty. 3rd patch, OK'd for push.
  - Added index_read_idx_with_result_set, which uses the result set passed to it
  - Hash by entire connection scheme
  - Protected store_result result set for table scan by adding a method result set
    to index_read_idx and index_read which is passed to index_read_with_result, which
    in turn iterates over the single record via read_next.
    This is a change from having two result sets in the first two patches. 
    This keeps the code clean and avoids the need for yet another result set.
  - Rewrote ::position and ::rnd_pos to store position - if primary key use 
    primary key, if not, use record buffer.
  - Rewrote get_share to store hash with connect string vs. table name
  - delete_row added subtration of "records" by affected->rows
  - Added read_next to handle what rnd_next used to do (converting raw record
     to query and vice versa)
  - Removed many DBUG_PRINT lines
  - Removed memset initialisation since subsequent loop accomplishes
  - Removed un-necessary mysql_free_result lines
sql/ha_federated.h:
   BUG #19773
      
      Fixed "SET " to " SET " to make sure built statements are built with 
      "UPDATE `t1` SET .." instead of "UPDATE `t1`SET"
2006-06-27 23:49:48 -07:00
unknown
7a3bef0158 Merge perch.ndb.mysql.com:/home/jonas/src/50-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0


ndb/include/ndbapi/NdbIndexScanOperation.hpp:
  Auto merged
ndb/include/ndbapi/NdbScanOperation.hpp:
  Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
ndb/src/ndbapi/NdbScanOperation.cpp:
  Auto merged
2006-06-28 08:40:20 +02:00
unknown
8169f210b0 Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  mysql.com:/home/alexi/bugs/mysql-5.0-19208
2006-06-28 10:24:10 +04:00
unknown
39defccfd4 Fixing BUG#17719 "Delete of binlog files fails on Windows"
and BUG#19208 "Test 'rpl000017' hangs on Windows".
 Both bugs are caused by attempting to delete an opened
 file and to create immediatedly a new one with the same
 name. On Windows it can be supported only on NT-platforms
 (by using FILE_SHARE_DELETE mode and with renaming the
 file before deletion). Because deleting not-closed files
 is not supported on all platforms (e.g. Win 98|ME) this
 is to be considered harmful and should be eliminated by
 a "code redesign".


VC++Files/mysys/mysys.vcproj:
  To be sure that __NT__ is defined for Win configurations.
   Temporary, to be changed in more appropriate way.
include/my_sys.h:
  Adding my_delete_allow_opened to be invoked to delete
   a (possibly) not closed file on Windows NT-platforms.
mysys/my_delete.c:
  Adding nt_share_delete() function implementing
   a (possibly) not closed file deletion on Windows NT.
sql/log.cc:
  MYSQL_LOG::reset_logs(): Deleting usually not
   closed binlog files.
2006-06-28 10:21:01 +04:00
unknown
a4c95a18b8 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.0-main
2006-06-28 02:43:38 +02:00
unknown
88afd72b47 Bug #18005: Creating a trigger on mysql.event leads to server crash on scheduler startup
Bug #18361: Triggers on mysql.user table cause server crash

 Because they do not work, we do not allow creating triggers on tables
 within the 'mysql' schema.

 (They may be made to work and re-enabled at some later date, but not
 in 5.0 or 5.1.)


mysql-test/r/trigger.result:
  Add new results
mysql-test/t/trigger.test:
  Add new regression test for creating triggers on system schema
sql/share/errmsg.txt:
  Add new error message
sql/sql_trigger.cc:
  Disallow creating triggers on tables in the 'mysql' schema
2006-06-27 17:16:02 -07:00