summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <sergefp@mysql.com>2004-08-24 15:29:10 +0400
committerunknown <sergefp@mysql.com>2004-08-24 15:29:10 +0400
commitd7dd19aa07c3ba439c2b97d50949f2142cefb203 (patch)
treeee2e3a472d1daac8a980d6d18c9ca97c10207ac9 /sql
parent2ba96c63b39def744ec964db29d6ed123a5addd8 (diff)
parentd261072f7cdb44869ab8de39fd7a67f0c5122ab5 (diff)
downloadmariadb-git-d7dd19aa07c3ba439c2b97d50949f2142cefb203.tar.gz
Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-root-root
Diffstat (limited to 'sql')
-rw-r--r--sql/sql_class.cc6
-rw-r--r--sql/sql_class.h12
-rw-r--r--sql/sql_prepare.cc18
3 files changed, 20 insertions, 16 deletions
diff --git a/sql/sql_class.cc b/sql/sql_class.cc
index 23fef44c964..ff7dc805119 100644
--- a/sql/sql_class.cc
+++ b/sql/sql_class.cc
@@ -1303,7 +1303,7 @@ int select_dumpvar::prepare(List<Item> &list, SELECT_LEX_UNIT *u)
Item_arena::Item_arena(THD* thd)
:free_list(0),
- state(INITIALIZED)
+ state((int)INITIALIZED)
{
init_sql_alloc(&mem_root,
thd->variables.query_alloc_block_size,
@@ -1315,7 +1315,7 @@ Item_arena::Item_arena(THD* thd)
Item_arena::Item_arena()
:free_list(0),
- state(CONVENTIONAL_EXECUTION)
+ state((int)CONVENTIONAL_EXECUTION)
{
clear_alloc_root(&mem_root);
}
@@ -1323,7 +1323,7 @@ Item_arena::Item_arena()
Item_arena::Item_arena(bool init_mem_root)
:free_list(0),
- state(INITIALIZED)
+ state((int)INITIALIZED)
{
if (init_mem_root)
clear_alloc_root(&mem_root);
diff --git a/sql/sql_class.h b/sql/sql_class.h
index 83fdb4c7d76..713609b3d32 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -427,8 +427,12 @@ public:
*/
Item *free_list;
MEM_ROOT mem_root;
- static const int INITIALIZED= 0, PREPARED= 1, EXECUTED= 3,
- CONVENTIONAL_EXECUTION= 2, ERROR= -1;
+ enum
+ {
+ INITIALIZED= 0, PREPARED= 1, EXECUTED= 3, CONVENTIONAL_EXECUTION= 2,
+ ERROR= -1
+ };
+
int state;
/* We build without RTTI, so dynamic_cast can't be used. */
@@ -443,8 +447,8 @@ public:
virtual Type type() const;
virtual ~Item_arena();
- inline bool is_stmt_prepare() const { return state < PREPARED; }
- inline bool is_first_stmt_execute() const { return state == PREPARED; }
+ inline bool is_stmt_prepare() const { return state < (int)PREPARED; }
+ inline bool is_first_stmt_execute() const { return state == (int)PREPARED; }
inline gptr alloc(unsigned int size) { return alloc_root(&mem_root,size); }
inline gptr calloc(unsigned int size)
{
diff --git a/sql/sql_prepare.cc b/sql/sql_prepare.cc
index 850d41a030b..94b6ab103da 100644
--- a/sql/sql_prepare.cc
+++ b/sql/sql_prepare.cc
@@ -132,7 +132,7 @@ find_prepared_statement(THD *thd, ulong id, const char *where,
{
Statement *stmt= thd->stmt_map.find(id);
- if (stmt == 0 || stmt->type() != Item_arena::PREPARED_STATEMENT)
+ if (stmt == 0 || stmt->type() != (int)Item_arena::PREPARED_STATEMENT)
{
char llbuf[22];
my_error(ER_UNKNOWN_STMT_HANDLER, MYF(0), 22, llstr(id, llbuf), where);
@@ -1619,7 +1619,7 @@ int mysql_stmt_prepare(THD *thd, char *packet, uint packet_length,
{
sl->prep_where= sl->where;
}
- stmt->state= Prepared_statement::PREPARED;
+ stmt->state= (int)Prepared_statement::PREPARED;
}
DBUG_RETURN(!stmt);
@@ -1733,7 +1733,7 @@ void mysql_stmt_execute(THD *thd, char *packet, uint packet_length)
DBUG_PRINT("exec_query:", ("%s", stmt->query));
/* Check if we got an error when sending long data */
- if (stmt->state == Item_arena::ERROR)
+ if (stmt->state == (int)Item_arena::ERROR)
{
send_error(thd, stmt->last_errno, stmt->last_error);
DBUG_VOID_RETURN;
@@ -1850,7 +1850,7 @@ static void execute_stmt(THD *thd, Prepared_statement *stmt,
transformations of the query tree (i.e. negations elimination).
This should be done permanently on the parse tree of this statement.
*/
- if (stmt->state == Item_arena::PREPARED)
+ if (stmt->state == (int)Item_arena::PREPARED)
thd->current_arena= stmt;
if (!(specialflag & SPECIAL_NO_PRIOR))
@@ -1863,10 +1863,10 @@ static void execute_stmt(THD *thd, Prepared_statement *stmt,
/* Free Items that were created during this execution of the PS. */
free_items(thd->free_list);
thd->free_list= 0;
- if (stmt->state == Item_arena::PREPARED)
+ if (stmt->state == (int)Item_arena::PREPARED)
{
thd->current_arena= thd;
- stmt->state= Item_arena::EXECUTED;
+ stmt->state= (int)Item_arena::EXECUTED;
}
cleanup_items(stmt->free_list);
reset_stmt_params(stmt);
@@ -1905,7 +1905,7 @@ void mysql_stmt_reset(THD *thd, char *packet)
SEND_ERROR)))
DBUG_VOID_RETURN;
- stmt->state= Item_arena::PREPARED;
+ stmt->state= (int)Item_arena::PREPARED;
/*
Clear parameters from data which could be set by
@@ -1993,7 +1993,7 @@ void mysql_stmt_get_longdata(THD *thd, char *packet, ulong packet_length)
if (param_number >= stmt->param_count)
{
/* Error will be sent in execute call */
- stmt->state= Item_arena::ERROR;
+ stmt->state= (int)Item_arena::ERROR;
stmt->last_errno= ER_WRONG_ARGUMENTS;
sprintf(stmt->last_error, ER(ER_WRONG_ARGUMENTS),
"mysql_stmt_send_long_data");
@@ -2009,7 +2009,7 @@ void mysql_stmt_get_longdata(THD *thd, char *packet, ulong packet_length)
if (param->set_longdata(thd->extra_data, thd->extra_length))
#endif
{
- stmt->state= Item_arena::ERROR;
+ stmt->state= (int)Item_arena::ERROR;
stmt->last_errno= ER_OUTOFMEMORY;
sprintf(stmt->last_error, ER(ER_OUTOFMEMORY), 0);
}