command and reported to a client.
The fact that a timestamp field will be set to NO on UPDATE wasn't shown
by the SHOW COMMAND and reported to a client through connectors. This led to
problems in the ODBC connector and might lead to a user confusion.
A new filed flag called ON_UPDATE_NOW_FLAG is added.
Constructors of the Field_timestamp set it when a field should be set to NOW
on UPDATE.
The get_schema_column_record function now reports whether a timestamp field
will be set to NOW on UPDATE.
The columns in HAVING can reference the GROUP BY and
SELECT columns. There can be "table" prefixes when
referencing these columns. And these "table" prefixes
in HAVING use the table alias if available.
This means that table aliases are subject to the same
storage rules as table names and are dependent on
lower_case_table_names in the same way as the table
names are.
Fixed by :
1. Treating table aliases as table names
and make them lowercase when printing out the SQL
statement for view persistence.
2. Using case insensitive comparison for table
aliases when requested by lower_case_table_names
if running as root
Every start of a server in the test suite raised that warning.
The cause was an unconditionla add of the --user option to the
server command line. Only the "root" user (effective user id == 0)
must use that option.
Added check for effective user id == 0 before adding --user.
Thanks to Magnus Svensson for the patch.
When mysql_server_init() interrupts on some error (wrong errmsg file
for example) in the middle of it's execution, it doesn't call
execute_ddl_log_recovery() so LOCK_gdl mutex isn't init-ed.
In this case we shouldn't execute release_ddl_log during cleanup
as it uses that mutex inside.
Crash happens as a result of NO_EMBEDDED_ACCESS_CHECKS option
(which is default for embedded server).
check_table_access failed on using unintialized structure.
Better solutions here is to disable that code completely in this case.
Though the crash happens only in 6.0 i belive it's good to do it in 5.1
max_length parameter for BLOB-returning functions must be big enough
for any possible content. Otherwise the field created for a table
will be too small.
Partition handler fails updating tables with partitioning
based on timestamp field, as it calculates the timestamp field
AFTER it calculates the number of partition of a record.
Fixed by adding timestamp_field->set_time() call and disabling
such consequent calls
Merge fix
partition_mgm did not require have_symlink.
Moved the test case to partition_symlink, which
require have_symlink, and should work on both *nix and
Windows
When we insert a record into MYISAM table which is almost 'full',
we first write record data in the free space inside a file, and then
check if we have enough space after the end of the file.
So if we don't have the space, table will left corrupted.
Similar error also happens when we updata MYISAM tables.
Fixed by modifying write_dynamic_record and update_dynamic_record functions
to check for free space before writing parts of a record
partitioned table
Post-pushbuild fix
Pushbuild detected a new need for lex initialization in
embedded server.
Fixed test for INSERT DELAYED in partitions_hash.test so that
it works with embedded server.