Commit graph

54474 commits

Author SHA1 Message Date
Kristofer Pettersson
00149f36a5 merge 2008-07-16 14:34:54 +02:00
Jonathan Perkin
9ec2c49c0b Merge from mysql-5.0.60sp1-release 2008-07-16 12:28:44 +02:00
Georgi Kodinov
59ab9a0872 Bug#37830 : ORDER BY ASC/DESC - no difference
Range scan in descending order for c <= <col> <= c type of
ranges was ignoring the DESC flag.
However some engines like InnoDB have the primary key parts 
as a suffix for every secondary key.
When such primary key suffix is used for ordering ignoring 
the DESC is not valid.
But we generally would like to do this because it's faster.
      
Fixed by performing only reverse scan if the primary key is used.
Removed some dead code in the process.
2008-07-16 12:31:50 +03:00
Sergey Petrunia
63bfaa4634 Merge 2008-07-15 21:49:28 +04:00
Sergey Petrunia
eb8d8d3e3a Merge fix for BUG#35478 into 5.1 2008-07-15 21:46:02 +04:00
Daniel Fischer
7077d5aa3c test case fix 2008-07-15 18:43:25 +02:00
Kristofer Pettersson
44b4479541 auto merge 2008-07-15 17:29:26 +02:00
Sergey Petrunia
2951f00be4 BUG#35478: sort_union() returns bad data when sort_buffer_size is hit
- In QUICK_INDEX_MERGE_SELECT::read_keys_and_merge: when we got table->sort from Unique,
  tell init_read_record() not to use rr_from_cache() because a) rowids are already sorted
  and b) it might be that the the data is used by filesort(), which will need record rowids
  (which rr_from_cache() cannot provide).
- Fully de-initialize the table->sort read in QUICK_INDEX_MERGE_SELECT::get_next(). This fixes BUG#35477.
(bk trigger: file as fix for BUG#35478).
2008-07-15 18:13:21 +04:00
Gleb Shchepa
47cf24a166 merge from local tree to 5.1-bugteam 2008-07-15 17:15:11 +05:00
Gleb Shchepa
2f207e4a34 after-push patch: partial rollback of bug #37761 fix.
Note: item->null_value is not updated before a call to
item->store(), item->is_null() is not too (in common case).
2008-07-15 17:12:08 +05:00
Tatiana A. Nurnberg
76083ed3cf Bug#23921: random failure of user_limits.test
mysqltest disconnect/connect-combo could be so
quick that connect would hit the server before
it had processed the disconnect. Since that
resulted in one more concurrent connection than
we meant to have, global or per-user
max-user-connections could be exceeded.
This could lead to "random" failures in tests
that set those limits.
2008-07-15 13:42:21 +02:00
Marc Alff
566e3389c2 Bug#35577, manual merge mysql-5.0-bugteam -> mysql-5.1-bugteam 2008-07-14 19:43:12 -06:00
Marc Alff
504f7e2d0f Merge 2008-07-14 15:47:34 -06:00
Marc Alff
0816ee6d34 Bug#35577 (CREATE PROCEDURE causes either crash or syntax error depending on
build)

The crash was caused by freeing the internal parser stack during the parser
execution.
This occured only for complex stored procedures, after reallocating the parser
stack using my_yyoverflow(), with the following C call stack:
- MYSQLparse()
- any rule calling sp_head::restore_lex()
- lex_end()
- x_free(lex->yacc_yyss), xfree(lex->yacc_yyvs)

The root cause is the implementation of stored procedures, which breaks the
assumption from 4.1 that there is only one LEX structure per parser call.

The solution is to separate the LEX structure into:
- attributes that represent a statement (the current LEX structure),
- attributes that relate to the syntax parser itself (Yacc_state),
so that parsing multiple statements in stored programs can create multiple
LEX structures while not changing the unique Yacc_state.

Now, Yacc_state and the existing Lex_input_stream are aggregated into
Parser_state, a structure that represent the complete state of the (Lexical +
Syntax) parser.
2008-07-14 15:41:30 -06:00
mysqldev
e41daab5c4 Set version number to 5.1.27 2008-07-14 16:46:35 +02:00
Ramil Kalimullin
bbecb19608 auto-merge 2008-07-14 15:57:56 +05:00
Joerg Bruehe
b034f04247 Merge main 5.1 to 5.1-build 2008-07-14 12:50:31 +02:00
Joerg Bruehe
9a95278a9e Merge main 5.0 into 5.0-build 2008-07-14 12:39:32 +02:00
Gleb Shchepa
211164ff8c Bug #37761: IN handles NULL differently for table-subquery
and value-list

The server returns unexpected results if a right side of the 
NOT IN clause consists of NULL value and some constants of
the same type, for example:

  SELECT * FROM t WHERE NOT t.id IN (NULL, 1, 2) 
  
may return 3, 4, 5 etc if a table contains these values.


The Item_func_in::val_int method has been modified:
unnecessary resets of an Item_func_case::has_null field 
value has been moved outside of an argument comparison
loop. (Also unnecessary re-initialization of the null_value
field has been moved).
2008-07-14 14:06:49 +05:00
Joerg Bruehe
241581fb8d Merge 5.1.26-rc to 5.1-build for further pushing it to the main tree. 2008-07-11 20:51:10 +02:00
Horst Hunger
6d05a62e4a Fix of Bug#37997. Polling until disconnect is not more in the processlist 2008-07-11 14:05:54 +02:00
Gleb Shchepa
9cc31df3b4 merge 5.0-bugteam --> 5.1-bugteam 2008-07-11 04:52:50 +05:00
Gleb Shchepa
52f510ef22 warning elimination 2008-07-11 04:51:58 +05:00
Gleb Shchepa
d4f4f83eb1 merge 5.0-bugteam -> 5.1-bugteam 2008-07-11 02:47:23 +05:00
Gleb Shchepa
04dc6639cc warning elimination 2008-07-11 02:32:54 +05:00
Marc Alff
0fe5b015de Fixed build warning on Windows (emb_qcache.cc) 2008-07-10 14:41:56 -06:00
Tatiana A. Nurnberg
d853a09163 auto-merge 2008-07-10 15:28:37 +02:00
Tatiana A. Nurnberg
8c249ba861 auto-merge 2008-07-10 15:25:20 +02:00
Tatiana A. Nurnberg
94607a836f Bug#35848: UUID() returns UUIDs with the wrong time
offset for time part in UUIDs was 1/1000 of what it
should be. In other words, offset was off.

Also handle the case where we count into the future
when several UUIDs are generated in one "tick", and
then the next call is late enough for us to unwind
some but not all of those borrowed ticks.

Lastly, handle the case where we keep borrowing and
borrowing until the tick-counter overflows by also
changing into a new "numberspace" by creating a new
random suffix.
2008-07-10 05:24:46 +02:00
Tatiana A. Nurnberg
2d41201c8a Bug#35848: UUID() returns UUIDs with the wrong time
offset for time part in UUIDs was 1/1000 of what it
should be. In other words, offset was off.

Also handle the case where we count into the future
when several UUIDs are generated in one "tick", and
then the next call is late enough for us to unwind
some but not all of those borrowed ticks.

Lastly, handle the case where we keep borrowing and
borrowing until the tick-counter overflows by also
changing into a new "numberspace" by creating a new
random suffix.
2008-07-10 03:58:30 +02:00
Gleb Shchepa
45e0d91d35 null merge 5.0-bugteam --> 5.1-bugteam 2008-07-10 03:13:42 +05:00
Gleb Shchepa
5d3f1aa09c merge 5.1-main --> 5.1-bugteam 2008-07-10 03:01:41 +05:00
Gleb Shchepa
d1f5280a5c merge 5.0-main --> 5.0-bugteam 2008-07-10 00:54:20 +05:00
Matthias Leich
c9ca782890 Upmerge 5.0 -> 5.1 2008-07-09 20:55:23 +02:00
Mattias Jonsson
5398187ba7 merge 2008-07-09 15:15:11 +02:00
Ramil Kalimullin
db56fd008c Fix for bug#37669: Server crash by setting "@@session.innodb_table_locks"
Problem: reading/writing data from/to an address without proper
alignment leads to SIGBUS on some platforms.

Fix: use the correct data type when dereferencing variable values.
2008-07-09 16:52:26 +05:00
Joerg Bruehe
0241877c57 Merge main 5.1 into 5.1-build 2008-07-09 13:25:31 +02:00
Matthias Leich
7248199783 1. Fix for Bug#37160
"funcs_2: The tests do not check if optional character
               sets exist."
2. Minor cleanup
2008-07-09 13:22:07 +02:00
Mattias Jonsson
e438f9f29d Bug#35736 Test 'parts.partition_basic_symlink_myisam' depends on output of 'ls'
The problem is that relying on the output of the 'ls' command is not
portable as its behavior is not the same between systems and it might
even not be available at all in (Windows).

So I added list_files that relies on the portable mysys library instead.
(and also list_files_write_file and list_files_append_file,
since the test was using '--exec ls' in that way.)
2008-07-09 13:19:04 +02:00
Joerg Bruehe
d9289b8832 Merge from main 5.0 to 5.0-build. 2008-07-09 13:17:53 +02:00
Georgi Kodinov
28e02b178f fixed a compilation warning on windows 64. 2008-07-09 13:03:48 +03:00
Georgi Kodinov
ed30164161 automatic merge of 5.0-bugteam into the 5.0.66 release clone. 2008-07-09 12:59:28 +03:00
kent@mysql.com
443698a56d Raise version number after cloning 5.0.66 2008-07-09 08:23:30 +02:00
Marc Alff
449d359fa0 Fixed remaining test failure 2008-07-08 13:17:28 -06:00
Daniel Fischer
0bb92b600e let's make a real honest attempt at finding the daemons in libexec 2008-07-08 19:17:06 +02:00
Marc Alff
6affa021b6 Cleanup merge issues in mysql-test/t/parser.test 2008-07-08 10:33:09 -06:00
Marc Alff
d61bc87c58 Bug#37525 funcs_1: <engine>_storedproc.test fail
Fixed the test to expect the correct result.
The previous test script was in fact affected by 26030,
and wrongly expected a ER_PARSE_ERROR error.
2008-07-08 10:32:02 -06:00
Jonathan Perkin
38ae5d102a Merge from trunk. 2008-07-08 16:39:44 +02:00
Mats Kindahl
e8e7fdb786 Manual merge of mysql-5.0-bugteam -> mysql-5.1-bugteam 2008-07-08 13:18:34 +02:00
Mats Kindahl
a129837f66 Manual merge with mysql-5.0-bugteam 2008-07-08 10:37:42 +02:00