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);
    }
  • 相关阅读:
    web中间件之nginx
    JVM之工具分析
    jprofiler监控tomcat
    如何查看端口被占用
    训练赛第二场C题 zoj 2339 Hyperhuffman
    训练赛第三场A题 zoj 559
    训练赛第二场G题 ZOJ 2343
    训练赛第一场D题
    训练赛第一场A题 (ZOJ 2313)
    HDU 1422 重温世界杯 DP题
  • 原文地址:https://www.cnblogs.com/taek/p/5052711.html
Copyright © 2011-2022 走看看