Commit graph

48 commits

Author SHA1 Message Date
mhansson/martin@linux-st28.site
6d7a609742 BUG#20604: FORCE INDEX uses keys disabled by ALTER TABLE
The function that checks whether we can use keys for aggregates,
find_key_for_maxmin(), assumes that keys disabled by ALTER TABLE
... DISABLE KEYS are not in the set table->keys_in_use_for_query.
I.E., if a key is in this set, the optimizer assumes it is free to 
use it.
  
The bug is that keys disabled with ALTER TABLE ... DISABLE KEYS still
appear in table->keys_in_use_for_query When the TABLE object has been 
initialized with setup_tables(). Before setup_tables is called, however, 
keys that are disabled in the aforementioned way are not included in
TABLE::keys_in_use_for_query. 
  
The provided patch changes the code that updates keys_is_use_for_query so 
that it assumes that keys_is_use_for_query already takes into account all 
disabled keys, and generally all keys that should be used by the query.
2007-01-29 15:07:11 +01:00
evgen@moonbone.local
1459784aba Reverted wrong bug fix (Bug#11228) 2006-07-01 01:37:20 +04:00
evgen@moonbone.local
82369c4e65 Manual merge 2006-06-28 19:34:04 +04:00
evgen@moonbone.local
c74cc18789 key.result:
After merge fix
2006-06-23 19:36:54 +04:00
evgen@moonbone.local
9a9224da68 Merge moonbone.local:/work/tmp_merge-4.1-opt-mysql
into moonbone.local:/work/tmp_merge-5.0-opt-mysql
2006-06-23 14:53:41 +04:00
bar@mysql.com
cfb08851f7 Bug#11228: DESC shows arbitrary column as "PRI"
An UNIQUE KEY consisting of NOT NULL columns
  was displayed as PRIMARY KEY in "DESC t1".
  According to the code, that was intentional
  behaviour for some reasons unknown to me.
  This code was written before bitkeeper time,
  so I cannot check who and why made this.
  After discussing on dev-public, a decision
  was made to remove this code
2006-06-23 13:19:30 +05:00
msvensson@neptunus.(none)
c4b1fb68b4 Bug#10460 SHOW CREATE TABLE uses inconsistent upper/lower case 2006-02-22 10:09:59 +01:00
jimw@mysql.com
cdad081fbe Merge mysql.com:/home/jimw/my/mysql-5.1-13883
into  mysql.com:/home/jimw/my/mysql-5.1-clean
2006-02-17 11:06:05 -08:00
jimw@mysql.com
95f1b04929 Remove extra space in SHOW CREATE TABLE output. (Bug #13883) 2006-02-02 11:39:28 -08:00
ingo@mysql.com
b6e28c99d0 WL#1563 - Modify MySQL to support fast CREATE/DROP INDEX
Change "duplicate key" message to print key name
instead of key number.
2006-01-23 12:17:05 +01:00
ingo@mysql.com
16437321cb WL#1563 - Modify MySQL to support fast CREATE/DROP INDEX
NDB cluster is not fully supported. This will be added with
WL 1892 (NDB Handler: Add support for CREATE/DROP INDEX).
Some preparatory code for this is already present though.
A change for the "duplicate key" error message is planned
for another changeset.
2006-01-12 10:05:07 +01:00
gluh@eagle.intranet.mysql.r18.ru
21cc3ae561 Fix for bug#11491 Misleading error message if not NULL column set to NULL,
SQL mode TRADITIONAL
  Message is chenged from 'ER_WARN_NULL_TO_NOTNULL' to 'ER_BAD_NULL_ERROR'
2005-12-01 15:30:11 +04:00
ingo@mysql.com
b2b93f0abc After merge fix. 2005-08-29 21:06:45 +02:00
ingo@mysql.com
5d41d5e0f4 Merge mysql.com:/home/mydev/mysql-4.1-4100
into  mysql.com:/home/mydev/mysql-5.0-5000
2005-08-29 18:18:30 +02:00
ingo@mysql.com
5c14b35a7f Bug#12565 - ERROR 1034 when running simple UPDATE or DELETE on large MyISAM table
Changed end-space comparison so that the key is not used past
its end. This is due to the new end-space behaviour in 4.1.
See also bug 6151 and 9188.
2005-08-29 16:50:09 +02:00
jimw@mysql.com
1d19a4e737 Fix reporting of type for unique key on VARCHAR field. (Bug #11227) 2005-06-22 12:46:21 -07:00
jimw@mysql.com
d147e69bb7 Additional tweak to fix for bug #10543, to prevent a change in
behavior when extending fields that were fully part of a
multi-part key.
2005-06-02 10:00:36 -07:00
serg@serg.mylan
ee933cd198 merged 2004-11-22 21:33:15 +01:00
antony@ltantony.rdg.cyberkinetica.homeunix.net
076f27147f Bug#6252 - Duplicate columns in keys should fail
Added check for duplicate column in key
  Added tests and fixed tests which exploit bug
2004-11-22 18:07:04 +00:00
monty@mysql.com
afbe601302 merge with 4.1 2004-10-29 19:26:52 +03:00
gluh@gluh.mysql.r18.ru
27a658b2d9 Fix for bug #6166: index prefix length of 0 not rejected 2004-10-26 12:16:35 +04:00
monty@mysql.com
8b6839e644 Fixed wrong range test code for HEAP tables. This caused a crash when doing a range test with a key that didn't have lower or upper bound (Bug #6082)
More test cases
2004-10-23 03:30:27 +03:00
serg@serg.mylan
b7a8cce4eb test fixed 2004-10-22 23:23:02 +02:00
ingo@mysql.com
0d044c6869 BUG#6151 - myisam index corruption.
Removed the assumption of a certain key order.
Since 4.1, keys are padded with blanks for comparison.
Hence, shorter keys sort behind longer keys, if the
data bytes have values below BLANK.
2004-10-21 22:17:10 +02:00
monty@mishka.local
be4ca46fbe More fixes for strict mode:
More tests.
Better error messages.
Fixed bug when checking if we updated all needed columns for INSERT.
Give an error if we encounter a wrong float value during parsing.
Don't print DEFAULT for columns without a default value in SHOW CREATE/SHOW FIELDS.
Fixed UPDATE IGNORE when using STRICT mode.
2004-10-02 22:20:08 +03:00
monty@mishka.local
095f7e8740 Removed wrong warnings in test suite (This was because select_insert / select_create results was not freed.
Added thd to openfrm() for initialization of TABLE->in_use. This fixed a bug in BDB handling where table->in_use was used early
2004-09-17 03:08:23 +03:00
monty@mysql.com
31122efde7 Merge with 4.1
(Includes merge of arena code in 4.1 and 5.0)
2004-09-06 15:14:10 +03:00
serg@serg.mylan
cd7276689e apply UNIQUE constrain correctly for multi-byte charsets
only MyISAM is fixed
2004-08-13 18:29:25 +02:00
monty@mysql.com
1e31199995 Merge with 4.1.3-beta 2004-07-07 11:29:39 +03:00
sergefp@mysql.com
f874071a26 Range optimizer fix:
If cost(full_scan_on_shortest_covering_index) < cost(best_range_scan) <  cost(full_table_scan)
  use full_scan_on_shortest_covering_index
(before this fix best_range_scan was used)
2004-06-22 04:47:28 +04:00
paul@ice.snake.net
fd1d01e098 Language/consistency edits to error messages
and affected test results.
2004-06-15 22:18:20 -05:00
monty@mysql.com
f6dc9169e2 Fixed wrong key usage which caused wrong result for some "WHERE primary_key=constant" queries where MySQL could use 'only index' (Bug #3666)
The bug was introduced in a patch in the 4.1.2 source tree.
2004-05-06 04:40:45 +03:00
monty@mysql.com
7e3cf5958c Fixed crashing bug with alter table when table was in use (Bug #3643)
We didn't use 'only index' for tables of type 'const'. (Bug #3497)
2004-05-05 12:31:17 +03:00
serg@serg.mylan
7ff24eb01f longer myisam keys 2004-02-20 20:38:34 +01:00
monty@mysql.com
f43093ec0e After merge fixes
Added more DBUG statements
Ensure that we are comparing end space with BINARY strings
Use 'any_db' instead of '' to mean any database. (For HANDLER command)
Only strip ' ' when comparing CHAR, not other space-like characters (like \t)
2004-02-16 10:03:25 +02:00
antony@ltantony.rdg.cyberkinetica.homeunix.net
fcf96dbb18 WorkLog#1323
Deprecate the use of TYPE=... Preferred syntax is ENGINE=
2003-12-10 04:31:42 +00:00
monty@mashka.mysql.fi
4f7512160b After merge fixes
Use server character set if --default-character-set is not used
Added convert_string() for more efficient alloc+character-set convert of strings
2003-08-19 00:08:08 +03:00
monty@narttu.mysql.fi
23145cfed7 Added SQLSTATE to client/server protocol
bmove_allign -> bmove_align
Added OLAP function ROLLUP
Split mysql_fix_privilege_tables to a script and a .sql data file
Added new (MEMROOT*) functions to avoid calling current_thd() when creating some common objects.
Added table_alias_charset, for easier --lower-case-table-name handling
Better SQL_MODE handling (Setting complex options also sets sub options)
New (faster) assembler string functions for x86
2003-06-04 18:28:51 +03:00
monty@mashka.mysql.fi
cb7061ebe4 merge 2003-05-22 02:57:27 +03:00
monty@narttu.mysql.fi
dd2b7918cd Merge with 4.0.13 2003-05-19 16:35:49 +03:00
pem@mysql.com
44026b18b4 Fix of bug 390: primary key now implies (silently) NOT NULL for key fields. 2003-05-13 19:16:30 +02:00
venu@myvenu.com
72196c9b16 Updated warning test
Updated all tests to catchup warnings for all field conversions
2003-04-30 00:07:37 -07:00
monty@mashka.mysql.fi
1f6ecc0cd3 Changed mysql-test to print warnings for not existing table to DROP TABLE
Cleaned up test; Removed wrong DROP TABLE commands and use standard table and database names.
changed store_warning() -> push_warning_print()
2003-01-06 01:48:59 +02:00
monty@mashka.mysql.fi
dddc20d9d1 New SET syntax & system variables.
Made a some new buffers thread specific and changeable.
Resize of key_buffer.
AUTO_COMMIT -> AUTOCOMMIT
Fixed mutex bug in DROP DATABASE
Fixed bug when using auto_increment as second part of a key where first part could include NULL.
Split handler->extra() to extra() and extra_opt() to be able to support thread specific buffers.
Don't write message to error log when slave reconnects becasue of timeout.
Fixed possible update problem when using DELETE/UPDATE on small tables
(In some cases we used index even if table scanning would be better)
A lot of minior code cleanups
2002-07-23 18:31:22 +03:00
monty@hundin.mysql.fi
4b877e0088 Added macros for nice TIMESPEC usage.
Fixes for building MySQL with gcc 3.0
Added SIGNED / UNSIGNED casts
Fixed core dump bug in net_clear() with libmysqld.
Back to using semaphores in query cache.
Added 'Null' and 'Index_type' to SHOW INDEX.
2002-01-02 21:29:41 +02:00
sasha@mysql.sashanet.com
bb66c80aeb client/mysqlmanagerc.c
added support for quiet
    increased line buffer size
client/mysqltest.c
    fixed memory leak
    added query logging to result file
    added error message logging to result file
    added enable_query_log/disable_query_log
mysql-test/mysql-test-run.sh
    converted tests to use mysqlmanager

Updated test results
2001-09-27 23:05:54 -06:00
monty@donna.mysql.fi
bda3e09935 Merged some functions and removed some unused client functions.
Remember UNION for ALTER TABLE
Added test for if we are supporting transactions.
Don't allow REPLACE to replace a row when we have generated an auto_increment key
Fixed bug when using BLOB keys
Fixed bug in SET @variable=user.
2001-03-06 15:24:08 +02:00
monty@donna.mysql.com
c0f40d14cc Added support for hex strings to mysqlimport
A lot of new tests to mysqltest
Fixed bug with BDB tables and autocommit
2000-12-28 03:56:38 +02:00