Added a test case for bug #11745.
sql_select.cc:
Fixed bug # 11745.
Added support of where clause for queries with FROM DUAL.
sql_yacc.yy:
Fixed bug # 11745.
Added optional where clause for queries with FROM DUAL.
sql/sql_yacc.yy:
Fixed bug # 11745.
Added optional where clause for queries with FROM DUAL.
sql/sql_select.cc:
Fixed bug # 11745.
Added support of where clause for queries with FROM DUAL.
mysql-test/t/select.test:
Added a test case for bug #11745.
mysql-test/r/select.result:
Added a test case for bug #11745.
WHERE statement"
sql/ha_federated.cc:
Changes per Jimw's review.
notes about some suggestions:
1. Tried to replace my_sprintf with strxmov, but had problems. Couldn't
get the test suite to run at all, and could not find any particular
error. Since this is something that is not critical, I'll leave it
as is for now.
2. I would like to use my_error to create all of my error messages, but
cannot figure out how to get it to take more than one argument to be
passed to the error message (I tried this once but had errors, and
cannot find an example of how to get it to work despite seeing messages
with obviously more than one arg
3. Replaced all string building from literals to defined SQL string pieces
such as "SELECT ", "FROM " ...
4. Format fixes, spacing fixes completed
5. Removed records_in_range records calculation functionality
sql/ha_federated.h:
Formatting changes, new defines for SQL query string tokens
sql/share/errmsg.txt:
changed 'SRC' to 'SOURCE' per Jimw's review
Fixed bug #11885.
sql_select.cc:
Fixed bug #11885.
Predicates of the forms 'a IN (v)' 'a NOT IN (v)' now
is replaced by 'a=v' and 'a<>v' at the parsing stage.
sql_yacc.yy:
Fixed bug #11885.
Predicates of the forms 'a IN (v)' 'a NOT IN (v)' now
is replaced by 'a=v' and 'a<>v' at the parsing stage.
sql/sql_yacc.yy:
Fixed bug #11885.
Predicates of the forms 'a IN (v)' 'a NOT IN (v) now
is replaced by 'a=v' and 'a<>v' at the parsing stage.
sql/sql_select.cc:
Fixed bug #11885.
Predicates of the forms 'a IN (v)' 'a NOT IN (v) now
is replaced by 'a=v' and 'a<>v' at the parsing stage.
mysql-test/t/func_in.test:
Fixed bug #11885.
mysql-test/r/func_in.result:
Fixed bug #11885.
Fixed bug #11853.
Corrected the code of the range optimization for
NOT IN and NOT BETWEEN.
range.test, range.result:
Fixed bug #11853.
mysql-test/t/range.test:
Fixed bug #11853.
sql/opt_range.cc:
Fixed bug #11853.
Corrected the code of the range optimization for
NOT IN and NOT BETWEEN.
mysql-test/r/sp.result:
Test results fixed: rewritten test for Bug#6129
mysql-test/r/view.result:
Push a change to the result file from Sanja's patch.
mysql-test/t/sp.test:
Rewrite the test for Bug#6129 (now that stored procedures don't
evaluate system variables at parse, the test produced different results).
The old test failed with 1 in the second invocation (the old
result was wrong).
sql/item_func.cc:
After-merge fix.
sql/item_func.h:
After-merge fix.
sql/mysql_priv.h:
After-merge fix.
sql/mysqld.cc:
Rollback the patch for Bug#7403 (it breaks the test suite).
"Negative integer keys incorrectly substituted for 0 during range analysis."
The problem is that the range optimizer incorrectly replaces any negative
constant with '0' for all types except BIGINT because the method save_in_field()
casts negative integers to non-negative. This causes incorrect query
results where (0 = any_negative_number).
The problem caused by this bug is fixed by the patch for BUG#11185.
That patch constitutes an optimization due to which the problem code is
never called with negative constants. This patch adds a test so we are sure
that the problem does not reappear.
mysql-test/r/select.result:
Test for BUG#11521.
mysql-test/t/select.test:
Test for BUG#11521.
Moved mysql_set_character_set function to client.c
Changed function prototype for mysql_set_character_set (as suggested
by Konstantin)
include/mysql.h:
Changed function prototype
libmysql/libmysql.c:
moved mysql_set_character_set to client.c
sql-common/client.c:
moved mysql_set_character_set to client.c
disabled if ref is built with a key from the updated table
Problem was in add_not_null_conds() optimization function.
It contains following code:
JOIN_TAB *referred_tab= not_null_item->field->table->reginfo.join_tab;
...
add_cond_and_fix(&referred_tab->select_cond, notnull);
For UPDATE described in bug report referred_tab is 0 and dereferencing it
crashes the server.
sql/sql_select.cc:
Fix bug #11868 NOT NULL ref optimization in subquery used in update must be
disabled if ref is built with a key from the updated table
mysql-test/r/update.result:
Test case for bug#11868 Update with subquery with ref built with a key from
the updated table crashes server.
mysql-test/t/update.test:
Test case for bug#11868 Update with subquery with ref built with a key from the updated table crashes server
deallocation cleanup
mysql-test/r/federated.result:
new test results
mysql-test/t/federated.test:
New tests, and added explains per Timour's suggestion. This will keep
track of whether changes have been made to the optimiser that might affect
Federated.
Also changed the error codes to federated error codes in the error tests
sql/ha_federated.cc:
1. Not using MAX_REMOTE_SIZE, so removed
2. Changed all defines that were IO_SIZE to FEDERATED_QUERY_BUFFER_SIZE
3. Now using Federated Error Codes
4. Implemented ::info (gets valid 'records' number)
5. Implemented ::read_range_first - now uses indexes in range operations
6. Better allocation in get_share
7. Cleaned up memory bug in get_share
8. Better initial query "SELECT * FROM t1 WHERE 1=0" for check_foreign_data_src
9. emit_key_part_name and emit_key_part_element for read_range_first to not
have redundancy
10. Made sure all 'append's pass length, and use append("") to ensure proper
null termination of strings being built.
11. Better message creation. If ER_QUERY_ON_FOREIGN_DATA_SRC, I also pass
the actual error code and message from the foreign data src.
12. Cleaned up how the result set and share->scheme is freed.
sql/share/errmsg.txt:
New Federated error messages that are more tailored to the type of information
we want to see when federated has an error.
mysql-test/include/federated.inc:
New bitkeeper file, include file for separating setup from main test suite
mysql-test/include/federated_cleanup.inc:
New BitKeeper file ``mysql-test/include/federated_cleanup.inc''
sql/ha_federated.h:
Added comments where needed, one was already commented about
of system vars at PREPARE time": implement a special Item
to handle system variables. This item substitutes itself with
a basic constant containing variable value at fix_fields.
mysql-test/r/ps.result:
- test results fixed (Bug#9359).
mysql-test/t/ps.test:
- add a test case for Bug#9359 "Prepared statements take snapshot
of system vars at PREPARE time"
sql/item_func.cc:
- implement Item_func_get_system_var: we should not evaluate system
variables in the parser, but instead should create an item which
is evaluated to a constant at execute.
- remove an unused function
sql/item_func.h:
Add a new item, Item_func_get_system_var
sql/mysql_priv.h:
Move necessary declarations to make set_var.h objects visible in
item_func.h
sql/set_var.cc:
- we should not print to network from get_system_var: if it's called
from prepared statement prepare, we get packets out of order when using
the binary protocol. Instead report the error to be sent to the user later.
This is a backport from 5.0.
sql/set_var.h:
- declaration of enum_var_type moved to mysql_priv.h
than in previous 4.1.x
Wrongly applied optimization were adding NOT NULL constraint which results in
rejecting valid rows and reduced result set.
The problem was that add_notnull_conds() while checking subquery were adding
NOT NULL constraint to left joined table, to which, normally, optimization
don't have to be applied.
sql/sql_select.cc:
Fix bug #11482 Wrongly applied optimization was erroneously rejecting valid rows
Constraint were added to optimization appliance test.
mysql-test/t/select.test:
Test case for bug #11482 Wrongly applied optimization was erroneously rejecting valid rows
mysql-test/r/select.result:
Test case for bug #11482 Wrongly applied optimization was erroneously rejecting valid rows
into sanja.is.com.ua:/home/bell/mysql/bk/work-bug6-5.0
BitKeeper/etc/config:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/sp-security.result:
merge
mysql-test/r/view.result:
merge
mysql-test/t/sp-security.test:
merge
mysql-test/t/view.test:
merge
sql/item_cmpfunc.cc:
merge
sql/sql_class.h:
merge
correct value of CURRENT_USER() in SP with "security definer" (BUG#7291)
BitKeeper/etc/config:
switch off open logging
mysql-test/r/sp-security.result:
correct value from current_user() in function run from "security definer"
mysql-test/r/view.result:
evaluation constant functions in WHERE (BUG#4663)
mysql-test/t/sp-security.test:
correct value from current_user() in function run from "security definer"
mysql-test/t/view.test:
evaluation constant functions in WHERE (BUG#4663)
sql/item.cc:
Item_static_string_func creation if it is need
sql/item.h:
support of Item_static_string_func creation
sql/item_cmpfunc.cc:
do not evaluate items during view creation
sql/item_create.cc:
create Item_func_user
sql/item_strfunc.cc:
Item_func_sysconst in case of converting value still have to correctly print itself
=> use Item_static_string_func instead of Item_string
Item_func_user return USER() or CURRENT_USER()
sql/item_strfunc.h:
support of correct charset conversion procedure in Item_func_sysconst
sql/sql_class.h:
new method
sql/sql_yacc.yy:
Item_func_user now support both USER() and CURRENT_USER(), so we have to pass parametr what it is
using @@var_name in proc
Made sure we don't lose the tokenizer state when swapping lex in during SET
parsing.
mysql-test/r/sp.result:
New test case for BUG#9538.
mysql-test/t/sp.test:
New test case for BUG#9538.
sql/sp_head.cc:
Keep lex->next_state when swapping lex during SP parsing (for SET mainly),
otherwise the tokenizer gets confused.
into mysql.com:/space/my/mysql-5.0
mysql-test/t/ctype_utf8.test:
Auto merged
sql/sql_prepare.cc:
Auto merged
support-files/mysql.spec.sh:
Auto merged
tests/mysql_client_test.c:
Auto merged
When all rows are fetched subsequent calls to mysql_stmt_fetch return
now MYSQL_NO_DATA instead of errorcode 1.
libmysql/libmysql.c:
fix for bug#11037
tests/mysql_client_test.c:
added new testcase for bug #11037
mysql-test/t/ctype_utf8.test:
Auto merged
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
Auto merged
ndb/src/common/transporter/Transporter.hpp:
Auto merged
ndb/src/common/transporter/TransporterRegistry.cpp:
Auto merged
ndb/src/mgmclient/CommandInterpreter.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.hpp:
Auto merged
ndb/src/mgmsrv/Services.cpp:
Auto merged
sql/sql_prepare.cc:
Auto merged
support-files/mysql.spec.sh:
Auto merged
tests/mysql_client_test.c:
Auto merged
ndb/include/transporter/TransporterRegistry.hpp:
SCCS merged
ndb/src/common/transporter/Transporter.cpp:
SCCS merged