MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:holyfoot Date:March 1 2006 11:50am
Subject:bk commit into 5.0 tree (holyfoot:1.2091) BUG#9088
View as plain text  
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;
+
+
Thread
bk commit into 5.0 tree (holyfoot:1.2091) BUG#9088holyfoot1 Mar