mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge with 3.23.56 (Replace manual with 'empty' document)
Fix for bug when using auto_increment column and LAST_INSERT_ID()
This commit is contained in:
@ -27,7 +27,7 @@ EXTRA_DIST = $(noinst_SCRIPTS) $(BUILT_SOURCES) mysqld_error.txt \
|
|||||||
all: $(targets) txt_files
|
all: $(targets) txt_files
|
||||||
|
|
||||||
txt_files: ../INSTALL-SOURCE ../COPYING ../COPYING.LIB \
|
txt_files: ../INSTALL-SOURCE ../COPYING ../COPYING.LIB \
|
||||||
INSTALL-BINARY # ../MIRRORS
|
INSTALL-BINARY
|
||||||
|
|
||||||
CLEAN_FILES: $(BUILD_SOURCES)
|
CLEAN_FILES: $(BUILD_SOURCES)
|
||||||
touch $(BUILD_SOURCES)
|
touch $(BUILD_SOURCES)
|
||||||
@ -254,8 +254,5 @@ INSTALL-BINARY: mysql.info $(GT)
|
|||||||
../COPYING.LIB: mysql.info $(GT)
|
../COPYING.LIB: mysql.info $(GT)
|
||||||
perl -w $(GT) mysql.info "LGPL license" "Function Index" > $@
|
perl -w $(GT) mysql.info "LGPL license" "Function Index" > $@
|
||||||
|
|
||||||
#../MIRRORS: manual.texi $(srcdir)/Support/generate-mirror-listing.pl
|
|
||||||
# perl -w $(srcdir)/Support/generate-mirror-listing.pl manual.texi > $@
|
|
||||||
|
|
||||||
# Don't update the files from bitkeeper
|
# Don't update the files from bitkeeper
|
||||||
%::SCCS/s.%
|
%::SCCS/s.%
|
||||||
|
59832
Docs/manual.texi
59832
Docs/manual.texi
File diff suppressed because it is too large
Load Diff
14
Docs/reservedwords.texi
Normal file
14
Docs/reservedwords.texi
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
@c This is a placeholder file for the autogenerated MySQL reserved
|
||||||
|
@c word list "reservedwords.texi", which is being included in
|
||||||
|
@c manual.texi when building the manual.
|
||||||
|
@c
|
||||||
|
@c This file will be replaced with the actual reserved word list
|
||||||
|
@c from the "mysqldoc" BK source tree when building the official
|
||||||
|
@c source distribution.
|
||||||
|
@c
|
||||||
|
@c Please note, that the manual is now maintained in a separate
|
||||||
|
@c "mysqldoc" BitKeeper tree! See
|
||||||
|
@c
|
||||||
|
@c http://www.mysql.com/doc/en/Installing_source_tree.html
|
||||||
|
@c
|
||||||
|
@c for more info on how to work with the MySQL BK source trees.
|
@ -604,11 +604,11 @@ btr_cur_open_at_index_side(
|
|||||||
page_cur_set_after_last(page, page_cursor);
|
page_cur_set_after_last(page, page_cursor);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (estimate) {
|
|
||||||
btr_cur_add_path_info(cursor, height, root_height);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (height == 0) {
|
if (height == 0) {
|
||||||
|
if (estimate) {
|
||||||
|
btr_cur_add_path_info(cursor, height,
|
||||||
|
root_height);
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -621,6 +621,10 @@ btr_cur_open_at_index_side(
|
|||||||
page_cur_move_to_prev(page_cursor);
|
page_cur_move_to_prev(page_cursor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (estimate) {
|
||||||
|
btr_cur_add_path_info(cursor, height, root_height);
|
||||||
|
}
|
||||||
|
|
||||||
height--;
|
height--;
|
||||||
|
|
||||||
node_ptr = page_cur_get_rec(page_cursor);
|
node_ptr = page_cur_get_rec(page_cursor);
|
||||||
|
@ -486,7 +486,8 @@ simple_command(MYSQL *mysql,enum enum_server_command command, const char *arg,
|
|||||||
if (net_write_command(net,(uchar) command,arg,
|
if (net_write_command(net,(uchar) command,arg,
|
||||||
length ? length : (ulong) strlen(arg)))
|
length ? length : (ulong) strlen(arg)))
|
||||||
{
|
{
|
||||||
DBUG_PRINT("error",("Can't send command to server. Error: %d",socket_errno));
|
DBUG_PRINT("error",("Can't send command to server. Error: %d",
|
||||||
|
socket_errno));
|
||||||
if (net->last_errno == ER_NET_PACKET_TOO_LARGE)
|
if (net->last_errno == ER_NET_PACKET_TOO_LARGE)
|
||||||
{
|
{
|
||||||
net->last_errno=CR_NET_PACKET_TOO_LARGE;
|
net->last_errno=CR_NET_PACKET_TOO_LARGE;
|
||||||
|
2
ltconfig
2
ltconfig
@ -3013,7 +3013,7 @@ hardcode_libdir_flag_spec=$hardcode_libdir_flag_spec
|
|||||||
# the DEB_BUILD_ARCH variable should be of non-zero length, indicating
|
# the DEB_BUILD_ARCH variable should be of non-zero length, indicating
|
||||||
# that we are in the middle of a Debian package build (assuming the
|
# that we are in the middle of a Debian package build (assuming the
|
||||||
# user isn't doing anything strange with environment variables).
|
# user isn't doing anything strange with environment variables).
|
||||||
if test -n "`dpkg-architecture -qDEB_BUILD_ARCH`" && ps | grep debuild | grep -v grep > /dev/null; then
|
if test -n "`dpkg-architecture -qDEB_BUILD_ARCH 2>/dev/null`" && ps | grep debuild | grep -v grep > /dev/null; then
|
||||||
# Debian policy mandates that rpaths should not be encoded into a binary
|
# Debian policy mandates that rpaths should not be encoded into a binary
|
||||||
# so it is overridden.
|
# so it is overridden.
|
||||||
hardcode_libdir_flag_spec=" -D_DEBIAN_PATCHED_LIBTOOL_ "
|
hardcode_libdir_flag_spec=" -D_DEBIAN_PATCHED_LIBTOOL_ "
|
||||||
|
15
mysql-test/r/rpl_insert_id.result
Normal file
15
mysql-test/r/rpl_insert_id.result
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
a
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
b c
|
||||||
|
1 4
|
||||||
|
a
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
b c
|
||||||
|
5 0
|
||||||
|
6 11
|
39
mysql-test/t/rpl_insert_id.test
Normal file
39
mysql-test/t/rpl_insert_id.test
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#see if queries that use both
|
||||||
|
#auto_increment and LAST_INSERT_ID()
|
||||||
|
#are replicated well
|
||||||
|
source include/master-slave.inc;
|
||||||
|
connection master;
|
||||||
|
drop table if exists t1;
|
||||||
|
create table t1(a int auto_increment, key(a));
|
||||||
|
create table t2(b int auto_increment, c int, key(b));
|
||||||
|
insert into t1 values (1),(2),(3);
|
||||||
|
insert into t1 values (null);
|
||||||
|
insert into t2 values (null,last_insert_id());
|
||||||
|
save_master_pos;
|
||||||
|
connection slave;
|
||||||
|
sync_with_master;
|
||||||
|
select * from t1;
|
||||||
|
select * from t2;
|
||||||
|
connection master;
|
||||||
|
#check if multi-line inserts,
|
||||||
|
#which set last_insert_id to the first id inserted,
|
||||||
|
#are replicated the same way
|
||||||
|
drop table t1;
|
||||||
|
drop table t2;
|
||||||
|
create table t1(a int auto_increment, key(a));
|
||||||
|
create table t2(b int auto_increment, c int, key(b));
|
||||||
|
insert into t1 values (10);
|
||||||
|
insert into t1 values (null),(null),(null);
|
||||||
|
insert into t2 values (5,0);
|
||||||
|
insert into t2 values (null,last_insert_id());
|
||||||
|
save_master_pos;
|
||||||
|
connection slave;
|
||||||
|
sync_with_master;
|
||||||
|
select * from t1;
|
||||||
|
select * from t2;
|
||||||
|
connection master;
|
||||||
|
drop table t1;
|
||||||
|
drop table t2;
|
||||||
|
save_master_pos;
|
||||||
|
connection slave;
|
||||||
|
sync_with_master;
|
@ -93,7 +93,7 @@ DEFS = -DMYSQL_SERVER \
|
|||||||
# Don't put lex_hash.h in BUILT_SOURCES as this will give infinite recursion
|
# Don't put lex_hash.h in BUILT_SOURCES as this will give infinite recursion
|
||||||
BUILT_SOURCES = sql_yacc.cc sql_yacc.h
|
BUILT_SOURCES = sql_yacc.cc sql_yacc.h
|
||||||
EXTRA_DIST = udf_example.cc $(BUILT_SOURCES)
|
EXTRA_DIST = udf_example.cc $(BUILT_SOURCES)
|
||||||
YFLAGS = -d
|
AM_YFLAGS = -d
|
||||||
|
|
||||||
link_sources:
|
link_sources:
|
||||||
rm -f mini_client_errors.c
|
rm -f mini_client_errors.c
|
||||||
|
@ -1070,7 +1070,7 @@ bool MYSQL_LOG::write(Log_event* event_info)
|
|||||||
if (thd->last_insert_id_used)
|
if (thd->last_insert_id_used)
|
||||||
{
|
{
|
||||||
Intvar_log_event e(thd,(uchar) LAST_INSERT_ID_EVENT,
|
Intvar_log_event e(thd,(uchar) LAST_INSERT_ID_EVENT,
|
||||||
thd->last_insert_id);
|
thd->current_insert_id);
|
||||||
e.set_log_pos(this);
|
e.set_log_pos(this);
|
||||||
if (thd->server_id)
|
if (thd->server_id)
|
||||||
e.server_id = thd->server_id;
|
e.server_id = thd->server_id;
|
||||||
|
Reference in New Issue
Block a user