Commit graph

235 commits

Author SHA1 Message Date
mskold@mysql.com
da658b9f11 Fix for failing INSERT IGNORE in test ndb_insert 2005-01-25 15:08:51 +01:00
monty@mysql.com
78da7196ad Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-12-31 12:05:43 +02:00
monty@mysql.com
1bd22faa05 Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
This allows use to use INSERT IGNORE ... ON DUPLICATE ...
2004-12-31 12:04:35 +02:00
serg@serg.mylan
735d25ed73 better fix for bug#7242 (crash in prepared INSERT ... UPDATE) 2004-12-24 23:30:40 +01:00
acurtis@pcgem.rdg.cyberkinetica.com
9818cadd1b WL#2274 - INSERT..SELECT..UPDATE
UPDATE clause conflicts with SELECT for use of item_list field.
  Alter UPDATE clause to use new lex field update_list
  Tests included
2004-12-13 12:26:28 +00:00
dlenev@mysql.com
62a6d9749b Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-bg6765
2004-12-09 13:33:12 +03:00
dlenev@brandersnatch.localdomain
4b0882e0a6 Fix for bug #6765 "Implicit access to time zone description
tables requires privileges for them if some table or column level grants
present" (with after-review fixes).

We should set SELECT_ACL for implicitly opened tables in 
my_tz_check_n_skip_implicit_tables() to be able to bypass privilege
checking in check_grant(). Also we should exclude those tables from
privilege checking in multi-update.
2004-12-09 13:31:46 +03:00
jimw@mysql.com
48fc4cbc6b Merge 2004-12-03 17:48:19 +01:00
serg@serg.mylan
6a5267e15d Merge bk-internal.mysql.com:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2004-12-03 15:05:35 +01:00
serg@serg.mylan
052665e1eb sql/sql_class.h
Bug #6284 - report truncation warnings in INSERT ... SELECT only for "INSERT" part
sql/sql_insert.cc
    Bug #6284 - report truncation warnings in INSERT ... SELECT only for "INSERT" part
2004-12-03 15:02:29 +01:00
mats@mysql.com
2bbdf2403d Bug#6391 (binlog-do-db rules ignored)
CREATE DATABASE statement used the current database instead of the
  database created when checking conditions for replication.
  CREATE/DROP/ALTER DATABASE statements are now replicated based on
  the manipulated database.
2004-12-03 12:13:51 +01:00
jimw@mysql.com
4b8e96d5ca Merge 2004-12-03 00:39:55 +01:00
jimw@mysql.com
13649d90ae Prevent adding 'CREATE TABLE .. SELECT' query to the binary log when the
insertion of new records partially failed. It would get logged because of the
logic to log a partially-failed 'INSERT ... SELECT' (which can't be rolled back
in non-transactional tables), but 'CREATE TABLE ... SELECT' is always rolled
back on failure, even for non-transactional tables. (Bug #6682)
(Original fix reimplemented after review by Serg and Guilhem.)
2004-12-03 00:05:11 +01:00
mskold@mysql.com
a4d061a5d9 Fix for bug#4312 ndb table, wrong behaviour on insert .. on duplicate key .. 2004-11-18 12:11:56 +01:00
monty@mysql.com
b903a129e2 Simpler arena swapping code
Now thd->mem_root is a pointer to thd->main_mem_root and THR_MALLOC is a pointer to thd->mem_root.
This gives us the following benefits:
- Allow us to easily detect if arena has already been swapped before (this fixes a bug in setup_conds() where arena was swaped twice in some cases)
- Faster swaps of arenas (as we don't have to copy the whole MEM_ROOT)
- We don't anymore have to call my_pthread_setspecific_ptr(THR_MALLOC,...) to change where memory is alloced. Now it's enough to set thd->mem_root
2004-11-08 01:13:54 +02:00
monty@mysql.com
5b29f59aa8 Fixed access to freed memory 2004-10-27 21:56:17 +03:00
monty@mysql.com
6fbc869d18 A lot of fixes for prepared statements (PS):
New mysqltest that can run mysqltest with PS
Added support for ZEROFILL in PS
Fixed crash when one called mysql_stmt_store_result() without a preceding mysql_stmt_bind_result()
Updated test cases to support --ps-protocol
(Some tests are still run using old protocol)
Fixed crash in PS when using SELECT * FROM t1 NATURAL JOIN t2...
Fixed crash in PS when using sub queries
Create table didn't signal when table was created. This could cause a "DROP TABLE created_table" in another thread to wait "forever"
Fixed wrong permissions check in PS and multi-table updates (one could get permission denied for legal quries)
Fix for PS and SELECT ... PROCEDURE
Reset all warnings when executing a new PS query
group_concat(...ORDER BY) didn't work with PS
Fixed problem with test suite when not using innodb
2004-10-26 19:30:01 +03:00
dlenev@brandersnatch.localdomain
2511990c97 Support for TIMESTAMP columns holding NULL values. Unlike all other
column types TIMESTAMP is NOT NULL by default, so in order to have 
TIMESTAMP column holding NULL valaues you have to specify NULL as
one of its attributes (this needed for backward compatibility).

Main changes:
Replaced TABLE::timestamp_default_now/on_update_now members with
TABLE::timestamp_auto_set_type flag which is used everywhere
for determining if we should auto-set value of TIMESTAMP field 
during this operation or not. We are also use Field_timestamp::set_time()
instead of handler::update_timestamp() in handlers.
2004-10-01 18:54:06 +04:00
konstantin@mysql.com
ae18dc3ec8 Fix for Bug#5034 "prepared "select 1 into @arg15", second
execute crashes server": we were deleting lex->result
after each execute, but prepared statements assumed that
it's left intact.
The fix adds cleanup() method to select_result hierarchy,
so that result objects can be reused.
Plus we now need to delete result objects more wisely.
2004-08-24 20:17:11 +04:00
serg@serg.mylan
1f0cd873c5 manual merged (blame me!) 2004-07-20 00:53:24 +02:00
guilhem@mysql.com
e5c2285782 Fix for BUG#4551 "Temporary InnoDB tables not replicated properly with CREATE TABLE .. SELECT"
The problem was that (for any storage engine), the created temporary table was not removed if CREATE SELECT failed (because
of a constraint violation for example). This was not consistent with the manual and with CREATE SELECT (no TEMPORARY).
2004-07-18 14:34:35 +02:00
monty@mysql.com
e7a01ed3dc After merge fixes 2004-06-25 21:56:23 +03:00
serg@serg.mylan
c03addab79 merged 2004-06-23 12:36:07 +02:00
serg@serg.mylan
3f1c4ba745 handler interface cleanups:
more logical table/index_flags
  return  HA_ERR_WRONG_COMMAND instead of abstract methods where appropriate
  max_keys and other limits renamed to max_supported_keys/etc
  max_keys/etc are now wrappers to max_supported_keys/etc 
  ha_index_init/ha_rnd_init/ha_index_end/ha_rnd_end are now wrappers to real {index,rnd}_{init,end} to enforce strict pairing
2004-06-23 12:29:05 +02:00
dlenev@brandersnatch.localdomain
09ba29e539 WL#1264 "Per-thread time zone support infrastructure".
Added basic per-thread time zone functionality (based on public
domain elsie-code). Now user can select current time zone
(from the list of time zones described in system tables).
All NOW-like functions honor this time zone, values of TIMESTAMP
type are interpreted as values in this time zone, so now
our TIMESTAMP type behaves similar to Oracle's TIMESTAMP WITH
LOCAL TIME ZONE (or proper PostgresSQL type).
  
WL#1266 "CONVERT_TZ() - basic time with time zone conversion 
function".
  
Fixed problems described in Bug #2336 (Different number of warnings 
when inserting bad datetime as string or as number). This required
reworking of datetime realted warning hadling (they now generated 
at Field object level not in conversion functions).
  
Optimization: Now Field class descendants use table->in_use member
instead of current_thd macro.
2004-06-18 10:11:31 +04:00
monty@mysql.com
53d05f4adb Removed compiler warnings 2004-06-01 23:39:39 +03:00
monty@mysql.com
7d8f8bc77b Changed prototype of killed_ptr() to make it more portable
Applied patches for Netware
2004-05-26 19:12:49 +03:00
konstantin@mysql.com
f207b33a7b Support for character set conversion in binary protocol: another go
after Monty's review.
- Item_param was rewritten.
- it turns out that we can't convert string data to character set of
  connection on the fly, because they first should be written to the binary
  log.
  To support efficient conversion we need to rewrite prepared statements
  binlogging code first.
2004-05-25 02:03:49 +04:00
monty@mysql.com
21f1bca789 Portability fixes
Fixed wrong number of warnings/duplicates for machines with high-byte-first
2004-05-19 05:09:10 +03:00
monty@mysql.com
6827fe4086 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-05-05 21:24:45 +03:00
monty@mysql.com
d21d49a32a Merge with 4.0.19 2004-05-05 17:05:24 +03:00
miguel@hegel.local
8d1480f7c5 Windows fixes for VC++ compiler compability 2004-05-05 02:59:17 -03:00
monty@mysql.com
edc584acce Fixed stack overrun with some INSERT ... SELECT ... GROUP BY queries (Bug #3265)
Ensure that raid_chunks is not set to higher than 255 as this could cause problems with DROP DATABASE. (Bug #3182)
2004-04-28 03:37:45 +03:00
bell@sanja.is.com.ua
a535342d57 after review PS fixes 2004-04-10 01:14:32 +03:00
serg@serg.mylan
0ade401777 always call start_bulk_insert, clarify this behaviour in comment block
change 10 to a #define'd constant
2004-04-08 20:41:00 +02:00
monty@mysql.com
62fa4013ce Don't enable HA_EXTRA_WRITE_CACHE if too few rows
Revert main parts of patch for online index builds. Should be done differently
Added support for %lx in my_snprintf()
2004-04-08 17:56:45 +03:00
serg@serg.mylan
6ebf869b40 merged 2004-04-07 16:20:46 +02:00
serg@serg.mylan
6fc74e13e7 post-review fixes
HA_EXTRA_WRITE_CACHE now part of start_bulk_insert()
test cleanups
2004-04-07 16:04:28 +02:00
bell@sanja.is.com.ua
61fd95d168 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-ps3-4.1
2004-04-07 15:23:05 +03:00
bell@sanja.is.com.ua
560a9f66d3 after review changes 2004-04-07 13:25:24 +03:00
serg@serg.mylan
e8eda8129f ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
Field::val_str simplification, comment
2004-04-06 21:35:26 +02:00
monty@mysql.com
0013516951 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-04-05 16:28:16 +03:00
monty@mysql.com
42cf92ce37 Fixed many compiler warnings
Fixed bugs in group_concat with ORDER BY and DISTINCT (Bugs #2695, #3381 and #3319)
Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
Set locked_in_memory properly
2004-04-05 13:56:05 +03:00
bell@sanja.is.com.ua
1e4af935c1 removed old way to prevent using stack tables for caching Items in PS
fixed error code in union test
2004-04-04 03:05:44 +03:00
dlenev@jabberwock.localdomain
f6bff2e6c6 WL#1266 "Separate auto-set logic from TIMESTAMP type."
Final version of patch.

Adds support for specifying of DEFAULT NOW() and/or ON UPDATE NOW()
clauses for TIMESTAMP field definition.
Current implementation allows only one such field per table and
uses several unireg types for storing info about this properties of
field. It should be replaced with better implementation when new
.frm format is introduced.
2004-04-02 10:12:53 +04:00
bell@sanja.is.com.ua
5568155e04 fix for table/field caching mechanism
save moving ON/USING tables conditions to WHERE clause (BUG#2794)
2004-04-01 03:00:38 +03:00
monty@mysql.com
f602829c75 Fix to get correct metadata when using temporary tables to create result. (Bug #2654) 2004-03-30 19:24:28 +03:00
monty@mysql.com
505970b4a7 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-03-29 17:57:59 +03:00
monty@mysql.com
e6882bbfd8 Disable INSERT DELAYED for embedded library 2004-03-29 17:57:07 +03:00
guilhem@mysql.com
8066c2ce75 Changing SET SQL_LOG_BIN so that it explicitely throws an error if
user is not SUPER, instead of setting the value but ignoring it
silently internally.
2004-03-26 19:25:22 +01:00