even with zero month and day" aka "Date decoding trouble"
Two digit year should be interpreted correctly as year in 20th or 21st
century even with zero month and day. Only exception should be zero date
'00-00-00' or '00-00-00 00:00:00'.
mysql-test/r/type_datetime.result:
Added test for bug #7297 "Two digit year should be interpreted correctly
even with zero month and day"
mysql-test/t/type_datetime.test:
Added test for bug #7297 "Two digit year should be interpreted correctly
even with zero month and day"
sql/time.cc:
str_to_TIME(): Two digit year should be interpreted correctly as year
in 20th or 21st century even with zero month and day. Only exception
should be zero date '00-00-00' or '00-00-00 00:00:00'.
ps-modify1 used the user variables @1, @2, @100 set within ps_query and
ps_modify. That architecture was wrong, because the dependence
of ps_modify1 on ps_query and ps_modify makes the test script
maintenance and the use of these test cases during bug fixing/
debugging of single sub test cases very uncomfortable.
Therefore these user variables (@1, @2, @100) are also set within ps-modify1.
The result files of the test cases ps_2myisam, ps_3innodb, ps_4heap, ps_6bdb,
ps_7ndb will be affected by that change and show 3 additional lines, but
nothing else will change.
mysql-test/include/ps_modify1.inc:
Initialization of three user variables, with values derived from ps_query
and ps_modify
mysql-test/r/ps_2myisam.result:
updated result set
mysql-test/r/ps_3innodb.result:
updated result set
mysql-test/r/ps_4heap.result:
updated result sset
mysql-test/r/ps_6bdb.result:
updated result set
mysql-test/r/ps_7ndb.result:
updated result set
UPDATE clause conflicts with SELECT for use of item_list field.
Alter UPDATE clause to use new lex field update_list
Tests included
mysql-test/r/insert_update.result:
WL#2274
New tests for INSERT..SELECT..UPDATE
mysql-test/t/insert_update.test:
WL#2274
New tests for INSERT..SELECT..UPDATE
sql/mysql_priv.h:
Remove function - insert_select_precheck()
sql/sql_class.h:
WL#2274
New constructor for class select_insert
sql/sql_insert.cc:
WL#2274
Move code into mysql_prepare_insert
Add checks as param values may be NULL
sql/sql_lex.cc:
WL#2274
initialize lex->update_list
sql/sql_lex.h:
WL#2274
New field in LEX: update_list
sql/sql_parse.cc:
WL#2274
INSERT..UPDATE clause now populates lex->update_list
Remove redundant function: insert_select_precheck()
sql/sql_prepare.cc:
WL#2274
invoke insert_precheck() instead of insert_select_precheck()
sql/sql_yacc.yy:
WL#2274
Enable INSERT..SELECT..UPDATE syntax
New rule - insert_update_list, to populate lex->update_list
In Item_ref::Item_ref set maybe_null (and other fields fix_fields sets) to be the
same as in (*ref), because Item_ref::fix_fields() will not be called. Previously
maybe_null was 0 always and this produced a bogus state where
maybe_null==0 && is_null() == true
which broke evaluation for some upper-level Items, like AND and OR.
mysql-test/r/group_by.result:
Test for BUG#6976
mysql-test/t/group_by.test:
Test for BUG#6976
sql/item.cc:
Comment added
sql/item.h:
Fix for BUG#6976:
in Item_ref::Item_ref(Item**...) fix all fields because fix_fields() will not be called.
refernces if subqueri is not in HAVING clause (BUG#7079)
and the same used for subquery transformetion
mysql-test/r/subselect.result:
reference on changable fields from subquery
mysql-test/t/subselect.test:
reference on changable fields from subquery
sql/item.cc:
new reference which refer to current value not to result used
sql/item.h:
new reference which refer to current value not to result used
sql/item_subselect.cc:
new reference which refer to current value not to result used
Call mark_as_null_row in join_read_const and join_read_system.
mysql-test/r/multi_update.result:
Testcase for BUG#5837
mysql-test/t/multi_update.test:
Testcase for BUG#5837
sql/table.h:
Added comments
to reuse test results for both server and --embedded-server
versions.
BitKeeper/deleted/.del-ctype_big5.result.es~f75ebc9f8836316f:
Delete: mysql-test/r/ctype_big5.result.es
BitKeeper/deleted/.del-ctype_uca.result.es~9fab42f7561fa166:
Delete: mysql-test/r/ctype_uca.result.es
(after discussion with SerG)
include/my_base.h:
Handler error code added
myisam/mi_write.c:
New error code handled
myisam/rt_index.c:
check for zero length added
myisam/sp_key.c:
zero length check added
mysql-test/r/gis-rtree.result:
appropriate test result
mysql-test/t/gis-rtree.test:
test case
sql/handler.cc:
new error code handling added
expression involving LEFT() function is used in GROUP BY
field.
mysql-test/r/func_str.result:
A result for bug #7101 test case
mysql-test/t/func_str.test:
Test case for bug #7101
into mysql.com:/home/dlenev/src/mysql-4.1-bg6765
sql/item_strfunc.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
tables requires privileges for them if some table or column level grants
present" (with after-review fixes).
We should set SELECT_ACL for implicitly opened tables in
my_tz_check_n_skip_implicit_tables() to be able to bypass privilege
checking in check_grant(). Also we should exclude those tables from
privilege checking in multi-update.
mysql-test/r/timezone2.result:
Extended test for bug #6116 "SET time_zone := ... requires access to
mysql.time_zone tables"
Added test for bug #6765 "Implicit access to time zone description
tables requires privileges for them if some table or column level grants
present"
mysql-test/t/timezone2.test:
Extended test for bug #6116 "SET time_zone := ... requires access to
mysql.time_zone tables"
Added test for bug #6765 "Implicit access to time zone description
tables requires privileges for them if some table or column level grants
present"
sql/item_geofunc.cc:
sql_acl.h is now included via mysql_priv.h
sql/item_strfunc.cc:
sql_acl.h is now included via mysql_priv.h
sql/log.cc:
sql_acl.h is now included via mysql_priv.h
sql/mysql_priv.h:
Now we have to include sql_acl.h before tztime.h, since
my_tz_check_n_skip_implicit_tables() defined there requires
SELECT_ACL constant defined in sql_acl.h.
sql/mysqld.cc:
sql_acl.h is now included via mysql_priv.h
sql/repl_failsafe.cc:
sql_acl.h is now included via mysql_priv.h
sql/set_var.cc:
sql_acl.h is now included via mysql_priv.h
sql/sql_acl.cc:
sql_acl.h is now included via mysql_priv.h
sql/sql_base.cc:
sql_acl.h is now included via mysql_priv.h
sql/sql_cache.cc:
sql_acl.h is now included via mysql_priv.h
sql/sql_class.cc:
sql_acl.h is now included via mysql_priv.h
sql/sql_db.cc:
sql_acl.h is now included via mysql_priv.h
sql/sql_derived.cc:
sql_acl.h is now included via mysql_priv.h
sql/sql_do.cc:
sql_acl.h is now included via mysql_priv.h
sql/sql_insert.cc:
sql_acl.h is now included via mysql_priv.h
sql/sql_parse.cc:
check_one_table_access(): Tweaked comments.
multi_update_precheck(): Added skipping of implicitly opened tables
during privilege checking.
sql/sql_prepare.cc:
sql_acl.h is now included via mysql_priv.h
sql/sql_repl.cc:
sql_acl.h is now included via mysql_priv.h
sql/sql_show.cc:
sql_acl.h is now included via mysql_priv.h
sql/sql_update.cc:
sql_acl.h is now included via mysql_priv.h
sql/sql_yacc.yy:
sql_acl.h is now included via mysql_priv.h
sql/tztime.h:
my_tz_check_n_skip_implicit_tables():
We should set SELECT_ACL for implictly opened tables to be able to
bypass privilege checking in check_grant().
during execute"
mysql-test/r/ps.result:
Test results updated (Bug#6873)
mysql-test/t/ps.test:
A test case for Bug#6873 "PS, having with subquery, crash during execute".
sql/item_subselect.cc:
If we transform having subtree, modify SELECT_LEX::having pointer
to point to the new having tree root.
""show_check" fails on 64bit platforms": now minimal rec_length
of a HEAP table >= sizeof(void*), hence it's platform-dependant.
mysql-test/r/show_check.result:
Fix test results for 64-bit platforms.
mysql-test/t/show_check.test:
Ignore two more columns of output of show table status: it's different
on 64-bit and 32-bit platforms.
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_parse.cc:
Auto merged