In select_describe(), make the String object that holds the value of
"partitions" column to "own" the value buffer, so the buffer isn't
prematurely freed.
[this is the second attempt with review fixes]
mysql-test/r/partition_pruning.result:
BUG#19684: Testcase
mysql-test/t/partition_pruning.test:
BUG#19684: Testcase
sql/sql_select.cc:
BUG#19684: Garbage in 'partitions' column in EXPLAIN output:
- Added comment
- Make the String object that holds the value of "partitions" column
to "own" the value buffer, so the buffer isn't prematurely freed.
(for example, such objects can be returned from get_mm_parts() for "string_field = int_val).
Make find_used_partitions_imerge() to handle such SEL_TREE objects.
mysql-test/r/partition_pruning.result:
BUG#19055: testcase
mysql-test/t/partition_pruning.test:
BUG#19055: testcase
into c-3d08e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug19067
mysql-test/t/partition.test:
Auto merged
sql/partition_info.cc:
Auto merged
sql/sql_partition.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
mysql-test/r/partition.result:
SCCS merged
into mysql.com:/home/mysql_src/mysql-5.1-new-WL3146-handler
sql/ha_berkeley.cc:
Auto merged
sql/ha_berkeley.h:
Auto merged
sql/ha_heap.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/log.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
storage/archive/ha_archive.cc:
Auto merged
storage/archive/ha_archive.h:
Auto merged
New prototype for get_auto_increment() (but new arguments not yet used), to be able
to reserve a finite interval of auto_increment values from cooperating engines.
A hint on how many values to reserve is found in handler::estimation_rows_to_insert,
filled by ha_start_bulk_insert(), new wrapper around start_bulk_insert().
NOTE: this patch changes nothing, for all engines. But it makes the API ready for those
engines which will want to do reservation.
More csets will come to complete WL#3146.
sql/ha_berkeley.cc:
update to new prototype of get_auto_increment
sql/ha_berkeley.h:
update to new prototype of get_auto_increment
sql/ha_heap.cc:
update to new prototype of get_auto_increment
sql/ha_heap.h:
update to new prototype of get_auto_increment
sql/ha_innodb.cc:
update to new prototype of get_auto_increment
sql/ha_innodb.h:
update to new prototype of get_auto_increment
sql/ha_myisam.cc:
update to new prototype of get_auto_increment
sql/ha_myisam.h:
update to new prototype of get_auto_increment
sql/ha_ndbcluster.cc:
update to new prototype of get_auto_increment
sql/ha_ndbcluster.h:
update to new prototype of get_auto_increment
sql/ha_partition.cc:
update to new prototype of get_auto_increment
sql/ha_partition.h:
update to new prototype of get_auto_increment
sql/handler.cc:
new prototype of get_auto_increment, comments, preparation for when the MySQL layer is capable
of getting finite auto_increment intervals from cooperating engines.
sql/handler.h:
a wrapper around start_bulk_insert(): ha_bulk_insert(), which stores the argument (number
of rows expected for insertion) into a member of handler: estimation_rows_to_insert.
This member will soon be used to decide how much auto_increment values we want to reserve
from cooperating engines.
New prototype for get_auto_increment, preparing for cooperating engines to reserve finite auto_increment
intervals.
release_auto_increment() will be used by the MySQL layer to inform the engine that it has
not used all of the interval (engine can reclaim it).
sql/log.cc:
note for the future
sql/log_event.cc:
name of wrapper
sql/sql_insert.cc:
name of wrapper. When done with inserting, return unused auto_inc values to engine.
sql/sql_load.cc:
name of wrapper. When done with inserting, return unused auto_inc values to engine.
sql/sql_select.cc:
name of wrapper
sql/sql_table.cc:
name of wrapper
storage/archive/ha_archive.cc:
update to new prototype of get_auto_increment.
Archive reserves only one value (Archive's god - Brian - told me that's the truth).
storage/archive/ha_archive.h:
update to new prototype of get_auto_increment()
iterators creation interface added to handlerton
sql/ha_berkeley.cc:
added new methods
sql/ha_federated.cc:
added new methods
sql/ha_heap.cc:
added new methods
sql/ha_innodb.cc:
added new methods
sql/ha_myisam.cc:
added new methods
sql/ha_myisammrg.cc:
added new methods
sql/ha_ndbcluster.cc:
added new methods
sql/ha_partition.cc:
added new methods
sql/handler.cc:
added new methods
spelling fixed
examples of functions for new interface added
sql/handler.h:
transaction logs management interface added
general iterator creatioin interface added
sql/log.cc:
added new methods
storage/archive/ha_archive.cc:
added new methods
storage/blackhole/ha_blackhole.cc:
added new methods
storage/csv/ha_tina.cc:
added new methods
storage/example/ha_example.cc:
added new methods
into ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.1-new-marvel
configure.in:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/item.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/table.cc:
Auto merged
If the first part was SHOW and second part SELECT, it would have
thought that the command was SELECT, although the first part of
it was SHOW. It would then fail later.
Thus we need to set thd->lex to old_lex (first part) here before going
in to prepare_security().
rename *.t* to *-t* to be automake-friendly
simplify Makefiles
test_atomic.c:
move to unittest, add GPL comment, fix warnings, convert to tap framework.
configure:
remove custom tests for available types, use AC_CHECK_TYPE instead
x86-gcc.h:
fix gcc -ansi errors while maintaining readability
ignore:
added *-t
unittest/mysys/base64-t.c:
Rename: unittest/mysys/base64.t.c -> unittest/mysys/base64-t.c
unittest/mysys/bitmap-t.c:
Rename: unittest/mysys/bitmap.t.c -> unittest/mysys/bitmap-t.c
unittest/mytap/t/basic-t.c:
Rename: unittest/mytap/t/basic.t.c -> unittest/mytap/t/basic-t.c
unittest/examples/no_plan-t.c:
Rename: unittest/examples/no_plan.t.c -> unittest/examples/no_plan-t.c
unittest/examples/simple-t.c:
Rename: unittest/examples/simple.t.c -> unittest/examples/simple-t.c
unittest/examples/skip-t.c:
Rename: unittest/examples/skip.t.c -> unittest/examples/skip-t.c
unittest/examples/skip_all-t.c:
Rename: unittest/examples/skip_all.t.c -> unittest/examples/skip_all-t.c
unittest/examples/todo-t.c:
Rename: unittest/examples/todo.t.c -> unittest/examples/todo-t.c
BitKeeper/etc/ignore:
added *-t
config/ac-macros/misc.m4:
remove custom AC_TRY_RUN tests for available types, use AC_CHECK_TYPE instead
configure.in:
remove custom tests for available types, use AC_CHECK_TYPE instead
include/atomic/x86-gcc.h:
fix gcc -ansi errors while maintaining readability
include/my_global.h:
remove custom tests for available types, use AC_CHECK_TYPE instead
include/my_sys.h:
add missing declaration
mysys/Makefile.am:
move test_atomic to unittest
unittest/Makefile.am:
simplifications, correct permissions in chmod
unittest/README.txt:
rename *.t* to *-t* to be automake-friendly
unittest/examples/Makefile.am:
rename *.t* to *-t* to be automake-friendly
simplify Makefile
unittest/mysys/Makefile.am:
rename *.t* to *-t* to be automake-friendly
simplify Makefile
unittest/mysys/my_atomic-t.c:
move mysys/test_atomic.c to unittest, add GPL comment, fix warnings,
convert to tap framework.
unittest/mytap/t/Makefile.am:
rename *.t* to *-t* to be automake-friendly
simplify Makefile
unittest/unit.pl:
rename *.t* to *-t* to be automake-friendly
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
storage/ndb/src/kernel/blocks/ERROR_codes.txt:
Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
storage/ndb/test/ndbapi/testNodeRestart.cpp:
Auto merged
storage/ndb/test/run-test/daily-basic-tests.txt:
merge
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb
mysql-test/t/disabled.def:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster_binlog.cc:
Auto merged
into perch.ndb.mysql.com:/home/jonas/src/50-work
ndb/src/kernel/blocks/ERROR_codes.txt:
Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
ndb/test/ndbapi/testNodeRestart.cpp:
Auto merged
ndb/test/run-test/daily-basic-tests.txt:
Auto merged
Dont be too aggressive in Dbtc::nodeFailCheckTransaction
let it timeout by 1, so that it does not assert that it has waited too long
old impl. set timeotu value to 0, making timeout = (ctcTimer - 0) which could be quite big.
ndb/src/kernel/blocks/ERROR_codes.txt:
error codes
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
2 new error inserts
7030 - delay in GCP_PREPARE until checkLocalNodefailComplete is true
7031 - delay in GCP_PREPARE and die
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Dont set api con timer to 0, as this might trigger asserion in timeoutfound lab if state == PREPARE_TO_COMMIT
ndb/test/ndbapi/testNodeRestart.cpp:
testcase
ndb/test/run-test/daily-basic-tests.txt:
autotest
into c-3d08e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug18198
sql/sql_partition.cc:
Auto merged
sql/sql_show.cc:
Auto merged
storage/archive/ha_archive.cc:
Auto merged
into c-3d08e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug18198
sql/item_cmpfunc.h:
Auto merged
sql/item_func.h:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/item_timefunc.h:
Auto merged
sql/partition_info.cc:
Auto merged
sql/item.h:
manual merge
sql/share/errmsg.txt:
manual merge
adapting to pushbuild's custom to switch from default pathes. The name for
var directory must be set with MYSQLTEST_VARDIR.
mysql-test/t/mysqlbinlog.test:
correction of log path since pushbuild uses non-default options.
mysql-test/r/partition_error.result:
New test cases
mysql-test/t/partition_error.test:
New test cases
sql/item.h:
Added method check_partition_func_processor for check if item tree is valid
sql/item_cmpfunc.h:
Added method check_partition_func_processor for check if item tree is valid
sql/item_func.h:
Added method check_partition_func_processor for check if item tree is valid
sql/item_strfunc.h:
Added method check_partition_func_processor for check if item tree is valid
sql/item_timefunc.h:
Added method check_partition_func_processor for check if item tree is valid
sql/item_xmlfunc.h:
Added method check_partition_func_processor for check if item tree is valid