Commit graph

320 commits

Author SHA1 Message Date
bell@sanja.is.com.ua
b218560604 merge 2004-12-07 09:07:37 +02:00
monty@mysql.com
55cc515c8f merged on pull 2004-12-02 14:47:14 +02:00
monty@mysql.com
d1a666d59a Cleanups during review stage
Added auto-correct of field length for enum/set tables for ALTER TABLE
This is becasue of a bug in previous MySQL 4.1 versions where the length for enum/set was set incorrectly after ALTER TABLE
2004-12-02 14:43:51 +02:00
serg@serg.mylan
96729c62be merged 2004-11-28 18:19:01 +01:00
monty@mysql.com
eb304bd49f Fixes while reviewing code
(Cleanups and better bug fixes)
2004-11-26 02:31:22 +02:00
bar@mysql.com
e3b94d4ef5 Bug #6737: REGEXP gives wrong result with case sensitive collation:
- A new flag MY_CS_CSSORT was introduced for case sensitivity.
- Item_func_regexp doesn't substiture ICASE not only
  for binary collations but for case sensitive collations as well.
2004-11-22 11:58:40 +04:00
bell@sanja.is.com.ua
f5e253dc2f reporting empty result added in case of max/min optimisation of ALL/ANY/SOME subqueries
fixed null processing in NOT operation used in ALL subquery (Bug #6247)
2004-11-18 18:10:07 +02: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
igor@rurik.mysql.com
4df18b1aae func_in.result, func_in.test:
Added a case for bug #6365.
item_cmpfunc.cc:
  Fixed bug #6365 : Server crashed when list of values
  in IN predicate contains NULL while the tested field is
  of the character type and not of the default set;
  e.g. when f in 'f IN (NULL,'aa') belongs to binary
  character set, while the default character set is latin1.
2004-11-04 20:39:52 -08:00
bar@mysql.com
6a3b1d443f Many files:
Allow mixing of different character sets for more SQL functions.
item_func.h:
  Allow mixing of different character sets for more SQL functions..
2004-11-02 16:02:12 +04:00
bar@mysql.com
7577c8bfc9 A fix according to Monty's request:
"uint *errors" is now a non-optional parameter in String:copy()
and copy_and_convert().
2004-10-29 17:00:39 +05:00
bar@mysql.com
ea49a5181a Allow to convert to non-Unicode charset when mixing a string
constant with a column. The string is converted into the column
character set. It conversion doesn't lose data, then operation
is possible. Otherwise, give an error, as it was earlier.
2004-10-29 16:00:03 +05: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
monty@mishka.local
04c23808a8 Review of all code pushed since last review
Simple optimzations and cleanups
Removed compiler warnings and fixed portability issues
Added client functions 'mysql_embedded()' to allow client to check if we are using embedded server
Fixes for purify
2004-10-20 01:28:42 +03:00
konstantin@mysql.com
703e396b6e A small simplification: perform two actions at once, register a
change, and perform it (the new Item changes registry).
2004-10-10 03:10:00 +04:00
konstantin@mysql.com
234c80b689 Deployment of centralized Item change registry, step 2: Item_ref
doesn't need to have it's own recovery mechanism.
2004-10-08 19:13:09 +04:00
konstantin@mysql.com
d7bda287de Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/media/sda1/mysql/mysql-4.1-5748-anew
2004-10-08 02:22:40 +04:00
konstantin@mysql.com
2aa7ec0d9d A fix for Bug#5748 "Prepared statement with BETWEEN and bigint values
crashes mysqld": implementation for a generic item tree modifications
registry. Every item tree modification which should be rolled back for
subsequent execution of a prepared statement or stored procedure should
be saved in the registry. All such modifications are rolled back at once
during cleanup stage of PS.
Actual fix for the bug just adds a call to register modifications to
convert_constant_item.
Post review fixes implemented.
2004-10-08 02:21:19 +04:00
monty@mysql.com
6239edc1d1 After merge fixes
Some bigger code changes was necessary becasue of the multi-table-update and the new HANDLER code
2004-10-07 10:50:13 +03:00
monty@mysql.com
62f3cd6a31 Merge with 4.0 for 4.1 release
Noteworthy:
- New HANDLER code
- New multi-update-grant-check code
- Table lock code in ha_innodb.cc was not applied
2004-10-06 19:14:33 +03:00
konstantin@mysql.com
dcaba14f7e Give store_for_compare a more meaningful name, cleanup and comment the
call.
2004-09-28 15:29:38 +04:00
konstantin@mysql.com
aa80184072 A fix and test case for bug#5688 "Upgraded 4.1.5 Server seg faults" 2004-09-23 18:01:55 +04:00
gluh@gluh.mysql.r18.ru
276622c92d Fix for bug #5595: NULLIF() IS NULL returns false if NULLIF() returns NULL 2004-09-18 13:06:44 +04:00
konstantin@mysql.com
bdec2c603b A fix for bug#4368 '"like" fails in PreparedStatement, crashes
server': the bug occurs when arguments of LIKE function are in 
differentcharacter sets. If these character sets are compatible, 
we create an item-converter. In prepared mode, this item
needs to be created in memory of current prepared statement.
2004-09-03 23:28:49 +04:00
monty@mysql.com
bb4ccdb177 Remove extra '/' after mysql_real_data_home
Add missing parameter to strxnmov() that caused some INTO OUTFILE commands to core dump
2004-09-03 02:25:27 +03:00
bar@mysql.com
153e18a252 Allow IN to convert arguments into Unicode in some cases. 2004-09-01 15:39:15 +05:00
bar@mysql.com
4f32cd2b3d Move collation aggregation with superset conversion code
from Item_bool_func2 into DTCollation to make it reusable
for other types of items.
2004-09-01 13:56:33 +05:00
bell@sanja.is.com.ua
2cf1234ba2 after review patch 2004-08-31 21:10:57 +03:00
bell@sanja.is.com.ua
18366c930c NOT elimination moved in parsing (suggested by Monty) 2004-08-29 23:14:46 +03:00
monty@mysql.com
ea687ba5da Portability fixes
Fixed bug in end space handle for WHERE text_column="constant"
2004-08-26 18:26:38 +03:00
konstantin@mysql.com
75454b0a1d Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/kostja/work/mysql-4.1-4912
2004-08-21 02:08:20 +04:00
konstantin@mysql.com
568c6e8526 Fix for bug#4912 "mysqld crashs in case a statement is executed
a second time". The bug was caused by incompatibility of
negations elimination algorithm and PS: during first statement 
execute a subtree with negation was replaced with equivalent 
subtree without NOTs.
The problem was that although this transformation was permanent, 
items of the new subtree were created in execute-local memory.
The patch adds means to check if it is the first execute of a
prepared statement, and if this is the case, to allocate items
in memory of the prepared statement.
The implementation:
- backports Item_arena from 5.0
- adds Item_arena::is_stmt_prepare(), 
  Item_arena::is_first_stmt_execute().
- deletes THD::allocate_temporary_pool_for_ps_preparing(),
  THD::free_temporary_pool_for_ps_preparing(); they
  were redundant.
and adds a few invariants:
- thd->free_list never contains junk (= freed items)
- thd->current_arena is never null. If there is no
  prepared statement, it points at the thd. 
The rest of the patch contains mainly mechanical changes and
cleanups.
2004-08-21 02:02:46 +04:00
bar@mysql.com
2496e85b84 Bug#4521: unique key prefix interacts poorly with utf8.
Fix for binary collations for MyISAM and HEAP BTREE.
This patch also changes trailing spaces behaviour for
binary collations. Binary collations now have PAD 
characteristic too.
2004-08-19 15:15:10 +05:00
bar@mysql.com
1cd108ff97 Many files:
LIKE crashed mysqld for binary collations in some cases
2004-08-18 12:07:54 +05:00
sergefp@mysql.com
83dc887b9d Renamed Arg_comparator::compare_int -> compare_int_signed 2004-08-18 02:37:31 +04:00
sergefp@mysql.com
fdb51f67a2 Fix for bug#4488: sign-aware equality check 2004-08-17 02:59:24 +04:00
sergefp@mysql.com
4ddeee9d2f Fix for BUG#4488: first portion: sign aware '<' and '>' comparisons. 2004-08-11 23:08:20 +04:00
serg@serg.mylan
e1e1c39bda cleanup 2004-08-07 23:18:13 +02:00
bell@sanja.is.com.ua
41bd6aa4b6 do not assign values of left expression of IN/ANN/ANY subquery in case of PS preparation (BUG#4403) 2004-07-04 10:40:24 +03:00
dlenev@brandersnatch.localdomain
b20dca925d Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into brandersnatch.localdomain:/home/dlenev/src/mysql-4.1-bg4200
2004-06-22 19:28:01 +04:00
dlenev@brandersnatch.localdomain
eea19e5235 Fix for Bug# 4200 "Parse error on LIKE ESCAPE with parameter binding"
Now ESCAPE in LIKE will accept not only string literal but constant 
delimited expression.
2004-06-22 19:27:16 +04:00
bell@sanja.is.com.ua
e71b693115 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-regexp-4.1
2004-06-22 15:17:40 +03:00
bell@sanja.is.com.ua
a19b0f0a8e cleanup for Item_func_regex (Bug #4199) 2004-06-19 13:26:39 +03:00
monty@mysql.com
b11d258835 Merge with 4.0.21 2004-06-18 04:38:58 +03:00
serg@serg.mylan
86e9dc29b0 BUG#3987 - if(int, aggregate(int)) 2004-06-07 12:38:35 +02:00
tsmith@build.mysql.com
8746a7dab4 logging_ok:
Logging to logging@openlogging.org accepted
item_cmpfunc.cc, ctype_recoding.test, ctype_recoding.result:
  Call Item_func_conv_charset::fix_fields() in Item_bool_func2::fix_length_and_dec() (but #3704)
2004-05-10 23:19:50 +02:00
bell@sanja.is.com.ua
a535342d57 after review PS fixes 2004-04-10 01:14:32 +03:00
bell@sanja.is.com.ua
56be6f3f93 merge 2004-04-08 00:19:43 +03:00
bell@sanja.is.com.ua
5e37c41fae new error for unsupported command in PS
fixed IN subselect with basic constant left expression
SQLCOM_CREATE_TABLE, SQLCOM_UPDATE_MULTI, SQLCOM_REPLACE_SELECT, SQLCOM_INSERT_SELECT, QLCOM_DELETE_MULTI fixed to be compatible with PS (BUG#3398, BUG#3406)
fixed multiupdate privelege check (BUG#3408)
fixed multiupdate tables check (BUG#3411)
unchecked commands now is rejected by PS protocol to avoid serever crash
fixed cleunup procedure to be compatible sith DO/SET (BUG#3393)
2004-04-08 00:16:17 +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