mirror of
https://github.com/MariaDB/server.git
synced 2026-05-16 03:47:17 +02:00
Renamed storage/innodb_plugin to storage/innobase, so that 1) it's the same
layout as we always had in trees containing only the builtin 2) win\configure.js WITH_INNOBASE_STORAGE_ENGINE still works. storage/innobase/CMakeLists.txt: fix to new directory name (and like 5.1) storage/innobase/Makefile.am: fix to new directory name (and like 5.1) storage/innobase/handler/ha_innodb.cc: fix to new directory name (and like 5.1) storage/innobase/plug.in: fix to new directory name (and like 5.1)
This commit is contained in:
parent
7fa1449eac
commit
7ceb29ff17
387 changed files with 18 additions and 18 deletions
105
storage/innobase/include/row0sel.ic
Normal file
105
storage/innobase/include/row0sel.ic
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
/*****************************************************************************
|
||||
|
||||
Copyright (c) 1997, 2009, Innobase Oy. All Rights Reserved.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free Software
|
||||
Foundation; version 2 of the License.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along with
|
||||
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||
Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
*****************************************************************************/
|
||||
|
||||
/**************************************************//**
|
||||
@file include/row0sel.ic
|
||||
Select
|
||||
|
||||
Created 12/19/1997 Heikki Tuuri
|
||||
*******************************************************/
|
||||
|
||||
#include "que0que.h"
|
||||
|
||||
/*********************************************************************//**
|
||||
Gets the plan node for the nth table in a join.
|
||||
@return plan node */
|
||||
UNIV_INLINE
|
||||
plan_t*
|
||||
sel_node_get_nth_plan(
|
||||
/*==================*/
|
||||
sel_node_t* node, /*!< in: select node */
|
||||
ulint i) /*!< in: get ith plan node */
|
||||
{
|
||||
ut_ad(i < node->n_tables);
|
||||
|
||||
return(node->plans + i);
|
||||
}
|
||||
|
||||
/*********************************************************************//**
|
||||
Resets the cursor defined by sel_node to the SEL_NODE_OPEN state, which means
|
||||
that it will start fetching from the start of the result set again, regardless
|
||||
of where it was before, and it will set intention locks on the tables. */
|
||||
UNIV_INLINE
|
||||
void
|
||||
sel_node_reset_cursor(
|
||||
/*==================*/
|
||||
sel_node_t* node) /*!< in: select node */
|
||||
{
|
||||
node->state = SEL_NODE_OPEN;
|
||||
}
|
||||
|
||||
/**********************************************************************//**
|
||||
Performs an execution step of an open or close cursor statement node.
|
||||
@return query thread to run next or NULL */
|
||||
UNIV_INLINE
|
||||
que_thr_t*
|
||||
open_step(
|
||||
/*======*/
|
||||
que_thr_t* thr) /*!< in: query thread */
|
||||
{
|
||||
sel_node_t* sel_node;
|
||||
open_node_t* node;
|
||||
ulint err;
|
||||
|
||||
ut_ad(thr);
|
||||
|
||||
node = (open_node_t*) thr->run_node;
|
||||
ut_ad(que_node_get_type(node) == QUE_NODE_OPEN);
|
||||
|
||||
sel_node = node->cursor_def;
|
||||
|
||||
err = DB_SUCCESS;
|
||||
|
||||
if (node->op_type == ROW_SEL_OPEN_CURSOR) {
|
||||
|
||||
/* if (sel_node->state == SEL_NODE_CLOSED) { */
|
||||
|
||||
sel_node_reset_cursor(sel_node);
|
||||
/* } else {
|
||||
err = DB_ERROR;
|
||||
} */
|
||||
} else {
|
||||
if (sel_node->state != SEL_NODE_CLOSED) {
|
||||
|
||||
sel_node->state = SEL_NODE_CLOSED;
|
||||
} else {
|
||||
err = DB_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
if (UNIV_EXPECT(err, DB_SUCCESS) != DB_SUCCESS) {
|
||||
/* SQL error detected */
|
||||
fprintf(stderr, "SQL error %lu\n", (ulong) err);
|
||||
|
||||
ut_error;
|
||||
}
|
||||
|
||||
thr->run_node = que_node_get_parent(node);
|
||||
|
||||
return(thr);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue