Commit graph

8064 commits

Author SHA1 Message Date
igor@rurik.mysql.com
9bd0b97824 Fixed bug #15917: unexpected complain for a NIST test case.
The problem was due to the fact that with --lower-case-table-names set to 1 
the function find_field_in_group did not convert the prefix 'HU' in
HU.PROJ.CITY into lower case when looking for it in the group list. Yet the
names in the group list were extended by the database name in lower case.
2006-04-06 15:29:15 -07:00
svoj@april.(none)
85ff7bec70 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0
into  april.(none):/home/svoj/devel/mysql/BUG14945/mysql-5.0
2006-04-06 15:25:39 +05:00
svoj@april.(none)
209682e051 Fix for bug#14945 "Truncate table doesn't reset the auto_increment
counter".

When TRUNCATE TABLE was called within an stored procedure the
auto_increment counter was not reset to 0 even if straight
TRUNCATE for this table did this.

This fix makes TRUNCATE in stored procedures to be handled exactly
in the same way as straight TRUNCATE. We achieve this by rolling
back the fix for bug 8850, which is no longer needed since stored
procedures don't require prelocked mode anymore (and TRUNCATE is
not allowed in stored functions or triggers).
2006-04-06 15:19:01 +05:00
bar@mysql.com
0459d69d7a Merge mysql.com:/usr/home/bar/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-5.0
2006-04-06 10:53:42 +05:00
bar@mysql.com
925ea02b4c This problem has already been fixed by one of the previous changes.
Adding test case to cover queries which worked incorrectly earlier:
Bug#18321: Can't store EuroSign with latin1_german1_ci and latin1_general_ci
2006-04-06 10:51:23 +05:00
igor@rurik.mysql.com
e732d0536f Merge rurik.mysql.com:/home/igor/mysql-5.0
into  rurik.mysql.com:/home/igor/dev/mysql-5.0-0
2006-04-05 14:06:34 -07:00
ingo@mysql.com
ac52c977aa Merge mysql.com:/home/mydev/mysql-5.0
into  mysql.com:/home/mydev/mysql-5.0-bug5390
2006-04-05 11:38:16 +02:00
jimw@mysql.com
1a59580dcd Bug #13601: Wrong int type for bit
The wrong value was being reported as the field_length for BIT
  fields, resulting in confusion for at least Connector/J. The
  field_length is now always the number of bits in the field, as
  it should be.
2006-04-04 17:54:58 -07:00
cmiller@zippy.(none)
0db6176bfc Bug#18265: mysql client: No longer right-justifies numeric columns
Also fixes a new bug for which "NULL" wasn't printed (because the 
data it represents has length zero).  (Discovered my Paul DuBois.)
2006-04-04 17:35:07 -04:00
aivanov@mysql.com
5ae25ea5f7 Fixed BUG#13683: INSERT DELAYED into a view creates an infinite loop.
The bug was caused by wrong behaviour of mysql_insert() which in case
 of INSERT DELAYED into a view exited with thd->net.report_error == 0.
 This blocked error reporting to the client which started waiting
 infinitely for response to the query.
2006-04-05 01:09:07 +04:00
igor@rurik.mysql.com
f485125968 Fixed bug #18237.
The code in opt_sum_query that prevented the COUNT/MIN/MAX 
optimization from being applied to outer joins  was not adjusted 
after introducing nested joins. As a result if an outer join
contained a reference to a view as an inner table the code of
opt_sum_query missed the presence of an on expressions and
erroneously applied the mentioned optimization.
2006-04-04 12:55:02 -07:00
bar@mysql.com
562386b9a9 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/home/bar/mysql-5.0
2006-04-04 15:42:32 +05:00
bar@mysql.com
1c74e21809 After merge fix for Bug#12076 --with-extra-charsets has no effect 2006-04-04 15:40:42 +05:00
igor@rurik.mysql.com
26b2c5d7bd Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0
into  rurik.mysql.com:/home/igor/mysql-5.0
2006-04-03 21:07:27 -07:00
igor@rurik.mysql.com
af2d79a771 Fixed bug #16504.
Multiple equalities were not adjusted after reading constant tables.
It resulted in neglecting good index based methods that could be
used to access of other tables.
2006-03-31 21:26:17 -08:00
timour@mysql.com
b85bd1e835 Merge mysql.com:/home/timka/mysql/src/5.0-virgin
into  mysql.com:/home/timka/mysql/src/5.0-bug-16710
2006-03-31 12:39:33 +03:00
timour@mysql.com
eed7cf09dd Fix for BUG#16710.
The bug was due to a missed case in the detection of whether an index
can be used for loose scan. More precisely, the range optimizer chose
to use loose index scan for queries for which the condition(s) over
an index key part could not be pushed to the index together with the
loose scan.

As a result, loose index scan was selecting the first row in the
index with a given GROUP BY prefix, and was applying the WHERE
clause after that, while it should have inspected all rows with
the given prefix, and apply the WHERE clause to all of them.

The fix detects and skips such cases.
2006-03-31 12:34:28 +03:00
igor@rurik.mysql.com
ea2aaa4e2f Merge rurik.mysql.com:/home/igor/mysql-5.0
into  rurik.mysql.com:/home/igor/dev/mysql-5.0-0
2006-03-30 11:34:14 -08:00
evgen@sunlight.local
eb075f2255 Manual merge 2006-03-30 17:14:55 +04:00
evgen@sunlight.local
47f9b46564 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into sunlight.local:/local_work/15560-bug-4.1-mysql
2006-03-30 10:22:03 +04:00
gluh@eagle.intranet.mysql.r18.ru
70a8f32d81 post-merge fix 2006-03-30 09:13:25 +05:00
gluh@mysql.com
ea56026e4f Merge 2006-03-30 08:13:28 +05:00
igor@rurik.mysql.com
0f9ab67d41 Fixed bug #18279: crash in the cases when on conditions are moved
out of a nested join to the on conditions for the nest.
The bug happened due to:
1. The function simplify_joins could change on expressions for nested joins.
   Yet modified on expressions were not saved in prep_on_expr.
2. On expressions were not restored for nested joins in 
   reinit_stmt_before_use.
2006-03-29 16:45:29 -08:00
monty@mysql.com
84e7c9633a Fix error in prefix compression of keys in MyISAM when key length changed from 254 -> 255
Bug #17705 "FT Index corruption occurs with UTF8 data..."
(Actually, the bug had nothing to do with FT index but with general key compression)
2006-03-30 01:50:52 +03:00
konstantin@mysql.com
38bd424afa Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/opt/local/work/mysql-5.0-15683
2006-03-30 00:20:13 +04:00
aivanov@mysql.com
2dfb139c08 Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/alexi/innodb/mysql-5.0-merge
2006-03-30 00:20:12 +04:00
aivanov@mysql.com
6befdb5c2b Restoring changes erroneously removed by applying
the innodb-5.0-ss368 snapshot.
2006-03-30 00:17:35 +04:00
evgen@moonbone.local
1c13e54890 Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
The GROUP_CONCAT uses its own temporary table. When ROLLUP is present
it creates the second copy of Item_func_group_concat. This copy receives the
same list of arguments that original group_concat does. When the copy is
set up the result_fields of functions from the argument list are reset to the
temporary table of this copy.
As a result of this action data from functions flow directly to the ROLLUP copy
and the original group_concat functions shows wrong result.
Since queries with COUNT(DISTINCT ...) use temporary tables to store
the results the COUNT function they are also affected by this bug.

The idea of the fix is to copy content of the result_field for the function
under GROUP_CONCAT/COUNT from  the first temporary table to the second one,
rather than setting result_field to point to the second temporary table.
To achieve this goal force_copy_fields flag is added to Item_func_group_concat
and Item_sum_count_distinct classes. This flag is initialized to 0 and set to 1
into the make_unique() member function of both classes.
To the TMP_TABLE_PARAM structure is modified to include the similar flag as
well.
The create_tmp_table() function passes that flag to create_tmp_field().
When the flag is set the create_tmp_field() function will set result_field
as a source field and will not reset that result field to newly created 
field for Item_func_result_field and its descendants. Due to this there
will be created copy func to copy data from old result_field to newly 
created field.
2006-03-29 23:30:34 +04:00
aivanov@mysql.com
3206820644 Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/alexi/innodb/mysql-5.0-merge
2006-03-29 23:18:44 +04:00
aivanov@mysql.com
99d178033a Applied innodb-5.0-ss368 snapshot
Fixed bugs:
  #16814: SHOW INNODB STATUS format error in LATEST FOREIGN KEY ERROR section
    dict_foreign_key_error_report(): Always print a newline after invoking
    dict_print_info_on_foreign_key_in_create_format().
  #16827: Better InnoDB error message if ibdata files omitted from my.cnf.
  #17126: CHECK TABLE on InnoDB causes a short hang during check of adaptive hash.
    CHECK TABLE blocking other queries, by releasing the btr_search_latch
    periodically during the adaptive hash table validation.
  #17405: Valgrind: conditional jump or move depends on uninitialised valuesw.
    buf_block_init(): Reset magic_n, buf_fix_count, and io_fix to avoid testing
    uninitialised variables.
  #18077: InnoDB uses full explicit table locks in stored FUNCTION.
  #18238: When locks exhaust the buffer pool, InnoDB does not roll back the trx.
    Check in pessimistic insert and update if the buffer pool is exhausted by locks.
  #18252: Disk space leaks in updates of InnoDB BLOB rows.
    btr_cur_pessimistic_update(): Invoke rec_get_offset() after rec_set_field_extern_bits().
    btr_store_big_rec_extern_fields(): Note that offsets will no longer be valid
    after calling this function.
  #18283: When InnoDB returns error 'lock table full', MySQL can write to binlog too much.
  #18384: InnoDB memory leak on duplicate key errors if row has many columns.
    row_ins_duplicate_error_in_clust(): Call mem_heap_free(heap) at func_exit if needed.
  #18350: Use consistent read in CREATE ... SELECT .. if innodb_locks_unsafe_for_binlog is used.
2006-03-29 23:04:32 +04:00
cmiller@zippy.(none)
c07a84f75f Reverting yesterday's patch. (cmiller:1.2099) 2006-03-29 10:56:11 -05:00
gluh@eagle.intranet.mysql.r18.ru
2545c7d414 Fix for bug#15316 SET value having comma not correctly handled
disallow the use of comma in SET members
2006-03-29 19:52:26 +05:00
dlenev@mysql.com
41a895a1ce Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mysql.com:/home/dlenev/mysql-5.0-bg17764
2006-03-29 14:55:04 +04:00
dlenev@mysql.com
17785d169b Proposed fix for bug #17764 "Trigger crashes MyISAM table"
A table with an on insert trigger was reported as crashed when the insert
was processed with bulk insert mode on (handler::start_bulk_insert).
The trigger was also selecting from the same table, and that caused
the "crash".
The same problem was present when an insert statement, which was processed
in bulk mode, also used a stored function that was reading the same table.

This fix disables bulk inserts if a statement uses functions or invokes
triggers. Implementing more granular checks will require much more code and
therefore can hardly be done in 5.0
2006-03-29 14:53:00 +04:00
cmiller@zippy.(none)
de5eea6d2e Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  zippy.(none):/home/cmiller/work/mysql/mysql-5.0__bug11151
2006-03-28 17:38:28 -05:00
cmiller@zippy.(none)
d51158fd1d Bug#11151: LOAD DATA INFILE commits transaction in 5.0
No longer create or commit transactions within the loading of files.
2006-03-28 17:15:45 -05:00
bar@mysql.com
a586f5a18b Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/home/bar/mysql-5.0
2006-03-28 20:04:50 +05:00
pem@mysql.com
6be4db9a6d Merge mysql.com:/extern/mysql/bk/mysql-5.0-runtime
into  mysql.com:/extern/mysql/5.0/bug17015/mysql-5.0-runtime
2006-03-28 17:03:14 +02:00
jonas@perch.ndb.mysql.com
48fa5cb63c Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0
2006-03-28 15:40:08 +02:00
bar@mysql.com
4886c53fbb Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.b15098
2006-03-28 18:32:58 +05:00
jonas@perch.ndb.mysql.com
0a9db2a056 Merge perch.ndb.mysql.com:/home/jonas/src/50-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0
2006-03-28 15:31:26 +02:00
pem@mysql.com
e0a2455f19 Merge mysql.com:/extern/mysql/bk/mysql-5.0-runtime
into  mysql.com:/extern/mysql/5.0/bug17015/mysql-5.0-runtime
2006-03-28 15:08:17 +02:00
jonas@perch.ndb.mysql.com
4e819b7377 ndb - bug#17729 bug#18406
Ndbapi can reorder recattr when doing sorted scan (for faster comparision)
    make sure handler maps correct recattr to correct mysql column
2006-03-28 14:38:16 +02:00
pem@mysql.com
1a1da0e3ef Merge mysql.com:/extern/mysql/bk/mysql-5.0-runtime
into  mysql.com:/extern/mysql/5.0/bug16474/mysql-5.0-runtime
2006-03-28 14:18:47 +02:00
pem@mysql.com
b310d4fb4d Post review fixes for BUG#16474: SP crashed MySQL. 2006-03-28 14:16:21 +02:00
bar@mysql.com
29b8e09732 Merge mysql.com:/usr/home/bar/mysql-4.1.b15098
into  mysql.com:/usr/home/bar/mysql-5.0
Bug#15098
2006-03-28 17:07:26 +05:00
konstantin@mysql.com
71defb7a80 A fix and a test case for Bug#15683 "crash, Function on nested
VIEWs, Prepared statement": we didn't mark the nested views
as 'prelockng placeholders' when building the prelocking list. 
This resulted in these views being processed (merged, materialized)
before they are actually used.
2006-03-28 15:06:29 +04:00
mskold@mysql.com
6e0d4d2d45 Added tests with IGNORE and NULL values 2006-03-28 10:01:23 +02:00
mskold@mysql.com
c76ab0a4f6 Fix for Bug #15722 Engine_condition_pushdown fails when using blobs(text) 2006-03-28 09:59:20 +02:00
igor@rurik.mysql.com
df80048d5f Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0
into  rurik.mysql.com:/home/igor/mysql-5.0
2006-03-27 20:16:52 -08:00