summaryrefslogtreecommitdiff
path: root/sql/ha_ndbcluster.cc
diff options
context:
space:
mode:
authorunknown <mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se>2006-06-14 19:41:33 -0400
committerunknown <mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se>2006-06-14 19:41:33 -0400
commit9467e2615ce3bf376b1b1e20444fb897d854571a (patch)
tree930f640e7e8917b01db972565e92e3d1709cb0b8 /sql/ha_ndbcluster.cc
parentb14ac39bb7715471c68139221f84fa3128979800 (diff)
parent4414b56d85d937354e2fb384604394ec3d1ffc56 (diff)
downloadmariadb-git-9467e2615ce3bf376b1b1e20444fb897d854571a.tar.gz
Merge c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/clean-mysql-5.1
into c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug16002 sql/ha_ndbcluster.cc: Auto merged sql/sql_show.cc: Auto merged sql/sql_table.cc: Auto merged
Diffstat (limited to 'sql/ha_ndbcluster.cc')
-rw-r--r--sql/ha_ndbcluster.cc15
1 files changed, 7 insertions, 8 deletions
diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc
index 0bda9acaed5..bd1452164c1 100644
--- a/sql/ha_ndbcluster.cc
+++ b/sql/ha_ndbcluster.cc
@@ -6455,14 +6455,7 @@ void ha_ndbcluster::print_error(int error, myf errflag)
DBUG_PRINT("enter", ("error = %d", error));
if (error == HA_ERR_NO_PARTITION_FOUND)
- {
- char buf[100];
- my_bitmap_map *old_map= dbug_tmp_use_all_columns(table, table->read_set);
- my_error(ER_NO_PARTITION_FOR_GIVEN_VALUE, MYF(0),
- m_part_info->part_expr->null_value ? "NULL" :
- llstr(m_part_info->part_expr->val_int(), buf));
- dbug_tmp_restore_column_map(table->read_set, old_map);
- }
+ m_part_info->print_no_partition_found(table);
else
handler::print_error(error, errflag);
DBUG_VOID_RETURN;
@@ -9668,6 +9661,7 @@ int ha_ndbcluster::set_range_data(void *tab_ref, partition_info *part_info)
MYF(0));
uint i;
int error= 0;
+ bool unsigned_flag= part_info->part_expr->unsigned_flag;
DBUG_ENTER("set_range_data");
if (!range_data)
@@ -9678,6 +9672,8 @@ int ha_ndbcluster::set_range_data(void *tab_ref, partition_info *part_info)
for (i= 0; i < part_info->no_parts; i++)
{
longlong range_val= part_info->range_int_array[i];
+ if (unsigned_flag)
+ range_val-= 0x8000000000000000ULL;
if (range_val < INT_MIN32 || range_val >= INT_MAX32)
{
if ((i != part_info->no_parts - 1) ||
@@ -9704,6 +9700,7 @@ int ha_ndbcluster::set_list_data(void *tab_ref, partition_info *part_info)
* sizeof(int32), MYF(0));
uint32 *part_id, i;
int error= 0;
+ bool unsigned_flag= part_info->part_expr->unsigned_flag;
DBUG_ENTER("set_list_data");
if (!list_data)
@@ -9715,6 +9712,8 @@ int ha_ndbcluster::set_list_data(void *tab_ref, partition_info *part_info)
{
LIST_PART_ENTRY *list_entry= &part_info->list_array[i];
longlong list_val= list_entry->list_value;
+ if (unsigned_flag)
+ list_val-= 0x8000000000000000ULL;
if (list_val < INT_MIN32 || list_val > INT_MAX32)
{
my_error(ER_LIMITED_PART_RANGE, MYF(0), "NDB");