Commit 8f3e39bd authored by unknown's avatar unknown

WL #3031

* Various windows errors fixed
* Increased max key length for federated


include/my_time.h:
  WL #3031
  
  Windows compile errors for some platforms. JBalint helped find this fix.
sql/log_event.cc:
  WL #3031
  
  Windows compile errors on some platforms. explicite casting.
sql/sql_servers.cc:
  WL #3031
  
  Add rwlock init to sql_servers to fix hang on windows.
storage/federated/ha_federated.h:
  WL #3031
  
  Increase max key length to innodb's max (Cisco fix)
parent 4a08b64f
......@@ -37,7 +37,8 @@ extern uchar days_in_month[];
/* on Win64 long is still 4 bytes (not 8!) */
typedef LONG64 my_time_t;
#else
typedef long my_time_t;
typedef time_t my_time_t;
#endif
#define MY_TIME_T_MAX LONG_MAX
......
......@@ -5558,8 +5558,8 @@ unpack_row(RELAY_LOG_INFO *rli,
if (bitmap_is_set(cols, field_ptr - begin_ptr))
{
DBUG_ASSERT(table->record[0] <= f->ptr);
DBUG_ASSERT(f->ptr < (table->record[0] + table->s->reclength +
DBUG_ASSERT((const char *)table->record[0] <= f->ptr);
DBUG_ASSERT(f->ptr < ((const char *)table->record[0] + table->s->reclength +
(f->pack_length_in_rec() == 0)));
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)
trigger false warnings.
*/
#ifndef HAVE_purify
DBUG_DUMP("table->record[0]", table->record[0], table->s->reclength);
DBUG_DUMP("table->record[1]", table->record[1], table->s->reclength);
DBUG_DUMP("table->record[0]", (const char *)table->record[0], table->s->reclength);
DBUG_DUMP("table->record[1]", (const char *)table->record[1], table->s->reclength);
#endif
/*
......@@ -6870,8 +6870,8 @@ static int find_and_fetch_row(TABLE *table, byte *key)
trigger false warnings.
*/
#ifndef HAVE_purify
DBUG_DUMP("table->record[0]", table->record[0], table->s->reclength);
DBUG_DUMP("table->record[1]", table->record[1], table->s->reclength);
DBUG_DUMP("table->record[0]", (const char *)table->record[0], table->s->reclength);
DBUG_DUMP("table->record[1]", (const char *)table->record[1], table->s->reclength);
#endif
/*
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)
if (pthread_mutex_init(&servers_cache_mutex, MY_MUTEX_INIT_FAST))
DBUG_RETURN(1);
if (my_rwlock_init(&THR_LOCK_servers, NULL))
DBUG_RETURN(1);
/* initialise our servers cache */
if (hash_init(&servers_cache, system_charset_info, 32, 0, 0,
(hash_get_key) servers_cache_get_key, 0, 0))
......
......@@ -37,6 +37,7 @@
#define FEDERATED_QUERY_BUFFER_SIZE STRING_BUFFER_USUAL_SIZE * 5
#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
......@@ -146,7 +147,7 @@ class ha_federated: public handler
uint max_supported_record_length() const { return HA_MAX_REC_LENGTH; }
uint max_supported_keys() const { return MAX_KEY; }
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.
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