sql/item.cc:
Fix valgrind errors: we need Item::name to point to PS memory
as well.
sql/item.h:
set_field no longer can be reused as is for PS purposes.
sql/sql_union.cc:
Item_field::set_field -> Item_field::reset_field.
names with ident. tables fr. diff. schemata": revise all uses of
Item_field and make them prepared-statements friendly when necessary.
mysql-test/r/ps.result:
Test results fixed: the test case for Bug#6050
mysql-test/r/ps_1general.result:
Test results fixed: in prepared statements we expand '*' to a list
of fully qualified fields (db.table.column).
mysql-test/t/ps.test:
A test for Bug#6050 "EXECUTE stmt reports ambiguous fieldnames with
ident. tables fr. diff. schemata"
sql/item.cc:
Revise all Item_field constructors: we need to make sure that no Item_field
object points to unaccessible memory in prepared statements.
sql/item.h:
Revise all Item_field constructors: we need to make sure that no Item_field
object points to unaccessible memory in prepared statements.
sql/sql_base.cc:
Item_field use changed to be prepared statements friendly.
sql/sql_class.h:
New check of Item_arena state.
sql/sql_union.cc:
Fixing the problem with name resolving in UNION and prepared statements:
In case of SELECT a, b, c FROM t1 UNION SELECT a, b, c FROM t2 the list of
selected items is represented as a List<Item_field>, where each
Item_field points to a field of temporary table.
But the temporary table is created anew on each execution of the prepared
statement. So on each subsequent execution we should reset Item_field
items to point to fields from freshly-created temporary table.
sql/table.h:
Comment TABLE member.
this timestamp might not be the correct time because e.g. ALTER TABLE
changes this timestamp.
sql/ha_innodb.cc:
Do not show check_time and update_time because we do not really know them.
UPDATE, INSERT and CHECK TABLE do not change these timestamps.
Added SQLSTATE matching support to test engine
mysqltest.result, mysqltest.test:
new file
mysql-test/t/mysqltest.test:
Added SQLSTATE matching support to test engine
mysql-test/r/mysqltest.result:
Added SQLSTATE matching support to test engine
client/mysqltest.c:
Added SQLSTATE matching support to test engine
positive numbers when no resultset is available": when sending
result set metadata we need to use virtual select_result::send_fields,
and not address protocol directly, because select_result descendents may
intercept result set (it's the case for example for SELECT INTO OUTFILE).
sql/sql_class.h:
A fix for bug#6059 "mysql_stmt_field_count returns positive numbers
when no resultset is available": introducing select_result::field_count()
method to report actual number of fields in a result set, if any result
set is sent to client.
sql/sql_prepare.cc:
A fix for bug#6059 "mysql_stmt_field_count returns
positive numbers when no resultset is available": when sending
result set metadata we need to use virtual select_result::send_fields,
and not address protocol directly, because select_result descendents may
intercept result set (it's the case for example for SELECT INTO OUTFILE).
Now we need to always have lex->result set if we're in prepared statements.
tests/client_test.c:
A test case for Bug#6059 "mysql_stmt_field_count returns positive
numbers when no resultset is available"
It also did not write ~/.mysql_history file. The problem was in alloc(),
which probably does not work on HP-UX-11.23 ia64 platform. Changed some
macros into functions for better maintenance and debugging.
mysql-test/r/ps_10nestset.result:
Correct the expected protocol according to the test changes.
mysql-test/t/ps_10nestset.test:
Improve comments; adapt to standard test style:
disable warnings around 'drop table', use 't#' table name scheme.
mysql-test/t/ps_11bugs.test:
Corrected a typing error in the bug number comment.
for InnoDB tables. Note that these times may always be correct ones,
because for example ALTER TABLE creates a table again.
innobase/include/os0file.h:
Added information of file timestamps and a function os_file_get_status
to get that information using stat().
innobase/os/os0file.c:
Added function that return information obout the specified file.
sql/ha_innodb.cc:
Get timestamps for the file where the table is stored.
provite declarations for signal print functions, needed on some platforms
ome platforms don't like the length calculation for SignalDataPrintFunction
so null terminate instead
ome platforms complain about this extra level Logger::Logger::
null terminate SignalDataPrintFunctions instead
move declaration of print function to SignalData.hpp
just change from "" to <> in include
moved double declatration of i out
ndb/include/kernel/signaldata/DihContinueB.hpp:
changed to same signature as rest of print functions
ndb/include/kernel/signaldata/NdbfsContinueB.hpp:
changed to same signature as rest of print functions
ndb/include/kernel/signaldata/SignalData.hpp:
provite declarations for signal print functions, needed on some platforms
ndb/src/common/debugger/DebuggerNames.cpp:
some platforms don't like the length calculation for SignalDataPrintFunction
so null terminate instead
ndb/src/common/debugger/EventLogger.cpp:
some platforms complain about this extra level Logger::Logger::
ndb/src/common/debugger/signaldata/ContinueB.cpp:
changed to same signature as rest of print functions
ndb/src/common/debugger/signaldata/DihContinueB.cpp:
changed to same signature as rest of print functions
ndb/src/common/debugger/signaldata/NdbfsContinueB.cpp:
changed to same signature as rest of print functions
ndb/src/common/debugger/signaldata/SignalDataPrint.cpp:
null terminate SignalDataPrintFunctions instead
move declaration of print function to SignalData.hpp
ndb/src/common/portlib/NdbSleep.c:
just change from "" to <> in include
ndb/src/mgmsrv/Services.cpp:
moved double declatration of i out