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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
7c481d35
Commit
7c481d35
authored
Apr 08, 2008
by
unknown
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove dead code.
sql/sp.h: Remove unused code.
parent
051fc7d7
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
0 additions
and
224 deletions
+0
-224
sql/opt_range.cc
sql/opt_range.cc
+0
-3
sql/sp.cc
sql/sp.cc
+0
-204
sql/sp.h
sql/sp.h
+0
-3
sql/sql_parse.cc
sql/sql_parse.cc
+0
-14
No files found.
sql/opt_range.cc
View file @
7c481d35
...
...
@@ -2317,9 +2317,6 @@ int SQL_SELECT::test_quick_select(THD *thd, key_map keys_to_use,
table deletes.
*/
if
((
thd
->
lex
->
sql_command
!=
SQLCOM_DELETE
))
#ifdef NOT_USED
if
((
thd
->
lex
->
sql_command
!=
SQLCOM_UPDATE
))
#endif
{
/*
Get best non-covering ROR-intersection plan and prepare data for
...
...
sql/sp.cc
View file @
7c481d35
...
...
@@ -1070,210 +1070,6 @@ sp_update_routine(THD *thd, int type, sp_name *name, st_sp_chistics *chistics)
}
struct
st_used_field
{
const
char
*
field_name
;
uint
field_length
;
enum
enum_field_types
field_type
;
Field
*
field
;
};
static
struct
st_used_field
init_fields
[]
=
{
{
"Db"
,
NAME_CHAR_LEN
,
MYSQL_TYPE_STRING
,
0
},
{
"Name"
,
NAME_CHAR_LEN
,
MYSQL_TYPE_STRING
,
0
},
{
"Type"
,
9
,
MYSQL_TYPE_STRING
,
0
},
{
"Definer"
,
USER_HOST_BUFF_SIZE
,
MYSQL_TYPE_STRING
,
0
},
{
"Modified"
,
0
,
MYSQL_TYPE_TIMESTAMP
,
0
},
{
"Created"
,
0
,
MYSQL_TYPE_TIMESTAMP
,
0
},
{
"Security_type"
,
1
,
MYSQL_TYPE_STRING
,
0
},
{
"Comment"
,
NAME_CHAR_LEN
,
MYSQL_TYPE_STRING
,
0
},
{
"character_set_client"
,
MY_CS_NAME_SIZE
,
MYSQL_TYPE_STRING
,
0
},
{
"collation_connection"
,
MY_CS_NAME_SIZE
,
MYSQL_TYPE_STRING
,
0
},
{
"Database Collation"
,
MY_CS_NAME_SIZE
,
MYSQL_TYPE_STRING
,
0
},
{
0
,
0
,
MYSQL_TYPE_STRING
,
0
}
};
static
int
print_field_values
(
THD
*
thd
,
TABLE
*
table
,
struct
st_used_field
*
used_fields
,
int
type
,
const
char
*
wild
)
{
Protocol
*
protocol
=
thd
->
protocol
;
if
(
table
->
field
[
MYSQL_PROC_MYSQL_TYPE
]
->
val_int
()
==
type
)
{
String
db_string
;
String
name_string
;
struct
st_used_field
*
used_field
=
used_fields
;
if
(
get_field
(
thd
->
mem_root
,
used_field
->
field
,
&
db_string
))
db_string
.
set_ascii
(
""
,
0
);
used_field
+=
1
;
get_field
(
thd
->
mem_root
,
used_field
->
field
,
&
name_string
);
if
(
!
wild
||
!
wild
[
0
]
||
!
wild_compare
(
name_string
.
ptr
(),
wild
,
0
))
{
protocol
->
prepare_for_resend
();
protocol
->
store
(
&
db_string
);
protocol
->
store
(
&
name_string
);
for
(
used_field
++
;
used_field
->
field_name
;
used_field
++
)
{
switch
(
used_field
->
field_type
)
{
case
MYSQL_TYPE_TIMESTAMP
:
{
MYSQL_TIME
tmp_time
;
bzero
((
char
*
)
&
tmp_time
,
sizeof
(
tmp_time
));
((
Field_timestamp
*
)
used_field
->
field
)
->
get_time
(
&
tmp_time
);
protocol
->
store
(
&
tmp_time
);
}
break
;
default:
{
String
tmp_string
;
get_field
(
thd
->
mem_root
,
used_field
->
field
,
&
tmp_string
);
protocol
->
store
(
&
tmp_string
);
}
break
;
}
}
if
(
protocol
->
write
())
return
SP_INTERNAL_ERROR
;
}
}
return
SP_OK
;
}
/**
Implement SHOW STATUS statement for stored routines.
@param thd Thread context.
@param type Stored routine type
(TYPE_ENUM_PROCEDURE or TYPE_ENUM_FUNCTION)
@param name_pattern Stored routine name pattern.
@return Error code. SP_OK is returned on success. Other SP_ constants are
used to indicate about errors.
*/
int
sp_show_status_routine
(
THD
*
thd
,
int
type
,
const
char
*
name_pattern
)
{
TABLE
*
table
;
TABLE_LIST
tables
;
int
res
;
DBUG_ENTER
(
"sp_show_status_routine"
);
DBUG_ASSERT
(
type
==
TYPE_ENUM_PROCEDURE
||
type
==
TYPE_ENUM_FUNCTION
);
memset
(
&
tables
,
0
,
sizeof
(
tables
));
tables
.
db
=
(
char
*
)
"mysql"
;
tables
.
table_name
=
tables
.
alias
=
(
char
*
)
"proc"
;
if
(
!
(
table
=
open_ltable
(
thd
,
&
tables
,
TL_READ
,
0
)))
{
res
=
SP_OPEN_TABLE_FAILED
;
goto
done
;
}
else
{
Item
*
item
;
List
<
Item
>
field_list
;
struct
st_used_field
*
used_field
;
TABLE_LIST
*
leaves
=
0
;
st_used_field
used_fields
[
array_elements
(
init_fields
)];
table
->
use_all_columns
();
memcpy
((
char
*
)
used_fields
,
(
char
*
)
init_fields
,
sizeof
(
used_fields
));
/* Init header */
for
(
used_field
=
&
used_fields
[
0
];
used_field
->
field_name
;
used_field
++
)
{
switch
(
used_field
->
field_type
)
{
case
MYSQL_TYPE_TIMESTAMP
:
item
=
new
Item_return_date_time
(
used_field
->
field_name
,
MYSQL_TYPE_DATETIME
);
field_list
.
push_back
(
item
);
break
;
default:
item
=
new
Item_empty_string
(
used_field
->
field_name
,
used_field
->
field_length
);
field_list
.
push_back
(
item
);
break
;
}
}
/* Print header */
if
(
thd
->
protocol
->
send_fields
(
&
field_list
,
Protocol
::
SEND_NUM_ROWS
|
Protocol
::
SEND_EOF
))
{
res
=
SP_INTERNAL_ERROR
;
goto
err_case
;
}
/*
Init fields
tables is not VIEW for sure => we can pass 0 as condition
*/
thd
->
lex
->
select_lex
.
context
.
resolve_in_table_list_only
(
&
tables
);
setup_tables
(
thd
,
&
thd
->
lex
->
select_lex
.
context
,
&
thd
->
lex
->
select_lex
.
top_join_list
,
&
tables
,
&
leaves
,
FALSE
);
for
(
used_field
=
&
used_fields
[
0
];
used_field
->
field_name
;
used_field
++
)
{
Item_field
*
field
=
new
Item_field
(
&
thd
->
lex
->
select_lex
.
context
,
"mysql"
,
"proc"
,
used_field
->
field_name
);
if
(
!
field
||
!
(
used_field
->
field
=
find_field_in_tables
(
thd
,
field
,
&
tables
,
NULL
,
0
,
REPORT_ALL_ERRORS
,
1
,
TRUE
)))
{
res
=
SP_INTERNAL_ERROR
;
goto
err_case1
;
}
}
table
->
file
->
ha_index_init
(
0
,
1
);
if
((
res
=
table
->
file
->
index_first
(
table
->
record
[
0
])))
{
res
=
(
res
==
HA_ERR_END_OF_FILE
)
?
0
:
SP_INTERNAL_ERROR
;
goto
err_case1
;
}
do
{
res
=
print_field_values
(
thd
,
table
,
used_fields
,
type
,
name_pattern
);
if
(
res
)
goto
err_case1
;
}
while
(
!
table
->
file
->
index_next
(
table
->
record
[
0
]));
res
=
SP_OK
;
}
err_case1:
my_eof
(
thd
);
err_case:
table
->
file
->
ha_index_end
();
close_thread_tables
(
thd
);
done:
DBUG_RETURN
(
res
);
}
/**
Drop all routines in database 'db'
...
...
sql/sp.h
View file @
7c481d35
...
...
@@ -48,9 +48,6 @@ sp_routine_exists_in_table(THD *thd, int type, sp_name *name);
bool
sp_show_create_routine
(
THD
*
thd
,
int
type
,
sp_name
*
name
);
int
sp_show_status_routine
(
THD
*
thd
,
int
type
,
const
char
*
wild
);
int
sp_create_routine
(
THD
*
thd
,
int
type
,
sp_head
*
sp
);
...
...
sql/sql_parse.cc
View file @
7c481d35
...
...
@@ -4305,20 +4305,6 @@ mysql_execute_command(THD *thd)
}
break
;
}
#ifdef NOT_USED
case
SQLCOM_SHOW_STATUS_PROC
:
{
res
=
sp_show_status_routine
(
thd
,
TYPE_ENUM_PROCEDURE
,
(
lex
->
wild
?
lex
->
wild
->
ptr
()
:
NullS
));
break
;
}
case
SQLCOM_SHOW_STATUS_FUNC
:
{
res
=
sp_show_status_routine
(
thd
,
TYPE_ENUM_FUNCTION
,
(
lex
->
wild
?
lex
->
wild
->
ptr
()
:
NullS
));
break
;
}
#endif
#ifndef DBUG_OFF
case
SQLCOM_SHOW_PROC_CODE
:
case
SQLCOM_SHOW_FUNC_CODE
:
...
...
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