- 06 Sep, 2006 2 commits
-
-
unknown authored
into gbichot3.local:/home/mysql_src/mysql-5.1-2
-
unknown authored
This bug report was two problems: 1) LAST_INSERT_ID() returns a value which does not exist in the table 2) the reporter would want it to return the autoinc id of the updated row. 1) is a real bug, 2) is a feature request. In July I implemented 2) in 5.1 (which automatically fixes 1). This has not yet been documented or released, so is changeable. Precisely, recently Paul and a user found an easy workaround to give 2), which works in 4.1-5.0-5.1. So I can revert my code for 2), because it's not needed, that's what I do here; we forget about 2) (we will document the workaround). But when I revert my code for 2), 1) comes back. We solve 1) by saying that if INSERT ON DUPLICATE KEY UPDATE updates a row, it's like a regular UPDATE: LAST_INSERT_ID() should not be affected (instead of returning a non-existent value). So note: no behaviour change compared to the last released 5.1; just a bugfix for 1). mysql-test/r/innodb_mysql.result: result update mysql-test/t/innodb_mysql.test: test for the new way to fix BUG#19243: that if INSERT ON DUPLICATE KEY UPDATE updates a row, SELECT LAST_INSERT_ID() is not affected. Test of the workaround for people who want SELECT LAST_INSERT_ID() to return the autoinc id of the updated row. sql/sql_insert.cc: No need to change LAST_INSERT_ID() if INSERT ON DUPLICATE KEY UPDATE updates a row, there is a workaround to achieve this without changing code: just add "autoinc_col=LAST_INSERT_ID(autoinc_col)" to your ON DUPLICATE KEY UPDATE clause. Prevent LAST_INSERT_ID() to contain an inexistent value in this case: if the row is updated it should be like a regular UPDATE: don't affect LAST_INSERT_ID() (achieved by marking that we didn't generate an id for this row: insert_id_for_cur_row=0).
-
- 05 Sep, 2006 38 commits
-
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint client/mysql.cc: Auto merged mysql-test/r/ctype_utf8.result: Auto merged mysql-test/t/ctype_utf8.test: Auto merged sql/net_serv.cc: Auto merged sql/sql_lex.cc: Auto merged sql/sql_lex.h: Auto merged sql/sql_select.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_yacc.yy: Auto merged vio/viosocket.c: Auto merged mysql-test/r/ctype_recoding.result: Manual merge. mysql-test/t/ctype_recoding.test: Manual merge.
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint mysql-test/r/heap_btree.result: Auto merged
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint mysql-test/r/heap_btree.result: Auto merged sql/set_var.cc: Auto merged mysql-test/t/heap_btree.test: Manually merged.
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint BitKeeper/deleted/.del-CMakeLists.txt~1: Delete: CMakeLists.txt BitKeeper/deleted/.del-CMakeLists.txt~2: Delete: server-tools/instance-manager/CMakeLists.txt BitKeeper/deleted/.del-CMakeLists.txt~3: Delete: sql/CMakeLists.txt BitKeeper/deleted/.del-CMakeLists.txt~4: Delete: strings/CMakeLists.txt BitKeeper/deleted/.del-CMakeLists.txt~5: Delete: tests/CMakeLists.txt BitKeeper/deleted/.del-CMakeLists.txt~6: Delete: vio/CMakeLists.txt BitKeeper/deleted/.del-Makefile.am~2: Delete: win/Makefile.am BitKeeper/deleted/.del-README~1: Delete: win/README BitKeeper/deleted/.del-build-vs71.bat: Delete: win/build-vs71.bat BitKeeper/deleted/.del-build-vs8.bat: Delete: win/build-vs8.bat BitKeeper/deleted/.del-configure.js: Delete: win/configure.js BitKeeper/deleted/.del-CMakeLists.txt~7: Delete: client/CMakeLists.txt BitKeeper/deleted/.del-CMakeLists.txt~8: Delete: zlib/CMakeLists.txt BitKeeper/deleted/.del-CMakeLists.txt~9: Delete: dbug/CMakeLists.txt BitKeeper/deleted/.del-CMakeLists.txt~10: Delete: extra/CMakeLists.txt BitKeeper/deleted/.del-CMakeLists.txt~11: Delete: extra/yassl/CMakeLists.txt BitKeeper/deleted/.del-CMakeLists.txt~12: Delete: extra/yassl/taocrypt/CMakeLists.txt BitKeeper/deleted/.del-CMakeLists.txt~13: Delete: libmysql/CMakeLists.txt BitKeeper/deleted/.del-CMakeLists.txt~14: Delete: mysys/CMakeLists.txt BitKeeper/deleted/.del-CMakeLists.txt~15: Delete: regex/CMakeLists.txt
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint storage/ndb/tools/ndb_condig.cpp: Auto merged
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint mysql-test/r/ctype_recoding.result: Auto merged sql/sql_lex.cc: Auto merged sql/sql_yacc.yy: Auto merged mysql-test/t/ctype_recoding.test: manual merge. sql/sql_lex.h: manual merge. sql/sql_table.cc: manual merge.
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint mysql-test/r/ctype_utf8.result: Auto merged mysql-test/t/ctype_utf8.test: Auto merged sql/sql_select.cc: Auto merged
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint client/mysql.cc: Manual merge.
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint sql/net_serv.cc: Auto merged vio/viosocket.c: Auto merged
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint mysql-test/r/heap_btree.result: Auto merged mysql-test/t/heap_btree.test: Manually merged.
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint sql/set_var.cc: Manual merge.
-
unknown authored
sql/mysqld.cc: Fixes bad merge. mysql-test/r/grant.result: Fix bad merge.
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint tests/mysql_client_test.c: Auto merged
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint configure.in: Auto merged include/mysql.h: Auto merged include/mysql_com.h: Auto merged mysql-test/r/ctype_ucs.result: Auto merged mysql-test/t/ctype_ucs.test: Auto merged sql/item_strfunc.cc: Auto merged sql/item_strfunc.h: Auto merged sql/sql_acl.cc: Auto merged sql-common/client.c: Auto merged
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint BUILD/check-cpu: Auto merged sql/item_func.h: Auto merged sql-common/client.c: Auto merged
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint include/config-netware.h: Auto merged include/mysql.h: Auto merged include/mysql_com.h: Auto merged mysql-test/r/grant.result: Auto merged mysql-test/r/sp.result: Auto merged mysql-test/r/trigger.result: Auto merged mysql-test/r/view.result: Auto merged mysql-test/t/grant.test: Auto merged mysql-test/t/sp.test: Auto merged mysql-test/t/trigger.test: Auto merged mysql-test/t/view.test: Auto merged sql/mysql_priv.h: Auto merged sql/sql_acl.cc: Auto merged sql/sql_parse.cc: Auto merged sql-common/client.c: Auto merged sql/sql_yacc.yy: Auto merged sql/share/errmsg.txt: SCCS merged configure.in: SCCS merged sql/sql_base.cc: SCCS merged
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint sql/mysqld.cc: Auto merged
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint tests/mysql_client_test.c: Auto merged
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint mysql-test/r/grant.result: Auto merged mysql-test/r/view.result: Auto merged mysql-test/t/grant.test: Auto merged mysql-test/t/view.test: Auto merged sql/sql_acl.cc: Auto merged
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint mysql-test/mysql-test-run.pl: Auto merged mysql-test/r/im_life_cycle.result: Auto merged mysql-test/r/view.result: Auto merged mysql-test/t/grant.test: Auto merged mysql-test/t/im_life_cycle.imtest: Auto merged mysql-test/t/view.test: Auto merged sql/field.cc: Auto merged sql/item.cc: Auto merged sql/item.h: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_func.cc: Auto merged sql/item_strfunc.cc: Auto merged sql/item_strfunc.h: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/sql_acl.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_view.cc: Auto merged sql/share/errmsg.txt: Auto merged sql/sql_yacc.yy: Auto merged configure.in: Manual merge. mysql-test/r/grant.result: manual merge.
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint mysql-test/r/trigger.result: Auto merged mysql-test/t/trigger.test: Auto merged sql/mysql_priv.h: Auto merged sql/share/errmsg.txt: Auto merged mysql-test/r/grant.result: Manual merge. mysql-test/r/sp.result: Manual merge. mysql-test/r/view.result: Manual merge. mysql-test/t/grant.test: Manual merge. mysql-test/t/sp.test: Manual merge. mysql-test/t/view.test: manual merge. sql/sql_acl.cc: manual merge. sql/sql_parse.cc: manual merge. sql/sql_yacc.yy: manual merge.
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint include/config-netware.h: Auto merged configure.in: Manual Merge.
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint mysql-test/r/ctype_ucs2_def.result: Auto merged mysql-test/t/ctype_ucs2_def-master.opt: Auto merged mysql-test/t/ctype_ucs2_def.test: Auto merged sql-common/client.c: Auto merged sql/mysqld.cc: SCCS merged
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint mysql-test/t/handler.test: Auto merged
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint sql/sql_base.cc: Use refactored code.
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint sql/log.cc: Manual merge.
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint libmysqld/libmysqld.def: Auto merged
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint mysql-test/r/ctype_ucs2_def.result: Auto merged mysql-test/t/ctype_ucs2_def-master.opt: Auto merged mysql-test/t/ctype_ucs2_def.test: Auto merged sql/mysqld.cc: Manual merge.
-