the second is for the rest of time declarations in mysys.
include/my_time.h:
New declarations moved from mysql_time.h
include/mysql_time.h:
New declarations moved to my_time.h.
sql/tztime.cc:
Enforcing Monty's approach to header files.
sql/tztime.h:
Enforcing Monty's approach to header files: everything is included in
one place.
into eel.hemma.oreland.se:/ndb/clone-mysql-4.1-ndb-daily-2004-08-04
BitKeeper/etc/logging_ok:
auto-union
ndb/src/common/debugger/signaldata/SignalDataPrint.cpp:
Auto merged
ndb/src/cw/cpcd/Process.cpp:
Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
ndb/src/kernel/blocks/dbtux/Dbtux.hpp:
Auto merged
ndb/src/kernel/blocks/dbtux/DbtuxMeta.cpp:
Auto merged
ndb/src/kernel/blocks/dbtux/DbtuxTree.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
ndb/test/ndbapi/testBasic.cpp:
Auto merged
ndb/test/run-test/main.cpp:
Auto merged
ndb/test/src/HugoTransactions.cpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
Changed URL in error message, page has moved
netware/mysql_test_run.c:
Changed URL in error message, page has moved
sql/mysqld.cc:
Changed URL in error message, page has moved
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
sql/share/czech/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/danish/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/dutch/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/english/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/estonian/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/french/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/german/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/greek/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/hungarian/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/japanese/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/korean/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/norwegian-ny/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/norwegian/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/polish/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/portuguese/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/romanian/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/russian/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/slovak/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/spanish/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/swedish/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/ukrainian/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
Added NDBCLUSTER to table types which does not support generate.
Added test case for truncate.
sql/handler.h:
Add NDBCLUSTER to table types that does not support generate.
Check if there are any operations pending that needs to be taken over to the updating/deleting transaction before closing the scan
sql/ha_ndbcluster.cc:
Check ops_pending if there are operations to take over before closing the scan
BitKeeper/etc/logging_ok:
auto-union
ndb/include/kernel/NodeState.hpp:
Auto merged
ndb/include/ndbapi/NdbDictionary.hpp:
Auto merged
ndb/include/util/Bitmask.hpp:
Auto merged
ndb/src/common/debugger/EventLogger.cpp:
Auto merged
ndb/src/common/transporter/TransporterRegistry.cpp:
Auto merged
ndb/src/common/util/SocketServer.cpp:
Auto merged
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
Auto merged
ndb/src/kernel/blocks/dbacc/DbaccMain.cpp:
Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Auto merged
ndb/src/kernel/blocks/dbdih/DbdihInit.cpp:
Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
ndb/src/kernel/main.cpp:
Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
Auto merged
ndb/src/kernel/error/ErrorReporter.hpp:
Auto merged
ndb/src/mgmapi/mgmapi.cpp:
Auto merged
ndb/src/mgmclient/CpcClient.cpp:
Auto merged
ndb/src/mgmsrv/Services.cpp:
Auto merged
ndb/src/ndbapi/Ndb.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
ndb/src/ndbapi/NdbEventOperationImpl.cpp:
Auto merged
ndb/src/ndbapi/Ndbinit.cpp:
Auto merged
ndb/test/include/NDBT_Table.hpp:
Auto merged
ndb/test/include/NDBT_Test.hpp:
Auto merged
ndb/test/run-test/main.cpp:
Auto merged
ndb/test/src/HugoOperations.cpp:
Auto merged
ndb/test/src/HugoTransactions.cpp:
Auto merged
ndb/test/src/NDBT_Tables.cpp:
Auto merged
ndb/test/src/NDBT_Test.cpp:
Auto merged
ndb/test/src/NdbRestarter.cpp:
Auto merged
ndb/tools/waiter.cpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
- client side part is simple and may be considered stable
- server side part now just joggles with THD state to save execution
state and has no additional locking wisdom.
Lot's of it are to be rewritten.
include/mysql.h:
Cursor patch to push into the main tree, client library part (considered
stable):
- new statement attribute STMT_ATTR_CURSOR_TYPE
- MYSQL_STMT::flags to store statement cursor type
- MYSQL_STMT::server_status to store server status (i. e. if the server
was able to open a cursor for this query).
include/mysql_com.h:
Cursor patch to push into the main tree, client library part (considered
stable):
- new COMmand, COM_FETCH, to fetch K rows from read-only cursor.
By design should support scrollable cursors as well.
- a few new server statuses:
SERVER_STATUS_CURSOR_EXISTS is sent by server in reply to COM_EXECUTE,
when cursor was successfully opened for this query
SERVER_STATUS_LAST_ROW_SENT is sent along with the last row to prevent one
more round trip just for finding out that all rows were fetched from
this cursor (this is server mem savier also).
- and finally, all possible values of STMT_ATTR_CURSOR_TYPE,
while now we support only CURSORT_TYPE_NO_CURSOR and
CURSOR_TYPE_READ_ONLY
libmysql/libmysql.c:
Cursor patch to push into the main tree, client library part (considered
stable):
- simple additions to mysql_stmt_fetch implementation to read data
from an opened cursor: we can read up to iteration count rows per
one request; read rows are buffered in the same way as rows of
mysql_stmt_store_result.
- now send stmt->flags to server to let him now if we wish to have
a cursor for this statement.
- support for setting/getting statement cursor type.
libmysqld/examples/Makefile.am:
Testing cursors was originally implemented in C++. Now when these tests
go into client_test, it's time to convert it to C++ as well.
libmysqld/lib_sql.cc:
- cleanup: send_fields flags are now named.
sql/ha_innodb.cc:
- cleanup: send_fields flags are now named.
sql/mysql_priv.h:
- cursors support: declaration for server-side handler of COM_FETCH
sql/protocol.cc:
- cleanup: send_fields flags are now named.
- we can't anymore assert that field_types[field_pos] is sensible:
if we have COM_EXCUTE(stmt1), COM_EXECUTE(stmt2), COM_FETCH(stmt1)
field_types[field_pos] will point to fields of stmt2.
sql/protocol.h:
- cleanup: send_fields flag_s_ are now named.
sql/protocol_cursor.cc:
- cleanup: send_fields flags are now named.
sql/repl_failsafe.cc:
- cleanup: send_fields flags are now named.
sql/slave.cc:
- cleanup: send_fields flags are now named.
sql/sp.cc:
- cleanup: send_fields flags are now named.
sql/sp_head.cc:
- cleanup: send_fields flags are now named.
sql/sql_acl.cc:
- cleanup: send_fields flags are now named.
sql/sql_class.cc:
- cleanup: send_fields flags are now named.
sql/sql_class.h:
- cleanup: send_fields flags are now named.
sql/sql_error.cc:
- cleanup: send_fields flags are now named.
sql/sql_handler.cc:
- cleanup: send_fields flags are now named.
sql/sql_help.cc:
- cleanup: send_fields flags are now named.
sql/sql_parse.cc:
Server side support for cursors:
- handle COM_FETCH
- enforce assumption that whenever we free thd->free_list,
we reset it to zero. This way it's much easier to handle free_list
in prepared statements implementation.
sql/sql_prepare.cc:
Server side support for cursors:
- implementation of mysql_stmt_fetch (fetch some rows from open cursor).
- management of cursors memory is quite tricky now.
- execute_stmt can't be reused anymore in mysql_stmt_execute and
mysql_sql_stmt_execute
sql/sql_repl.cc:
- cleanup: send_fields flags are now named.
sql/sql_select.cc:
Server side support for cursors:
- implementation of Cursor::open, Cursor::fetch (buggy when it comes to
non-equi joins), cursor cleanups.
- -4 -3 -0 constants indicating return value of sub_select and end_send are
to be renamed to something more readable:
it turned out to be not so simple, so it should come with the other patch.
sql/sql_select.h:
Server side support for cursors:
- declaration of Cursor class.
- JOIN::fetch_limit contains runtime value of rows fetched via cursor.
sql/sql_show.cc:
- cleanup: send_fields flags are now named.
sql/sql_table.cc:
- cleanup: send_fields flags are now named.
sql/sql_union.cc:
- if there was a cursor, don't cleanup unit: we'll need it to fetch
the rest of the rows.
tests/Makefile.am:
Now client_test is in C++.
tests/client_test.cc:
A few elementary tests for cursors.
BitKeeper/etc/ignore:
Added libmysqld/examples/client_test.cc to the ignore list
Added a simple optimizer that shortcuts jumps and skip unused instructions.
sql/sp.cc:
Optimize the code after parsing.
sql/sp_head.cc:
Added a simple optimizer that shortcuts jumps and skip unused instructions.
sql/sp_head.h:
Added a simple optimizer that shortcuts jumps and skip unused instructions.
Bug #4810 "deadlock with KILL when the victim was in a wait state"
(I included mutex unlock into exit_cond() for future safety)
and BUG#4827 "KILL while START SLAVE may lead to replication slave crash"
sql/lock.cc:
we did exit_cond() before unlock(LOCK_open), which led to deadlocks with THD::awake(). Fixing this.
sql/log.cc:
mutex unlock is now included in exit_cond()
sql/repl_failsafe.cc:
we did exit_cond() before unlock(LOCK_rpl_status), which led to deadlocks with THD::awake(). Fixing this.
sql/slave.cc:
we did exit_cond() before unlock(cond_lock), which led to deadlocks with THD::awake(). Fixing this.
Fixing also that if killed while waiting for slave thread to start, we don't release the mutex
(that caused a double release of the mutex => crash).
sql/sql_class.h:
comments about exit_cond()/enter_cond().
Mutex unlock is now included in exit_cond() so that it's always done in the good order.
sql/sql_table.cc:
unlock is now included in exit_cond().
sql/sql_class.h:
removing the assertion as I don't want to include assert.h (inclusion of assert.h has already been
reworked in 4.1, so I'll move the assertion to 4.1). Assertion makes compilation fail if non-debug.
ha_innobase::create(): pass the query string as UTF-8
to row_table_add_foreign_constraints() (Bug #4649)
sql/ha_innodb.cc:
ha_innobase::create(): pass the query string as UTF-8
to row_table_add_foreign_constraints() (Bug #4649)
flags to enable static linking (to avoid having a shared lib
dependency in the Linux RPMs)
- Disabled OpenSSL in the Max RPM
sql/Makefile.am:
- added the MYSQL_EXTRA_LDFLAGS to the mysql_tzinfo_to_sql link
flags to enable static linking (to avoid having a shared lib
dependency in the Linux Server RPMs)
support-files/mysql.spec.sh:
- Disable OpenSSL in the Max RPM
happen on SMP machines, when a thread is going to wait on a condition and it is KILLed at the
same time.
Cleaning code a bit by adding a test in enter_cond() that we have the mutex (was already the case in all places
where it's called except one which is fixed here).
sql/log.cc:
safe_mutex_assert_owner() is now in THD::enter_cond()
sql/slave.cc:
lock mutex before waiting on condition.
sql/sql_class.cc:
THD::awake(): before locking the mutex, let's test it's not zero;
in theory indeed, the killer thread may see current_cond non-zero and current_mutex zero
(order of assignments is not guaranteed by POSIX).
A comment noting that there is still a small chance a KILL does not work and needs
being re-issued.
sql/sql_class.h:
Assert in enter_cond() that we have the mutex.
It is already the case in all places where we call enter_cond(), so better ensure it there.
options for mysqlbinlog, with a test file.
This enables user to say "recover my database to how it was this morning at 10:30"
(mysqlbinlog "--stop-datetime=2003-07-29 10:30:00").
Using time functions into client/ made me move them out of sql/ into sql-common/.
+ (small) fix for BUG#4507 "mysqlbinlog --read-from-remote-server sometimes
cannot accept 2 binlogs" (that is, on command line).
client/client_priv.h:
new options for mysqlbinlog
client/mysqlbinlog.cc:
WL#1580: --start-datetime, --stop-datetime, --start-position (alias for --position) and --stop-position.
(small) fix for BUG#4507 "mysqlbinlog --read-from-remote-server sometimes
cannot accept 2 binlogs".
include/my_time.h:
importing time functions so that client/ files can use them.
include/mysql_time.h:
importing time types so that client/ files can use them.
sql-common/my_time.c:
importing time functions so that client/ files can use them.
sql/mysql_priv.h:
moving time functions out of sql/ into sql-common/
sql/time.cc:
moving time functions out of sql/ into sql-common/
sql/tztime.h:
moving time functions out of sql/ into sql-common/
Simply disallow it, just as we disallow creation of routines from within
other SPs.
include/mysqld_error.h:
New error code for when attempting to drop a stored routine from within
another stored routine.
mysql-test/r/sp-error.result:
New test case for BUG#4344.
mysql-test/t/sp-error.test:
New test case for BUG#4344.
sql/share/czech/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/danish/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/dutch/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/english/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/estonian/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/french/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/german/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/greek/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/hungarian/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/italian/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/japanese/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/korean/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/norwegian-ny/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/norwegian/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/polish/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/portuguese/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/romanian/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/russian/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/serbian/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/slovak/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/spanish/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/swedish/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/share/ukrainian/errmsg.txt:
New error message for when attempting to drop a stored routine from within
another stored routine.
sql/sql_yacc.yy:
Don't allow drop function/procedure from within another function/procedure.
at least partially. It doesn't crash or give packets out of order
any more, but it's unclear why it doesn't actually return anything
from within an SP. This should be investigated at some point, but
for the moment this will have to do. (It is a rather obscure feature... :)
mysql-test/r/sp.result:
Test case for BUG#4318.
mysql-test/t/sp.test:
Test case for BUG#4318.
sql/sql_yacc.yy:
Recognize HANDLER READ as another statement that might result in multiple results.
TIMESTAMP columns should be unsigned to preserve compatibility with 4.0
(Or else InnoDB will return different internal TIMESTAMP values when user upgrades to 4.1).
Altough this fix will introduce problems with early 4.1 -> 4.1 upgrades (tables with
TIMESTAMP field should be reloaded using mysqldump) it will allow easy 4.0 -> 4.1
upgrade (which is more important since 4.1 is still beta).
mysql-test/r/metadata.result:
TIMESTAMP should be UNSIGNED as in 4.0.
mysql-test/r/ps_2myisam.result:
TIMESTAMP should be UNSIGNED as in 4.0.
mysql-test/r/ps_3innodb.result:
TIMESTAMP should be UNSIGNED as in 4.0.
mysql-test/r/ps_4heap.result:
TIMESTAMP should be UNSIGNED as in 4.0.
mysql-test/r/ps_5merge.result:
TIMESTAMP should be UNSIGNED as in 4.0.
sql/field.cc:
TIMESTAMP should be UNSIGNED to preserve compatiblity with 4.0.
(Or else InnoDB will return different internal TIMESTAMP values when user upgrades to 4.1).