Commit 8f3e39bd authored by unknown's avatar unknown
Browse files

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
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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
+6 −6
Original line number Diff line number Diff line
@@ -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
+3 −0
Original line number Diff line number Diff line
@@ -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))
+2 −1
Original line number Diff line number Diff line
@@ -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