Commit graph

22148 commits

Author SHA1 Message Date
unknown
202f34e2f5 BUG#25951 - ignore/use index does not work with fulltext
IGNORE/USE/FORCE INDEX hints were honored when choosing FULLTEXT
index.

With this fix these hints are ignored. For regular indexes we may
perform table scan instead of index lookup when IGNORE INDEX was
specified. We cannot do this for FULLTEXT in NLQ mode.


mysql-test/r/fulltext.result:
  A test case for bug#25951.
mysql-test/t/fulltext.test:
  A test case for bug#25951.
sql/item_func.cc:
  IGNOR/USE/FORCE INDEX hints should not be honored when choosing FULLTEXT
  index.
  
  Use proper bitmap, that is not modified by IGNORE/USE/FORCE INDEX hints.
2007-04-13 02:31:34 +05:00
unknown
70d753c67a Merge whalegate.ndb.mysql.com:/home/tomas/mysql-4.1-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-4.1-opt
2007-04-12 19:49:21 +02:00
unknown
aa051961c9 Fixed bug #27484: a crash when incompatible row expressions with nested rows
are used as arguments of the IN predicate.
Added a function to check compatibility of row expressions. Made sure that this
function to be called for Item_func_in objects by fix_length_and_dec().


mysql-test/r/row.result:
  Added a test case for bug #27484.
mysql-test/t/row.test:
  Added a test case for bug #27484.
2007-04-11 11:41:12 -07:00
unknown
cf31f9a899 Merge perch.ndb.mysql.com:/home/jonas/src/41-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb
2007-04-11 08:26:52 +02:00
unknown
dbfe33869c Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb
2007-04-11 08:26:23 +02:00
unknown
a908db7b74 ndb - bug#27748
fix commit trigger on multi-update


ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp:
  fix commit trigger on multi-update
2007-04-11 08:23:16 +02:00
unknown
786bd8e20a Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build-work
2007-04-11 08:12:02 +02:00
unknown
cb8f4d4017 Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/home/kent/bk/tmp3/mysql-4.1-build
2007-04-11 01:51:33 +02:00
unknown
6866ca008c BUG#24342 - Incorrect results with query over MERGE table
MERGE engine may return incorrect values when several representations
of equal keys are present in the index. For example "groß" and "gross"
or "gross" and "gross " (trailing space), which are considered equal,
but have different lengths.

The problem was that key length was not recalculated after key lookup.

Only MERGE engine is affected.


myisam/mi_rkey.c:
  info->lastkey gets rewritten by mi_search. Later we recalculate found lastkey
  length. This is done to make sure that mi_rnext_same gets true, found (not
  searched) lastkey length. Searched and found key lengths may be different,
  for example in case searched key is "groß" and found is "gross" or in case
  a key has trailing spaces.
  
  Unfortunately we recalculate found lastkey length only for first
  underlying table. To recalculate found key length for non-first underlying
  table we need to know how much key segments were used to create this key.
  
  When mi_rkey is called for first underlying table of a merge table, store
  offset to last used key segment.
  
  Restore last_used_keyseg variable when mi_rkey is called for non-first
  underlying table.
myisam/myisamdef.h:
  Added last_used_keyseg variable to MI_INFO. It is used by merge engine to calculate
  key length.
myisammrg/myrg_rkey.c:
  Pass last used key segment returned by first table key read to other
  table key reads.
mysql-test/r/merge.result:
  A test case for bug#24342.
mysql-test/t/merge.test:
  A test case for bug#24342.
2007-04-11 01:40:35 +05:00
unknown
247c3a81a1 Update result(which mysterioulsy got lost) 2007-04-10 17:33:04 +02:00
unknown
da43360e1f Take into account wether vertical_results are in effect 2007-04-10 17:09:35 +02:00
unknown
3120134a0a Init dying to 1 just after passing the guard 2007-04-10 17:06:36 +02:00
unknown
3f96702b06 Add OPT_LOG_DIR 2007-04-10 17:05:22 +02:00
unknown
76f5c73bc2 Merge pilot.blaudden:/home/msvensson/mysql/mysql-4.1
into  pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
2007-04-10 14:58:55 +02:00
unknown
5565d32936 Add --logdir option ot mysqltest 2007-04-10 14:45:13 +02:00
unknown
8163d5ec6e Merge 192.168.0.4:mysql/mysql-4.1-maint
into  pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint


client/mysqltest.c:
  Auto merged
mysql-test/r/mysqltest.result:
  Auto merged
mysql-test/t/mysqltest.test:
  Auto merged
2007-04-10 13:51:32 +02:00
unknown
bd44cc116a Merge trift2.:/MySQL/M41/mysql-4.1
into  trift2.:/MySQL/M41/push-4.1
2007-04-07 20:58:01 +02:00
unknown
2911bcd8e3 Merge bk@192.168.21.1:mysql-4.1
into  mysql.com:/d2/hf/mrg/mysql-4.1-opt
2007-04-07 11:35:14 +05:00
unknown
e3e600bcf1 Add "query_sorted" command to mysqltest
Usage:
  query_sorted <query>;


client/mysqltest.c:
  Add query_sorted command to mysqltest
mysql-test/r/mysqltest.result:
  Update result
mysql-test/t/mysqltest.test:
  Add tests for query_sorted
2007-04-05 20:12:56 +02:00
unknown
390a0ede48 Protect against dying twice
Cleanup exit handling
2007-04-05 13:53:44 +02:00
unknown
f76ab0c469 Deleted reject files accidently checked in
configure.in.rej
  include/my_global.h.rej
  BUILD/SETUP.sh.rej
  mysys/thr_alarm.c.rej
  include/my_pthread.h.rej


BitKeeper/deleted/.del-SETUP.sh.rej:
  Delete: BUILD/SETUP.sh.rej
BitKeeper/deleted/.del-configure.in.rej:
  Delete: configure.in.rej
BitKeeper/deleted/.del-my_global.h.rej:
  Delete: include/my_global.h.rej
BitKeeper/deleted/.del-my_pthread.h.rej:
  Delete: include/my_pthread.h.rej
BitKeeper/deleted/.del-thr_alarm.c.rej:
  Delete: mysys/thr_alarm.c.rej
2007-04-05 08:30:16 +02:00
unknown
b5d13fcbbf Bug#27344 Total failure to start the server
- length($sockdir) >= 80 !!


mysql-test/mysql-test-run.pl:
  Change check to create a tmp file for socket if length($sockdir) >= 80 !!
2007-04-04 19:19:26 +02:00
unknown
a3583bf3b5 Add "skip" function, makeing mysqltest return an
error code indicating test should be skipped
2007-04-04 15:15:40 +02:00
unknown
aaaf498146 Add expansion of $variables in "let from query",
"if with query" and "while with query"
2007-04-04 15:09:12 +02:00
unknown
e488e6f23a Improved coverage for the code added to fix bug 27532. 2007-04-03 19:45:37 -07:00
unknown
0ee34b1ca2 Fixed bug #27532: wrong results with ORDER/GROUP BY queries containing
IN/BETWEEN predicates in sorting expressions.
Wrong results may occur when the select list contains an expression
with IN/BETWEEN predicate that differs from a sorting expression by
an additional NOT only.
 
Added the method Item_func_opt_neg::eq to compare correctly expressions
containing [NOT] IN/BETWEEN.
The eq method inherited from the Item_func returns TRUE when comparing
'a IN (1,2)' with 'a NOT IN (1,2)' that is not, of course, correct.  


mysql-test/r/order_by.result:
  Added a test case for bug #27532.
mysql-test/t/order_by.test:
  Added a test case for bug #27532.
sql/item_cmpfunc.cc:
  Fixed bug #27532.
  Added the method Item_func_opt_neg::eq to compare correctly expressions
  containing [NOT] IN/BETWEEN.
  The eq method inherited from the Item_func returns TRUE when comparing
  'a IN (1,2)' with 'a NOT IN (1,2)' that is not, of course, correct.
sql/item_cmpfunc.h:
  Added the method Item_func_opt_neg::eq to compare correctly expressions
  containing [NOT] IN/BETWEEN.
  The eq method inherited from the Item_func returns TRUE when comparing
  'a IN (1,2)' with 'a NOT IN (1,2)' that is not, of course, correct.
2007-04-03 14:32:16 -07:00
unknown
96d879cb4b Merge pilot.blaudden:/home/msvensson/mysql/mysql-4.1
into  pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
2007-04-02 10:48:11 +02:00
unknown
0bb2f43d2e Cset exclude: tsmith@siva.hindu.god|ChangeSet|20070328212513|13373
myisam/mi_open.c:
  Exclude
mysql-test/r/create.result:
  Exclude
mysql-test/t/create.test:
  Exclude
sql/table.cc:
  Exclude
2007-04-02 10:39:23 +02:00
unknown
97c4143e3a Merge bk-internal.mysql.com:/data0/bk/mysql-4.1
into  bk-internal.mysql.com:/data0/bk/mysql-4.1-opt
2007-03-31 09:52:18 +02:00
unknown
080c0c7ac8 BUG#26624: high mem usage (crash) in range optimizer
Pushbuild fixes: 
 - Make MAX_SEL_ARGS smaller (even 16K records_in_range() calls is 
   more than it makes sense to do in typical cases)
 - Don't call sel_arg->test_use_count() if we've already allocated 
   more than MAX_SEL_ARGs elements. The test will succeed but will take
   too much time for the test suite (and not provide much value).


mysql-test/r/range.result:
  BUG#26624: high mem usage (crash) in range optimizer
  Pushbuild fixes: make the test go faster
mysql-test/t/range.test:
  BUG#26624: high mem usage (crash) in range optimizer
  Pushbuild fixes: make the test go faster
2007-03-31 00:29:18 +04:00
unknown
ade8bbf49e Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/home/kent/bk/tmp/mysql-4.1-build
2007-03-30 22:26:06 +02:00
unknown
dd6dbea187 Merge pilot.blaudden:/home/msvensson/mysql/bug25482/my41-bug25482-alt2
into  pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
2007-03-29 14:33:50 +02:00
unknown
d862d3b6d2 Merge bk-internal:/home/bk/mysql-4.1-maint
into  pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
2007-03-29 14:21:26 +02:00
unknown
a5c60b3f29 Bug#25482 GRANT statements are not replicated if you use "replicate-ignore-table"
- GRANT and REVOKE statments didn't have the "updating" flag set and
   thus statements with a table specified would not replicate if
   slave filtering rules where turned on.
   For example "GRANT ... ON test.t1 TO ..." would not replicate.


mysql-test/r/rpl_ignore_table.result:
  Add test results
mysql-test/t/rpl_ignore_table.test:
  Add tests
sql/sql_yacc.yy:
  Pass option TL_OPTION_UPDATING to 'add_table_to_list' when parsing a
  GRANT or REVOKE and a table specifier is found. This will set the
  property "updating" on the table and thus the slave filtering rules will 
  be applied.
  
  Without setting updating the statement will be not
  replicated - since "it's not updating anything" - an optimization
  to quickly skip SELECT's and similar.
2007-03-29 14:12:32 +02:00
unknown
9b358f811b BUG#26624: high mem usage (crash) in range optimizer
- Post-review fixes
2007-03-29 10:27:58 +04:00
unknown
0b72b7f0a4 Bug #26642: create index corrupts table definition in .frm
Thanks to Martin Friebe for finding and submitting a fix for this bug!

A table with maximum number of key segments and maximum length key name
would have a corrupted .frm file, due to an incorrect calculation of the
complete key length.  Now the key length is computed correctly (I hope) :-)

MyISAM would reject a table with the maximum number of keys and the maximum
number of key segments in all keys.  It would allow one less than this total
maximum.  Now MyISAM accepts a table defined with the maximum.  (This is a
very minor issue.)


myisam/mi_open.c:
  change >= to > in a comparison (i.e., error only if key_parts_in_table
  really is greater than MAX_KEY * MAX_KEY_SEG)
mysql-test/r/create.result:
  Add test results for bug #26642 (create index corrupts table definition in .frm)
mysql-test/t/create.test:
  Add test case for bug #26642 (create index corrupts table definition in .frm)
sql/table.cc:
  In create_frm(), fix formula for key_length; it was too small by (keys * 2) bytes
2007-03-28 15:25:13 -06:00
unknown
edd5a85948 Merge mysql.com:/home/psergey/mysql-4.1-bug26625
into  mysql.com:/home/psergey/mysql-4.1-bug26624-r2
2007-03-28 20:31:13 +04:00
unknown
9639eb3dda BUG#26624: high mem usage (crash) in range optimizer
- Added PARAM::alloced_sel_args where we count the # of SEL_ARGs
  created by SEL_ARG tree cloning operations.
- Made the range analyzer to shortcut and not do any more cloning 
  if we've already created MAX_SEL_ARGS SEL_ARG objects in cloning.
- Added comments about space complexity of SEL_ARG-graph 
  representation.


mysql-test/r/range.result:
  BUG#26624: Testcase
mysql-test/t/range.test:
  BUG#26624: Testcase
2007-03-28 20:16:01 +04:00
unknown
60189d3512 Delete: sql/mysqld.cc.rej 2007-03-28 19:05:30 +04:00
unknown
425304f562 BUG#26625: crash in range optimizer (out of mem)
- Define Sql_alloc::operator new() as thow() so that C++ compiler
  handles NULL return values
(there is no testcase as there is no portable way to set limit on the 
amount of memory that a process can allocate)


sql/sql_list.h:
  BUG#26625: crash in range optimizer (out of mem) 
  - Define Sql_alloc::operator new() as thow() so that C++ compiler
    handles NULL return values
2007-03-28 18:38:42 +04:00
unknown
f6eca60afb Merge chilla.local:/home/mydev/mysql-4.1--main
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2007-03-28 09:00:00 +02:00
unknown
cd07f122ad Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2007-03-28 08:59:30 +02:00
unknown
17a4df4226 Merge chilla.local:/home/mydev/mysql-4.1--team
into  chilla.local:/home/mydev/mysql-4.1-axmrg


sql/ha_myisam.cc:
  Auto merged
2007-03-28 08:58:55 +02:00
unknown
30bf8b6996 Merge chilla.local:/home/mydev/mysql-4.1-bug26231
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2007-03-28 08:57:46 +02:00
unknown
fd3b723562 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  chilla.local:/home/mydev/mysql-4.1-bug24985


mysql-test/r/heap_btree.result:
  Bug#24985 - UTF8 ENUM primary key on MEMORY using BTREE
              causes incorrect duplicate entries
  Manual merge
mysql-test/t/heap_btree.test:
  Bug#24985 - UTF8 ENUM primary key on MEMORY using BTREE
              causes incorrect duplicate entries
  Manual merge
2007-03-28 08:51:12 +02:00
unknown
0d5a969ace mysql.spec.sh, Makefile.am:
Don't use explicit calls to mysql-test-run in spec


Makefile.am:
  Don't use explicit calls to mysql-test-run in spec
support-files/mysql.spec.sh:
  Don't use explicit calls to mysql-test-run in spec
2007-03-27 17:42:55 +02:00
unknown
1fd0ba8909 Bug#24985 - UTF8 ENUM primary key on MEMORY using BTREE
causes incorrect duplicate entries

Keys for BTREE indexes on ENUM and SET columns of MEMORY tables
with character set UTF8 were computed incorrectly. Many
different column values got the same key value.

Apart of possible performance problems, it made unique indexes
of this type unusable because it rejected many different
values as duplicates.

The problem was that multibyte character detection was tried
on the internal numeric column value. Many values were not
identified as characters. Their key value became blank filled.

Thanks to Alexander Barkov and Ramil Kalimullin for the patch,
which sets the character set of ENUM and SET key segments to
the pseudo binary character set.


mysql-test/r/heap_btree.result:
  Bug#24985 - UTF8 ENUM primary key on MEMORY using BTREE
              causes incorrect duplicate entries
  Added test result.
mysql-test/t/heap_btree.test:
  Bug#24985 - UTF8 ENUM primary key on MEMORY using BTREE
              causes incorrect duplicate entries
  Added test.
sql/ha_heap.cc:
  Bug#24985 - UTF8 ENUM primary key on MEMORY using BTREE
              causes incorrect duplicate entries
  Set key segment charset to my_charset_bin for ENUM and SET
  columns.
2007-03-27 10:49:48 +02:00
unknown
3335f68d89 Bug #27164: not reseting the data pointer
to 0 causes wrong (large) length to be read
 from the row in _mi_calc_blob_length() when 
 storing NULL values in (e.g) POINT columns.
 This large length is then used to allocate
 a block of memory that (on some OSes) causes
 trouble.
 Fixed by calling the base class's 
 Field_blob::reset() from Field_geom::reset()
 that is called when storing a NULL value into
 the column.


mysql-test/r/gis.result:
  Bug #27164: test case
mysql-test/t/gis.test:
  Bug #27164: test case
sql/field.h:
  Bug #27164: not reseting the data pointer
   to 0 causes wrong (large) length to be read
   from the row in _mi_calc_blob_length() when 
   storing NULL values in (e.g) POINT columns.
   This large length is then used to allocate
   a block of memory that (on some OSes) causes
   trouble.
2007-03-26 13:17:40 +03:00
unknown
e77cdbe2c0 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  mysql.com:/home/ram/work/b25301/b25301.4.1


sql-common/my_time.c:
  Auto merged
2007-03-26 13:45:02 +05:00
unknown
03089d8977 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  chilla.local:/home/mydev/mysql-4.1--team


sql/ha_myisam.cc:
  Auto merged
2007-03-25 15:13:22 +02:00