Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
5d3dc82d
Commit
5d3dc82d
authored
Aug 31, 2004
by
sergefp@mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Change Item_arena::state to enum
parent
30e7217d
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
16 additions
and
16 deletions
+16
-16
sql/sql_class.cc
sql/sql_class.cc
+3
-3
sql/sql_class.h
sql/sql_class.h
+4
-4
sql/sql_prepare.cc
sql/sql_prepare.cc
+9
-9
No files found.
sql/sql_class.cc
View file @
5d3dc82d
...
...
@@ -1323,7 +1323,7 @@ void select_dumpvar::cleanup()
Item_arena
::
Item_arena
(
THD
*
thd
)
:
free_list
(
0
),
state
(
(
int
)
INITIALIZED
)
state
(
INITIALIZED
)
{
init_sql_alloc
(
&
mem_root
,
thd
->
variables
.
query_alloc_block_size
,
...
...
@@ -1335,7 +1335,7 @@ Item_arena::Item_arena(THD* thd)
Item_arena
::
Item_arena
()
:
free_list
(
0
),
state
(
(
int
)
CONVENTIONAL_EXECUTION
)
state
(
CONVENTIONAL_EXECUTION
)
{
clear_alloc_root
(
&
mem_root
);
}
...
...
@@ -1343,7 +1343,7 @@ Item_arena::Item_arena()
Item_arena
::
Item_arena
(
bool
init_mem_root
)
:
free_list
(
0
),
state
(
(
int
)
INITIALIZED
)
state
(
INITIALIZED
)
{
if
(
init_mem_root
)
clear_alloc_root
(
&
mem_root
);
...
...
sql/sql_class.h
View file @
5d3dc82d
...
...
@@ -427,13 +427,13 @@ public:
*/
Item
*
free_list
;
MEM_ROOT
mem_root
;
enum
enum
enum_state
{
INITIALIZED
=
0
,
PREPARED
=
1
,
EXECUTED
=
3
,
CONVENTIONAL_EXECUTION
=
2
,
ERROR
=
-
1
};
int
state
;
enum_state
state
;
/* We build without RTTI, so dynamic_cast can't be used. */
enum
Type
...
...
@@ -447,8 +447,8 @@ public:
virtual
Type
type
()
const
;
virtual
~
Item_arena
();
inline
bool
is_stmt_prepare
()
const
{
return
state
<
(
int
)
PREPARED
;
}
inline
bool
is_first_stmt_execute
()
const
{
return
state
==
(
int
)
PREPARED
;
}
inline
bool
is_stmt_prepare
()
const
{
return
(
int
)
state
<
(
int
)
PREPARED
;
}
inline
bool
is_first_stmt_execute
()
const
{
return
state
==
PREPARED
;
}
inline
gptr
alloc
(
unsigned
int
size
)
{
return
alloc_root
(
&
mem_root
,
size
);
}
inline
gptr
calloc
(
unsigned
int
size
)
{
...
...
sql/sql_prepare.cc
View file @
5d3dc82d
...
...
@@ -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
()
!=
(
int
)
Item_arena
::
PREPARED_STATEMENT
)
if
(
stmt
==
0
||
stmt
->
type
()
!=
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
=
(
int
)
Prepared_statement
::
PREPARED
;
stmt
->
state
=
Item_arena
::
PREPARED
;
}
DBUG_RETURN
(
!
stmt
);
...
...
@@ -1736,7 +1736,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
==
(
int
)
Item_arena
::
ERROR
)
if
(
stmt
->
state
==
Item_arena
::
ERROR
)
{
send_error
(
thd
,
stmt
->
last_errno
,
stmt
->
last_error
);
DBUG_VOID_RETURN
;
...
...
@@ -1853,7 +1853,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
==
(
int
)
Item_arena
::
PREPARED
)
if
(
stmt
->
state
==
Item_arena
::
PREPARED
)
thd
->
current_arena
=
stmt
;
if
(
!
(
specialflag
&
SPECIAL_NO_PRIOR
))
...
...
@@ -1866,10 +1866,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
==
(
int
)
Item_arena
::
PREPARED
)
if
(
stmt
->
state
==
Item_arena
::
PREPARED
)
{
thd
->
current_arena
=
thd
;
stmt
->
state
=
(
int
)
Item_arena
::
EXECUTED
;
stmt
->
state
=
Item_arena
::
EXECUTED
;
}
cleanup_items
(
stmt
->
free_list
);
reset_stmt_params
(
stmt
);
...
...
@@ -1908,7 +1908,7 @@ void mysql_stmt_reset(THD *thd, char *packet)
SEND_ERROR
)))
DBUG_VOID_RETURN
;
stmt
->
state
=
(
int
)
Item_arena
::
PREPARED
;
stmt
->
state
=
Item_arena
::
PREPARED
;
/*
Clear parameters from data which could be set by
...
...
@@ -1996,7 +1996,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
=
(
int
)
Item_arena
::
ERROR
;
stmt
->
state
=
Item_arena
::
ERROR
;
stmt
->
last_errno
=
ER_WRONG_ARGUMENTS
;
sprintf
(
stmt
->
last_error
,
ER
(
ER_WRONG_ARGUMENTS
),
"mysql_stmt_send_long_data"
);
...
...
@@ -2012,7 +2012,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
=
(
int
)
Item_arena
::
ERROR
;
stmt
->
state
=
Item_arena
::
ERROR
;
stmt
->
last_errno
=
ER_OUTOFMEMORY
;
sprintf
(
stmt
->
last_error
,
ER
(
ER_OUTOFMEMORY
),
0
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment