summaryrefslogtreecommitdiff
path: root/storage/federatedx
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2011-04-25 17:22:25 +0200
committerSergei Golubchik <sergii@pisem.net>2011-04-25 17:22:25 +0200
commit0accbd0364e0333e0b119aa9ce93e34ded9df6cb (patch)
treebdf0738c29dc1f57fbfba3a1754524e238f15b52 /storage/federatedx
parent37f87d73ae8dc6c30594867b40a5d70159acf63c (diff)
downloadmariadb-git-0accbd0364e0333e0b119aa9ce93e34ded9df6cb.tar.gz
lots of post-merge changes
Diffstat (limited to 'storage/federatedx')
-rw-r--r--storage/federatedx/federatedx_io.cc2
-rw-r--r--storage/federatedx/federatedx_io_mysql.cc9
-rw-r--r--storage/federatedx/federatedx_io_null.cc2
-rw-r--r--storage/federatedx/federatedx_txn.cc14
-rw-r--r--storage/federatedx/ha_federatedx.cc50
-rw-r--r--storage/federatedx/ha_federatedx.h15
6 files changed, 44 insertions, 48 deletions
diff --git a/storage/federatedx/federatedx_io.cc b/storage/federatedx/federatedx_io.cc
index 10023bec35b..3e79c3f6d76 100644
--- a/storage/federatedx/federatedx_io.cc
+++ b/storage/federatedx/federatedx_io.cc
@@ -28,7 +28,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/*#define MYSQL_SERVER 1*/
-#include "mysql_priv.h"
+#include "sql_priv.h"
#include <mysql/plugin.h>
#include "ha_federatedx.h"
diff --git a/storage/federatedx/federatedx_io_mysql.cc b/storage/federatedx/federatedx_io_mysql.cc
index d6844fab2c6..a2ba496ea47 100644
--- a/storage/federatedx/federatedx_io_mysql.cc
+++ b/storage/federatedx/federatedx_io_mysql.cc
@@ -27,13 +27,14 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-/*#define MYSQL_SERVER 1*/
-#include "mysql_priv.h"
+#define MYSQL_SERVER 1
+#include "sql_priv.h"
#include <mysql/plugin.h>
#include "ha_federatedx.h"
#include "m_string.h"
+#include "sql_servers.h"
#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
@@ -420,7 +421,7 @@ int federatedx_io_mysql::actual_query(const char *buffer, uint length)
int error;
DBUG_ENTER("federatedx_io_mysql::actual_query");
- if (!mysql.master)
+ if (!mysql.net.vio)
{
if (!(mysql_init(&mysql)))
DBUG_RETURN(-1);
@@ -463,7 +464,7 @@ my_ulonglong federatedx_io_mysql::affected_rows() const
my_ulonglong federatedx_io_mysql::last_insert_id() const
{
- return mysql.last_used_con->insert_id;
+ return mysql.insert_id;
}
diff --git a/storage/federatedx/federatedx_io_null.cc b/storage/federatedx/federatedx_io_null.cc
index 49f93ab6546..4322422ef37 100644
--- a/storage/federatedx/federatedx_io_null.cc
+++ b/storage/federatedx/federatedx_io_null.cc
@@ -28,7 +28,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/*#define MYSQL_SERVER 1*/
-#include "mysql_priv.h"
+#include "sql_priv.h"
#include <mysql/plugin.h>
#include "ha_federatedx.h"
diff --git a/storage/federatedx/federatedx_txn.cc b/storage/federatedx/federatedx_txn.cc
index a6ca3acc744..84c7cd50e8d 100644
--- a/storage/federatedx/federatedx_txn.cc
+++ b/storage/federatedx/federatedx_txn.cc
@@ -26,19 +26,19 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#ifdef USE_PRAGMA_IMPLEMENTATION
+#pragma implementation // gcc: Class implementation
+#endif
-/*#define MYSQL_SERVER 1*/
-#include "mysql_priv.h"
+#define MYSQL_SERVER 1
+#include "sql_priv.h"
#include <mysql/plugin.h>
#include "ha_federatedx.h"
#include "m_string.h"
-
-#ifdef USE_PRAGMA_IMPLEMENTATION
-#pragma implementation // gcc: Class implementation
-#endif
-
+#include "table.h"
+#include "sql_servers.h"
federatedx_txn::federatedx_txn()
: txn_list(0), savepoint_level(0), savepoint_stmt(0), savepoint_next(0)
diff --git a/storage/federatedx/ha_federatedx.cc b/storage/federatedx/ha_federatedx.cc
index 2749034cba2..0d79ffe38a6 100644
--- a/storage/federatedx/ha_federatedx.cc
+++ b/storage/federatedx/ha_federatedx.cc
@@ -307,25 +307,21 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-
-#define MYSQL_SERVER 1
-#include "mysql_priv.h"
-#include <mysql/plugin.h>
-
#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
-#include "ha_federatedx.h"
-
-#include "m_string.h"
-
+#define MYSQL_SERVER 1
#include <mysql/plugin.h>
+#include "ha_federatedx.h"
+#include "sql_servers.h"
+#include "sql_analyse.h" // append_escaped()
+#include "sql_show.h" // append_identifier()
/* Variables for federatedx share methods */
-static HASH federatedx_open_tables; // To track open tables
-static HASH federatedx_open_servers; // To track open servers
-pthread_mutex_t federatedx_mutex; // To init the hash
+static HASH federatedx_open_tables; // To track open tables
+static HASH federatedx_open_servers; // To track open servers
+pthread_mutex_t federatedx_mutex; // To init the hash
const char ident_quote_char= '`'; // Character for quoting
// identifiers
const char value_quote_char= '\''; // Character for quoting
@@ -404,15 +400,15 @@ int federatedx_db_init(void *p)
if (pthread_mutex_init(&federatedx_mutex, MY_MUTEX_INIT_FAST))
goto error;
- if (!hash_init(&federatedx_open_tables, &my_charset_bin, 32, 0, 0,
- (hash_get_key) federatedx_share_get_key, 0, 0) &&
- !hash_init(&federatedx_open_servers, &my_charset_bin, 32, 0, 0,
- (hash_get_key) federatedx_server_get_key, 0, 0))
+ if (!my_hash_init(&federatedx_open_tables, &my_charset_bin, 32, 0, 0,
+ (my_hash_get_key) federatedx_share_get_key, 0, 0) &&
+ !my_hash_init(&federatedx_open_servers, &my_charset_bin, 32, 0, 0,
+ (my_hash_get_key) federatedx_server_get_key, 0, 0))
{
DBUG_RETURN(FALSE);
}
- VOID(pthread_mutex_destroy(&federatedx_mutex));
+ pthread_mutex_destroy(&federatedx_mutex);
error:
DBUG_RETURN(TRUE);
}
@@ -430,9 +426,9 @@ error:
int federatedx_done(void *p)
{
- hash_free(&federatedx_open_tables);
- hash_free(&federatedx_open_servers);
- VOID(pthread_mutex_destroy(&federatedx_mutex));
+ my_hash_free(&federatedx_open_tables);
+ my_hash_free(&federatedx_open_servers);
+ pthread_mutex_destroy(&federatedx_mutex);
return 0;
}
@@ -1498,7 +1494,7 @@ static FEDERATEDX_SERVER *get_server(FEDERATEDX_SHARE *share, TABLE *table)
fill_server(&mem_root, &tmp_server, share, table ? table->s->table_charset : 0);
- if (!(server= (FEDERATEDX_SERVER *) hash_search(&federatedx_open_servers,
+ if (!(server= (FEDERATEDX_SERVER *) my_hash_search(&federatedx_open_servers,
tmp_server.key,
tmp_server.key_length)))
{
@@ -1561,7 +1557,7 @@ static FEDERATEDX_SHARE *get_share(const char *table_name, TABLE *table)
goto error;
/* TODO: change tmp_share.scheme to LEX_STRING object */
- if (!(share= (FEDERATEDX_SHARE *) hash_search(&federatedx_open_tables,
+ if (!(share= (FEDERATEDX_SHARE *) my_hash_search(&federatedx_open_tables,
(uchar*) tmp_share.share_key,
tmp_share.
share_key_length)))
@@ -1620,7 +1616,7 @@ static int free_server(federatedx_txn *txn, FEDERATEDX_SERVER *server)
pthread_mutex_lock(&federatedx_mutex);
if ((destroy= !--server->use_count))
- hash_delete(&federatedx_open_servers, (uchar*) server);
+ my_hash_delete(&federatedx_open_servers, (uchar*) server);
pthread_mutex_unlock(&federatedx_mutex);
if (destroy)
@@ -1659,7 +1655,7 @@ static int free_share(federatedx_txn *txn, FEDERATEDX_SHARE *share)
pthread_mutex_lock(&federatedx_mutex);
if ((destroy= !--share->use_count))
- hash_delete(&federatedx_open_tables, (uchar*) share);
+ my_hash_delete(&federatedx_open_tables, (uchar*) share);
pthread_mutex_unlock(&federatedx_mutex);
if (destroy)
@@ -1965,7 +1961,6 @@ int ha_federatedx::write_row(uchar *buf)
values_string.length(0);
insert_field_value_string.length(0);
- ha_statistic_increment(&SSV::ha_write_count);
if (table->timestamp_field_type & TIMESTAMP_AUTO_SET_ON_INSERT)
table->timestamp_field->set_time();
@@ -2572,7 +2567,6 @@ int ha_federatedx::index_read_idx_with_result_set(uchar *buf, uint index,
*result= 0; // In case of errors
index_string.length(0);
sql_query.length(0);
- ha_statistic_increment(&SSV::ha_read_key_count);
sql_query.append(share->select_query);
@@ -2708,7 +2702,6 @@ int ha_federatedx::read_range_next()
int ha_federatedx::index_next(uchar *buf)
{
DBUG_ENTER("ha_federatedx::index_next");
- ha_statistic_increment(&SSV::ha_read_next_count);
DBUG_RETURN(read_next(buf, stored_result));
}
@@ -2965,7 +2958,6 @@ int ha_federatedx::rnd_pos(uchar *buf, uchar *pos)
int retval;
FEDERATEDX_IO_RESULT *result= stored_result;
DBUG_ENTER("ha_federatedx::rnd_pos");
- ha_statistic_increment(&SSV::ha_read_rnd_count);
/* We have to move this to 'ref' to get things aligned */
bmove(ref, pos, ref_length);
@@ -3212,7 +3204,7 @@ int ha_federatedx::delete_all_rows()
ident_quote_char);
/* no need for savepoint in autocommit mode */
- if (!(ha_thd()->options & (OPTION_NOT_AUTOCOMMIT | OPTION_BEGIN)))
+ if (!(ha_thd()->variables.option_bits & (OPTION_NOT_AUTOCOMMIT | OPTION_BEGIN)))
txn->stmt_autocommit();
/*
diff --git a/storage/federatedx/ha_federatedx.h b/storage/federatedx/ha_federatedx.h
index 2820f8a6c29..96763f7ce31 100644
--- a/storage/federatedx/ha_federatedx.h
+++ b/storage/federatedx/ha_federatedx.h
@@ -32,6 +32,15 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#ifdef USE_PRAGMA_INTERFACE
+#pragma interface /* gcc class implementation */
+#endif
+
+//#include <mysql.h>
+#include <my_global.h>
+#include <thr_lock.h>
+#include "handler.h"
+
class federatedx_io;
/*
@@ -68,12 +77,6 @@ typedef struct st_fedrated_server {
that you can implement.
*/
-#ifdef USE_PRAGMA_INTERFACE
-#pragma interface /* gcc class implementation */
-#endif
-
-#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