diff options
author | eric@mysql.com <> | 2005-09-13 23:31:17 -0700 |
---|---|---|
committer | eric@mysql.com <> | 2005-09-13 23:31:17 -0700 |
commit | ef064015498049cd67894449532acd09b7c7c08b (patch) | |
tree | 69a23e7333dd480c5ad097cd0be4565963c6ffaa /sql/ha_federated.h | |
parent | 50c0e826dbaf2151ef6d21cc92baedbd925cdcb2 (diff) | |
download | mariadb-git-ef064015498049cd67894449532acd09b7c7c08b.tar.gz |
Improvement to federated for BUG#12659
Now many direct references to my_error() have been removed.
Diffstat (limited to 'sql/ha_federated.h')
-rw-r--r-- | sql/ha_federated.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sql/ha_federated.h b/sql/ha_federated.h index f75fa21b1d6..b25071dda16 100644 --- a/sql/ha_federated.h +++ b/sql/ha_federated.h @@ -27,6 +27,14 @@ #include <mysql.h> +/* + handler::print_error has a case statement for error numbers. + This value is (10000) is far out of range and will envoke the + default: case. + (Current error range is 120-159 from include/my_base.h) +*/ +#define HA_FEDERATED_ERROR_WITH_REMOTE_SYSTEM 10000 + #define FEDERATED_QUERY_BUFFER_SIZE STRING_BUFFER_USUAL_SIZE * 5 #define FEDERATED_RECORDS_IN_RANGE 2 @@ -149,6 +157,8 @@ class ha_federated: public handler uint ref_length; uint fetch_num; // stores the fetch num MYSQL_ROW_OFFSET current_position; // Current position used by ::position() + int remote_error_number; + char remote_error_buf[FEDERATED_QUERY_BUFFER_SIZE]; private: /* @@ -160,6 +170,7 @@ private: const key_range *start_key, const key_range *end_key, bool records_in_range); + int stash_remote_error(); public: ha_federated(TABLE *table_arg); @@ -286,6 +297,7 @@ public: THR_LOCK_DATA **store_lock(THD *thd, THR_LOCK_DATA **to, enum thr_lock_type lock_type); //required + virtual bool get_error_message(int error, String *buf); }; bool federated_db_init(void); |