Commit graph

17511 commits

Author SHA1 Message Date
unknown
3dbffd24c8 Merge hynda.mysql.fi:/home/my/mysql-5.0-main
into  hynda.mysql.fi:/home/my/mysql-5.0-marvel
2007-08-22 16:19:06 +03:00
unknown
891b1659fc Fixed bug #30201.
Killing a SELECT query with KILL QUERY or KILL CONNECTION
causes a server crash if the query cache is enabled.

Normal evaluation of a query may be interrupted by the
KILL QUERY/CONNECTION statement, in this case the mysql_execute_command
function returns TRUE, and the thd->killed flag has true value.
In this case the result of the query may
be cached incompletely (omitting call to query_cache_insert inside
the net_real_write function), and next call to query_cache_end_of_result
may lead to server crash.
Thus, the query_cache_end_of_result function has been modified to abort
query cache in the case of killed thread.



sql/sql_cache.cc:
  Fixed bug #30201.
  The  query_cache_end_of_result function has been modified to abort query
  cache in the case of query execution failure. Also this function has been
  modified to remove incomplete query block.
2007-08-22 18:15:54 +05:00
unknown
25c8c0672b Merge hynda.mysql.fi:/home/my/mysql-5.0-main
into  hynda.mysql.fi:/home/my/mysql-5.0-marvel
2007-08-21 19:06:47 +03:00
unknown
d845108fe7 Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-08-21 20:56:40 +05:00
unknown
abc02d7e47 Merge adventure.(none):/home/thek/Development/cpp/bug30269/my50-bug30269
into  adventure.(none):/home/thek/Development/cpp/mysql-5.0-runtime


mysql-test/r/query_cache.result:
  Auto merged
mysql-test/t/query_cache.test:
  Auto merged
2007-08-21 17:47:06 +02:00
unknown
792145bae1 Merge gleb.loc:/home/uchum/work/bk/5.0-opt-30287
into  gleb.loc:/home/uchum/work/bk/5.0-opt


sql/sql_select.cc:
  Auto merged
2007-08-21 19:30:32 +05:00
unknown
42aa480b43 compiler warning fix 2007-08-21 18:59:42 +05:00
unknown
521529be29 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2007-08-21 17:57:48 +05:00
unknown
3a5a0ea392 Bug#30269 Query cache eats memory
Although the query cache doesn't support retrieval of statements containing
column level access control, it was still possible to cache such statements
thus wasting memory.
  
This patch extends the access control check on the target tables to avoid
caching a statement with column level restrictions. 

Views are excepted and can be cached but only retrieved by super user account.


mysql-test/t/query_cache_with_views.test:
  Rename: mysql-test/t/view_query_cache.test -> mysql-test/t/query_cache_with_views.test
mysql-test/r/query_cache_with_views.result:
  Rename: mysql-test/r/view_query_cache.result -> mysql-test/r/query_cache_with_views.result
mysql-test/r/query_cache.result:
  Modified test case to allow caching of views
mysql-test/t/query_cache.test:
  Modified test case to allow caching of views
sql/sql_cache.cc:
  Allow caching of views
2007-08-21 13:43:09 +02:00
unknown
a9322f2e57 Merge gleb.loc:/home/uchum/work/bk/5.0
into  gleb.loc:/home/uchum/work/bk/5.0-opt


sql/sql_base.cc:
  Auto merged
2007-08-21 16:31:30 +05:00
unknown
63a95f331a Merge gleb.loc:/home/uchum/work/bk/5.0
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-08-21 16:14:46 +05:00
unknown
7c3d5bc5c4 Fixed bug #30287.
The server created temporary tables for filesort in the working directory
instead of the specified tmpdir directory.


sql/item.cc:
  Fixed bug #30287.
  The Item_field::set_field method has been modified to reset the any_privileges
  flag to false in case of system temporary table. This modification prevents the
  server from unnecessary checking of user privileges to access system temporary
  tables.
sql/sql_select.cc:
  Fixed bug #30287.
  Bugfix for #29015 has been removed: TABLE_SHARE::table_name of system
  temporary tables contains full path to table file basename again.
sql/sql_view.cc:
  Fixed bug #30287.
  Commentary has been added.
2007-08-21 01:39:39 +05:00
unknown
3c52b2b3a8 Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-rt-merge


sql/sql_base.cc:
  Auto merged
sql/sql_handler.cc:
  Auto merged
2007-08-20 10:45:16 -06:00
unknown
d48e35b983 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2007-08-20 11:25:45 +05:00
unknown
29ee5ed0a0 Bug#27629 Possible security flaw in INFORMATION_SCHEMA and SHOW statements
added SUPER_ACL check for I_S.TRIGGERS


mysql-test/r/information_schema.result:
  result fix
mysql-test/r/information_schema_db.result:
  result fix
mysql-test/t/information_schema.test:
  test case
sql/sql_show.cc:
  added SUPER_ACL check for I_S.TRIGGERS
2007-08-20 11:23:08 +05:00
unknown
c68c271a5f Merge ramayana.hindu.god:/home/tsmith/m/bk/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
2007-08-18 00:35:41 -06:00
unknown
3ff2699500 Merge adventure.(none):/home/thek/Development/cpp/bug30269/my50-bug30269
into  adventure.(none):/home/thek/Development/cpp/mysql-5.0-runtime


mysql-test/r/query_cache.result:
  Auto merged
mysql-test/t/query_cache.test:
  Auto merged
2007-08-17 17:27:41 +02:00
unknown
bd80048fdb Bug #30269 Query cache eats memory
Although the query cache doesn't support retrieval of statements containing
column level access control, it was still possible to cache such statements
thus wasting memory.

This patch extends the access control check on the target tables to avoid
caching a statement with column level restrictions. 


mysql-test/r/query_cache.result:
  Added test
mysql-test/t/query_cache.test:
  Added test
sql/sql_cache.cc:
  The function check_table_access leaves the artifact
  grant.want_privileges= 1, if a statement refers to tables with column level
  privileges. To avoid the statement from being stored into the query cache,
  it is enough to check this flag and set 'safe_to_cache_query' to zero.
sql/sql_cache.h:
  - Removed 'static' attribute or class methods
  - Added THD parameter to process_and_count_tables
2007-08-17 16:55:20 +02:00
unknown
d280a06e36 Bug#30245: A wrong type of a BIT field is reported when grouped by it.
HEAP tables can't index BIT fields. Due to this when grouping by such fields is
needed they are converted to a fields of the LONG type when temporary table
is being created. But a side effect of this is that a wrong type of BIT
fields is returned to a client.

Now the JOIN::prepare and the create_distinct_group functions are create
additional hidden copy of BIT fields to preserve original fields untouched.
New hidden fields are used for grouping instead.


mysql-test/t/type_bit.test:
  Added a test case for the bug#30245: A wrong type of a BIT field is reported when grouped by it.
mysql-test/r/type_bit.result:
  Added a test case for the bug#30245: A wrong type of a BIT field is reported when grouped by it.
sql/sql_select.cc:
  Bug#30245: A wrong type of a BIT field is reported when grouped by it.
  Now the JOIN::prepare and the create_distinct_group functions are create
  additional hidden copy of BIT fields to preserve original fields untouched.
  New hidden fields are used for grouping instead.
2007-08-17 18:30:41 +04:00
unknown
92abaeee0c Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug30396
2007-08-16 21:04:28 -07:00
unknown
409938f22a Bug#29936 (Stored Procedure DML ignores low_priority_updates setting)
This is a follow up for the patch for Bug#26162 "Trigger DML ignores low_priority_updates setting", where the stored procedure ignores the session setting of low_priority_updates.

For every table open operation with default write (TL_WRITE_DEFAULT) lock_type, downgrade the lock type to the session setting of low_priority_updates.


sql/lock.cc:
  Add late lock_type assertion.
sql/sql_base.cc:
  Possibly downgrade lock type to the the session setting of low_priority_updates and also remove early assertion.
2007-08-16 14:51:37 -03:00
unknown
163420d2d7 Bug #29474: 21587 Regression Ever increasing open tables/fd when using HANDLER READ + DELETE
Revert the fix for bug 21587.  That bug will be re-opened, and a new
fix must be created.
2007-08-16 10:56:09 -06:00
unknown
4e5d02e99f Fix for Bug#27970 "Fix for bug 24507 makes mysql_install_db fail"
include/my_pthread.h:
  Fix for Bug#27970 "Fix for bug 24507 makes mysql_install_db fail".
  
  Removed macro NPTL_PTHREAD_EXIT_BUG, because it doesn't work in dynamic
  environment. One can switch between NPTL and LT on the fly on Linux.
  
  Added pthread_dummy(ESRCH) for those platforms that don't have pthread_kill.
  This ensures that there won't be an error in mysqld.cc where the return value 
  is being checked from the function call.
mysys/my_thr_init.c:
  Check for a Linux is enough. There is an additional test if
  NPTL is in use before spwaning the extra thread.
2007-08-16 17:25:48 +03:00
unknown
f4a163c3a5 Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  dl145s.mysql.com:/data0/mhansson/my50-bug28570


sql/opt_range.cc:
  Auto merged
mysql-test/r/innodb_mysql.result:
  Bug#28570: Manual Merge
mysql-test/t/innodb_mysql.test:
  Bug#28570: Manual Merge
2007-08-16 14:13:07 +02:00
unknown
7ea03f33bd Merge dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.0/mysql-5.0-ndb
into  dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.0/mysql-5.0-ndb-bj.merge


sql/ha_ndbcluster.cc:
  Auto merged
2007-08-16 11:06:41 +08:00
unknown
05dd9e4987 NULL MERGE this ChangeSet to 5.1
Apply innodb-5.0-ss1696 snapshot

Fixes:
- Bug#20090: InnoDB: Error: trying to declare trx to enter InnoDB
- Bug#23710: crash_commit_before fails if innodb_file_per_table=1
  At InnoDB startup consider the case where log scan went beyond
  checkpoint_lsn as a crash and initiate crash recovery code path.
- Bug#28781: InnoDB increments auto-increment value incorrectly with ON DUPLICATE KEY UPDATE
  We need to do some special AUTOINC handling for the following case:
  INSERT INTO t (c1,c2) VALUES(x,y) ON DUPLICATE KEY UPDATE ...
  We need to use the AUTOINC counter that was actually used by
  MySQL in the UPDATE statement, which can be different from the
  value used in the INSERT statement.
- Bug#29097: fsp_get_available_space_in_free_extents() is capped at 4TB
  Fix by typecasting the variables before multiplying them, so that the
  result of the multiplication is of type "unsigned long long".
- Bug#29155: Innodb "Parallel recovery" is not prevented
  Fix by enabling file locking on FreeBSD.  It has been disabled because
  InnoDB has refused to start on FreeBSD & LinuxThreads, but now it
  starts just fine.


innobase/fsp/fsp0fsp.c:
  Apply innodb-5.0-ss1696 snapshot
  
  Revision r1614:
  branches/5.0:
  
  Merge r1605 from trunk:
  
  Fix Bug#29097 "fsp_get_available_space_in_free_extents() is capped at 4TB"
  by typecasting the variables before multiplying them, so that the result of
  the multiplication is of type "unsigned long long".
  
  I verified this fix by creating a sparse file of 6TB and forcing InnoDB to
  use it without overwriting it with zeroes (by commenting the code that
  overwrites :newraw files).
  
  New type ullint is introduced with the sole purpose of shortening
  "unsigned long long", please do not define it to something else than
  "unsigned long long".
  
  Approved by:	Heikki
innobase/include/fsp0fsp.h:
  Apply innodb-5.0-ss1696 snapshot
  
  Revision r1614:
  branches/5.0:
  
  Merge r1605 from trunk:
  
  Fix Bug#29097 "fsp_get_available_space_in_free_extents() is capped at 4TB"
  by typecasting the variables before multiplying them, so that the result of
  the multiplication is of type "unsigned long long".
  
  I verified this fix by creating a sparse file of 6TB and forcing InnoDB to
  use it without overwriting it with zeroes (by commenting the code that
  overwrites :newraw files).
  
  New type ullint is introduced with the sole purpose of shortening
  "unsigned long long", please do not define it to something else than
  "unsigned long long".
  
  Approved by:	Heikki
innobase/include/univ.i:
  Apply innodb-5.0-ss1696 snapshot
  
  Revision r1614:
  branches/5.0:
  
  Merge r1605 from trunk:
  
  Fix Bug#29097 "fsp_get_available_space_in_free_extents() is capped at 4TB"
  by typecasting the variables before multiplying them, so that the result of
  the multiplication is of type "unsigned long long".
  
  I verified this fix by creating a sparse file of 6TB and forcing InnoDB to
  use it without overwriting it with zeroes (by commenting the code that
  overwrites :newraw files).
  
  New type ullint is introduced with the sole purpose of shortening
  "unsigned long long", please do not define it to something else than
  "unsigned long long".
  
  Approved by:	Heikki
innobase/log/log0recv.c:
  Apply innodb-5.0-ss1696 snapshot
  
  Revision r1608:
  branches/5.0: Bug#23710
  Back port of r1607 from trunk
  
  At InnoDB startup consider the case where log scan went beyond checkpoint_lsn as a crash and initiate crash recovery code path.
  
  reviewed by: Heikki
innobase/os/os0file.c:
  Apply innodb-5.0-ss1696 snapshot
  
  Revision r1615:
  branches/5.0:
  
  Merge r1613 from trunk:
  
  Fix Bug#29155 by enabling file locking on FreeBSD.
  It has been disabled because InnoDB has refused to start on
  FreeBSD & LinuxThreads, but now it starts just fine.
  
  Approved by:	Heikki
innobase/srv/srv0srv.c:
  Apply innodb-5.0-ss1696 snapshot
  
  Revision r1552:
  branches/5.0:
  Fix Bug#20090 as suggested in the bug followup by Heikki.
  
  Approved by:	Heikki
innobase/trx/trx0trx.c:
  Apply innodb-5.0-ss1696 snapshot
  
  Revision r1596:
  branches/5.0: Merge r1595 from trunk:
  
  trx_commit_for_mysql(): Avoid acquiring and releasing kernel_mutex when
  trx->sess or trx_dummy_sess is non-NULL.
sql/ha_innodb.cc:
  Apply innodb-5.0-ss1696 snapshot
  
  Revision r1614:
  branches/5.0:
  
  Merge r1605 from trunk:
  
  Fix Bug#29097 "fsp_get_available_space_in_free_extents() is capped at 4TB"
  by typecasting the variables before multiplying them, so that the result of
  the multiplication is of type "unsigned long long".
  
  I verified this fix by creating a sparse file of 6TB and forcing InnoDB to
  use it without overwriting it with zeroes (by commenting the code that
  overwrites :newraw files).
  
  New type ullint is introduced with the sole purpose of shortening
  "unsigned long long", please do not define it to something else than
  "unsigned long long".
  
  Approved by:	Heikki
  
  
  Revision r1695:
  branches/5.0: Merge a change from MySQL AB:
  
  ChangeSet@1.2463.166.1  2007-06-20 19:22:27+03:00  monty@mysql.fi
  
  Allow multiple calls to mysql_server_end()
  (Part of fix for Bug 25621 Error in my_thread_global_end(): 1 threads
  didn't exit)
  Give correct error message if InnoDB table is not found
  (This allows us to drop a an innodb table that is not in the InnoDB registery)
  
  ha_innodb.cc:
    Give correct error message if InnoDB table is not found.
    (This allows us to drop a an innodb table that is not in the InnoDB
    registery)
  
  
  Revision r1606:
  branches/5.0: Formatting corrections.
  
  spotted by: Vasil
  
  
  Revision r1691:
  branches/5.0: Merge a change from MySQL AB:
  
  ChangeSet@1.2463.261.1  2007-07-20 14:17:15+03:00  gkodinov@magare.gmz
    Bug 29644: alter table hangs if records locked in share mode 
    by long running transaction
    
    On Windows opened files can't be deleted. There was a special
    upgraded lock mode (TL_WRITE instead of TL_WRITE_ALLOW_READ) 
    in ALTER TABLE to make sure nobody has the table opened
    when deleting the old table in ALTER TABLE. This special mode
    was causing ALTER TABLE to hang waiting on a lock inside InnoDB.
    This special lock is no longer necessary as the server is 
    closing the tables it needs to delete in ALTER TABLE.
    Fixed by removing the special lock.
    Note that this also reverses the fix for bug 17264 that deals with
    another consequence of this special lock mode being used.
  
  sql/ha_innodb.cc: Bug 29644: reverse the (now excessive) fix
  for bug 17264 (but leave the test case).
  
  
  Revision r1601:
  branches/5.0: Fix for bug#28781
  We need to do some special AUTOINC handling for the following case:
  
  INSERT INTO t (c1,c2) VALUES(x,y) ON DUPLICATE KEY UPDATE ...
  
  We need to use the AUTOINC counter that was actually used by
  MySQL in the UPDATE statement, which can be different from the
  value used in the INSERT statement.
  
  approved by: Sunny
  
  
  Revision r1692:
  branches/5.0: Merge a change from MySQL AB:
  
  ChangeSet@1.2463.267.1  2007-07-30 17:14:34+04:00  evgen@local
    Bug 24989: The DEADLOCK error is improperly handled by InnoDB.
    
    When innodb detects a deadlock it calls ha_rollback_trans() to rollback the 
    main transaction. But such action isn't allowed from inside of triggers and
    functions. When it happen the 'Explicit or implicit commit' error is thrown
    even if there is no commit/rollback statements in the trigger/function. This
    leads to the user confusion.
    
    Now the convert_error_code_to_mysql() function doesn't call the 
    ha_rollback_trans() function directly but rather calls the
    mark_transaction_to_rollback function and returns an error.
    The sp_rcontext::find_handler() now doesn't allow errors to be caught by the
    trigger/function error handlers when the thd->is_fatal_sub_stmt_error flag
    is set. Procedures are still allowed to catch such errors.
    The sp_rcontext::find_handler function now accepts a THD handle as a parameter.
    The transaction_rollback_request and the is_fatal_sub_stmt_error flags are 
    added to the THD class. The are initialized by the THD class constructor.
    Now the ha_autocommit_or_rollback function rolls back main transaction
    when not in a sub statement and the thd->transaction_rollback_request
    is set.
    The THD::restore_sub_statement_state function now resets the 
    thd->is_fatal_sub_stmt_error flag on exit from a sub-statement.
  
  innodb-big.test, innodb-big.result:
    Added a test case for the bug 24989: The DEADLOCK error is improperly
    handled by InnoDB.
  
  sql/ha_innodb.cc:
    Bug 24989: The DEADLOCK error is improperly handled by InnoDB.
    Now the convert_error_code_to_mysql() function doesn't call the
    ha_rollback_trans() function directly but rather calls the
    mark_transaction_to_rollback function and returns an error.
  
  
  Revision r1693:
  branches/5.0: Merge a change from MySQL AB:
  
  ChangeSet@1.2489.5.1  2007-07-31 17:42:48+04:00  evgen@local
    ha_innodb.cc:
      Warning fixed.
2007-08-15 17:20:54 -06:00
unknown
0739c70ecd Merge ramayana.hindu.god:/home/tsmith/m/bk/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
2007-08-15 15:48:03 -06:00
unknown
a0ed0ea128 Rework doxygen documentation for the function mysql_ha_close_table.
sql/sql_handler.cc:
  Add missing parameter to the @param tag and fix style.
2007-08-15 17:12:09 -03:00
unknown
c6f10a562d Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
2007-08-15 21:26:47 +02:00
unknown
a8f8e5483e Fixed bug #30396.
The bug caused memory corruption for some queries with top OR level
in the WHERE condition if they contained equality predicates and 
other sargable predicates in disjunctive parts of the condition.

The corruption happened because the upper bound of the memory
allocated for KEY_FIELD and SARGABLE_PARAM internal structures
containing info about potential lookup keys was calculated incorrectly
in some cases. In particular it was calculated incorrectly when the
WHERE condition was an OR formula with disjuncts being AND formulas
including equalities and other sargable predicates.


mysql-test/r/select.result:
  Added a test case for bug #30396.
mysql-test/t/select.test:
  Added a test case for bug #30396.
sql/item_cmpfunc.h:
  Removed max_members from the COND_EQUAL class as not useful anymore.
sql/sql_base.cc:
  Added the max_equal_elems field to the st_select_lex structure.
sql/sql_lex.cc:
  Added the max_equal_elems field to the st_select_lex structure.
sql/sql_lex.h:
  Added the max_equal_elems field to the st_select_lex structure.
  The field contains the maximal number of elements in multiple equalities
  built for the query conditions.
sql/sql_select.cc:
  Fixed bug #30396.
  The bug caused memory corruption for some queries with top OR level
  in the WHERE condition if they contained equality predicates and 
  other sargable predicates in disjunctive parts of the condition.
  
  The corruption happened because the upper bound of the memory
  allocated for KEY_FIELD and SARGABLE_PARAM internal structures
  containing info about potential lookup keys was calculated incorrectly
  in some cases. In particular it was calculated incorrectly when the
  WHERE condition was an OR formula with disjuncts being AND formulas
  including equalities and other sargable predicates.
   
  The max_equal_elems field to the st_select_lex structure is used now
  to calculate the above mentioned upper bound. The field contains the
  maximal number of elements in multiple equalities built for the query
  conditions.
2007-08-15 10:24:18 -07:00
unknown
9c1ffac09a Bug#25856 (HANDLER table OPEN in one connection lock DROP TABLE in another one)
mysql_ha_open calls mysql_ha_close on the error path (unsupported) to close the (opened) table before inserting it into the tables hash list handler_tables_hash) but mysql_ha_close only closes tables which are on the hash list, causing the table to be left open and locked.

This change moves the table close logic into a separate function that is always called on the error path of mysql_ha_open or on a normal handler close (mysql_ha_close).


mysql-test/r/handler.result:
  Bug#25856 test result
mysql-test/t/handler.test:
  Bug#25856 test case
sql/sql_handler.cc:
  Move the table close logic into a separate function that is always called on the error path of mysql_ha_open or on a normal handler close
2007-08-15 12:13:34 -03:00
unknown
01f8130aa6 bug#28570: handler::index_read() is called with different find_flag when
ORDER BY is used

The range analysis module did not correctly signal to the 
handler that a range represents a ref (EQ_RANGE flag). This causes 
non-range queries like 
SELECT ... FROM ... WHERE keypart_1=const, ..., keypart_n=const 
ORDER BY ... FOR UPDATE
to wait for a lock unneccesarily if another running transaction uses
SELECT ... FOR UPDATE on the same table.

Fixed by setting EQ_RANGE for all range accesses that represent 
an equality predicate. 


mysql-test/r/innodb_mysql.result:
  bug#28570: Test Result
mysql-test/t/innodb_mysql.test:
  bug#28570: Test Case
sql/handler.cc:
  bug#28570: Updated comment
sql/opt_range.cc:
  bug#28570: Removed the criterion that key has to be unique (HA_NOSAME) in 
  order for the EQ_RANGE flag to be set. It is sufficient that the range 
  represent a ref access.
2007-08-15 09:23:44 +02:00
unknown
b76fd3ed3b Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb


sql/ha_ndbcluster.cc:
  Auto merged
2007-08-14 15:34:04 +02:00
unknown
de619bd17c Merge gleb.loc:/home/uchum/work/bk/5.0
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-08-14 13:44:15 +05:00
unknown
db53902678 Merge ramayana.hindu.god:/home/tsmith/m/bk/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
2007-08-13 12:46:02 -06:00
unknown
195cecd746 Merge synthia.local:/home/mydev/mysql-5.0-amain
into  synthia.local:/home/mydev/mysql-5.0-axmrg
2007-08-13 20:45:36 +02:00
unknown
c1b89b85ce bug#30337 DELETE ... WHERE PK IN (..) and AFTER DELETE trigger crashes API node: Disable multi_read_range if there are after delete/update triggers 2007-08-13 11:36:30 +02:00
unknown
52a014c7c6 ndb - bug#28804
Handle out of transaction buffer in TC for INDX lookups


ndb/src/kernel/blocks/ERROR_codes.txt:
  Add new error codes for simulating out of transaction buffer memory
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
  Change signature to handle out of buffer
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Handle otu of transaction buffers in index operations
    (TCINDXREQ++)
ndb/src/ndbapi/NdbTransaction.cpp:
  Give more info on 4012
ndb/src/ndbapi/ndberror.c:
  Add new error code
ndb/test/ndbapi/testIndex.cpp:
  add tests
ndb/test/run-test/daily-basic-tests.txt:
  add tests
sql/ha_ndbcluster.cc:
  Set correct status
2007-08-13 09:22:42 +02:00
unknown
5c5233cd2b Merge gleb.loc:/home/uchum/work/bk/5.0
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-08-11 01:32:04 +05:00
unknown
c08fc34516 Merge dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-5.0/mysql-5.0-ndb-bj
into  dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-5.0/bug28423


sql/ha_ndbcluster.cc:
  Auto merged
2007-08-08 19:11:19 +08:00
unknown
e6701d746d Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.(none):/opt/local/work/mysql-5.0-runtime


mysql-test/r/federated.result:
  Auto merged
mysql-test/t/federated.test:
  Auto merged
sql/item.cc:
  Auto merged
2007-08-08 11:34:35 +04:00
unknown
c6e8889946 Reversing additional change suggested by Serg
under terms of bug#28875 for better performance.
The change appeared to require more changes in item_cmpfunc.cc,
which is dangerous in 5.0.
    
Conversion between a latin1 column and an ascii string constant
stopped to work.


mysql-test/r/ctype_recoding.result:
  Adding test case.
mysql-test/t/ctype_recoding.test:
  Adding test case.
2007-08-07 19:25:45 +05:00
unknown
db73e34fb8 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint


strings/ctype-extra.c:
  Auto merged
2007-08-07 06:53:40 -04:00
unknown
81536446cd Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug27562/my50-bug27562
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
2007-08-07 06:52:34 -04:00
unknown
cfd34fe232 Bug#27562: ascii.xml invalid?
Two character mappings were way off (backtick and tilde were "E"
and "Y"!), and three others were slightly rotated.  The first 
would cause collisions, and the latter was probably benign.

Now, assign the character mappings exactly to their normal values.


sql/share/charsets/ascii.xml:
  Change the character mapping for 
   "`" to "`" (was "E") and 
   "[" to "[" (was "\") and 
   "\" to "\" (was "]") and
   "]" to "]" (was "[") and 
   "~" to "~" (was "Y").
strings/ctype-extra.c:
  Generated from charsets directory.
mysql-test/r/ctype_ascii.result:
  Add new test file.
  
  Test all combinations of printable letter comparisons for 
  similarity.
mysql-test/t/ctype_ascii.test:
  Add new test file.
  
  Test all combinations of printable letter comparisons for 
  similarity.
2007-08-07 05:35:20 -04:00
unknown
2d49f43750 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B29536-5.0-opt
2007-08-06 06:37:05 -07:00
unknown
1f83b35181 Bug #29536: timestamp inconsistent in replication around 1970
MySQL replicates the time zone only when operations that involve
it are performed. This is controlled by a flag. But this flag
is set only on successful operation.
The flag must be set also when there is an error that involves
a timezone (so the master would replicate the error to the slaves). 

Fixed by moving the setting of the flag before the operation
(so it apples to errors as well).


mysql-test/r/rpl_timezone.result:
  Bug #29536: test case
mysql-test/t/rpl_timezone.test:
  Bug #29536: test case
sql/field.cc:
  Bug #29536: move setting of the flag before the operation
  (so it apples to errors as well).
sql/time.cc:
  Bug #29536: move setting of the flag before the operation
  (so it apples to errors as well).
2007-08-06 04:57:28 -07:00
unknown
c7f2a5e718 A fix and a test case for Bug#29306 "Truncated data in MS Access with decimal (3,1) columns in a
VIEW".

mysql_list_fields() C API function would incorrectly set MYSQL_FIELD::decimals
member for some view columns.

The problem was in an incomplete implementation of 
Item_ident_for_show::make_field(), which is responsible for view
columns metadata.


sql/item.cc:
  A fix for Bug#29306 -- properly initialize decimals in 
  Item_ident_for_show::make_field
tests/mysql_client_test.c:
  Add a test case forBug#29306. Fix warnings.
2007-08-06 14:22:24 +04:00
unknown
29e8718970 Fixed compiler error for Windows in the patch for bug 30219. 2007-08-05 17:12:57 -07:00
unknown
e106b09ad3 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug30219
2007-08-05 14:21:36 -07:00