zoukankan      html  css  js  c++  java
  • ha_innobase::general_fetch

    /***********************************************************************//**
    Reads the next or previous row from a cursor, which must have previously been
    positioned using index_read.
    @return    0, HA_ERR_END_OF_FILE, or error number */
    UNIV_INTERN
    int
    ha_innobase::general_fetch(
    /*=======================*/
        uchar*    buf,        /*!< in/out: buffer for next row in MySQL
                    format */
        uint    direction,    /*!< in: ROW_SEL_NEXT or ROW_SEL_PREV */
        uint    match_mode)    /*!< in: 0, ROW_SEL_EXACT, or
                    ROW_SEL_EXACT_PREFIX */
    {
        ulint        ret;
        int        error    = 0;
    
        DBUG_ENTER("general_fetch");
    
        ut_a(prebuilt->trx == thd_to_trx(user_thd));
    
        innodb_srv_conc_enter_innodb(prebuilt->trx);
    
        ret = row_search_for_mysql((byte*)buf, 0, prebuilt, match_mode, direction);
    
        innodb_srv_conc_exit_innodb(prebuilt->trx);
    
        switch (ret) {
        case DB_SUCCESS:
            error = 0;
            table->status = 0;
            break;
        case DB_RECORD_NOT_FOUND:
            error = HA_ERR_END_OF_FILE;
            table->status = STATUS_NOT_FOUND;
            break;
        case DB_END_OF_INDEX:
            error = HA_ERR_END_OF_FILE;
            table->status = STATUS_NOT_FOUND;
            break;
        default:
            error = convert_error_code_to_mysql(
                (int) ret, prebuilt->table->flags, user_thd);
            table->status = STATUS_NOT_FOUND;
            break;
        }
    
        DBUG_RETURN(error);
    }
  • 相关阅读:
    cs224n word2vec
    背包问题
    动态规划二
    动态规划
    递推求解
    Tmux 使用技巧
    LeetCode 75. Sort Colors
    LeetCode 18. 4Sum new
    LeetCode 148. Sort List
    LeetCode 147. Insertion Sort List
  • 原文地址:https://www.cnblogs.com/taek/p/5052711.html
Copyright © 2011-2022 走看看