summaryrefslogtreecommitdiff
path: root/sql/ha_partition.cc
diff options
context:
space:
mode:
authorunknown <antony@anubis.xiphis.org>2007-07-01 20:56:47 -0700
committerunknown <antony@anubis.xiphis.org>2007-07-01 20:56:47 -0700
commit218ae8f3b1aefc807e670dd144fe78ce6266147b (patch)
tree6c799762f4eee5f91022c1ef1ecf42df0e8867a7 /sql/ha_partition.cc
parentde0ba5c894df8f86512d025f4196d62687efb1bb (diff)
parent1cd1f7d06fdd6099d8e3378aed1f42bdfbd8c415 (diff)
downloadmariadb-git-218ae8f3b1aefc807e670dd144fe78ce6266147b.tar.gz
Merge anubis.xiphis.org:/usr/home/antony/work/mysql-5.1-engines
into anubis.xiphis.org:/usr/home/antony/work/mysql-5.1-merge include/my_base.h: Auto merged mysql-test/r/events_bugs.result: Auto merged sql/ha_partition.cc: Auto merged sql/sql_insert.cc: Auto merged
Diffstat (limited to 'sql/ha_partition.cc')
-rw-r--r--sql/ha_partition.cc12
1 files changed, 11 insertions, 1 deletions
diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc
index d874525c4ad..31f59c662d4 100644
--- a/sql/ha_partition.cc
+++ b/sql/ha_partition.cc
@@ -3118,7 +3118,7 @@ int ha_partition::rnd_next(uchar *buf)
continue; // Probably MyISAM
if (result != HA_ERR_END_OF_FILE)
- break; // Return error
+ goto end_dont_reset_start_part; // Return error
/* End current partition */
late_extra_no_cache(part_id);
@@ -3144,6 +3144,7 @@ int ha_partition::rnd_next(uchar *buf)
end:
m_part_spec.start_part= NO_CURRENT_PART_ID;
+end_dont_reset_start_part:
table->status= STATUS_NOT_FOUND;
DBUG_RETURN(result);
}
@@ -4714,6 +4715,12 @@ void ha_partition::get_dynamic_partition_info(PARTITION_INFO *stat_info,
HA_EXTRA_KEY_CACHE:
HA_EXTRA_NO_KEY_CACHE:
This parameters are no longer used and could be removed.
+
+ 7) Parameters only used by federated tables for query processing
+ ----------------------------------------------------------------
+ HA_EXTRA_INSERT_WITH_UPDATE:
+ Inform handler that an "INSERT...ON DUPLICATE KEY UPDATE" will be
+ executed. This condition is unset by HA_EXTRA_NO_IGNORE_DUP_KEY.
*/
int ha_partition::extra(enum ha_extra_function operation)
@@ -4795,6 +4802,9 @@ int ha_partition::extra(enum ha_extra_function operation)
*/
break;
}
+ /* Category 7), used by federated handlers */
+ case HA_EXTRA_INSERT_WITH_UPDATE:
+ DBUG_RETURN(loop_extra(operation));
default:
{
/* Temporary crash to discover what is wrong */