Commit efefea6a authored by patg@radha.patg.net's avatar patg@radha.patg.net

WL #3031

* Various windows errors fixed
* Increased max key length for federated
parent b2008230
...@@ -37,7 +37,8 @@ extern uchar days_in_month[]; ...@@ -37,7 +37,8 @@ extern uchar days_in_month[];
/* on Win64 long is still 4 bytes (not 8!) */ /* on Win64 long is still 4 bytes (not 8!) */
typedef LONG64 my_time_t; typedef LONG64 my_time_t;
#else #else
typedef long my_time_t; typedef time_t my_time_t;
#endif #endif
#define MY_TIME_T_MAX LONG_MAX #define MY_TIME_T_MAX LONG_MAX
......
...@@ -5558,8 +5558,8 @@ unpack_row(RELAY_LOG_INFO *rli, ...@@ -5558,8 +5558,8 @@ unpack_row(RELAY_LOG_INFO *rli,
if (bitmap_is_set(cols, field_ptr - begin_ptr)) if (bitmap_is_set(cols, field_ptr - begin_ptr))
{ {
DBUG_ASSERT(table->record[0] <= f->ptr); DBUG_ASSERT((const char *)table->record[0] <= f->ptr);
DBUG_ASSERT(f->ptr < (table->record[0] + table->s->reclength + DBUG_ASSERT(f->ptr < ((const char *)table->record[0] + table->s->reclength +
(f->pack_length_in_rec() == 0))); (f->pack_length_in_rec() == 0)));
DBUG_PRINT("info", ("unpacking column '%s' to 0x%lx", f->field_name, DBUG_PRINT("info", ("unpacking column '%s' to 0x%lx", f->field_name,
...@@ -6843,8 +6843,8 @@ static int find_and_fetch_row(TABLE *table, byte *key) ...@@ -6843,8 +6843,8 @@ static int find_and_fetch_row(TABLE *table, byte *key)
trigger false warnings. trigger false warnings.
*/ */
#ifndef HAVE_purify #ifndef HAVE_purify
DBUG_DUMP("table->record[0]", table->record[0], table->s->reclength); DBUG_DUMP("table->record[0]", (const char *)table->record[0], table->s->reclength);
DBUG_DUMP("table->record[1]", table->record[1], table->s->reclength); DBUG_DUMP("table->record[1]", (const char *)table->record[1], table->s->reclength);
#endif #endif
/* /*
...@@ -6870,8 +6870,8 @@ static int find_and_fetch_row(TABLE *table, byte *key) ...@@ -6870,8 +6870,8 @@ static int find_and_fetch_row(TABLE *table, byte *key)
trigger false warnings. trigger false warnings.
*/ */
#ifndef HAVE_purify #ifndef HAVE_purify
DBUG_DUMP("table->record[0]", table->record[0], table->s->reclength); DBUG_DUMP("table->record[0]", (const char *)table->record[0], table->s->reclength);
DBUG_DUMP("table->record[1]", table->record[1], table->s->reclength); DBUG_DUMP("table->record[1]", (const char *)table->record[1], table->s->reclength);
#endif #endif
/* /*
Below is a minor "optimization". If the key (i.e., key number Below is a minor "optimization". If the key (i.e., key number
......
...@@ -76,6 +76,9 @@ my_bool servers_init(bool dont_read_servers_table) ...@@ -76,6 +76,9 @@ my_bool servers_init(bool dont_read_servers_table)
if (pthread_mutex_init(&servers_cache_mutex, MY_MUTEX_INIT_FAST)) if (pthread_mutex_init(&servers_cache_mutex, MY_MUTEX_INIT_FAST))
DBUG_RETURN(1); DBUG_RETURN(1);
if (my_rwlock_init(&THR_LOCK_servers, NULL))
DBUG_RETURN(1);
/* initialise our servers cache */ /* initialise our servers cache */
if (hash_init(&servers_cache, system_charset_info, 32, 0, 0, if (hash_init(&servers_cache, system_charset_info, 32, 0, 0,
(hash_get_key) servers_cache_get_key, 0, 0)) (hash_get_key) servers_cache_get_key, 0, 0))
......
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
#define FEDERATED_QUERY_BUFFER_SIZE STRING_BUFFER_USUAL_SIZE * 5 #define FEDERATED_QUERY_BUFFER_SIZE STRING_BUFFER_USUAL_SIZE * 5
#define FEDERATED_RECORDS_IN_RANGE 2 #define FEDERATED_RECORDS_IN_RANGE 2
#define FEDERATED_MAX_KEY_LENGTH 3500 // Same as innodb
/* /*
FEDERATED_SHARE is a structure that will be shared amoung all open handlers FEDERATED_SHARE is a structure that will be shared amoung all open handlers
...@@ -146,7 +147,7 @@ public: ...@@ -146,7 +147,7 @@ public:
uint max_supported_record_length() const { return HA_MAX_REC_LENGTH; } uint max_supported_record_length() const { return HA_MAX_REC_LENGTH; }
uint max_supported_keys() const { return MAX_KEY; } uint max_supported_keys() const { return MAX_KEY; }
uint max_supported_key_parts() const { return MAX_REF_PARTS; } uint max_supported_key_parts() const { return MAX_REF_PARTS; }
uint max_supported_key_length() const { return MAX_KEY_LENGTH; } uint max_supported_key_length() const { return FEDERATED_MAX_KEY_LENGTH; }
/* /*
Called in test_quick_select to determine if indexes should be used. Called in test_quick_select to determine if indexes should be used.
Normally, we need to know number of blocks . For federated we need to Normally, we need to know number of blocks . For federated we need to
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment