mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
0f85ae9f2c
"getGeneratedKeys() does not work with FEDERATED table" mysql_insert() expected the storage engine to update the row data during the write_row() operation with the value of the new auto- increment field. The field must be updated when only one row has been inserted as mysql_insert() would ignore the thd->last_insert. This patch implements HA_STATUS_AUTO support in ha_federated::info() and ensures that ha_federated::write_row() does update the row's auto-increment value. The test case was written in C as the protocol's 'id' value is accessible through libmysqlclient and not via SQL statements. mysql-test-run.pl was extended to enable running the test binary. mysql-test/mysql-test-run.pl: bug25714 implement support to run C test for bug25714 sql/ha_federated.cc: bug25714 The storage engine instance property auto_increment_value was not being set. mysql_insert() requires that the storage engine updates the row with the auto-increment value, especially when only inserting one row. Implement support for ha_federated::info(HA_STATUS_AUTO) tests/Makefile.am: bug25714 build C test for bug mysql-test/include/have_bug25714.inc: New BitKeeper file ``mysql-test/include/have_bug25714.inc'' mysql-test/r/federated_bug_25714.result: New BitKeeper file ``mysql-test/r/federated_bug_25714.result'' mysql-test/r/have_bug25714.require: New BitKeeper file ``mysql-test/r/have_bug25714.require'' mysql-test/t/federated_bug_25714.test: New BitKeeper file ``mysql-test/t/federated_bug_25714.test'' tests/bug25714.c: New BitKeeper file ``tests/bug25714.c''
58 lines
2 KiB
Makefile
58 lines
2 KiB
Makefile
# Copyright (C) 2000-2006 MySQL AB
|
|
#
|
|
# This library is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Library General Public
|
|
# License as published by the Free Software Foundation; version 2
|
|
# of the License.
|
|
#
|
|
# This library is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
# Library General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Library General Public
|
|
# License along with this library; if not, write to the Free
|
|
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
|
# MA 02111-1307, USA
|
|
|
|
## Process this file with automake to create Makefile.in
|
|
|
|
EXTRA_DIST = auto_increment.res auto_increment.tst \
|
|
function.res function.tst lock_test.pl lock_test.res \
|
|
export.pl big_record.pl \
|
|
fork2_test.pl fork_big.pl \
|
|
insert_and_repair.pl \
|
|
grant.pl grant.res test_delayed_insert.pl \
|
|
pmail.pl mail_to_db.pl table_types.pl \
|
|
myisam-big-rows.tst \
|
|
CMakeLists.txt
|
|
|
|
bin_PROGRAMS = mysql_client_test
|
|
noinst_PROGRAMS = insert_test select_test thread_test bug25714
|
|
|
|
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \
|
|
$(openssl_includes)
|
|
LIBS = @CLIENT_LIBS@
|
|
LDADD = @CLIENT_EXTRA_LDFLAGS@ \
|
|
$(top_builddir)/libmysql/libmysqlclient.la
|
|
|
|
mysql_client_test_LDADD= $(LDADD) $(CXXLDFLAGS)
|
|
mysql_client_test_SOURCES= mysql_client_test.c\
|
|
$(top_srcdir)/mysys/my_memmem.c
|
|
|
|
insert_test_SOURCES= insert_test.c
|
|
select_test_SOURCES= select_test.c
|
|
insert_test_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES)
|
|
select_test_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES)
|
|
|
|
bug25714_SOURCES= bug25714.c
|
|
bug25714_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES)
|
|
|
|
# Fix for mit-threads
|
|
DEFS = -DUNDEF_THREADS_HACK
|
|
|
|
thread_test.o: thread_test.c
|
|
$(COMPILE) -c $(INCLUDES) $<
|
|
|
|
# Don't update the files from bitkeeper
|
|
%::SCCS/s.%
|