Instead of trying to open time zone tables during calculation of CONVERT_TZ() function
or setting of @@time_zone variable we should open and lock them with the rest of
statement's table (so we should add them to global table list) and after that use such
pre-opened tables for loading info about time zones.
mysql-test/r/timezone2.result:
Added test for bug #4508
mysql-test/t/timezone2.test:
Added test for bug #4508
scripts/mysql_create_system_tables.sh:
Added one more test time zone to time zone tables which is needed for test for bug #4508.
sql/item_create.cc:
CONVERT_TZ() now is treated as special function.
sql/item_create.h:
CONVERT_TZ() now is treated as special function.
sql/item_timefunc.cc:
Item_func_convert_tz now uses list of pre-opened time zone tables instead of trying to
open them ad-hoc. Also it avoid calling of current_thd.
sql/item_timefunc.h:
Added comment describing special nature of CONVERT_TZ() function.
Optimization: Added own fix_fields() method and tz_tables member for caching pointer
to list of open time zone tables to Item_func_convert_tz class.
sql/lex.h:
CONVERT_TZ() now is treated as special function.
sql/mysql_priv.h:
Removed function which is no longer used.
sql/set_var.cc:
Now my_tz_find() accepts list of pre-opened time zone tables as last argument
and no longer needs pointer to current THD.
sql/set_var.h:
Exported sys_time_zone, which is now used in sql_yacc.yy for quick finding out if we are
setting @@time_zone variable.
sql/sql_base.cc:
Moved propagation of pointers to open tables from global list to local select lists to
open_and_lock_tables(), also added implicit usage of time zone tables as condition for
such propagation.
sql/sql_lex.cc:
Added fake_time_zone_tables_list which is used to indicate that time zone tables are
implicitly used in statement.
st_select_lex_unit::create_total_list(): if time zone tables are implicitly used in
statement add them to global tables list.
sql/sql_lex.h:
Added LEX::time_zone_tables_used member which is used to indicate that time zone tables
are implicitly used in this statement (by pointing to fake_time_zone_table_list) and
for holding pointer to those tables after they've been opened.
sql/sql_parse.cc:
We should also create global table list if statement uses time zone tables implicitly.
Added initialization of LEX::time_zone_tables_used to mysql_query_init().
sql/sql_prepare.cc:
We should also create global table list if statement uses time zone tables implicitly.
sql/sql_select.cc:
Removed functions which are no longer used.
sql/sql_yacc.yy:
CONVERT_TZ() and @@time_zone variable are handled in special way since they implicitly
use time zone tables.
sql/tztime.cc:
Fix for bug #4508 "CONVERT_TZ() function with new time zone as param crashes server".
If statement uses CONVERT_TZ() function or @@time_zone variable is set then it implicitly
uses time zone tables. We need to open and lock such tables with all other tables of
such statement.
All code responsible for opening table was removed from tz_load_from_db() and function was
renamed to tz_load_from_open_tables() (which uses list of pre-opened tables).
We also have new functions for construction and initialization of table list of time
zone tables.
my_tz_find() now always require list of pre-opened time zone tables and no longer needs
current THD. So we have to pre-open them in my_tz_init().
Also now we try to open time zone tables only if they were found during startup.
sql/tztime.h:
New function for construction of table list of time zone tables my_tz_get_table_list().
Now my_tz_find() requires list of pre-pened time zone tables instead of current thread.
mysql-test/r/func_group.result:
fixed
mysql-test/r/ps.result:
SHOW TABLE STATUS test
mysql-test/t/ps.test:
SHOW TABLE STATUS test
sql/sql_parse.cc:
Use lex->describe instead of lex->select_lex.options
sql/sql_yacc.yy:
removed unneed initialization of lex->select_lex.options
mysql-test/r/flush_table.result:
after merge fixed
duplicated tests removed
mysql-test/t/flush_table.test:
after merge fixed
duplicated tests removed
sql/sql_yacc.yy:
alias is not db-qualified
into mysql.com:/home/kostja/mysql/mysql-4.1-4030
sql/field.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/tztime.cc:
Auto merged
work (prepared statements)" and after-review fixes:
- str_to_TIME renamed to str_to_datetime to pair with str_to_time
- functions str_to_time and str_to_TIME moved to sql-common
- send_data_str now supports MYSQL_TYPE_TIME, MYSQL_TIME_DATE,
MYSQL_TIME_DATETIME types of user input buffers.
- few more comments in the client library
- a test case added.
VC++Files/libmysql/libmysql.dsp:
new file: my_time.c
VC++Files/libmysqld/libmysqld.dsp:
new file: my_time.c
VC++Files/sql/mysqld.dsp:
new file: my_time.c
include/Makefile.am:
- mysql_time.h added to the list of installed client library headers
include/mysql.h:
- declarations for MYSQL_TIME and enum_mysql_timestamp_type moved to
mysql_time.h, which is in shared use of client library and mysys.
libmysql/Makefile.shared:
- my_time.lo added to the list of libmysql objects
libmysql/libmysql.c:
Fix for bug#4030 "Client side conversion string -> date type doesn't work
(prepared statements)" and cleanup.
- added case labels for TIME/DATE/DATETIME types to send_data_str
- comments for read_binary_{date,time,datetime}, fetch_result_*, fetch_results.
libmysqld/Makefile.am:
- my_time.c added
sql-common/Makefile.am:
- my_time.c added to the list of files included into source distribution.
sql/Makefile.am:
my_time.c added to the list of mysqld sources.
sql/field.cc:
- TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to
MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...}
sql/item.cc:
- TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to
MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...}
sql/item_timefunc.cc:
- TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to
MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...}
sql/mysql_priv.h:
- added typedefs for TIME and timestamp_type
- removed declarations for str_to_time and str_to_TIME (now this functions
reside in mysys)
sql/mysqld.cc:
- log_10_int moved to mysys (it's used by str_to_TIME and str_to_time)
- enum values TIMESTAMP_{TIME,DATE,DATETIME} were renamed to
MYSQL_TIMESTAMP_{TIME,DATE,DATETIME}
sql/set_var.cc:
- TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to
MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...}
sql/set_var.h:
- fixed timestamp_type usage to be compatible with typedef.
sql/sql_prepare.cc:
- TIMESTAMP_{TIME,DATE,DATETIME} were renamed to
MYSQL_TIMESTAMP_{TIME,DATE,DATETIME}
- embedded library implementation of set_param_{time,date,datetime} is
much simplier now, as MYSQL_TIME is the same as TIME.
sql/sql_yacc.yy:
- s/\<TIMESTAMP_/MYSQL_TIMESTAMP/gc
sql/structs.h:
- declarations for TIME and timestamp_type replaced with typedefs
- str_to_datetime arguments moved to mysys headers
sql/time.cc:
- str_to_time and str_to_TIME moved to mysys
- TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to
MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...} as these names are now
exported to client.
- str_to_TIME renamed to str_to_datetime to pair with str_to_time
- str_to_TIME_with_warn renamed accordingly
sql/tztime.cc:
- TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to
MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...}
tests/client_test.c:
- a test case for Bug#4030 "Client side conversion string -> date type
doesn't work (prepared statements)"
mysql-test/r/union.result:
test of correct parser stack overflow handling
mysql-test/t/union.test:
test of correct parser stack overflow handling
sql/sql_parse.cc:
parameter of my_yyoverflow made independed from YYSIZE_T
sql/sql_yacc.yy:
parameter of my_yyoverflow made independed from YYSIZE_T
configure.in:
Auto merged
mysql-test/Makefile.am:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
sql/field.cc:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/lex.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_help.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
sql/unireg.cc:
Auto merged
mysql-test/r/alter_table.result:
Test case for BUG#3899
mysql-test/t/alter_table.test:
Test case for BUG#3899
sql/sql_yacc.yy:
Fix for BUG#3899: call ALTER_INFO::reset to clear ALTER_INFO::drop_list and ALTER_INFO::alter_list
into brandersnatch.localdomain:/home/dlenev/src/mysql-4.1-bg4200
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
Now ESCAPE in LIKE will accept not only string literal but constant
delimited expression.
mysql-test/r/func_like.result:
Added test for bug# 4200 "Parse error on LIKE ESCAPE with parameter binding"
mysql-test/t/func_like.test:
Added test for bug# 4200 "Parse error on LIKE ESCAPE with parameter binding"
sql/item_cmpfunc.cc:
Added support for accepting of constant delimited expression as ESCAPE argument to
Item_func_like.
sql/item_cmpfunc.h:
Now ESCAPE clause in LIKE will accept not only string literal but constant delimited
expression. Thus added member to Item_func_like for storing Item corresponding to this
expression and changed third argument of cons to be Item* instead of char*.
sql/sql_help.cc:
Item_func_like now accepts Item* as third argument.
sql/sql_yacc.yy:
Now ESCAPE clause of LIKE accepts not only string literal but constant delimited expression
(the most important case is prepared statement parameter of course).
Fixed problem with NULL and derived tables (Bug #4097)
Cleanup of new pushed code
BitKeeper/etc/ignore:
added mysql-test/ndb/ndbcluster
client/mysqltest.c:
simple cleanup
innobase/os/os0file.c:
fix for netware
libmysql/libmysql.c:
Fixed some byte order bugs with prepared statements on machines with
high-byte-first. (Bug #4173)
myisam/ft_boolean_search.c:
Comment cleanup
myisam/mi_check.c:
Removed not needed check (check is done in check_index())
myisam/mi_unique.c:
crc must be of type ha_checksum.
myisam/myisamchk.c:
Portability fix.
mysql-test/mysql-test-run.sh:
Simple cleanup
mysql-test/r/subselect.result:
Test problem with NULL and derived tables (Bug #4097)
mysql-test/t/subselect.test:
Test problem with NULL and derived tables (Bug #4097)
sql/mysqld.cc:
Remove not used defines
sql/sql_select.cc:
Fixed problem with NULL and derived tables (Bug #4097)
Indentation fixes
sql/sql_string.cc:
Code cleanup
sql/sql_yacc.yy:
Allow one to use DROP PREPARE ...
mysql-test/r/ps.result:
Better error message
mysys/my_error.c:
Comments added
sql/item.cc:
Moved a chunk of code from sql_prepare.cc to Item_param::set_from_user_var
sql/item.h:
Moved a chunk of code from sql_prepare.cc to Item_param::set_from_user_var
sql/item_func.cc:
Code cleanup
sql/mysql_priv.h:
Code cleanup
sql/sql_class.cc:
Code cleanup
sql/sql_parse.cc:
use user_var_entry::val_str in PREPARE stmt FROM @var.
sql/sql_prepare.cc:
Post-review fixes and code cleanup.
sql/sql_yacc.yy:
Coding style fixes
into mysql.com:/dbdata/psergey/mysql-4.1-ps-merge
sql/lex.h:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
by binlogging some SET ONE_SHOT CHARACTER_SETetc,
which will be enough until we have it more compact and more complete in 5.0. With the present patch,
replication will work ok between 4.1.3 master and slaves, as long as:
- master and slave have the same GLOBAL.COLLATION_SERVER
- COLLATION_DATABASE and CHARACTER_SET_DATABASE are not used
- application does not use the fact that table is created with charset of the USEd db (BUG#2326).
all of which are not too hard to fulfill.
ONE_SHOT is reserved for internal use of mysqlbinlog|mysql and works only for charsets,
so we give error if used for non-charset vars.
Fix for BUG#3875 "mysqlbinlog produces wrong ouput if query uses
variables containing quotes" and BUG#3943 "Queries with non-ASCII literals are not replicated
properly after SET NAMES".
Detecting that master and slave have different global charsets or server ids.
mysql-test/r/rpl_server_id1.result:
it's normal to not run as I have added a test to compare server ids of master and slave
at startup and stop if equal (unless --replicate-same-server-id)
mysql-test/r/rpl_user_variables.result:
result update (as we now print charset of user var).
mysql-test/r/user_var.result:
result update
mysql-test/t/rpl_server_id1.test:
no need to select as slave is not running
mysql-test/t/user_var.test:
testing if the content of user vars is escaped when mysqlbinlog prints them,
and if the name is backquoted.
sql/lex.h:
new keyword ONE_SHOT
sql/log.cc:
when writing to the binlog, before writing the actual statement, write some SET ONE_SHOT CHARACTER_SET_CLIENT etc
for the slave to know the charset variables (which are important as they affect the inserted data).
sql/log_event.cc:
print charset and collation of user var in mysqlbinlog and SHOW BINLOG EVENTS.
escape the content of the var. Backquote its name.
Will ask Bar to check that using my_charset_bin for escaping is ok.
sql/set_var.cc:
understand SET CHARACTER_SET_CLIENT=10 (don't require a string, accept a number).
Refuse changing of GLOBAL CHARACTER_SET_SERVER/COLLATION_SERVER if binlog or slave,
as it will make the master or slave make wrong assumptions.
A function to catch SET ONE_SHOT on non-charset variables (which is forbidden)
sql/set_var.h:
no_support_one_shot to know if the var supports ONE_SHOT (only charset vars do, soon timezones).
Accept int arg in SET CHARACTER_SET_etc
sql/slave.cc:
when I/O slave thread starts, verify that master's and slave charsets match.
And by the way verify that server ids are different.
Don't fail if UNIX_TIMESTAMP() can't be done on master (very old master), that's
not fatal.
sql/sql_class.cc:
one_shot
sql/sql_class.h:
one_shot
sql/sql_lex.h:
one_shot
sql/sql_parse.cc:
when SET ONE_SHOT is used, verify that it's only used for charset/collation vars;
otherwise refuse.
sql/sql_yacc.yy:
ONE_SHOT keyword in SET
(Note: This affects only comments, not variable names.)
extra/perror.c:
Fix skipp -> skip once and for all.
heap/hp_hash.c:
Fix skipp -> skip once and for all.
isam/_dynrec.c:
Fix skipp -> skip once and for all.
isam/isamchk.c:
Fix skipp -> skip once and for all.
isam/isamlog.c:
Fix skipp -> skip once and for all.
isam/pack_isam.c:
Fix skipp -> skip once and for all.
isam/test1.c:
Fix skipp -> skip once and for all.
merge/mrg_open.c:
Fix skipp -> skip once and for all.
myisam/mi_check.c:
Fix skipp -> skip once and for all.
myisam/mi_delete.c:
Fix skipp -> skip once and for all.
myisam/mi_key.c:
Fix skipp -> skip once and for all.
myisam/mi_search.c:
Fix skipp -> skip once and for all.
myisam/myisamlog.c:
Fix skipp -> skip once and for all.
mysys/ChangeLog:
Fix skipp -> skip once and for all.
mysys/default.c:
Fix skipp -> skip once and for all.
mysys/mf_iocache.c:
Fix skipp -> skip once and for all.
mysys/mf_iocache2.c:
Fix skipp -> skip once and for all.
mysys/mf_pack.c:
Fix skipp -> skip once and for all.
mysys/mf_soundex.c:
Fix skipp -> skip once and for all.
mysys/mf_wfile.c:
Fix skipp -> skip once and for all.
mysys/my_error.c:
Fix skipp -> skip once and for all.
mysys/my_getwd.c:
Fix skipp -> skip once and for all.
scripts/mysql_find_rows.sh:
Fix skipp -> skip once and for all.
sql/sql_yacc.yy:
Fix skipp -> skip once and for all.
sql/time.cc:
Fix skipp -> skip once and for all.
strings/ctype-big5.c:
Fix skipp -> skip once and for all.
strings/ctype-gbk.c:
Fix skipp -> skip once and for all.
strings/ctype-tis620.c:
Fix skipp -> skip once and for all.
into mysql.com:/dbdata/psergey/mysql-4.1-ps-merge
mysys/my_error.c:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/share/czech/errmsg.txt:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/share/dutch/errmsg.txt:
Auto merged
sql/share/english/errmsg.txt:
Auto merged
sql/share/estonian/errmsg.txt:
Auto merged
sql/share/french/errmsg.txt:
Auto merged
sql/share/german/errmsg.txt:
Auto merged
sql/share/greek/errmsg.txt:
Auto merged
sql/share/hungarian/errmsg.txt:
Auto merged
sql/share/italian/errmsg.txt:
Auto merged
sql/share/japanese/errmsg.txt:
Auto merged
sql/share/korean/errmsg.txt:
Auto merged
sql/share/norwegian-ny/errmsg.txt:
Auto merged
sql/share/norwegian/errmsg.txt:
Auto merged
sql/share/polish/errmsg.txt:
Auto merged
sql/share/portuguese/errmsg.txt:
Auto merged
sql/share/romanian/errmsg.txt:
Auto merged
sql/share/russian/errmsg.txt:
Auto merged
sql/share/slovak/errmsg.txt:
Auto merged
sql/share/spanish/errmsg.txt:
Auto merged
sql/share/swedish/errmsg.txt:
Auto merged
sql/share/ukrainian/errmsg.txt:
Auto merged
myisam/mi_create.c:
Auto merged
myisam/mi_open.c:
Auto merged
myisam/rt_test.c:
Auto merged
myisam/sp_test.c:
Auto merged
sql/spatial.cc:
Auto merged
sql/spatial.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
myisam/mi_range.c:
merging
myisam/mi_rnext.c:
merging
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/sql_lex.h:
SCCS merged
The code in mysql_create_table() code assumes that if lower_case_names==2 then table alias
should contain unchanged table name, and this was not true for temporary tables which
had 'tmp-table' constant as alias. Now we are using table name as alias for such tables.
sql/sql_lex.cc:
Removed tmp_table_alias constant which is no longer used.
sql/sql_lex.h:
Removed tmp_table_alias constant which is no longer used.
sql/sql_yacc.yy:
Let us use table name instead of 'tmp-table' as alias for table being created by
CREATE TEMPORARY TABLE statement. This fixes failing temp_table.test on Darwin 7.3
since mysql_create_table() code assumes that if lower_case_names==2 then table alias
should contain unchanged table name (and now this assumtion is true but it were false
for temporary tables before...).
to make list of parameters in mysql_alter_table shorted
to avoid warning in MSVC (windows) building
sql/mysql_priv.h:
Introduced parameter object "ALTER_INFO" for mysql_alter_table
- changed declaration of mysql_alter_table
- changed declaration of mysql_drop_index
(replaced List<Alter_drop> by ALTER_INFO)
sql/sql_lex.h:
Introduced parameter object "ALTER_INFO" for mysql_alter_table
- declared struct ALTER_INFO
- added ALTER_INFO alter_info; into LEX
- removed fields which were added into ALTER_INFO from LEX
sql/sql_parse.cc:
Introduced parameter object "ALTER_INFO" for mysql_alter_table
- changed invotaions of mysql_alter_table
- replaced cleaning fields in SQLCOM_OPTIMIZE by ALTER_INFO::reset
- changed invocation of mysql_drop_index (replaced lex->drop_list by &lex->alter_info)
- changed definition of mysql_create_index and mysql_drop_index to use ALTER_INFO
sql/sql_table.cc:
Introduced parameter object "ALTER_INFO" for mysql_alter_table
- changed definition of mysql_alter_table
sql/sql_yacc.yy:
Introduced parameter object "ALTER_INFO" for mysql_alter_table
- replaced using of removed from LEX fields my fields of LEX::alter_info
into mysql.com:/dbdata/psergey/mysql-4.1-ps-merge
sql/item.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/ps.result:
Added tests for PREPARE stmt1 FROM @var syntax
mysql-test/t/ps.test:
Added tests for PREPARE stmt1 FROM @var syntax
mysys/my_error.c:
Added support for "%.*s" format
sql/item.cc:
Removed one redundant Item_param::set_value function
sql/item.h:
Removed one redundant Item_param::set_value function
sql/mysqld.cc:
Reformmated the code
sql/share/czech/errmsg.txt:
Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/dutch/errmsg.txt:
Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/english/errmsg.txt:
Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/estonian/errmsg.txt:
Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/french/errmsg.txt:
Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/german/errmsg.txt:
Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/greek/errmsg.txt:
Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/hungarian/errmsg.txt:
Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/italian/errmsg.txt:
Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/japanese/errmsg.txt:
Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/korean/errmsg.txt:
Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/norwegian-ny/errmsg.txt:
Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/norwegian/errmsg.txt:
Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/polish/errmsg.txt:
Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/portuguese/errmsg.txt:
Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/romanian/errmsg.txt:
Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/russian/errmsg.txt:
Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/slovak/errmsg.txt:
Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/spanish/errmsg.txt:
Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/swedish/errmsg.txt:
Changed ER_UNKNOWN_STMT_HANDLER format string
sql/share/ukrainian/errmsg.txt:
Changed ER_UNKNOWN_STMT_HANDLER format string
sql/sql_class.h:
SQL Prepared statements now can't be used by binary protocol commands
sql/sql_lex.h:
Added support for PREPARE stmt1 FROM @var syntax.
sql/sql_parse.cc:
Added support for PREPARE stmt1 FROM @var syntax.
sql/sql_prepare.cc:
Code cleanup
sql/sql_yacc.yy:
Added support for PREPARE stmt1 FROM @var syntax.
Made the combination of INTO and FROM DUAL work, e.g.
SELECT 1 INTO @x FROM DUAL.
As a consequence, DUAL is made a reserved word. It would work to not have
it reserved, but it was deemed to be confusing as a user defined table by
the same name then must be qualified with a db (schema).
sql/sql_yacc.yy:
Made the combination of INTO and FROM DUAL work, e.g.
SELECT 1 INTO @x FROM DUAL.
As a consequence, DUAL is made a reserved word. It would work to not have
it reserved, but it was deemed to be confusing as a user defined table by
the same name then must be qualified with a db (schema).
scripts/mysql_install_db.sh:
Portability fix (! is not portable)
sql/item_func.cc:
Use my_strtoll10() instead of strtoull()
sql/repl_failsafe.cc:
Use my_strtoll10() instead of strtoull()
sql/sql_analyse.cc:
Use my_strtoll10() instead of strtoull()
sql/sql_yacc.yy:
Use my_strtoll10() instead of strtoull()
strings/my_strtoll10.c:
Fix compiler warnings
Prefer not automatic keys before automatic keys. If there is two conf
BitKeeper/etc/ignore:
added *.d
include/my_base.h:
Added flag for automaticly generated key
mysql-test/r/constraints.result:
Update tests after bug fix
mysql-test/r/create.result:
Update tests after bug fix
mysql-test/r/innodb.result:
Added test of automatic creation of foreign keys
mysql-test/t/innodb.test:
Added test of automatic creation of foreign keys
mysql-test/t/key_cache.test:
Portability fixes (64 BIT os)
sql/sql_acl.cc:
Indentation fixes
sql/sql_class.cc:
Fix key comparison to handle prefix and optionally key segments in different order.
sql/sql_class.h:
Added flag for automaticly generated keys
sql/sql_parse.cc:
Added flag for automaticly generated keys
sql/sql_table.cc:
Don't automaticly generate a new key for a foreign key constraint if there is already a usable key.
Prefer not automatic keys before automatic keys. If there is two conflicting automatic keys, prefer the longer one.
sql/sql_yacc.yy:
Added flag for automaticly generated keys
strings/strings-x86.s:
Portability fix.
into mysql.com:/dbdata/psergey/mysql-4.1-ps-merge
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
into hundin.mysql.fi:/home/marko/j/mysql-4.1
mysql-test/r/create.result:
Auto merged
mysql-test/r/innodb.result:
Auto merged
sql/sql_yacc.yy:
Auto merged
SQL_SELECT_LIMIT as default will be applied only for SELECT statement if there was not explicit LIMIT clause
correct table list passed to class constructor of select_update
mysql-test/r/subselect.result:
do not show limit if it is not explicit
mysql-test/r/union.result:
test of LIMIT + ORDER
mysql-test/t/union.test:
test of LIMIT + ORDER
sql/ha_isammrg.h:
caching of queries with isammerge tables forbiden
sql/sql_cache.cc:
removed check on isammerge
sql/sql_lex.cc:
tag of explicit limit in statement
sql/sql_lex.h:
tag of explicit limit in statement
sql/sql_parse.cc:
blanks in empty line removed
no limit by default (SQL_SELECT_LIMIT as default will be applied only for SELECT statement if there was not explicit LIMIT clause)
sql/sql_union.cc:
reverted incorrect patch
sql/sql_update.cc:
reverted incorrect patch
correct table list passed to class constructor
sql/sql_yacc.yy:
explicit LIMIT marked
mysql-test/r/ps.result:
Added check if multiple SQL statements inside a PS are disabled
mysql-test/t/ps.test:
Added check if multiple SQL statements inside a PS are disabled
into mysql.com:/dbdata/psergey/mysql-4.1-ps-merge
sql/lex.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
CREATE statement allowed extra unnecessary commas
mysql-test/r/alias.result:
Extra comma removed in CREATE statement
mysql-test/r/create.result:
New test for Bug 3481
mysql-test/r/func_str.result:
Extra comma removed in CREATE statement
mysql-test/r/rpl_multi_update.result:
Extra comma removed in CREATE statement
mysql-test/t/alias.test:
Extra comma removed in CREATE statement
mysql-test/t/create.test:
New test for bug 3481
mysql-test/t/func_str.test:
Extra comma removed in CREATE statement
mysql-test/t/rpl_multi_update.test:
Extra comma removed in CREATE statement
sql/sql_yacc.yy:
Fix for bug 3481
No path through the grammar which has no clauses
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
include/my_base.h:
Added three new errorcodes to be returned by the handler
sql/Makefile.am:
Add new files discover.cc, ha_ndbcluster.cc and ha_ndbcluster.h
Add include path of NDB files
sql/handler.cc:
Added variable for keeping track of number of "discovers"
Added NDB to list of storage engines
Added calls to NDB for commit, rollback etc.
Added function ha_discover for discovering a table from handler
sql/handler.h:
Added NDB to list of storage engines
Added vbariable in transaction for keeping a ndb transaction handle
sql/lex.h:
Changed AND to AND_SYM and OR to OR_SYM to avoid nameclash
sql/mysql_priv.h:
Added prototypes for new functions readfrm, writefrm and create_table_from_handler
sql/mysqld.cc:
Added NDB support
Disable NDB with --skip-ndbcluster
sql/set_var.cc:
Add posibilty to show if NDB handler is supported
sql/ha_ndbcluster.cc:
Add ifdef for whole file for not compiling anything if NDB sholdn't be included
Updated timestamp handling to use new vars timestamp_default_now and timestamp_on_update_now
sql/sql_base.cc:
If frm file is not found on disk, ask handler if it knows about the table. Then retry the open.
This new functionality is called "discover" and can be used by any handler.
sql/sql_class.h:
Added variable for keeping a NDB connection handle
sql/sql_table.cc:
Before trying to create a table, ask handler if a table with that name already exists.
If user said CREATE TABLE IF NOT EXISTS, disocver the table from handler
sql/sql_yacc.yy:
Add NDBCLUSTER_SYM
Change AND to AND_SYM
Change OR to OR_SYM
sql/table.cc:
Fixe for probelm when NullS is returned from bas_ext of a handler.
sql/item.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_yacc.yy:
SCCS merged
BitKeeper/etc/ignore:
auto-union
sql/handler.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/unireg.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_table.cc:
Hand-merged
sql/sql_yacc.yy:
Hand-merged
Fixed problems with group_concat() and HAVING
Updated crash-me values
sql-bench/limits/mysql-4.0.cfg:
Rename: sql-bench/limits/mysql.cfg -> sql-bench/limits/mysql-4.0.cfg
include/my_global.h:
Safety fix
libmysqld/Makefile.am:
Portability fix (For AIX 64 bit)
mysql-test/r/func_gconcat.result:
More tests
mysql-test/t/func_gconcat.test:
More tests
sql/field.cc:
Cleanups
sql/init.cc:
moved thread_stack_min to right place
sql/item_sum.cc:
Fixed problems with group_concat() and HAVING
Removed some not needed variables
sql/item_sum.h:
Fixed problems with group_concat() and HAVING
Removed some not needed variables
sql/mysqld.cc:
Moved thread_stack_min to right place to handle case where we didn't get as much stack space as we asked for
sql/sql_parse.cc:
More debugging
sql/sql_select.cc:
Cleanup
sql/sql_yacc.yy:
Fixed handling of Item_group_concat() in having. (Arguments should not be handled as refs)