when dropping database (Bug #3058)
innobase/dict/dict0crea.c:
Add a parameter to row_drop_table_for_mysql()
innobase/dict/dict0dict.c:
Make dict_tables_have_same_db() a global function
innobase/include/dict0dict.h:
Make dict_tables_have_same_db() a global function
innobase/include/row0mysql.h:
Add a parameter to row_drop_table_for_mysql()
innobase/row/row0mysql.c:
Add a parameter "drop_db" to row_drop_table_for_mysql()
to skip foreign constraint checks on tables in same database
innobase/trx/trx0roll.c:
Add a parameter to row_drop_table_for_mysql()
sql/ha_innodb.cc:
Add a parameter "drop_db" to row_drop_table_for_mysql()
innobase_drop_database(): allocate namebuf dynamically
innobase/include/pars0pars.h:
Remove dummy yywrap() function (use %noyywrap in pars0lex.l)
innobase/pars/lexyy.c:
New version corresponding to pars0lex.l
innobase/pars/pars0lex.l:
Add %option statements
Add string_append()
Allow quotes within quotes
Simplify the patterns for matching comments
innobase/pars/pars0pars.c:
Remove dummy yywrap() function (use %noyywrap in pars0lex.l)
innobase/pars/pars0sym.c:
Remove quote handling from sym_tab_add_str_lit()
Final version of patch.
Adds support for specifying of DEFAULT NOW() and/or ON UPDATE NOW()
clauses for TIMESTAMP field definition.
Current implementation allows only one such field per table and
uses several unireg types for storing info about this properties of
field. It should be replaced with better implementation when new
.frm format is introduced.
include/mysqld_error.h:
Added error codes for case when we have more than one column with NOW()
in DEFAULT or ON UPDATE clauses and for case when we are using ON UPDATE
clause with wrong type.
mysql-test/r/create.result:
Added tests for using of DEFAULT NOW() and ON UPDATE NOW() with
non-TIMESTAMP fields.
mysql-test/r/show_check.result:
Updated test results to reflect new default look of TIMESTAMP fields
in SHOW CREATE TABLE.
mysql-test/r/system_mysql_db.result:
Updated test results to reflect new default look of TIMESTAMP fields
in SHOW CREATE TABLE.
mysql-test/r/type_ranges.result:
Updated test results to reflect new default look of TIMESTAMP fields
in SHOW COLUMNS.
mysql-test/r/type_timestamp.result:
Added tests for various DEFAULT and ON UPDATE clauses for TIMESTAMP
fields definitions.
mysql-test/t/create.test:
Added tests for using of DEFAULT NOW() and ON UPDATE NOW() with
non-TIMESTAMP fields.
mysql-test/t/type_timestamp.test:
Added tests for various DEFAULT and ON UPDATE clauses for TIMESTAMP
fields definitions.
sql/field.cc:
Added support for various combinations of DEFAULT and ON UPDATE clauses
for TIMESTAMP field.
Setting TABLE::timestamp* members for TIMESTAMP fields with auto-set
option taking into account their unireg type (which corresponds to
various DEFAULT/ON UPDATE values combinations). Replaced
TABLE::time_stamp with TABLE::timestamp_default_now/on_update_now
couple moved their setup to separate method set_timestamp_offsets(),
which now is called from open_table instead of Field_timestamp cons.
sql/field.h:
Added more unireg types for handling of DEFAULT NOW() and ON UPDATE
NOW() for TIMESTAMP fields.
Fixed value corresponding to DEFAULT item for TIMESTAMP field.
sql/ha_berkeley.cc:
Now TIMESTAMP column with auto-set property could be updated during
INSERT or/and UPDATE independently.
sql/ha_heap.cc:
Now TIMESTAMP column with auto-set property could be updated during
INSERT or/and UPDATE independently.
sql/ha_innodb.cc:
Now TIMESTAMP column with auto-set property could be updated during
INSERT or/and UPDATE independently.
sql/ha_isam.cc:
Now TIMESTAMP column with auto-set property could be updated during
INSERT or/and UPDATE independently.
sql/ha_isammrg.cc:
Now TIMESTAMP column with auto-set property could be updated during
INSERT or/and UPDATE independently.
sql/ha_myisam.cc:
Now TIMESTAMP column with auto-set property could be updated during
INSERT or/and UPDATE independently.
sql/ha_myisammrg.cc:
Now TIMESTAMP column with auto-set property could be updated during
INSERT or/and UPDATE independently.
sql/item_func.h:
We need to distinguish NOW() from other function for using in
DEFAULT and in ON UPDATE clauses.
sql/item_timefunc.h:
We need to distinguish NOW() from other function for using in
DEFAULT and in ON UPDATE clauses.
sql/mysql_priv.h:
Added parameter for ON UPDATE value to add_field_to_list() function.
sql/share/czech/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/danish/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/dutch/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/english/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/estonian/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/french/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/german/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/greek/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/hungarian/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/italian/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/japanese/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/korean/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/norwegian-ny/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/norwegian/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/polish/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/portuguese/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/romanian/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/russian/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/serbian/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/slovak/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/spanish/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/swedish/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/ukrainian/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/sql_base.cc:
Added setup of TABLE::timestamp_default_now/on_update_now pair
for each statement to open_table().
sql/sql_insert.cc:
Using TABLE::timestamp_default_now/on_update_now pair instead of
old TABLE::time_stamp. Added check for case then REPLACE could not
be converted to UPDATE because of different DEFAULT/ON UPDATE values
for TIMESTAMP field.
sql/sql_lex.h:
Added member for value used in ON UPDATE clause to st_lex.
sql/sql_load.cc:
Using TABLE::timestamp_default_now/on_update_now pair instead of
old TABLE::time_stamp. We don't need to restore these members
since they are set up for each statement in open_table().
sql/sql_parse.cc:
Added handling of DEFAULT NOW() and ON UPDATE NOW() clauses for
TIMESTAMP fields to add_field_to_list() function.
sql/sql_show.cc:
Added support for DEFAULT CURRENT_TIMESTAMP (aka NOW() ) and
ON UPDATE CURRENT_TIMESTAMP to SHOW CREATE TABLE and SHOW COLUMNS.
sql/sql_table.cc:
mysql_create_table() function - added check for number of TIMESTAMP
fields with auto-set values and replacing of old style TIMESTAMPs
with their newer analogs.
mysql_alter_table(): Using TABLE::timestamp_default_now/on_update_now
pair instead of old TABLE::time_stamp. We don't need to restore these
members since they are set up for each statement in open_table().
sql/sql_update.cc:
Left only setting of TABLE::timestamp_default_now/on_update_now
to 0 since they should be already set up in open_table().
sql/sql_yacc.yy:
Added support for DEFAULT NOW() and ON UPDATE NOW() in field
definitions.
sql/table.h:
Replaced TABLE::time_stamp withTABLE::timestamp_default_now/timestamp_on_update_now
pair which allows to distinguish TIMESTAMP's with various DEFAULT/ON UPDATE
clauses and optimize checks if TIMESTAMP field should be set to NOW()
in handlers.
sql/unireg.cc:
Now we are marking only TIMESTAMP fields with NOW() as default or
as on update value as special field for unireg.
Added two status variables:
binlog_cache_use - counts number of transactions that used somehow
transaction temporary binary log.
binlog_cache_disk_use - counts number of transactions that required
disk I/O for storing info in this this binary log.
include/my_sys.h:
Added disk_writes member to the IO_CACHE structure for counting number
of times when IO_CACHE was forced to write to disk.
mysql-test/r/rpl_relayrotate.result:
Fixed test result since added test for binlog_cache_use and
binlog_cache_disk_use status variables.
mysql-test/t/rpl_relayrotate.test:
Added test for binlog_cache_use and binlog_cache_disk_use status
variables.
Now dropping t1 table on master too.
mysys/mf_iocache.c:
Added disk_writes member to the IO_CACHE structure for counting number
of times when IO_CACHE was forced to write to disk.
sql/handler.cc:
Added support for binlog_cache_use and binlog_cache_disk_use status
variable. First one is incremented if transaction used somehow
transaction temporary binary log (doesn't matter in memory only or
with writes to disk), the second one is incremented if this binary
log was flushed to disk at some point.
sql/mysql_priv.h:
Added declaration of status variables binlog_cache_use and
binlog_cache_disk_use.
sql/mysqld.cc:
Added status variables binlog_cache_use and binlog_cache_disk_use.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
(
fixed BUG #2385 CREATE TABLE LIKE lacks locking on source and destination table
and added tests for it
)
sql/mysql_priv.h:
added code TEST_SYNCHRONIZATION for --exit-info option
sql/mysqld.cc:
fixed -debug prefix
sql/sql_table.cc:
added synchronization in mysql_create_like_table
(fixed BUG #2385 CREATE TABLE LIKE lacks locking on source and destination table)
BUG #2397 "RENAME TABLES is not blocked by FLUSH TABLES WITH READ LOCK"
(added waiting for global_read_lock in mysql_rename_tables)
mysql-test/r/rename.result:
added test for
BUG #2397 "RENAME TABLES is not blocked by FLUSH TABLES WITH READ LOCK"
mysql-test/t/rename.test:
added test for
BUG #2397 "RENAME TABLES is not blocked by FLUSH TABLES WITH READ LOCK"
sql/sql_rename.cc:
fixed
BUG #2397 "RENAME TABLES is not blocked by FLUSH TABLES WITH READ LOCK"
(added waiting for global_read_lock)
distribution (this is more in line with how "make install" would install
them) - this should also fix a test failure in the "system_mysql_db_fix"
test.
BitKeeper/etc/ignore:
Added cmd-line-utils/libedit/makelist to the ignore list
Add an accessor function to set srv_io_thread_op_info, change the type to const char*, also change the type of srv_io_thread_function to const char*
innobase/srv/srv0srv.c:
Add an accessor function to set srv_io_thread_op_info, change the type to const char*, also change the type of srv_io_thread_function to const char*
innobase/include/srv0srv.h:
Add an accessor function to set srv_io_thread_op_info, change the type to const char*, also change the type of srv_io_thread_function to const char*
innobase/os/os0file.c:
Add an accessor function to set srv_io_thread_op_info, change the type to const char*, also change the type of srv_io_thread_function to const char*
innobase/fil/fil0fil.c:
Add an accessor function to set srv_io_thread_op_info, change the type to const char*, also change the type of srv_io_thread_function to const char*
save moving ON/USING tables conditions to WHERE clause (BUG#2794)
sql/sql_base.cc:
fix for table/field caching mechanism (global lock of it and right table passed as parameter)
save moving ON/USING tables conditions to WHERE clause (BUG#2794)
sql/sql_class.cc:
lock for using field/table cache in Item name resolution
sql/sql_class.h:
lock for using field/table cache in Item name resolution
sql/sql_insert.cc:
lock for using field/table cache in Item name resolution
tests/client_test.c:
Test of PS queries with ON condition
BitKeeper/etc/logging_ok:
auto-union
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Manual merge
table resolution".
Added members to Item_ident for storing original db, table and field
names since those that set later from Field have shorter life-time
than required by prep. stmt. So we need to restore original names in
Item_ident::cleanup(). Also now using special construnctor for creation
of Item_field from Field object that ensures that table and field name
have big enough life-time.
"Fix" for bug #2050 "10 to 1 performance drop with server 4.1.1"
Clean ups in implementation of caching of field number in table.
Added caching of table in which field is found in find_field_in_tables().
sql/item.cc:
Added members to Item_ident for storing original db, table and field
names since those that set later from Field have shorter life-time
than required by prep. stmt. So we need to restore original names in
Item_ident::cleanup().
Added Item_ident::cached_table for caching table there we found
our field.
Added special constructor for creation of Item_field from Field object
that ensures that table and field name have big enough life-time.
sql/item.h:
Added members to Item_ident for storing original db, table and field
names since those that set later from Field have shorter life-time
than required by prep. stmt. So we need to restore original names in
Item_ident::cleanup().
Changed type of Item_ident::cached_field_index from int to uint
(and so NO_CACHED_FIELD_INDEX is UINT_MAX now) because we want to
save one comparison in find_field_in_table().
Added Item_ident::cached_table for caching table there we found
our field.
Added special constructor for creation of Item_field from Field object
that ensures that table and field name have big enough life-time.
sql/mysql_priv.h:
Changed type of cached_field_index_ptr from int* to uint*
(and so NO_CACHED_FIELD_INDEX is UINT_MAX now) because we want to
save one comparison in find_field_in_table().
sql/sql_acl.cc:
Changed type of find_field_in_table() paremeter to make it
faster.
sql/sql_base.cc:
find_field_in_table(): small optimization and soime clean ups in
caching of field index.
find_field_in_tables(): added aggresive caching of table in which
field is found in Item_ident::cached_table.
insert_fields():
using special construnctor for creation of Item_field from Field
object that ensures that table and field name have big enough life-time.
Add assertions to check that we do not go out of bounds of io thread status array
os0file.c:
Fix memory corruption (assertion failure on line 244 of sync0sync.c) reported by Miguel in a Windows build of MySQL-4.1.2. The bug is present in all InnoDB versions in Windows, but it depends on how the linker places a static array in srv0srv.c, whether the bug shows itself. 4 bytes were overwritten with a pointer to a statically allocated string: 'get windows aio return value'.
innobase/os/os0file.c:
Fix memory corruption (assertion failure on line 244 of sync0sync.c) reported by Miguel in a Windows build of MySQL-4.1.2. The bug is present in all InnoDB versions in Windows, but it depends on how the linker places a static array in srv0srv.c, whether the bug shows itself. 4 bytes were overwritten with a pointer to a statically allocated string: 'get windows aio return value'.
innobase/fil/fil0fil.c:
Add assertions to check that we do not go out of bounds of io thread status array
innobase/ha/ha0ha.c:
Remove unused first parameter of ha_chain_get_next()
innobase/include/ha0ha.ic:
Remove unused first parameter of ha_chain_get_next()
Remove unused function ha_next()
innobase/data/data0data.c:
Remove unused global variables
innobase/dict/dict0dict.c:
Remove unused code
innobase/dict/dict0mem.c:
Remove unnecessary function dict_mem_procedure_create()
innobase/include/dict0dict.h:
Remove unused code related to stored procedures
innobase/include/dict0dict.ic:
Remove unnecessary function dict_procedure_get()
innobase/include/dict0mem.h:
Remove unnecessary code related to stored procedures
innobase/include/dict0types.h:
Remove dict_proc_t, as procedures are not stored into database
innobase/include/pars0pars.h:
Remove call_node_struct and references to dict_proc_t,
as procedures are not stored into database or called by name
innobase/include/pars0sym.h:
Remove procedure_def, as procedures are not stored into database
innobase/include/pars0types.h:
Remove call_node_t, as procedures are not called by name
Marked --no-set-names as deprecated, the name is misleading and --no- in front
makes it cumbersome to use with --disable or --skip prefixes.
The old option will still work for the time being.
client/client_priv.h:
Added option --set-charset (disable with --skip-set-charset) to mysqldump.
Portability fixes
client/mysqltest.c:
Fixed that if error number 0 is included in --error, we will not generate an error message
include/mysql.h:
Portability fix
mysql-test/mysql-test-run.sh:
Portability fix
mysql-test/r/heap_btree.result:
Portability fix
mysql-test/r/rpl_error_ignored_table.result:
Portability fix
mysql-test/t/heap_btree.test:
Portability fix
mysql-test/t/rpl_error_ignored_table.test:
Portability fix
sql/sql_base.cc:
simple optimzation
sql/sql_yacc.yy:
simple optimzation
implemented in the client library and server.
Warning: this makes the new client library and server incompatible with all
previous versions and 5.0.
libmysql/libmysql.c:
Make client library compatible with future extensions: types of placeholders,
names of named parameters, cursors and array execution.
sql/sql_prepare.cc:
Alpha server side support for future extensions: types of placeholders and names of
named parameters are sent to client (virtually), cursor flags and execution
count received in COM_EXECUTE packet are ignored.
mysql-test/r/query_cache.result:
test suite for BUG#3296
mysql-test/t/query_cache.test:
test suite for BUG#3296
sql/sql_cache.cc:
null processing for character_set_results
This is to enable table handlers to implement online create/drop index.
It consists of some parts:
- New default handler methods in handler.h
- Split of mysql_alter_table. It decides if only one kind of
alteration is to be done (e.g. only create indexes or only drop
indexes etc.) It then calls the specialized new handler method if
the handler implements it. Otherwise it calls real_alter_table.
- The parser sets flags for each alter operation detected in a
command. These are used by mysql_alter_table for the decision.
- mysql_prepare_table is pulled out of mysql_create_table. This is
also used by mysql_create_index to prepare the key structure array
for the handler. It is also used by mysql_create_index and
mysql_drop_index to prepare a call to mysql_create_frm.
- mysql_create_frm is pulled out of rea_create_table for use by
mysql_create_index and mysql_drop_index after the index is
created/dropped.
Thanks to Antony who supplied most of the changes.
sql/handler.h:
Worklog#1563 - Support of on-line CREATE/DROP INDEX.
New virtual handler methods with default implementation and return flags.
sql/mysql_priv.h:
Worklog#1563 - Support of on-line CREATE/DROP INDEX.
New function prototypes. mysql_prepare_table is pulled out of
mysql_create_table. It prepares a table structure, which is used by
mysql_create_table, mysql_create_index and mysql_drop_index.
real_alter_table is pulled out of mysql_alter_table. The latter only
looks if the requested operation can be done by specialized functions
or else calls real_alter_table, which does the real thing.
mysql_add_column and mysql_drop_colunm are for future use. They simply
call real_alter_table. mysql_create_frm is pulled out of
rea_create_table. It is called also from mysql_create_index and
mysql_drop_index after successful create/drop index.
mysql_alter_table prototype is extended by the new alter_flags argument.
sql/sql_base.cc:
Worklog#1563 - Support of on-line CREATE/DROP INDEX.
mysql_create_index and mysql_drop_index moved to sql_table.cc.
sql/sql_lex.h:
Worklog#1563 - Support of on-line CREATE/DROP INDEX.
Definitions for the new alter_flags.
sql/sql_parse.cc:
Worklog#1563 - Support of on-line CREATE/DROP INDEX.
Extend the calls to mysql_alter_table by the new alter_flags argument.
sql/sql_table.cc:
Worklog#1563 - Support of on-line CREATE/DROP INDEX.
mysql_prepare_table is pulled out of mysql_create_table.
mysql_create_index and mysql_drop_index are changed so that they use
the new handler functions if the handler implements them.
mysql_add_column and mysql_drop_column are for future use. They simply
call real_alter_table. mysql_alter_table only decides which function
to use for the requested operation. real_alter_table implements most
of what mysql_alter_table did before.
sql/sql_yacc.yy:
Worklog#1563 - Support of on-line CREATE/DROP INDEX.
Set the alter_flags where appropriate.
sql/unireg.cc:
Worklog#1563 - Support of on-line CREATE/DROP INDEX.
mysql_create_frm is pulled out of rea_create_table.
and for (2) converting the columns:
1. ALTER TABLE t1 [DEFAULT] CHARACTER SET xxx [COLLATE yyy]
2. ALTER TABLE t1 CONVERT TO CHARACTER SET xxx [COLLATE yyy]
client/mysqltest.c:
Added support for --enable_metadata
mysql-test/t/order_by.test:
Improved comment
scripts/mysqlaccess.sh:
CGI is required (Bug #2988)
sql/field.cc:
Fix to get correct metadata when using temporary tables to create result
sql/field.h:
Fix to get correct metadata when using temporary tables to create result
sql/sql_insert.cc:
Fix to get correct metadata when using temporary tables to create result