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
fed5f621
Commit
fed5f621
authored
Nov 23, 2004
by
guilhem@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/mysql_src/mysql-5.0-clean
parents
46bc9aaa
22e76af9
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
64 additions
and
12 deletions
+64
-12
mysql-test/r/information_schema.result
mysql-test/r/information_schema.result
+32
-0
mysql-test/t/information_schema.test
mysql-test/t/information_schema.test
+18
-0
sql/sql_select.cc
sql/sql_select.cc
+3
-2
sql/sql_show.cc
sql/sql_show.cc
+9
-8
sql/table.h
sql/table.h
+1
-1
tests/client_test.c
tests/client_test.c
+1
-1
No files found.
mysql-test/r/information_schema.result
View file @
fed5f621
...
@@ -442,6 +442,7 @@ v
...
@@ -442,6 +442,7 @@ v
select sql_mode from information_schema.ROUTINES;
select sql_mode from information_schema.ROUTINES;
sql_mode
sql_mode
drop procedure px5;
create table t1 (a int not null auto_increment,b int, primary key (a));
create table t1 (a int not null auto_increment,b int, primary key (a));
insert into t1 values (1,1),(NULL,3),(NULL,4);
insert into t1 values (1,1),(NULL,3),(NULL,4);
select AUTO_INCREMENT from information_schema.tables where table_name = 't1';
select AUTO_INCREMENT from information_schema.tables where table_name = 't1';
...
@@ -508,3 +509,34 @@ g int(11) 11 11 11 0
...
@@ -508,3 +509,34 @@ g int(11) 11 11 11 0
h double(10,3) 10 10 10 3
h double(10,3) 10 10 10 3
i double 22 22 22 NULL
i double 22 22 22 NULL
drop table t1;
drop table t1;
create table t115 as select table_name, column_name, column_type
from information_schema.columns where table_name = 'proc';
select * from t115;
table_name column_name column_type
proc db varchar(64)
proc name varchar(64)
proc type enum('FUNCTION','PROCEDURE')
proc specific_name varchar(64)
proc language enum('SQL')
proc sql_data_access enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA')
proc is_deterministic enum('YES','NO')
proc security_type enum('INVOKER','DEFINER')
proc param_list blob
proc returns varchar(64)
proc body blob
proc definer varchar(77)
proc created timestamp
proc modified timestamp
proc sql_mode set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO')
proc comment varchar(64)
drop table t115;
create view vk as select count(*) from information_schema.tables a;
select * from vk;
count(*)
17
drop view vk;
create procedure p108 () begin declare c cursor for select data_type
from information_schema.columns; open c; open c; end;//
call p108()//
ERROR 24000: Cursor is already open
drop procedure p108;
mysql-test/t/information_schema.test
View file @
fed5f621
...
@@ -218,6 +218,7 @@ call px5()//
...
@@ -218,6 +218,7 @@ call px5()//
call
px5
()
//
call
px5
()
//
delimiter
;
//
delimiter
;
//
select
sql_mode
from
information_schema
.
ROUTINES
;
select
sql_mode
from
information_schema
.
ROUTINES
;
drop
procedure
px5
;
create
table
t1
(
a
int
not
null
auto_increment
,
b
int
,
primary
key
(
a
));
create
table
t1
(
a
int
not
null
auto_increment
,
b
int
,
primary
key
(
a
));
insert
into
t1
values
(
1
,
1
),(
NULL
,
3
),(
NULL
,
4
);
insert
into
t1
values
(
1
,
1
),(
NULL
,
3
),(
NULL
,
4
);
...
@@ -252,3 +253,20 @@ select COLUMN_NAME,COLUMN_TYPE, CHARACTER_MAXIMUM_LENGTH,
...
@@ -252,3 +253,20 @@ select COLUMN_NAME,COLUMN_TYPE, CHARACTER_MAXIMUM_LENGTH,
CHARACTER_OCTET_LENGTH
,
NUMERIC_PRECISION
,
NUMERIC_SCALE
CHARACTER_OCTET_LENGTH
,
NUMERIC_PRECISION
,
NUMERIC_SCALE
from
information_schema
.
columns
where
table_name
=
't1'
;
from
information_schema
.
columns
where
table_name
=
't1'
;
drop
table
t1
;
drop
table
t1
;
create
table
t115
as
select
table_name
,
column_name
,
column_type
from
information_schema
.
columns
where
table_name
=
'proc'
;
select
*
from
t115
;
drop
table
t115
;
create
view
vk
as
select
count
(
*
)
from
information_schema
.
tables
a
;
select
*
from
vk
;
drop
view
vk
;
delimiter
//;
create
procedure
p108
()
begin
declare
c
cursor
for
select
data_type
from
information_schema
.
columns
;
open
c
;
open
c
;
end
;
//
--
error
1325
call
p108
()
//
delimiter
;
//
drop
procedure
p108
;
sql/sql_select.cc
View file @
fed5f621
...
@@ -12885,8 +12885,9 @@ void st_table_list::print(THD *thd, String *str)
...
@@ -12885,8 +12885,9 @@ void st_table_list::print(THD *thd, String *str)
str
->
append
(
'.'
);
str
->
append
(
'.'
);
if
(
schema_table
)
if
(
schema_table
)
{
{
append_identifier
(
thd
,
str
,
alias
,
strlen
(
alias
));
append_identifier
(
thd
,
str
,
schema_table_name
,
cmp_name
=
alias
;
strlen
(
schema_table_name
));
cmp_name
=
schema_table_name
;
}
}
else
else
{
{
...
...
sql/sql_show.cc
View file @
fed5f621
...
@@ -597,7 +597,7 @@ mysqld_show_create(THD *thd, TABLE_LIST *table_list)
...
@@ -597,7 +597,7 @@ mysqld_show_create(THD *thd, TABLE_LIST *table_list)
else
else
{
{
if
(
table_list
->
schema_table
)
if
(
table_list
->
schema_table
)
protocol
->
store
(
table_list
->
alias
,
system_charset_info
);
protocol
->
store
(
table_list
->
schema_table_name
,
system_charset_info
);
else
else
protocol
->
store
(
table
->
table_name
,
system_charset_info
);
protocol
->
store
(
table
->
table_name
,
system_charset_info
);
if
(
store_create_info
(
thd
,
table_list
,
&
buffer
))
if
(
store_create_info
(
thd
,
table_list
,
&
buffer
))
...
@@ -938,7 +938,7 @@ store_create_info(THD *thd, TABLE_LIST *table_list, String *packet)
...
@@ -938,7 +938,7 @@ store_create_info(THD *thd, TABLE_LIST *table_list, String *packet)
else
else
packet
->
append
(
"CREATE TABLE "
,
13
);
packet
->
append
(
"CREATE TABLE "
,
13
);
if
(
table_list
->
schema_table
)
if
(
table_list
->
schema_table
)
alias
=
table_list
->
alias
;
alias
=
table_list
->
schema_table_name
;
else
else
alias
=
(
lower_case_table_names
==
2
?
table
->
table_name
:
alias
=
(
lower_case_table_names
==
2
?
table
->
table_name
:
table
->
real_name
);
table
->
real_name
);
...
@@ -2193,7 +2193,7 @@ static int get_schema_tables_record(THD *thd, struct st_table_list *tables,
...
@@ -2193,7 +2193,7 @@ static int get_schema_tables_record(THD *thd, struct st_table_list *tables,
tmp_buff
=
(
show_table
->
table_charset
?
show_table
->
tmp_buff
=
(
show_table
->
table_charset
?
show_table
->
table_charset
->
name
:
"default"
);
table_charset
->
name
:
"default"
);
table
->
field
[
17
]
->
store
(
tmp_buff
,
strlen
(
tmp_buff
),
cs
);
table
->
field
[
17
]
->
store
(
tmp_buff
,
strlen
(
tmp_buff
),
cs
);
if
(
file
->
table_flags
()
&
HA_HAS_CHECKSUM
)
if
(
file
->
table_flags
()
&
(
ulong
)
HA_HAS_CHECKSUM
)
{
{
table
->
field
[
18
]
->
store
((
longlong
)
file
->
checksum
());
table
->
field
[
18
]
->
store
((
longlong
)
file
->
checksum
());
table
->
field
[
18
]
->
set_notnull
();
table
->
field
[
18
]
->
set_notnull
();
...
@@ -2282,7 +2282,7 @@ static int get_schema_column_record(THD *thd, struct st_table_list *tables,
...
@@ -2282,7 +2282,7 @@ static int get_schema_column_record(THD *thd, struct st_table_list *tables,
!
wild_case_compare
(
system_charset_info
,
field
->
field_name
,
wild
))
!
wild_case_compare
(
system_charset_info
,
field
->
field_name
,
wild
))
{
{
uint
tmp_length
;
uint
tmp_length
;
char
*
tmp_buff
;
c
onst
c
har
*
tmp_buff
;
byte
*
pos
;
byte
*
pos
;
uint
flags
=
field
->
flags
;
uint
flags
=
field
->
flags
;
char
tmp
[
MAX_FIELD_WIDTH
];
char
tmp
[
MAX_FIELD_WIDTH
];
...
@@ -2298,7 +2298,7 @@ static int get_schema_column_record(THD *thd, struct st_table_list *tables,
...
@@ -2298,7 +2298,7 @@ static int get_schema_column_record(THD *thd, struct st_table_list *tables,
table
->
field
[
4
]
->
store
((
longlong
)
count
);
table
->
field
[
4
]
->
store
((
longlong
)
count
);
field
->
sql_type
(
type
);
field
->
sql_type
(
type
);
table
->
field
[
14
]
->
store
(
type
.
ptr
(),
type
.
length
(),
cs
);
table
->
field
[
14
]
->
store
(
type
.
ptr
(),
type
.
length
(),
cs
);
tmp_buff
=
strchr
(
type
.
ptr
(),
'('
);
tmp_buff
=
strchr
(
type
.
ptr
(),
'('
);
table
->
field
[
7
]
->
store
(
type
.
ptr
(),
table
->
field
[
7
]
->
store
(
type
.
ptr
(),
(
tmp_buff
?
tmp_buff
-
type
.
ptr
()
:
(
tmp_buff
?
tmp_buff
-
type
.
ptr
()
:
type
.
length
()),
cs
);
type
.
length
()),
cs
);
...
@@ -3137,6 +3137,7 @@ int mysql_schema_table(THD *thd, LEX *lex, TABLE_LIST *table_list)
...
@@ -3137,6 +3137,7 @@ int mysql_schema_table(THD *thd, LEX *lex, TABLE_LIST *table_list)
}
}
table
->
tmp_table
=
TMP_TABLE
;
table
->
tmp_table
=
TMP_TABLE
;
table
->
grant
.
privilege
=
SELECT_ACL
;
table
->
grant
.
privilege
=
SELECT_ACL
;
table_list
->
schema_table_name
=
table_list
->
real_name
;
table_list
->
real_name
=
table
->
real_name
;
table_list
->
real_name
=
table
->
real_name
;
table_list
->
table
=
table
;
table_list
->
table
=
table
;
table
->
next
=
thd
->
derived_tables
;
table
->
next
=
thd
->
derived_tables
;
...
@@ -3291,14 +3292,14 @@ ST_FIELD_INFO columns_fields_info[]=
...
@@ -3291,14 +3292,14 @@ ST_FIELD_INFO columns_fields_info[]=
{
"ORDINAL_POSITION"
,
21
,
MYSQL_TYPE_LONG
,
0
,
0
,
0
},
{
"ORDINAL_POSITION"
,
21
,
MYSQL_TYPE_LONG
,
0
,
0
,
0
},
{
"COLUMN_DEFAULT"
,
NAME_LEN
,
MYSQL_TYPE_STRING
,
0
,
1
,
"Default"
},
{
"COLUMN_DEFAULT"
,
NAME_LEN
,
MYSQL_TYPE_STRING
,
0
,
1
,
"Default"
},
{
"IS_NULLABLE"
,
3
,
MYSQL_TYPE_STRING
,
0
,
0
,
"Null"
},
{
"IS_NULLABLE"
,
3
,
MYSQL_TYPE_STRING
,
0
,
0
,
"Null"
},
{
"DATA_TYPE"
,
40
,
MYSQL_TYPE_STRING
,
0
,
0
,
0
},
{
"DATA_TYPE"
,
65535
,
MYSQL_TYPE_STRING
,
0
,
0
,
0
},
{
"CHARACTER_MAXIMUM_LENGTH"
,
21
,
MYSQL_TYPE_LONG
,
0
,
0
,
0
},
{
"CHARACTER_MAXIMUM_LENGTH"
,
21
,
MYSQL_TYPE_LONG
,
0
,
0
,
0
},
{
"CHARACTER_OCTET_LENGTH"
,
21
,
MYSQL_TYPE_LONG
,
0
,
0
,
0
},
{
"CHARACTER_OCTET_LENGTH"
,
21
,
MYSQL_TYPE_LONG
,
0
,
0
,
0
},
{
"NUMERIC_PRECISION"
,
21
,
MYSQL_TYPE_LONG
,
0
,
1
,
0
},
{
"NUMERIC_PRECISION"
,
21
,
MYSQL_TYPE_LONG
,
0
,
1
,
0
},
{
"NUMERIC_SCALE"
,
21
,
MYSQL_TYPE_LONG
,
0
,
1
,
0
},
{
"NUMERIC_SCALE"
,
21
,
MYSQL_TYPE_LONG
,
0
,
1
,
0
},
{
"CHARACTER_SET_NAME"
,
40
,
MYSQL_TYPE_STRING
,
0
,
1
,
0
},
{
"CHARACTER_SET_NAME"
,
40
,
MYSQL_TYPE_STRING
,
0
,
1
,
0
},
{
"COLLATION_NAME"
,
40
,
MYSQL_TYPE_STRING
,
0
,
1
,
"Collation"
},
{
"COLLATION_NAME"
,
40
,
MYSQL_TYPE_STRING
,
0
,
1
,
"Collation"
},
{
"COLUMN_TYPE"
,
40
,
MYSQL_TYPE_STRING
,
0
,
0
,
"Type"
},
{
"COLUMN_TYPE"
,
65535
,
MYSQL_TYPE_STRING
,
0
,
0
,
"Type"
},
{
"COLUMN_KEY"
,
3
,
MYSQL_TYPE_STRING
,
0
,
0
,
"Key"
},
{
"COLUMN_KEY"
,
3
,
MYSQL_TYPE_STRING
,
0
,
0
,
"Key"
},
{
"EXTRA"
,
20
,
MYSQL_TYPE_STRING
,
0
,
0
,
"Extra"
},
{
"EXTRA"
,
20
,
MYSQL_TYPE_STRING
,
0
,
0
,
"Extra"
},
{
"PRIVILEGES"
,
80
,
MYSQL_TYPE_STRING
,
0
,
0
,
"Privileges"
},
{
"PRIVILEGES"
,
80
,
MYSQL_TYPE_STRING
,
0
,
0
,
"Privileges"
},
...
@@ -3356,7 +3357,7 @@ ST_FIELD_INFO proc_fields_info[]=
...
@@ -3356,7 +3357,7 @@ ST_FIELD_INFO proc_fields_info[]=
{
"SECURITY_TYPE"
,
7
,
MYSQL_TYPE_STRING
,
0
,
0
,
"Security_type"
},
{
"SECURITY_TYPE"
,
7
,
MYSQL_TYPE_STRING
,
0
,
0
,
"Security_type"
},
{
"CREATED"
,
0
,
MYSQL_TYPE_TIMESTAMP
,
0
,
0
,
"Created"
},
{
"CREATED"
,
0
,
MYSQL_TYPE_TIMESTAMP
,
0
,
0
,
"Created"
},
{
"LAST_ALTERED"
,
0
,
MYSQL_TYPE_TIMESTAMP
,
0
,
0
,
"Modified"
},
{
"LAST_ALTERED"
,
0
,
MYSQL_TYPE_TIMESTAMP
,
0
,
0
,
"Modified"
},
{
"SQL_MODE"
,
NAME_LEN
,
MYSQL_TYPE_STRING
,
0
,
0
,
0
},
{
"SQL_MODE"
,
65535
,
MYSQL_TYPE_STRING
,
0
,
0
,
0
},
{
"ROUTINE_COMMENT"
,
NAME_LEN
,
MYSQL_TYPE_STRING
,
0
,
0
,
"Comment"
},
{
"ROUTINE_COMMENT"
,
NAME_LEN
,
MYSQL_TYPE_STRING
,
0
,
0
,
"Comment"
},
{
"DEFINER"
,
77
,
MYSQL_TYPE_STRING
,
0
,
0
,
"Definer"
},
{
"DEFINER"
,
77
,
MYSQL_TYPE_STRING
,
0
,
0
,
"Definer"
},
{
0
,
0
,
MYSQL_TYPE_STRING
,
0
,
0
,
0
}
{
0
,
0
,
MYSQL_TYPE_STRING
,
0
,
0
,
0
}
...
...
sql/table.h
View file @
fed5f621
...
@@ -281,7 +281,7 @@ typedef struct st_table_list
...
@@ -281,7 +281,7 @@ typedef struct st_table_list
struct
st_table_list
*
next_local
;
struct
st_table_list
*
next_local
;
/* link in a global list of all queries tables */
/* link in a global list of all queries tables */
struct
st_table_list
*
next_global
,
**
prev_global
;
struct
st_table_list
*
next_global
,
**
prev_global
;
char
*
db
,
*
alias
,
*
real_name
;
char
*
db
,
*
alias
,
*
real_name
,
*
schema_table_name
;
char
*
option
;
/* Used by cache index */
char
*
option
;
/* Used by cache index */
Item
*
on_expr
;
/* Used with outer join */
Item
*
on_expr
;
/* Used with outer join */
COND_EQUAL
*
cond_equal
;
/* Used with outer join */
COND_EQUAL
*
cond_equal
;
/* Used with outer join */
...
...
tests/client_test.c
View file @
fed5f621
...
@@ -7280,7 +7280,7 @@ static void test_explain_bug()
...
@@ -7280,7 +7280,7 @@ static void test_explain_bug()
MYSQL_TYPE_STRING
,
0
,
0
,
""
,
192
,
0
);
MYSQL_TYPE_STRING
,
0
,
0
,
""
,
192
,
0
);
verify_prepare_field
(
result
,
1
,
"Type"
,
"COLUMN_TYPE"
,
verify_prepare_field
(
result
,
1
,
"Type"
,
"COLUMN_TYPE"
,
MYSQL_TYPE_
STRING
,
0
,
0
,
""
,
120
,
0
);
MYSQL_TYPE_
BLOB
,
0
,
0
,
""
,
193203
,
0
);
verify_prepare_field
(
result
,
2
,
"Null"
,
"IS_NULLABLE"
,
verify_prepare_field
(
result
,
2
,
"Null"
,
"IS_NULLABLE"
,
MYSQL_TYPE_STRING
,
0
,
0
,
""
,
9
,
0
);
MYSQL_TYPE_STRING
,
0
,
0
,
""
,
9
,
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