]> git.pld-linux.org Git - packages/mysql.git/blobdiff - userstat.patch
- updated to 5.5.32
[packages/mysql.git] / userstat.patch
index 9567dea19c127aaa3d8b65f128bbe76bb9d26abe..5c2265a140e64ac67e3dd2181de6e1abcc64864a 100644 (file)
@@ -96,7 +96,7 @@
    DBUG_RETURN(error);
  }
  
-@@ -3638,6 +3645,127 @@
+@@ -3644,6 +3651,127 @@
    return;
  }
  
    SCH_VARIABLES,
    SCH_VIEWS
  };
-@@ -1231,6 +1240,9 @@
+@@ -1233,6 +1242,9 @@
    bool locked;
    bool implicit_emptied;                /* Can be !=0 only if HEAP */
    const COND *pushed_cond;
    /**
      next_insert_id is the next value which should be inserted into the
      auto_increment column: in a inserting-multi-row statement (like INSERT
-@@ -1282,10 +1294,12 @@
+@@ -1284,10 +1296,12 @@
      ref_length(sizeof(my_off_t)),
      ft_handler(0), inited(NONE),
      locked(FALSE), implicit_emptied(0),
    virtual ~handler(void)
    {
      DBUG_ASSERT(locked == FALSE);
-@@ -1408,6 +1422,8 @@
+@@ -1410,6 +1424,8 @@
    {
      table= table_arg;
      table_share= share;
    }
    virtual double scan_time()
    { return ulonglong2double(stats.data_file_length) / IO_SIZE + 2; }
-@@ -1803,6 +1819,8 @@
+@@ -1805,6 +1821,8 @@
    virtual bool is_crashed() const  { return 0; }
    virtual bool auto_repair() const { return 0; }
  
  /*
    Log error with all enabled log event handlers
  
-@@ -5040,6 +5047,8 @@
+@@ -5062,6 +5069,8 @@
                               thd->first_successful_insert_id_in_prev_stmt_for_binlog);
            if (e.write(file))
              goto err;
          }
          if (thd->auto_inc_intervals_in_cur_stmt_for_binlog.nb_elements() > 0)
          {
-@@ -5051,12 +5060,16 @@
+@@ -5073,12 +5082,16 @@
                               minimum());
            if (e.write(file))
              goto err;
          }
          if (thd->user_var_events.elements)
          {
-@@ -5079,6 +5092,8 @@
+@@ -5101,6 +5114,8 @@
                                   flags);
              if (e.write(file))
                goto err;
            }
          }
        }
-@@ -5090,6 +5105,8 @@
+@@ -5112,6 +5127,8 @@
      if (event_info->write(file) ||
          DBUG_EVALUATE_IF("injecting_fault_writing", 1, 0))
        goto err;
  
      error= 0;
  err:
-@@ -5275,7 +5292,8 @@
+@@ -5346,7 +5363,8 @@
      be reset as a READ_CACHE to be able to read the contents from it.
   */
  
  {
    Mutex_sentry sentry(lock_log ? &LOCK_log : NULL);
  
-@@ -5322,6 +5340,7 @@
+@@ -5393,6 +5411,7 @@
        /* write the first half of the split header */
        if (my_b_write(&log_file, header, carry))
          return ER_ERROR_ON_WRITE;
  
        /*
          copy fixed second half of header to cache so the correct
-@@ -5390,6 +5409,7 @@
+@@ -5461,6 +5480,7 @@
      /* Write data to the binary log file */
      if (my_b_write(&log_file, cache->read_pos, length))
        return ER_ERROR_ON_WRITE;
      cache->read_pos=cache->read_end;          // Mark buffer used up
    } while ((length= my_b_fill(cache)));
  
-@@ -5504,20 +5524,23 @@
+@@ -5584,20 +5604,23 @@
        Query_log_event qinfo(thd, STRING_WITH_LEN("BEGIN"), TRUE, FALSE, TRUE, 0);
        if (qinfo.write(&log_file))
          goto err;
    void set_write_error(THD *thd, bool is_transactional);
    bool check_write_error(THD *thd);
  
-@@ -589,6 +590,7 @@
+@@ -591,6 +592,7 @@
                             const char *sql_text, uint sql_text_len,
                             CHARSET_INFO *client_cs);
    void flush();
    MYSQL_QUERY_LOG *get_mysql_log() { return &mysql_log; }
 --- a/sql/mysqld.cc
 +++ b/sql/mysqld.cc
-@@ -441,6 +441,7 @@
+@@ -445,6 +445,7 @@
  MYSQL_PLUGIN_IMPORT uint    opt_debug_sync_timeout= 0;
  #endif /* defined(ENABLED_DEBUG_SYNC) */
  my_bool opt_old_style_user_limits= 0, trust_function_creators= 0;
  my_bool opt_optimizer_fix= 0;
  /*
    True if there is at least one per-hour limit for some user, so we should
-@@ -492,6 +493,7 @@
+@@ -496,6 +497,7 @@
  ulong binlog_cache_use= 0, binlog_cache_disk_use= 0;
  ulong binlog_stmt_cache_use= 0, binlog_stmt_cache_disk_use= 0;
  ulong max_connections, max_connect_errors;
  
  /* flashcache */
  int cachedev_fd;
-@@ -641,7 +643,9 @@
+@@ -645,7 +647,9 @@
    LOCK_crypt,
    LOCK_global_system_variables,
    LOCK_user_conn, LOCK_slave_list, LOCK_active_mi,
  /**
    The below lock protects access to two global server variables:
    max_prepared_stmt_count and prepared_stmt_count. These variables
-@@ -1504,6 +1508,11 @@
+@@ -1509,6 +1513,11 @@
  #ifdef HAVE_RESPONSE_TIME_DISTRIBUTION
    query_response_time_free();
  #endif // HAVE_RESPONSE_TIME_DISTRIBUTION
  #ifdef HAVE_REPLICATION
    end_slave_list();
  #endif
-@@ -1607,6 +1616,10 @@
+@@ -1612,6 +1621,10 @@
    mysql_cond_destroy(&COND_thread_cache);
    mysql_cond_destroy(&COND_flush_thread_cache);
    mysql_cond_destroy(&COND_manager);
  }
  #endif /*EMBEDDED_LIBRARY*/
  
-@@ -3088,6 +3101,7 @@
+@@ -2938,6 +2951,7 @@
    {"show_binlog_events",   (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_BINLOG_EVENTS]), SHOW_LONG_STATUS},
    {"show_binlogs",         (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_BINLOGS]), SHOW_LONG_STATUS},
    {"show_charsets",        (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_CHARSETS]), SHOW_LONG_STATUS},
    {"show_collations",      (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_COLLATIONS]), SHOW_LONG_STATUS},
    {"show_contributors",    (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_CONTRIBUTORS]), SHOW_LONG_STATUS},
    {"show_create_db",       (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_CREATE_DB]), SHOW_LONG_STATUS},
-@@ -3108,6 +3122,7 @@
+@@ -2958,6 +2972,7 @@
  #endif
    {"show_function_status", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_STATUS_FUNC]), SHOW_LONG_STATUS},
    {"show_grants",          (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_GRANTS]), SHOW_LONG_STATUS},
    {"show_keys",            (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_KEYS]), SHOW_LONG_STATUS},
    {"show_master_status",   (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_MASTER_STAT]), SHOW_LONG_STATUS},
    {"show_open_tables",     (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_OPEN_TABLES]), SHOW_LONG_STATUS},
-@@ -3126,10 +3141,13 @@
+@@ -2976,10 +2991,13 @@
    {"show_slave_status_nolock", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_SLAVE_NOLOCK_STAT]), SHOW_LONG_STATUS},
    {"show_status",          (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_STATUS]), SHOW_LONG_STATUS},
    {"show_storage_engines", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_STORAGE_ENGINES]), SHOW_LONG_STATUS},
    {"show_variables",       (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_VARIABLES]), SHOW_LONG_STATUS},
    {"show_warnings",        (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_WARNS]), SHOW_LONG_STATUS},
    {"slave_start",          (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SLAVE_START]), SHOW_LONG_STATUS},
-@@ -3667,6 +3685,13 @@
+@@ -3517,6 +3535,13 @@
    mysql_mutex_init(key_LOCK_server_started,
                     &LOCK_server_started, MY_MUTEX_INIT_FAST);
    mysql_cond_init(key_COND_server_started, &COND_server_started, NULL);
    sp_cache_init();
  #ifdef HAVE_EVENT_SCHEDULER
    Events::init_mutexes();
-@@ -4036,6 +4061,9 @@
+@@ -3886,6 +3911,9 @@
    query_response_time_init();
  #endif // HAVE_RESPONSE_TIME_DISTRIBUTION
    /* We have to initialize the storage engines before CSV logging */
    if (ha_init())
    {
      sql_print_error("Can't init databases");
-@@ -4172,6 +4200,9 @@
+@@ -4022,6 +4050,9 @@
  
    init_max_user_conn();
    init_update_queries();
    DBUG_RETURN(0);
  }
  
-@@ -5226,6 +5257,7 @@
+@@ -5087,6 +5118,7 @@
      {
        sql_print_warning("%s", ER_DEFAULT(ER_CON_COUNT_ERROR));
      }
      delete thd;
      DBUG_VOID_RETURN;
    }
-@@ -7957,6 +7989,8 @@
+@@ -7825,6 +7857,8 @@
    key_delayed_insert_mutex, key_hash_filo_lock, key_LOCK_active_mi,
    key_LOCK_connection_count, key_LOCK_crypt, key_LOCK_delayed_create,
    key_LOCK_delayed_insert, key_LOCK_delayed_status, key_LOCK_error_log,
    key_LOCK_gdl, key_LOCK_global_system_variables,
    key_LOCK_manager,
    key_LOCK_prepared_stmt_count,
-@@ -7996,6 +8030,13 @@
+@@ -7864,6 +7898,13 @@
    { &key_LOCK_delayed_insert, "LOCK_delayed_insert", PSI_FLAG_GLOBAL},
    { &key_LOCK_delayed_status, "LOCK_delayed_status", PSI_FLAG_GLOBAL},
    { &key_LOCK_error_log, "LOCK_error_log", PSI_FLAG_GLOBAL},
  extern my_bool opt_optimizer_fix;
  extern my_bool opt_enable_named_pipe, opt_sync_frm, opt_allow_suspicious_udfs;
  extern my_bool opt_secure_auth;
-@@ -182,6 +184,7 @@
+@@ -183,6 +185,7 @@
  extern ulong slave_trans_retries;
  extern uint  slave_net_timeout;
  extern uint max_user_connections;
  extern ulong what_to_log,flush_time;
  extern ulong max_prepared_stmt_count, prepared_stmt_count;
  extern ulong open_files_limit;
-@@ -209,6 +212,11 @@
+@@ -210,6 +213,11 @@
  extern struct system_variables max_system_variables;
  extern struct system_status_var global_status_var;
  extern struct rand_struct sql_rand;
  extern const char *opt_date_time_formats[];
  extern handlerton *partition_hton;
  extern handlerton *myisam_hton;
-@@ -251,6 +259,8 @@
+@@ -252,6 +260,8 @@
    key_delayed_insert_mutex, key_hash_filo_lock, key_LOCK_active_mi,
    key_LOCK_connection_count, key_LOCK_crypt, key_LOCK_delayed_create,
    key_LOCK_delayed_insert, key_LOCK_delayed_status, key_LOCK_error_log,
    key_LOCK_gdl, key_LOCK_global_system_variables,
    key_LOCK_logger, key_LOCK_manager,
    key_LOCK_prepared_stmt_count,
-@@ -350,7 +360,9 @@
+@@ -351,7 +361,9 @@
         LOCK_delayed_status, LOCK_delayed_create, LOCK_crypt, LOCK_timezone,
         LOCK_slave_list, LOCK_active_mi, LOCK_manager,
         LOCK_global_system_variables, LOCK_user_conn,
  extern MYSQL_PLUGIN_IMPORT mysql_mutex_t LOCK_thread_count;
  #ifdef HAVE_OPENSSL
  extern mysql_mutex_t LOCK_des_key_file;
-@@ -462,6 +474,16 @@
+@@ -463,6 +475,16 @@
    return id;
  }
  
    if (delete_table)
 --- a/sql/sql_class.cc
 +++ b/sql/sql_class.cc
-@@ -869,6 +869,13 @@
+@@ -978,6 +978,13 @@
    mysys_var=0;
    binlog_evt_union.do_union= FALSE;
    enable_slow_log= 0;
  #ifndef DBUG_OFF
    dbug_sentry=THD_SENTRY_MAGIC;
  #endif
-@@ -1248,6 +1255,7 @@
+@@ -1357,6 +1364,7 @@
      variables.option_bits|= OPTION_BIN_LOG;
    else
      variables.option_bits&= ~OPTION_BIN_LOG;
  
  #if defined(ENABLED_DEBUG_SYNC)
    /* Initialize the Debug Sync Facility. See debug_sync.cc. */
-@@ -1255,6 +1263,94 @@
- #endif /* defined(ENABLED_DEBUG_SYNC) */
+@@ -1366,6 +1374,94 @@
+   clear_slow_extended();
  }
  
 +// Resets stats in a THD.
  
  /*
    Init THD for query processing.
-@@ -2009,6 +2105,32 @@
+@@ -2125,6 +2221,32 @@
  }
  #endif
  
  
  struct Item_change_record: public ilink
  {
-@@ -2185,6 +2307,7 @@
+@@ -2301,6 +2423,7 @@
    }
  
    thd->sent_row_count++;
  
    if (thd->vio_ok())
      DBUG_RETURN(protocol->write());
-@@ -2277,6 +2400,7 @@
+@@ -2393,6 +2516,7 @@
  select_export::~select_export()
  {
    thd->sent_row_count=row_count;
  }
  
  
-@@ -3300,6 +3424,7 @@
+@@ -3416,6 +3540,7 @@
    if (likely(thd != 0))
    { /* current_thd==0 when close_connection() calls net_send_error() */
      thd->status_var.bytes_sent+= length;
    }
  }
  
-@@ -3307,6 +3432,7 @@
+@@ -3423,6 +3548,7 @@
  void thd_increment_bytes_received(ulong length)
  {
    current_thd->status_var.bytes_received+= length;
  
 --- a/sql/sql_class.h
 +++ b/sql/sql_class.h
-@@ -1634,6 +1634,8 @@
+@@ -1705,6 +1705,8 @@
    */
    enum enum_server_command command;
    uint32     server_id;
    uint32     file_id;                 // for LOAD DATA INFILE
    /* remote (peer) port */
    uint16 peer_port;
-@@ -2098,6 +2100,8 @@
+@@ -2214,6 +2216,8 @@
    */
    enum_tx_isolation tx_isolation;
    enum_check_fields count_cuted_fields;
  
    DYNAMIC_ARRAY user_var_events;        /* For user variables replication */
    MEM_ROOT      *user_var_events_alloc; /* Allocate above array elements here */
-@@ -2192,6 +2196,49 @@
+@@ -2308,6 +2312,49 @@
    */
    LOG_INFO*  current_linfo;
    NET*       slave_net;                       // network connection from slave -> m.
    /* Used by the sys_var class to store temporary values */
    union
    {
-@@ -2272,6 +2319,11 @@
+@@ -2388,6 +2435,11 @@
      alloc_root. 
    */
    void init_for_queries();
    void change_user(void);
    void cleanup(void);
    void cleanup_after_query();
-@@ -2744,6 +2796,15 @@
+@@ -2860,6 +2912,15 @@
    }
    thd_scheduler scheduler;
  
  public:
    inline Internal_error_handler *get_internal_handler()
    { return m_internal_handler; }
-@@ -2944,6 +3005,10 @@
+@@ -3060,6 +3121,10 @@
    LEX_STRING invoker_host;
  };
  
  
 --- a/sql/sql_insert.cc
 +++ b/sql/sql_insert.cc
-@@ -1070,13 +1070,14 @@
+@@ -1072,13 +1072,14 @@
  
    if (error)
      goto abort;
    }
    else
    {
-@@ -1092,8 +1093,10 @@
+@@ -1094,8 +1095,10 @@
        sprintf(buff, ER(ER_INSERT_INFO), (ulong) info.records,
              (ulong) (info.deleted + updated),
                (ulong) thd->warning_info->statement_warn_count());
    thd->abort_on_warning= 0;
    DBUG_RETURN(FALSE);
  
-@@ -3535,6 +3538,7 @@
+@@ -3540,6 +3543,7 @@
       thd->first_successful_insert_id_in_prev_stmt :
       (info.copied ? autoinc_value_of_last_inserted_row : 0));
    ::my_ok(thd, row_count, id, buff);
  const char *any_db="*any*";   // Special symbol for check_access
  
  const LEX_STRING command_name[]={
-@@ -701,6 +704,12 @@
+@@ -703,6 +706,12 @@
    */
    thd->clear_error();                         // Clear error message
    thd->stmt_da->reset_diagnostics_area();
  
    net_new_transaction(net);
  
-@@ -886,6 +895,10 @@
+@@ -888,6 +897,10 @@
                        (char *) thd->security_ctx->host_or_ip);
    
    thd->command=command;
    /*
      Commands which always take a long time are logged into
      the slow log only if opt_log_slow_admin_statements is set.
-@@ -1672,6 +1685,13 @@
+@@ -1683,6 +1696,13 @@
      thd->profiling.discard_current_query();
  #endif
      break;
    case SCH_OPEN_TABLES:
    case SCH_VARIABLES:
    case SCH_STATUS:
-@@ -1829,6 +1849,7 @@
+@@ -1857,6 +1877,7 @@
                         thd->security_ctx->priv_host)) &&
          check_global_access(thd, SUPER_ACL))
      {
        my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), "SUPER");
        DBUG_RETURN(TRUE);
      }
-@@ -4827,6 +4848,7 @@
+@@ -4892,6 +4913,7 @@
        case ACL_INTERNAL_ACCESS_DENIED:
          if (! no_errors)
          {
            my_error(ER_DBACCESS_DENIED_ERROR, MYF(0),
                     sctx->priv_user, sctx->priv_host, db);
          }
-@@ -4877,6 +4899,7 @@
+@@ -4942,6 +4964,7 @@
      DBUG_PRINT("error",("No possible access"));
      if (!no_errors)
      {
        if (thd->password == 2)
          my_error(ER_ACCESS_DENIED_NO_PASSWORD_ERROR, MYF(0),
                   sctx->priv_user,
-@@ -4993,6 +5016,7 @@
+@@ -5058,6 +5081,7 @@
  
      if (!thd->col_access && check_grant_db(thd, dst_db_name))
      {
        my_error(ER_DBACCESS_DENIED_ERROR, MYF(0),
                 thd->security_ctx->priv_user,
                 thd->security_ctx->priv_host,
-@@ -5263,6 +5287,7 @@
+@@ -5328,6 +5352,7 @@
    if ((thd->security_ctx->master_access & want_access))
      return 0;
    get_privilege_desc(command, sizeof(command), want_access);
    my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), command);
    return 1;
  #else
-@@ -5644,6 +5669,32 @@
+@@ -5695,6 +5720,32 @@
    lex_start(thd);
    mysql_reset_thd_for_next_command(thd);
  
    if (query_cache_send_result_to_client(thd, rawbuf, length) <= 0)
    {
      LEX *lex= thd->lex;
-@@ -5712,6 +5763,52 @@
+@@ -5763,6 +5814,52 @@
      DBUG_ASSERT(thd->change_list.is_empty());
    }
  
  
 --- a/sql/sql_reload.cc
 +++ b/sql/sql_reload.cc
-@@ -294,14 +294,48 @@
+@@ -320,14 +320,48 @@
     mysql_mutex_unlock(&LOCK_active_mi);
   }
  #endif
  %token  USE_FRM
  %token  USE_SYM
  %token  USING                         /* SQL-2003-R */
-@@ -11120,6 +11125,41 @@
+@@ -11126,6 +11131,41 @@
               MYSQL_YYABORT;
  #endif // HAVE_RESPONSE_TIME_DISTRIBUTION
           }
          | CREATE PROCEDURE_SYM sp_name
            {
              LEX *lex= Lex;
-@@ -11365,6 +11405,16 @@
+@@ -11371,6 +11411,16 @@
              Lex->type|= REFRESH_QUERY_RESPONSE_TIME;
  #endif // HAVE_RESPONSE_TIME_DISTRIBUTION
            }
          | MASTER_SYM
            { Lex->type|= REFRESH_MASTER; }
          | DES_KEY_FILE
-@@ -12509,6 +12559,7 @@
+@@ -12515,6 +12565,7 @@
          | CHAIN_SYM                {}
          | CHANGED                  {}
          | CIPHER_SYM               {}
          | CLIENT_SYM               {}
          | CLASS_ORIGIN_SYM         {}
          | COALESCE                 {}
-@@ -12577,6 +12628,7 @@
+@@ -12583,6 +12634,7 @@
          | HOSTS_SYM                {}
          | HOUR_SYM                 {}
          | IDENTIFIED_SYM           {}
          | IGNORE_SERVER_IDS_SYM    {}
          | INVOKER_SYM              {}
          | IMPORT                   {}
-@@ -12728,6 +12780,7 @@
+@@ -12734,6 +12786,7 @@
          | SUSPEND_SYM              {}
          | SWAPS_SYM                {}
          | SWITCHES_SYM             {}
          | TABLE_NAME_SYM           {}
          | TABLES                   {}
          | TABLE_CHECKSUM_SYM       {}
-@@ -12753,6 +12806,7 @@
+@@ -12759,6 +12812,7 @@
          | UNKNOWN_SYM              {}
          | UNTIL_SYM                {}
          | USER                     {}
  #define REG_NEW_RECORD                2       /* Write a new record if not found */
 --- a/sql/sys_vars.cc
 +++ b/sql/sys_vars.cc
-@@ -1632,6 +1632,17 @@
+@@ -1711,6 +1711,17 @@
         NO_MUTEX_GUARD, NOT_IN_BINLOG,
         ON_CHECK(check_read_only), ON_UPDATE(fix_read_only));
  
  }
  
  int ha_myisam::check(THD* thd, HA_CHECK_OPT* check_opt)
-@@ -1537,16 +1540,24 @@
+@@ -1553,16 +1556,24 @@
  
  int ha_myisam::update_row(const uchar *old_data, uchar *new_data)
  {
  }
  
  int ha_myisam::index_read_map(uchar *buf, const uchar *key,
-@@ -1558,6 +1569,14 @@
+@@ -1574,6 +1585,14 @@
    ha_statistic_increment(&SSV::ha_read_key_count);
    int error=mi_rkey(file, buf, active_index, key, keypart_map, find_flag);
    table->status=error ? STATUS_NOT_FOUND: 0;
    MYSQL_INDEX_READ_ROW_DONE(error);
    return error;
  }
-@@ -1570,6 +1589,14 @@
+@@ -1586,6 +1605,14 @@
    ha_statistic_increment(&SSV::ha_read_key_count);
    int error=mi_rkey(file, buf, index, key, keypart_map, find_flag);
    table->status=error ? STATUS_NOT_FOUND: 0;
    MYSQL_INDEX_READ_ROW_DONE(error);
    return error;
  }
-@@ -1584,6 +1611,14 @@
+@@ -1600,6 +1627,14 @@
    int error=mi_rkey(file, buf, active_index, key, keypart_map,
                      HA_READ_PREFIX_LAST);
    table->status=error ? STATUS_NOT_FOUND: 0;
    MYSQL_INDEX_READ_ROW_DONE(error);
    DBUG_RETURN(error);
  }
-@@ -1595,6 +1630,13 @@
+@@ -1611,6 +1646,13 @@
    ha_statistic_increment(&SSV::ha_read_next_count);
    int error=mi_rnext(file,buf,active_index);
    table->status=error ? STATUS_NOT_FOUND: 0;
    MYSQL_INDEX_READ_ROW_DONE(error);
    return error;
  }
-@@ -1606,6 +1648,13 @@
+@@ -1622,6 +1664,13 @@
    ha_statistic_increment(&SSV::ha_read_prev_count);
    int error=mi_rprev(file,buf, active_index);
    table->status=error ? STATUS_NOT_FOUND: 0;
    MYSQL_INDEX_READ_ROW_DONE(error);
    return error;
  }
-@@ -1617,6 +1666,14 @@
+@@ -1633,6 +1682,14 @@
    ha_statistic_increment(&SSV::ha_read_first_count);
    int error=mi_rfirst(file, buf, active_index);
    table->status=error ? STATUS_NOT_FOUND: 0;
    MYSQL_INDEX_READ_ROW_DONE(error);
    return error;
  }
-@@ -1628,6 +1685,14 @@
+@@ -1644,6 +1701,14 @@
    ha_statistic_increment(&SSV::ha_read_last_count);
    int error=mi_rlast(file, buf, active_index);
    table->status=error ? STATUS_NOT_FOUND: 0;
    MYSQL_INDEX_READ_ROW_DONE(error);
    return error;
  }
-@@ -1645,6 +1710,14 @@
+@@ -1661,6 +1726,14 @@
      error= mi_rnext_same(file,buf);
    } while (error == HA_ERR_RECORD_DELETED);
    table->status=error ? STATUS_NOT_FOUND: 0;
    MYSQL_INDEX_READ_ROW_DONE(error);
    return error;
  }
-@@ -1664,6 +1737,8 @@
+@@ -1680,6 +1753,8 @@
    ha_statistic_increment(&SSV::ha_read_rnd_next_count);
    int error=mi_scan(file, buf);
    table->status=error ? STATUS_NOT_FOUND: 0;
    MYSQL_READ_ROW_DONE(error);
    return error;
  }
-@@ -1680,6 +1755,8 @@
+@@ -1696,6 +1771,8 @@
    ha_statistic_increment(&SSV::ha_read_rnd_count);
    int error=mi_rrnd(file, buf, my_get_ptr(pos,ref_length));
    table->status=error ? STATUS_NOT_FOUND: 0;
 \ No newline at end of file
 --- a/mysql-test/r/mysqld--help-notwin.result
 +++ b/mysql-test/r/mysqld--help-notwin.result
-@@ -743,6 +743,8 @@
+@@ -745,6 +745,8 @@
   Define threads usage for handling queries, one of
   one-thread-per-connection, no-threads, loaded-dynamically
   --thread-stack=#    The stack size for each thread
   --time-format=name  The TIME format (ignored)
   --timed-mutexes     Specify whether to time mutexes (only InnoDB mutexes are
   currently supported)
-@@ -768,6 +770,9 @@
+@@ -770,6 +772,9 @@
   of the underlying table and the query uses a LIMIT clause
   (usually get from GUI tools)
   -u, --user=name     Run mysqld daemon as user.
   -v, --verbose       Used with --help option for detailed help.
   -V, --version       Output version information and exit.
   --wait-timeout=#    The number of seconds the server waits for activity on a
-@@ -1002,6 +1007,7 @@
+@@ -1005,6 +1010,7 @@
  thread-cache-size 0
  thread-handling one-thread-per-connection
  thread-stack 262144
  time-format %H:%i:%s
  timed-mutexes FALSE
  tmp-table-size 16777216
-@@ -1009,6 +1015,7 @@
+@@ -1012,6 +1018,7 @@
  transaction-isolation REPEATABLE-READ
  transaction-prealloc-size 4096
  updatable-views-with-limit YES
This page took 0.093313 seconds and 4 git commands to generate.