set auto_increment_field_not_null to true to preserve zero values
for autoincrement fields during LOAD DATA execution if
NO_AUTO_VALUE_ON_ZERO sql mode is set
mysql-test/r/loaddata.result:
Fix for bug#12053 LOAD DATA INFILE ignores NO_AUTO_VALUE_ON_ZERO setting
test case
mysql-test/t/loaddata.test:
Fix for bug#12053 LOAD DATA INFILE ignores NO_AUTO_VALUE_ON_ZERO setting
test case
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.0
mysql-test/r/ndb_alter_table.result:
Auto merged
mysql-test/t/ndb_alter_table.test:
Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Auto merged
sql/sql_yacc.yy:
a fix (#11553: gives error if aggregate user-defined function in HAVING clause).
udf_sum_expr_list rule introduced and used for aggregate udf functions:
- call inc_in_sum_expr() before udf_expr_list parsing
(as in_sum_expr rule does).
ndb alter table with big dicttabinfo
send alter_tab_req fragmented as signal can get larger than MAX_MESSAGE_SIZE
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
DictTabInfo used during alter table can easily becom larger than MAX_MESSAGE_SIZE
send fragmented instead
Fixed problems in test suite where some test failed
Fixed access to not initialized memory in federated
Fixed access to not initialized memory when using BIT fields in internal temporary tables
BitKeeper/etc/ignore:
added libmysqld/sql_cursor.h
mysql-test/r/information_schema.result:
Change view names to 'v#' to not cause massive conflict with other tests if test dies in the middlecd
mysql-test/r/information_schema_inno.result:
Remove used tables at start
mysql-test/r/multi_statement.result:
Remove used tables at start
mysql-test/r/temp_table.result:
Change view names to 'v#' to not cause massive conflict with other tests if test dies in the middle
mysql-test/r/type_bit.result:
More tests
mysql-test/t/information_schema.test:
Change view names to 'v#' to not cause massive conflict with other tests if test dies in the middle
mysql-test/t/information_schema_inno.test:
Remove used tables at start
mysql-test/t/multi_statement.test:
Remove used tables at start
mysql-test/t/temp_table.test:
Change view names to 'v#' to not cause massive conflict with other tests if test dies in the middle
mysql-test/t/type_bit.test:
More tests
mysql-test/valgrind.supp:
Removed some valgrind warnings that isn't errors
sql/ha_federated.cc:
Fixed errors discovered by valgrind:
- Socket was not initialized
- share->scheme was deleted while there was still pointer into it from the hash
sql/item_func.h:
Remove access to table object from cleanup() as the table object may have been dropped earlier (In case of temporary tables or of close_thread_tables() is run before cleanup())
This fixed a bug with access to already freed memory
sql/sql_base.cc:
Reset variables used by fulltext
sql/sql_select.cc:
Fixed various problems with bit fields when used in internal temporary tables.
Calculate space needed for bit fields correctly (previously we allocated more space than needed for rows in heap/myisam tables)
into mysql.com:/home/jimw/my/mysql-4.1-clean
zlib/ChangeLog:
Auto merged
zlib/FAQ:
Auto merged
zlib/README:
Auto merged
zlib/crc32.c:
Auto merged
zlib/deflate.c:
Auto merged
zlib/deflate.h:
Auto merged
zlib/gzio.c:
Auto merged
zlib/infback.c:
Auto merged
zlib/inffast.c:
Auto merged
zlib/inflate.c:
Auto merged
zlib/inftrees.c:
Auto merged
zlib/inftrees.h:
Auto merged
zlib/trees.c:
Auto merged
zlib/zconf.h:
Auto merged
zlib/zlib.3:
Auto merged
zlib/zlib.h:
Auto merged
zlib/zutil.h:
Auto merged
cursor is interpreted latin1 character and Bug#9819 "Cursors: Mysql Server
Crash while fetching from table with 5 million records."
A fix for a possible memory leak when fetching into an SP cursor
in a long loop.
The patch uses a common implementation of cursors in the binary protocol and
in stored procedures and implements materialized cursors.
For implementation details, see comments in sql_cursor.cc
include/my_sys.h:
- declaration for multi_alloc_root
libmysqld/Makefile.am:
- drop protocol_cursor.cc, add sql_cursor.cc (replaces the old
implementation of cursors with a new one)
mysql-test/r/ctype_ujis.result:
- test results fixed (a test case for Bug#6513)
mysql-test/r/sp-big.result:
- test results fixed (a test case for Bug#9819)
mysql-test/t/ctype_ujis.test:
Add a test case for Bug#6513 "Test Suite: Values inserted by using cursor is
interpreted latin1 character"
mysql-test/t/sp-big.test:
Add a restricted test case for Bug#9819 "Cursors: Mysql Server Crash
while fetching from table with 5 million records."
mysys/my_alloc.c:
- an implementation of multi_alloc_root; this is largely a copy-paste
from mulalloc.c, but the function is small and there is no easy way
to reuse the existing C function.
sql/Makefile.am:
- add sql_cursor.h, sql_cursor.cc (a new implementation of stored procedure
cursors) and drop protocol_cursor.cc (the old one)
sql/handler.cc:
- now TABLE object has its mem_root always initialized.
Adjust the implementation handler::ha_open
sql/item_subselect.cc:
- adjust to the changed declaration of st_select_lex_unit::prepare
sql/protocol.h:
- drop Protocol_cursor
sql/sp_head.cc:
- move juggling with Query_arena::free_list and Item::next to
sp_eval_func_item, as this is needed in 3 places already.
sql/sp_head.h:
- declare a no-op implementation for cleanup_stmt in sp_instr_cpush.
This method is needed for non-materializing cursors, which are yet not
used in stored procedures.
- declaration for sp_eval_func_item
sql/sp_rcontext.cc:
- reimplement sp_cursor using the new implementation of server side cursors.
- use sp_eval_func_item to assign values of SP variables from the
row fetched from a cursor. This should fix a possible memory leak in
the old implementation of sp_cursor::fetch
sql/sp_rcontext.h:
- reimplement sp_cursor using the new implementation of server side cursors.
sql/sql_class.cc:
- disable the functionality that closes transient cursors at commit/rollback;
transient cursors are not used in 5.0, instead we use materialized ones.
To be enabled in a later version.
sql/sql_class.h:
- adjust to the rename Cursor -> Server_side_cursor
- additional declarations of select_union used in materialized cursors
sql/sql_derived.cc:
- reuse bits of tmp table code in UNION, derived tables, and materialized
cursors
- cleanup comments
sql/sql_lex.h:
- declarations of auxiliary methods used by materialized cursors
- a cleanup in st_select_lex_unit interface
sql/sql_list.h:
- add an array operator new[] to class Sql_alloc
sql/sql_prepare.cc:
- split the tight coupling of cursors and prepared statements to reuse
the same implementation in stored procedures
- cleanups of error processing in Prepared_statement::{prepare,execute}
sql/sql_select.cc:
- move the implementation of sensitive (non-materializing) cursors to
sql_cursor.cc
- make temporary tables self-contained: the table, its record and fields
are allocated in TABLE::mem_root. This implementation is not clean
and resets thd->mem_root several times because of the way create_tmp_table
works (many additional things are done inside it).
- adjust to the changed declaration of st_select_lex_unit::prepare
sql/sql_select.h:
- move the declaration of sensitive (non-materializing) cursors to
sql_cursor.cc
sql/sql_union.cc:
- move pieces of st_select_unit::prepare to select_union and st_table
methods to be able to reuse code in the implementation of materialized
cursors
sql/sql_view.cc:
- adjust to the changed signature of st_select_lex_unit::prepare
sql/table.cc:
- implement auxiliary st_table methods for use with temporary tables
sql/table.h:
- add declarations for auxiliary methods of st_table used to work with
temporary tables
tests/mysql_client_test.c:
- if cursors are materialized, a parallel update of the table used
in the cursor may go through: update the test.
sql/sql_cursor.cc:
New BitKeeper file ``sql/sql_cursor.cc'' -- implementation of server side
cursors
sql/sql_cursor.h:
New BitKeeper file ``sql/sql_cursor.h'' - declarations for
server side cursors.
thd->allow_sum_func was left 'true' after previous statement thus allowing
sum funcs to be present in conditions.
thd->allow_sum_func should be set to 0 for each query and each prepared
statement reinitialization. This is done in lex_start() and
reset_stmt_for_execute().
sql/sql_lex.cc:
Fix bug#13180 thd->allow_sum_func wasn't reset obefore query processing.
thd->allow_sum_func is set to 0 in lex_start().
sql/sql_prepare.cc:
Fix bug#13180 thd->allow_sum_func wasn't reset obefore query processing.
thd->allow_sum_func is set to 0 in reset_stmt_for_execute().
mysql-test/t/update.test:
Test case for bug#13180 thd->allow_sum_funcs wasn't reset before query
processing.
mysql-test/r/update.result:
Test case for bug#13180 thd->allow_sum_funcs wasn't reset before query
processing.
into serg.mylan:/usr/home/serg/Abk/mysql-5.0-merged
sql/ha_myisam.cc:
Auto merged
sql/handler.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.0
ndb/src/kernel/blocks/backup/Backup.cpp:
Auto merged
ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
Auto merged
ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp:
merge
ndb backup with charsets and simultanious updates
make sure that backup _dont_ read xfrm data
ndb/src/kernel/blocks/backup/Backup.cpp:
Backup can do dirty read
ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
Fix so that backup dont read xfrm data
ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp:
Fix so that backup dont read xfrm data
BUG#12037 ndb_mgmd IP address do not show in other ndb_mgmd processes
Extend ApiVersionConf to include address.
ndb/include/kernel/signaldata/ApiVersion.hpp:
Extend ApiVersionConf to include inet_addr. the address used for communication to this node.
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
include connect address in ApiVersionConf
ndb/src/mgmsrv/MgmtSrvr.cpp:
::status() now also returns char* address of the node.
For API or MGM, this is in ApiVersionConf.
For NDB, this is the standard get_connect_address.
When sending ApiVersionReq, try to send to a STARTED node (as these have
properly joined the cluster and know the connect addresses).
If versionNode is called for getOwnNodeId()==nodeId, try to get the address
via ApiVersionConf. If that fails, look it up in the configuration.
ndb/src/mgmsrv/MgmtSrvr.hpp:
Add char **address to prototypes.
ndb/src/mgmsrv/Services.cpp:
Get the connect address from mgmsrv.status()
This fixes the new report for bug #7036
mysql-test/t/cast.test:
Added test for cast(hex-value to signed/unsigned)
sql/item.h:
Ensure that hex strings are used as integers in cast(... signed/unsigned)
- Added functionality to check errors returned from mysql_next_result
- Exit from mysqltest when and unexpected error occurs.
- The above fixes reveal problems with rpl000009, sp-error and query_cache-
- Fix sp-error by adding an expected error
- Fix rpl000009 by not sending "ok" from mysql_create_db when called with silent flag from load_master_data
- Fix query_cache in separate patch
client/mysqltest.c:
Check and handle error after mysql_next_result
Change several verbose_msg to die so that the error is properly reported
Clean up of error handling code in run_query_stmt, check all errors and use common
function handle_error.
mysql-test/r/mysqltest.result:
mysqltest now dies when a query fails with wrong errno
mysql-test/r/sp-error.result:
Update test result to match the expected error from calling the sp closing a cursor that is not open.
mysql-test/t/sp-error.test:
Add missing --error 1326 before call to sp that closes a already closed cursor.
Add test for bug9367
sql/sql_db.cc:
Don't send ok in mysql_create_db if silent flag is set.