From: Date: March 1 2006 12:50pm Subject: bk commit into 5.0 tree (holyfoot:1.2091) BUG#9088 List-Archive: http://lists.mysql.com/commits/3311 X-Bug: 9088 Message-Id: <20060301115026.374B6A0809A@deer.myoffice.izhnet.ru> Below is the list of changes that have just been committed into a local 5.0 repository of hf. When hf does a push these changes will be propagated to the main repository and, within 24 hours after the push, to the public repository. For information on how to access the public repository see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html ChangeSet 1.2091 06/03/01 15:50:15 holyfoot@deer.(none) +4 -0 bug #9088 (bigint WHERE fails) sql/item_cmpfunc.cc 1.192 06/03/01 15:48:52 holyfoot@stripped +2 -1 we can get unsigned field from the signed Item - from string like '1234' sql/item.h 1.188 06/03/01 15:48:52 holyfoot@stripped +3 -2 unsigned_arg is a separate parameter now mysql-test/t/bigint.test 1.28 06/03/01 15:48:52 holyfoot@stripped +9 -0 testcase mysql-test/r/bigint.result 1.32 06/03/01 15:48:52 holyfoot@stripped +9 -0 test result # This is a BitKeeper patch. What follows are the unified diffs for the # set of deltas contained in the patch. The rest of the patch, the part # that BitKeeper cares about, is below these diffs. # User: holyfoot # Host: deer.(none) # Root: /home/hf/work/mysql-5.0.9088 --- 1.187/sql/item.h Sat Feb 25 19:46:25 2006 +++ 1.188/sql/item.h Wed Mar 1 15:48:52 2006 @@ -1887,9 +1887,10 @@ { Item *ref; public: - Item_int_with_ref(longlong i, Item *ref_arg) :Item_int(i), ref(ref_arg) + Item_int_with_ref(longlong i, Item *ref_arg, my_bool unsigned_arg) : + Item_int(i), ref(ref_arg) { - unsigned_flag= ref_arg->unsigned_flag; + unsigned_flag= unsigned_arg; } int save_in_field(Field *field, bool no_conversions) { --- 1.191/sql/item_cmpfunc.cc Tue Feb 14 16:21:59 2006 +++ 1.192/sql/item_cmpfunc.cc Wed Mar 1 15:48:52 2006 @@ -216,7 +216,8 @@ field->table->in_use->variables.sql_mode|= MODE_INVALID_DATES; if (!(*item)->save_in_field(field, 1) && !((*item)->null_value)) { - Item *tmp=new Item_int_with_ref(field->val_int(), *item); + Item *tmp=new Item_int_with_ref(field->val_int(), *item, + test(field->flags & UNSIGNED_FLAG)); field->table->in_use->variables.sql_mode= orig_sql_mode; if (tmp) thd->change_item_tree(item, tmp); --- 1.31/mysql-test/r/bigint.result Tue Oct 25 20:28:07 2005 +++ 1.32/mysql-test/r/bigint.result Wed Mar 1 15:48:52 2006 @@ -332,3 +332,12 @@ col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11 col12 col13 col14 col15 col16 col17 col18 col19 col20 col21 col22 col23 col24 col25 col26 col27 col28 col29 col30 col31 col32 col33 col34 col35 col36 col37 col38 fix1 fix2 fix3 fix4 fix5 fix6 fix7 fix8 fix9 fix10 fix11 fix12 fix13 fix14 fix15 fix16 fix17 fix18 fix19 fix20 fix21 fix22 fix23 fix24 fix25 fix26 fix27 fix28 fix29 fix30 9 99 999 9999 99999 999999 9999999 99999999 999999999 9999999999 99999999999 999999999999 9999999999999 99999999999999 999999999999999 9999999999999999 99999999999999999 999999999999999999 9999999999999999999 99999999999999999999 999999999999999999999 9999999999999999999999 99999999999999999999999 999999999999999999999999 9999999999999999999999999 99999999999999999999999999 999999999999999999999999999 9999999999999999999999999999 99999999999999999999999999999 999999999999999999999999999999 9999999999999999999999999999999 99999999999999999999999999999999 999999999999999999999999999999999 9999999999999999999999999999999999 99999999999999999999999999999999999 999999999999999999999999999999999999 9999999999999999999999999999999999999 99999999999999999999999999999999999999 9999999999999999999999999999999999999.9 999999999999999999999999999999999999.99 99999999999999999999999999999999999.999 9999999999999999999999999999999999.9999 999999999999999999999999999999999.99999 9999999999 9999999999999999999999.999999 9999999999999999999999999999999.9999999 999999999999999999999999999999.99999999 99999999999999999999999999999.999999999 9999999999999999999999999999.9999999999 999999999999999999999999999.99999999999 99999999999999999999999999.999999999999 9999999999999999999999999.9999999999999 999999999999999999999999.99999999999999 99999999999999999999999.999999999999999 9999999999999999999999.9999999999999999 999999999999999999999.99999999999999999 99999999999999999999.999999999999999999 9999999999999999999.9999999999999999999 999999999999999999.99999999999999999999 99999999999999999.999999999999999999999 9999999999999999.9999999999999999999999 999999999999999.99999999999999999999999 99999999999999.999999999999999999999999 9999999999999.9999999999999999999999999 999999999999.99999999999999999999999999 99999999999.999999999999999999999999999 9999999999.9999999999999999999999999999 999999999.99999999999999999999999999999 99999999.999999999999999999999999999999 DROP TABLE t1; +create table t1 (bigint_col bigint unsigned); +insert into t1 values (17666000000000000000); +select * from t1 where bigint_col=17666000000000000000; +bigint_col +17666000000000000000 +select * from t1 where bigint_col='17666000000000000000'; +bigint_col +17666000000000000000 +drop table t1; --- 1.27/mysql-test/t/bigint.test Tue Oct 25 20:28:07 2005 +++ 1.28/mysql-test/t/bigint.test Wed Mar 1 15:48:52 2006 @@ -270,3 +270,12 @@ SELECT * FROM t1; DROP TABLE t1; + +#bug #9088 BIGINT WHERE CLAUSE +create table t1 (bigint_col bigint unsigned); +insert into t1 values (17666000000000000000); +select * from t1 where bigint_col=17666000000000000000; +select * from t1 where bigint_col='17666000000000000000'; +drop table t1; + +