summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se>2006-06-14 19:40:06 -0400
committerunknown <mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se>2006-06-14 19:40:06 -0400
commit4414b56d85d937354e2fb384604394ec3d1ffc56 (patch)
tree4f1188cdcb2492d9fed2bf13a8ae09e622ce161c /sql
parent7d119734cec557778638f5a486c832d5e7ce5d50 (diff)
downloadmariadb-git-4414b56d85d937354e2fb384604394ec3d1ffc56.tar.gz
merge update
mysql-test/t/partition.test: merge error
Diffstat (limited to 'sql')
-rw-r--r--sql/ha_ndbcluster.cc9
-rw-r--r--sql/ha_partition.cc9
-rw-r--r--sql/partition_info.cc24
-rw-r--r--sql/partition_info.h3
4 files changed, 28 insertions, 17 deletions
diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc
index d1bd4e057ae..caeb0631d85 100644
--- a/sql/ha_ndbcluster.cc
+++ b/sql/ha_ndbcluster.cc
@@ -6420,14 +6420,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;
diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc
index f151d89bb1a..93fb6409f9f 100644
--- a/sql/ha_partition.cc
+++ b/sql/ha_partition.cc
@@ -5097,14 +5097,7 @@ void ha_partition::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
m_file[0]->print_error(error, errflag);
DBUG_VOID_RETURN;
diff --git a/sql/partition_info.cc b/sql/partition_info.cc
index 51230a0f5c0..39c8d976732 100644
--- a/sql/partition_info.cc
+++ b/sql/partition_info.cc
@@ -827,4 +827,28 @@ end:
}
+/*
+ Print error for no partition found
+ SYNOPSIS
+ print_no_partition_found()
+ table Table object
+ RETURN VALUES
+ NONE
+*/
+
+void partition_info::print_no_partition_found(TABLE *table)
+{
+ char buf[100];
+ char *buf_ptr= (char*)&buf;
+ my_bitmap_map *old_map= dbug_tmp_use_all_columns(table, table->read_set);
+
+ if (part_expr->null_value)
+ buf_ptr= (char*)"NULL";
+ else
+ longlong2str(part_expr->val_int(), buf,
+ part_expr->unsigned_flag ? 10 : -10);
+ my_error(ER_NO_PARTITION_FOR_GIVEN_VALUE, MYF(0), buf_ptr);
+ dbug_tmp_restore_column_map(table->read_set, old_map);
+}
+
#endif /* WITH_PARTITION_STORAGE_ENGINE */
diff --git a/sql/partition_info.h b/sql/partition_info.h
index f195e555934..3d8c6a40221 100644
--- a/sql/partition_info.h
+++ b/sql/partition_info.h
@@ -217,7 +217,7 @@ public:
list_of_part_fields(FALSE), list_of_subpart_fields(FALSE),
linear_hash_ind(FALSE), fixed(FALSE),
is_auto_partitioned(FALSE), from_openfrm(FALSE),
- has_null_value(FALSE), has_null_part_id(0)
+ has_null_value(FALSE)
{
all_fields_in_PF.clear_all();
all_fields_in_PPF.clear_all();
@@ -251,6 +251,7 @@ public:
bool check_list_constants();
bool check_partition_info(THD *thd, handlerton **eng_type,
handler *file, ulonglong max_rows);
+ void print_no_partition_found(TABLE *table);
private:
static int list_part_cmp(const void* a, const void* b);
static int list_part_cmp_unsigned(const void* a, const void* b);