From: Date: September 29 2008 9:49pm Subject: bzr push into mysql-5.1 tree (frazer:2690 to 2690) Bug#39536 List-Archive: http://lists.mysql.com/commits/54696 X-Bug: 39536 Message-Id: <200809291949.m8TJnV8d030451@forth.ndb.mysql.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0069087617==" --===============0069087617== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------ revno: 2690 revision-id: frazer@stripped parent: tomas.ulin@stripped parent: frazer@stripped committer: Frazer Clement branch nick: mysql-5.1-telco-6.3 timestamp: Mon 2008-09-29 19:28:00 +0100 message: Merge 6.3->6.4 modified: storage/ndb/src/ndbapi/NdbInterpretedCode.cpp sp1f-ndbinterpretedcode.c-20070529114654-w2exwio2w4x73e22p5wcfsa3bgqrtous ------------------------------------------------------------ revno: 2572.26.25 revision-id: frazer@stripped parent: jonas@stripped committer: Frazer Clement branch nick: mysql-5.1-telco-6.2 timestamp: Mon 2008-09-29 19:26:36 +0100 message: Bug#39536 : NdbInterpretedCode add_val() does not work for values > 65535 Fix branch scope bug modified: storage/ndb/src/ndbapi/NdbInterpretedCode.cpp sp1f-ndbinterpretedcode.c-20070529114654-w2exwio2w4x73e22p5wcfsa3bgqrtous --===============0069087617== MIME-Version: 1.0 Content-Type: text/text/x-diff; charset="us-ascii"; name="patch-2690.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline === modified file 'storage/ndb/src/ndbapi/NdbInterpretedCode.cpp' --- a/storage/ndb/src/ndbapi/NdbInterpretedCode.cpp 2008-05-22 16:22:34 +0000 +++ b/storage/ndb/src/ndbapi/NdbInterpretedCode.cpp 2008-09-29 18:26:36 +0000 @@ -666,17 +666,21 @@ int res= 0; if ((res= read_attr(6, attrId) != 0)) return res; - + /* Load constant into register 7 */ /* We attempt to use the smallest constant load * instruction */ if (aValue < (1 << 16)) + { if ((res= load_const_u16(7, aValue)) != 0) return res; + } else + { if ((res= load_const_u32(7, aValue)) != 0) return res; + } /* Add registers 6 and 7 -> 7*/ if ((res= add_reg(7, 6, 7)) != 0) @@ -700,6 +704,7 @@ * instruction */ if ((aValue >> 32) == 0) + { if (aValue < (1 << 16)) { if ((res= load_const_u16(7, aValue)) != 0) @@ -710,6 +715,7 @@ if ((res= load_const_u32(7, aValue)) != 0) return res; } + } else if ((res= load_const_u64(7, aValue)) != 0) return res; @@ -717,7 +723,7 @@ /* Add registers 6 and 7 -> 7*/ if ((res= add_reg(7, 6, 7)) != 0) return res; - + /* Write back */ return write_attr(attrId, 7); } @@ -736,11 +742,15 @@ * instruction */ if (aValue < (1 << 16)) + { if ((res= load_const_u16(7, aValue)) != 0) - return res; + return res; + } else + { if ((res= load_const_u32(7, aValue)) != 0) return res; + } /* Subtract register (R7=R6-R7)*/ if ((res= sub_reg(7, 6, 7)) != 0) @@ -764,6 +774,7 @@ * instruction */ if ((aValue >> 32) == 0) + { if (aValue < (1 << 16)) { if ((res= load_const_u16(7, aValue)) != 0) @@ -774,9 +785,12 @@ if ((res= load_const_u32(7, aValue)) != 0) return res; } + } else + { if ((res= load_const_u64(7, aValue)) != 0) return res; + } /* Subtract register (R7=R6-R7)*/ if ((res= sub_reg(7, 6, 7)) != 0) --===============0069087617==--