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
47c39015
Commit
47c39015
authored
Dec 12, 2004
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0
parents
3a2d0371
57867f07
Changes
31
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
537 additions
and
253 deletions
+537
-253
client/mysqldump.c
client/mysqldump.c
+4
-0
innobase/include/lock0lock.h
innobase/include/lock0lock.h
+27
-0
innobase/lock/lock0lock.c
innobase/lock/lock0lock.c
+42
-0
innobase/row/row0ins.c
innobase/row/row0ins.c
+2
-6
mysql-test/r/alter_table.result
mysql-test/r/alter_table.result
+4
-4
mysql-test/r/create.result
mysql-test/r/create.result
+10
-10
mysql-test/r/ctype_collate.result
mysql-test/r/ctype_collate.result
+1
-1
mysql-test/r/ctype_recoding.result
mysql-test/r/ctype_recoding.result
+3
-3
mysql-test/r/ctype_ujis.result
mysql-test/r/ctype_ujis.result
+1
-1
mysql-test/r/drop.result
mysql-test/r/drop.result
+2
-0
mysql-test/r/func_sapdb.result
mysql-test/r/func_sapdb.result
+4
-4
mysql-test/r/func_time.result
mysql-test/r/func_time.result
+1
-1
mysql-test/r/gis.result
mysql-test/r/gis.result
+9
-9
mysql-test/r/information_schema.result
mysql-test/r/information_schema.result
+76
-25
mysql-test/r/information_schema_inno.result
mysql-test/r/information_schema_inno.result
+10
-10
mysql-test/r/innodb.result
mysql-test/r/innodb.result
+1
-1
mysql-test/r/ndb_autodiscover.result
mysql-test/r/ndb_autodiscover.result
+1
-0
mysql-test/r/ps_1general.result
mysql-test/r/ps_1general.result
+3
-2
mysql-test/r/rpl000009.result
mysql-test/r/rpl000009.result
+3
-0
mysql-test/r/rpl_create_database.result
mysql-test/r/rpl_create_database.result
+4
-0
mysql-test/r/schema.result
mysql-test/r/schema.result
+1
-0
mysql-test/r/select.result
mysql-test/r/select.result
+12
-12
mysql-test/r/show_check.result
mysql-test/r/show_check.result
+3
-2
mysql-test/r/sp.result
mysql-test/r/sp.result
+4
-4
mysql-test/r/type_enum.result
mysql-test/r/type_enum.result
+2
-2
mysql-test/r/type_ranges.result
mysql-test/r/type_ranges.result
+58
-58
mysql-test/t/information_schema.test
mysql-test/t/information_schema.test
+20
-8
sql/sql_acl.cc
sql/sql_acl.cc
+7
-1
sql/sql_db.cc
sql/sql_db.cc
+32
-6
sql/sql_show.cc
sql/sql_show.cc
+181
-69
sql/sql_yacc.yy
sql/sql_yacc.yy
+9
-14
No files found.
client/mysqldump.c
View file @
47c39015
...
...
@@ -1935,6 +1935,10 @@ static int dump_databases(char **db_names)
static
int
init_dumping
(
char
*
database
)
{
if
(
mysql_get_server_version
(
sock
)
>=
50003
&&
!
my_strcasecmp
(
&
my_charset_latin1
,
database
,
"information_schema"
))
return
1
;
if
(
mysql_select_db
(
sock
,
database
))
{
DBerror
(
sock
,
"when selecting the database"
);
...
...
innobase/include/lock0lock.h
View file @
47c39015
...
...
@@ -345,6 +345,33 @@ lock_clust_rec_read_check_and_lock(
LOCK_REC_NOT_GAP */
que_thr_t
*
thr
);
/* in: query thread */
/*************************************************************************
Checks if locks of other transactions prevent an immediate read, or passing
over by a read cursor, of a clustered index record. If they do, first tests
if the query thread should anyway be suspended for some reason; if not, then
puts the transaction and the query thread to the lock wait state and inserts a
waiting request for a record lock to the lock queue. Sets the requested mode
lock on the record. This is an alternative version of
lock_clust_rec_read_check_and_lock() that does not require the parameter
"offsets". */
ulint
lock_clust_rec_read_check_and_lock_alt
(
/*===================================*/
/* out: DB_SUCCESS, DB_LOCK_WAIT,
DB_DEADLOCK, or DB_QUE_THR_SUSPENDED */
ulint
flags
,
/* in: if BTR_NO_LOCKING_FLAG bit is set,
does nothing */
rec_t
*
rec
,
/* in: user record or page supremum record
which should be read or passed over by a read
cursor */
dict_index_t
*
index
,
/* in: clustered index */
ulint
mode
,
/* in: mode of the lock which the read cursor
should set on records: LOCK_S or LOCK_X; the
latter is possible in SELECT FOR UPDATE */
ulint
gap_mode
,
/* in: LOCK_ORDINARY, LOCK_GAP, or
LOCK_REC_NOT_GAP */
que_thr_t
*
thr
);
/* in: query thread */
/*************************************************************************
Checks that a record is seen in a consistent read. */
ibool
...
...
innobase/lock/lock0lock.c
View file @
47c39015
...
...
@@ -5105,3 +5105,45 @@ lock_clust_rec_read_check_and_lock(
return
(
err
);
}
/*************************************************************************
Checks if locks of other transactions prevent an immediate read, or passing
over by a read cursor, of a clustered index record. If they do, first tests
if the query thread should anyway be suspended for some reason; if not, then
puts the transaction and the query thread to the lock wait state and inserts a
waiting request for a record lock to the lock queue. Sets the requested mode
lock on the record. This is an alternative version of
lock_clust_rec_read_check_and_lock() that does not require the parameter
"offsets". */
ulint
lock_clust_rec_read_check_and_lock_alt
(
/*===================================*/
/* out: DB_SUCCESS, DB_LOCK_WAIT,
DB_DEADLOCK, or DB_QUE_THR_SUSPENDED */
ulint
flags
,
/* in: if BTR_NO_LOCKING_FLAG bit is set,
does nothing */
rec_t
*
rec
,
/* in: user record or page supremum record
which should be read or passed over by a read
cursor */
dict_index_t
*
index
,
/* in: clustered index */
ulint
mode
,
/* in: mode of the lock which the read cursor
should set on records: LOCK_S or LOCK_X; the
latter is possible in SELECT FOR UPDATE */
ulint
gap_mode
,
/* in: LOCK_ORDINARY, LOCK_GAP, or
LOCK_REC_NOT_GAP */
que_thr_t
*
thr
)
/* in: query thread */
{
mem_heap_t
*
tmp_heap
=
NULL
;
ulint
offsets_
[
100
]
=
{
100
,
};
ulint
*
offsets
=
offsets_
;
ulint
ret
;
offsets
=
rec_get_offsets
(
rec
,
index
,
offsets
,
ULINT_UNDEFINED
,
&
tmp_heap
);
ret
=
lock_clust_rec_read_check_and_lock
(
flags
,
rec
,
index
,
offsets
,
mode
,
gap_mode
,
thr
);
if
(
tmp_heap
)
{
mem_heap_free
(
tmp_heap
);
}
return
(
ret
);
}
innobase/row/row0ins.c
View file @
47c39015
...
...
@@ -717,8 +717,6 @@ row_ins_foreign_check_on_constraint(
ulint
i
;
trx_t
*
trx
;
mem_heap_t
*
tmp_heap
=
NULL
;
ulint
offsets_
[
100
]
=
{
100
,
};
ulint
*
offsets
=
offsets_
;
ut_a
(
thr
&&
foreign
&&
pcur
&&
mtr
);
...
...
@@ -886,10 +884,8 @@ row_ins_foreign_check_on_constraint(
we already have a normal shared lock on the appropriate
gap if the search criterion was not unique */
offsets
=
rec_get_offsets
(
clust_rec
,
clust_index
,
offsets
,
ULINT_UNDEFINED
,
&
tmp_heap
);
err
=
lock_clust_rec_read_check_and_lock
(
0
,
clust_rec
,
clust_index
,
offsets
,
LOCK_X
,
LOCK_REC_NOT_GAP
,
thr
);
err
=
lock_clust_rec_read_check_and_lock_alt
(
0
,
clust_rec
,
clust_index
,
LOCK_X
,
LOCK_REC_NOT_GAP
,
thr
);
}
if
(
err
!=
DB_SUCCESS
)
{
...
...
mysql-test/r/alter_table.result
View file @
47c39015
...
...
@@ -52,9 +52,9 @@ KEY NAME (NAME));
ALTER TABLE t1 CHANGE NAME NAME CHAR(80) not null;
SHOW FULL COLUMNS FROM t1;
Field Type Collation Null Key Default Extra Privileges Comment
GROUP_ID int(10) unsigned NULL PRI 0 select,insert,update,references
LANG_ID smallint(5) unsigned NULL PRI 0 select,insert,update,references
NAME char(80) latin1_swedish_ci MUL select,insert,update,references
GROUP_ID int(10) unsigned NULL
NO
PRI 0 select,insert,update,references
LANG_ID smallint(5) unsigned NULL
NO
PRI 0 select,insert,update,references
NAME char(80) latin1_swedish_ci
NO
MUL select,insert,update,references
DROP TABLE t1;
create table t1 (n int);
insert into t1 values(9),(3),(12),(10);
...
...
@@ -187,7 +187,7 @@ alter table t1 rename t2;
alter table t2 rename t1, add c char(10) comment "no comment";
show columns from t1;
Field Type Null Key Default Extra
i int(10) unsigned PRI NULL auto_increment
i int(10) unsigned
NO
PRI NULL auto_increment
c char(10) YES NULL
drop table t1;
create table t1 (a int, b int);
...
...
mysql-test/r/create.result
View file @
47c39015
...
...
@@ -100,12 +100,12 @@ drop table t2;
create table t2 select now() as a , curtime() as b, curdate() as c , 1+1 as d , 1.0 + 1 as e , 33333333333333333 + 3 as f;
describe t2;
Field Type Null Key Default Extra
a datetime 0000-00-00 00:00:00
b time 00:00:00
c date 0000-00-00
d bigint(17) 0
e double(18,1) 0.0
f bigint(17) 0
a datetime
NO
0000-00-00 00:00:00
b time
NO
00:00:00
c date
NO
0000-00-00
d bigint(17)
NO
0
e double(18,1)
NO
0.0
f bigint(17)
NO
0
drop table t2;
create table t2 select CAST("2001-12-29" AS DATE) as d, CAST("20:45:11" AS TIME) as t, CAST("2001-12-29 20:45:11" AS DATETIME) as dt;
describe t2;
...
...
@@ -412,13 +412,13 @@ from t1;
explain t2;
Field Type Null Key Default Extra
a int(11) YES NULL
b bigint(11) 0
c bigint(10) 0
b bigint(11)
NO
0
c bigint(10)
NO
0
d date YES NULL
e varchar(1)
e varchar(1)
NO
f datetime YES NULL
g time YES NULL
h longblob
h longblob
NO
dd time YES NULL
select * from t2;
a b c d e f g h dd
...
...
mysql-test/r/ctype_collate.result
View file @
47c39015
...
...
@@ -488,7 +488,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SHOW FIELDS FROM t1;
Field Type Null Key Default Extra
latin1_f char(32)
latin1_f char(32)
NO
ALTER TABLE t1 CHANGE latin1_f
latin1_f CHAR(32) CHARACTER SET latin1 COLLATE latin1_bin;
SHOW CREATE TABLE t1;
...
...
mysql-test/r/ctype_recoding.result
View file @
47c39015
...
...
@@ -54,7 +54,7 @@ Table Create Table
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT=' '
SHOW FIELDS FROM ;
Field Type Null Key Default Extra
char(32)
char(32)
NO
SET CHARACTER SET cp1251;
SHOW TABLES;
Tables_in_test
...
...
@@ -66,7 +66,7 @@ Table Create Table
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT=' '
SHOW FIELDS FROM ;
Field Type Null Key Default Extra
char(32)
char(32)
NO
SET CHARACTER SET utf8;
SHOW TABLES;
Tables_in_test
...
...
@@ -78,7 +78,7 @@ Table Create Table
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='комментарий таблицы'
SHOW FIELDS FROM таблица;
Field Type Null Key Default Extra
поле char(32)
поле char(32)
NO
SET CHARACTER SET koi8r;
DROP TABLE ;
SET CHARACTER SET default;
...
...
mysql-test/r/ctype_ujis.result
View file @
47c39015
...
...
@@ -123,7 +123,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=ujis
SHOW COLUMNS FROM t1;
Field Type Null Key Default Extra
a char(1)
a char(1)
NO
b enum('あ','い') YES NULL
DROP TABLE t1;
CREATE TABLE t1
...
...
mysql-test/r/drop.result
View file @
47c39015
...
...
@@ -32,6 +32,7 @@ unlock tables;
create database mysqltest;
show databases;
Database
information_schema
mysql
mysqltest
test
...
...
@@ -42,6 +43,7 @@ unlock tables;
drop database mysqltest;
show databases;
Database
information_schema
mysql
test
drop database mysqltest;
...
...
mysql-test/r/func_sapdb.result
View file @
47c39015
...
...
@@ -174,12 +174,12 @@ date("1997-12-31 23:59:59.000001") as f8,
time("1997-12-31 23:59:59.000001") as f9;
describe t1;
Field Type Null Key Default Extra
f1 date 0000-00-00
f1 date
NO
0000-00-00
f2 datetime YES NULL
f3 time YES NULL
f4 time 00:00:00
f5 time 00:00:00
f6 time 00:00:00
f4 time
NO
00:00:00
f5 time
NO
00:00:00
f6 time
NO
00:00:00
f7 datetime YES NULL
f8 date YES NULL
f9 time YES NULL
...
...
mysql-test/r/func_time.result
View file @
47c39015
...
...
@@ -611,7 +611,7 @@ create table t1 select last_day('2000-02-05') as a,
from_days(to_days("960101")) as b;
describe t1;
Field Type Null Key Default Extra
a date 0000-00-00
a date
NO
0000-00-00
b date YES NULL
select * from t1;
a b
...
...
mysql-test/r/gis.result
View file @
47c39015
...
...
@@ -9,35 +9,35 @@ CREATE TABLE gis_geometrycollection (fid INTEGER NOT NULL PRIMARY KEY, g GEOMET
CREATE TABLE gis_geometry (fid INTEGER NOT NULL PRIMARY KEY, g GEOMETRY);
SHOW FIELDS FROM gis_point;
Field Type Null Key Default Extra
fid int(11) PRI
fid int(11)
NO
PRI
g point YES NULL
SHOW FIELDS FROM gis_line;
Field Type Null Key Default Extra
fid int(11) PRI
fid int(11)
NO
PRI
g linestring YES NULL
SHOW FIELDS FROM gis_polygon;
Field Type Null Key Default Extra
fid int(11) PRI
fid int(11)
NO
PRI
g polygon YES NULL
SHOW FIELDS FROM gis_multi_point;
Field Type Null Key Default Extra
fid int(11) PRI
fid int(11)
NO
PRI
g multipoint YES NULL
SHOW FIELDS FROM gis_multi_line;
Field Type Null Key Default Extra
fid int(11) PRI
fid int(11)
NO
PRI
g multilinestring YES NULL
SHOW FIELDS FROM gis_multi_polygon;
Field Type Null Key Default Extra
fid int(11) PRI
fid int(11)
NO
PRI
g multipolygon YES NULL
SHOW FIELDS FROM gis_geometrycollection;
Field Type Null Key Default Extra
fid int(11) PRI
fid int(11)
NO
PRI
g geometrycollection YES NULL
SHOW FIELDS FROM gis_geometry;
Field Type Null Key Default Extra
fid int(11) PRI
fid int(11)
NO
PRI
g geometry YES NULL
INSERT INTO gis_point VALUES
(101, PointFromText('POINT(10 10)')),
...
...
@@ -430,7 +430,7 @@ mln multilinestring YES NULL
mpg multipolygon YES NULL
gc geometrycollection YES NULL
gm geometry YES NULL
fid int(11)
fid int(11)
NO
DROP TABLE t1;
SELECT AsText(GeometryFromWKB(AsWKB(GeometryFromText('POINT(1 4)'))));
AsText(GeometryFromWKB(AsWKB(GeometryFromText('POINT(1 4)'))))
...
...
mysql-test/r/information_schema.result
View file @
47c39015
...
...
@@ -5,10 +5,12 @@ NULL mysql latin1 NULL
NULL test latin1 NULL
select schema_name from information_schema.schemata;
schema_name
information_schema
mysql
test
show databases *;
CATALOG_NAME SCHEMA_NAME DEFAULT_CHARACTER_SET_NAME SQL_PATH
NULL information_schema utf8 NULL
NULL mysql latin1 NULL
NULL test latin1 NULL
show databases like 't%';
...
...
@@ -16,6 +18,7 @@ Database (t%)
test
show databases;
Database
information_schema
mysql
test
show databases * where schema_name like 't%';
...
...
@@ -31,6 +34,22 @@ create table testtets.t4(a int);
create view v1 (c) as select table_name from information_schema.TABLES;
select * from v1;
c
SCHEMATA
TABLES
COLUMNS
CHARACTER_SETS
COLLATIONS
COLLATION_CHARACTER_SET_APPLICABILITY
ROUTINES
STATISTICS
VIEWS
USER_PRIVILEGES
SCHEMA_PRIVILEGES
TABLE_PRIVILEGES
COLUMN_PRIVILEGES
TABLE_CONSTRAINTS
KEY_COLUMN_USAGE
TABLE_NAMES
columns_priv
db
func
...
...
@@ -56,6 +75,10 @@ select c,table_name from v1
left join information_schema.TABLES v2 on (v1.c=v2.table_name)
where v1.c like "t%";
c table_name
TABLES TABLES
TABLE_PRIVILEGES TABLE_PRIVILEGES
TABLE_CONSTRAINTS TABLE_CONSTRAINTS
TABLE_NAMES TABLE_NAMES
tables_priv tables_priv
time_zone time_zone
time_zone_leap_second time_zone_leap_second
...
...
@@ -70,6 +93,10 @@ select c, v2.table_name from v1
right join information_schema.TABLES v2 on (v1.c=v2.table_name)
where v1.c like "t%";
c table_name
TABLES TABLES
TABLE_PRIVILEGES TABLE_PRIVILEGES
TABLE_CONSTRAINTS TABLE_CONSTRAINTS
TABLE_NAMES TABLE_NAMES
tables_priv tables_priv
time_zone time_zone
time_zone_leap_second time_zone_leap_second
...
...
@@ -88,11 +115,10 @@ t4
select * from information_schema.STATISTICS where TABLE_SCHEMA = "testtets";
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT
NULL testtets t1 1 testtets string_data 1 b A NULL NULL NULL YES BTREE
show keys * where TABLE_SCHEMA Like "test%";
show keys *
from t3
where TABLE_SCHEMA Like "test%";
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT
NULL test t3 1 test a_data 1 a A NULL NULL NULL YES BTREE
NULL testtets t1 1 testtets string_data 1 b A NULL NULL NULL YES BTREE
show keys where INDEX_NAME = "a_data";
show keys from t3 where INDEX_NAME = "a_data";
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
t3 1 a_data 1 a A NULL NULL NULL YES BTREE
show tables like 't%';
...
...
@@ -113,15 +139,15 @@ Field Type Collation Null Key Default Extra Privileges Comment
a int(11) NULL YES MUL NULL select,insert,update,references
show full columns from mysql.db like "Insert%";
Field Type Collation Null Key Default Extra Privileges Comment
Insert_priv enum('N','Y') utf8_bin N select,insert,update,references
Insert_priv enum('N','Y') utf8_bin
NO
N select,insert,update,references
show full columns from v1;
Field Type Collation Null Key Default Extra Privileges Comment
c varchar(64) utf8_general_ci select,insert,update,references
c varchar(64) utf8_general_ci
NO
select,insert,update,references
select * from information_schema.COLUMNS where table_name="t1"
and column_name= "a";
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT
NULL testtets t1 a 1 NULL YES int 11 11 11 0 NULL NULL int(11) select,insert,update,references
show columns * where table_name = "t1";
show columns *
from testtets.t1
where table_name = "t1";
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT
NULL testtets t1 a 1 NULL YES int 11 11 11 0 NULL NULL int(11) select,insert,update,references
NULL testtets t1 b 2 NULL YES varchar 30 30 NULL NULL latin1 latin1_swedish_ci varchar(30) MUL select,insert,update,references
...
...
@@ -255,6 +281,7 @@ count(*)
create view v0 (c) as select schema_name from information_schema.schemata;
select * from v0;
c
information_schema
mysql
test
explain select * from v0;
...
...
@@ -351,18 +378,18 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from information_schema.TABLE_CONSTRAINTS where
TABLE_SCHEMA= "test";
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
CONSTRAINT_METHOD
NULL test PRIMARY test t1 PRIMARY KEY
NULL
NULL test constraint_1 test t1 UNIQUE
NULL
NULL test key_1 test t1 UNIQUE
NULL
NULL test key_2 test t1 UNIQUE
NULL
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
NULL test PRIMARY test t1 PRIMARY KEY
NULL test constraint_1 test t1 UNIQUE
NULL test key_1 test t1 UNIQUE
NULL test key_2 test t1 UNIQUE
select * from information_schema.KEY_COLUMN_USAGE where
TABLE_SCHEMA= "test";
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
NULL test PRIMARY NULL test t1 a 1 NULL NULL NULL
NULL test constraint_1 NULL test t1 a 1 NULL NULL NULL
NULL test key_1 NULL test t1 a 1 NULL NULL NULL
NULL test key_2 NULL test t1 a 1 NULL NULL NULL
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION
POSITION_IN_UNIQUE_CONSTRAINT
REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
NULL test PRIMARY NULL test t1 a 1 NULL NULL NULL
NULL
NULL test constraint_1 NULL test t1 a 1 NULL NULL NULL
NULL
NULL test key_1 NULL test t1 a 1 NULL NULL NULL
NULL
NULL test key_2 NULL test t1 a 1 NULL NULL NULL
NULL
select table_name from information_schema.TABLES where table_schema like "test%";
table_name
t1
...
...
@@ -392,7 +419,6 @@ GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRAN
'joe'@'localhost' NULL test t1 a SELECT YES
select * from INFORMATION_SCHEMA.TABLE_PRIVILEGES;
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE
'joe'@'localhost' NULL test t1 USAGE YES
drop view v1, v2, v3;
drop table t1;
delete from mysql.user where user='joe';
...
...
@@ -404,7 +430,7 @@ create procedure px5 ()
begin
declare v int;
declare c cursor for select version from
information_schema.tables;
information_schema.tables
where table_schema <> 'information_schema'
;
open c;
fetch c into v;
select v;
...
...
@@ -432,6 +458,7 @@ select s1 from t1 where s1 in (select version from
information_schema.tables) union select version from
information_schema.tables;
s1
0
9
10
drop table t1;
...
...
@@ -508,11 +535,6 @@ 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 char(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()//
...
...
@@ -529,8 +551,37 @@ show index from vo;
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
select * from information_schema.TABLE_CONSTRAINTS where
TABLE_NAME= "vo";
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
CONSTRAINT_METHOD
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
select * from information_schema.KEY_COLUMN_USAGE where
TABLE_NAME= "vo";
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION
POSITION_IN_UNIQUE_CONSTRAINT
REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
drop view vo;
select TABLE_NAME,TABLE_TYPE,ENGINE
from information_schema.tables
where table_schema='information_schema' limit 2;
TABLE_NAME TABLE_TYPE ENGINE
SCHEMATA TEMPORARY MyISAM
TABLES TEMPORARY MyISAM
show tables from information_schema like "t%";
Tables_in_information_schema (t%)
create database information_schema;
ERROR HY000: Can't create database 'information_schema'; database exists
use information_schema;
show full tables like "T%";
Tables_in_information_schema (T%) Table_type
TABLES TEMPORARY
TABLE_PRIVILEGES TEMPORARY
TABLE_CONSTRAINTS TEMPORARY
TABLE_NAMES TEMPORARY
create table t1(a int);
ERROR 42S02: Unknown table 't1' in information_schema
use test;
show tables;
Tables_in_test
use information_schema;
show tables like "T%";
Tables_in_information_schema (T%)
TABLES
TABLE_PRIVILEGES
TABLE_CONSTRAINTS
TABLE_NAMES
mysql-test/r/information_schema_inno.result
View file @
47c39015
...
...
@@ -4,16 +4,16 @@ FOREIGN KEY (t1_id) REFERENCES t1(id) ON DELETE CASCADE,
FOREIGN KEY (t1_id) REFERENCES t1(id) ON UPDATE CASCADE) ENGINE=INNODB;
select * from information_schema.TABLE_CONSTRAINTS where
TABLE_SCHEMA= "test";
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
CONSTRAINT_METHOD
NULL test PRIMARY test t1 PRIMARY KEY
NULL
NULL test PRIMARY test t2 PRIMARY KEY
NULL
NULL test t2_ibfk_1 test t2 FOREIGN KEY
ON DELETE CASCADE
NULL test t2_ibfk_2 test t2 FOREIGN KEY
ON UPDATE CASCADE
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
NULL test PRIMARY test t1 PRIMARY KEY
NULL test PRIMARY test t2 PRIMARY KEY
NULL test t2_ibfk_1 test t2 FOREIGN KEY
NULL test t2_ibfk_2 test t2 FOREIGN KEY
select * from information_schema.KEY_COLUMN_USAGE where
TABLE_SCHEMA= "test";
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
NULL test PRIMARY NULL test t1 id 1 NULL NULL NULL
NULL test PRIMARY NULL test t2 id 1 NULL NULL NULL
NULL test t2_ibfk_1 NULL test t2 t1_id 1
NULL
id
NULL test t2_ibfk_2 NULL test t2 t1_id 1
NULL
id
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION
POSITION_IN_UNIQUE_CONSTRAINT
REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
NULL test PRIMARY NULL test t1 id 1 NULL NULL NULL
NULL
NULL test PRIMARY NULL test t2 id 1 NULL NULL NULL
NULL
NULL test t2_ibfk_1 NULL test t2 t1_id 1
1 test t1
id
NULL test t2_ibfk_2 NULL test t2 t1_id 1
1 test t1
id
drop table t2, t1;
mysql-test/r/innodb.result
View file @
47c39015
...
...
@@ -931,7 +931,7 @@ drop table t1;
create table t1 (t int not null default 1, key (t)) engine=innodb;
desc t1;
Field Type Null Key Default Extra
t int(11) MUL 1
t int(11)
NO
MUL 1
drop table t1;
CREATE TABLE t1 (
number bigint(20) NOT NULL default '0',
...
...
mysql-test/r/ndb_autodiscover.result
View file @
47c39015
...
...
@@ -355,6 +355,7 @@ drop table t2;
drop database test2;
show databases;
Database
information_schema
mysql
test
use test;
...
...
mysql-test/r/ps_1general.result
View file @
47c39015
...
...
@@ -254,6 +254,7 @@ a int primary key, b char(10)
prepare stmt4 from ' show databases ';
execute stmt4;
Database
information_schema
mysql
test
prepare stmt4 from ' show tables from test like ''t2%'' ';
...
...
@@ -263,7 +264,7 @@ t2
prepare stmt4 from ' show columns from t2 from test like ''a%'' ';
execute stmt4;
Field Type Null Key Default Extra
a int(11) PRI
a int(11)
NO
PRI
create index t2_idx on t2(b);
prepare stmt4 from ' show index from t2 from test ';
execute stmt4;
...
...
@@ -410,7 +411,7 @@ drop user drop_user@localhost;
prepare stmt3 from ' describe t2 ';
execute stmt3;
Field Type Null Key Default Extra
a int(11) PRI
a int(11)
NO
PRI
b char(10) YES MUL NULL
drop table t2 ;
execute stmt3;
...
...
mysql-test/r/rpl000009.result
View file @
47c39015
...
...
@@ -32,6 +32,7 @@ create database mysqltest2;
create database mysqltest;
show databases;
Database
information_schema
mysql
mysqltest
mysqltest2
...
...
@@ -48,6 +49,7 @@ insert into mysqltest.t2 values (11, 'eleven test'), (12, 'twelve test'),
set sql_log_bin = 1;
show databases;
Database
information_schema
mysql
test
create database mysqltest2;
...
...
@@ -66,6 +68,7 @@ insert into mysqltest.t3 values (1, 'original bar.t3');
load data from master;
show databases;
Database
information_schema
mysql
mysqltest
mysqltest2
...
...
mysql-test/r/rpl_create_database.result
View file @
47c39015
...
...
@@ -22,6 +22,7 @@ USE mysqltest_sisyfos;
ALTER DATABASE mysqltest_bob CHARACTER SET latin1;
SHOW DATABASES;
Database
information_schema
mysql
mysqltest_bob
mysqltest_prometheus
...
...
@@ -29,6 +30,7 @@ mysqltest_sisyfos
test
SHOW DATABASES;
Database
information_schema
mysql
mysqltest_prometheus
mysqltest_sisyfos
...
...
@@ -57,6 +59,7 @@ master-bin.000001 # Query 1 # CREATE DATABASE mysqltest_sisyfos
master-bin.000001 # Query 1 # use `mysqltest_sisyfos`; CREATE TABLE t2 (a INT)
SHOW DATABASES;
Database
information_schema
mysql
mysqltest_bob
mysqltest_prometheus
...
...
@@ -64,6 +67,7 @@ mysqltest_sisyfos
test
SHOW DATABASES;
Database
information_schema
mysql
mysqltest_prometheus
mysqltest_sisyfos
...
...
mysql-test/r/schema.result
View file @
47c39015
...
...
@@ -4,6 +4,7 @@ Database Create Database
foo CREATE DATABASE `foo` /*!40100 DEFAULT CHARACTER SET latin1 */
show schemas;
Database
information_schema
foo
mysql
test
...
...
mysql-test/r/select.result
View file @
47c39015
...
...
@@ -2034,20 +2034,20 @@ show tables from test like "t?";
Tables_in_test (t?)
show full columns from t2;
Field Type Collation Null Key Default Extra Privileges Comment
auto int(11) NULL PRI NULL auto_increment select,insert,update,references
fld1 int(6) unsigned zerofill NULL UNI 000000 select,insert,update,references
companynr tinyint(2) unsigned zerofill NULL 00 select,insert,update,references
fld3 char(30) latin1_swedish_ci MUL select,insert,update,references
fld4 char(35) latin1_swedish_ci select,insert,update,references
fld5 char(35) latin1_swedish_ci select,insert,update,references
fld6 char(4) latin1_swedish_ci select,insert,update,references
auto int(11) NULL
NO
PRI NULL auto_increment select,insert,update,references
fld1 int(6) unsigned zerofill NULL
NO
UNI 000000 select,insert,update,references
companynr tinyint(2) unsigned zerofill NULL
NO
00 select,insert,update,references
fld3 char(30) latin1_swedish_ci
NO
MUL select,insert,update,references
fld4 char(35) latin1_swedish_ci
NO
select,insert,update,references
fld5 char(35) latin1_swedish_ci
NO
select,insert,update,references
fld6 char(4) latin1_swedish_ci
NO
select,insert,update,references
show full columns from t2 from test like 'f%';
Field Type Collation Null Key Default Extra Privileges Comment
fld1 int(6) unsigned zerofill NULL UNI 000000 select,insert,update,references
fld3 char(30) latin1_swedish_ci MUL select,insert,update,references
fld4 char(35) latin1_swedish_ci select,insert,update,references
fld5 char(35) latin1_swedish_ci select,insert,update,references
fld6 char(4) latin1_swedish_ci select,insert,update,references
fld1 int(6) unsigned zerofill NULL
NO
UNI 000000 select,insert,update,references
fld3 char(30) latin1_swedish_ci
NO
MUL select,insert,update,references
fld4 char(35) latin1_swedish_ci
NO
select,insert,update,references
fld5 char(35) latin1_swedish_ci
NO
select,insert,update,references
fld6 char(4) latin1_swedish_ci
NO
select,insert,update,references
show full columns from t2 from test like 's%';
Field Type Collation Null Key Default Extra Privileges Comment
show keys from t2;
...
...
mysql-test/r/show_check.result
View file @
47c39015
...
...
@@ -50,6 +50,7 @@ show table status from test like "this_doesn't_exists%";
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
show databases;
Database
information_schema
mysql
test
show databases like "test%";
...
...
@@ -118,9 +119,9 @@ t1 CREATE TABLE t1 (
set sql_quote_show_create=1;
show full columns from t1;
Field Type Collation Null Key Default Extra Privileges Comment
test_set set('val1','val2','val3') latin1_swedish_ci select,insert,update,references
test_set set('val1','val2','val3') latin1_swedish_ci
NO
select,insert,update,references
name char(20) latin1_swedish_ci YES O'Brien select,insert,update,references O'Brien as default
c int(11) NULL select,insert,update,references int column
c int(11) NULL
NO
select,insert,update,references int column
c-b int(11) NULL YES NULL select,insert,update,references name with a minus
space 2 int(11) NULL YES NULL select,insert,update,references name with a space
drop table t1;
...
...
mysql-test/r/sp.result
View file @
47c39015
...
...
@@ -1646,8 +1646,8 @@ test CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET latin1 */
Database (foo)
Level Code Message
Field Type Null Key Default Extra
id char(16)
data int(11)
id char(16)
NO
data int(11)
NO
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
...
...
@@ -1696,8 +1696,8 @@ test CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET latin1 */
Database (foo)
Level Code Message
Field Type Null Key Default Extra
id char(16)
data int(11)
id char(16)
NO
data int(11)
NO
Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
...
...
mysql-test/r/type_enum.result
View file @
47c39015
...
...
@@ -1654,7 +1654,7 @@ set names latin1;
create table t1 (a enum(0xE4, '1', '2') not null default 0xE4);
show columns from t1;
Field Type Null Key Default Extra
a enum('','1','2')
a enum('','1','2')
NO
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
...
...
@@ -1675,7 +1675,7 @@ t1 CREATE TABLE `t1` (
show columns from t1;
Field Type Null Key Default Extra
a int(11) YES 1
b enum('value','_value','') value
b enum('value','_value','')
NO
value
drop table t1;
CREATE TABLE t1 (c enum('a', 'A') BINARY);
INSERT INTO t1 VALUES ('a'),('A');
...
...
mysql-test/r/type_ranges.result
View file @
47c39015
This diff is collapsed.
Click to expand it.
mysql-test/t/information_schema.test
View file @
47c39015
...
...
@@ -34,8 +34,8 @@ select table_name from information_schema.TABLES
where
table_schema
=
"testtets"
and
table_name
like
"t%"
;
select
*
from
information_schema
.
STATISTICS
where
TABLE_SCHEMA
=
"testtets"
;
show
keys
*
where
TABLE_SCHEMA
Like
"test%"
;
show
keys
where
INDEX_NAME
=
"a_data"
;
show
keys
*
from
t3
where
TABLE_SCHEMA
Like
"test%"
;
show
keys
from
t3
where
INDEX_NAME
=
"a_data"
;
show
tables
like
't%'
;
--
replace_column
15
# 16 #
...
...
@@ -48,7 +48,7 @@ show full columns from mysql.db like "Insert%";
show
full
columns
from
v1
;
select
*
from
information_schema
.
COLUMNS
where
table_name
=
"t1"
and
column_name
=
"a"
;
show
columns
*
where
table_name
=
"t1"
;
show
columns
*
from
testtets
.
t1
where
table_name
=
"t1"
;
drop
view
v1
;
drop
tables
testtets
.
t4
,
testtets
.
t1
,
t2
,
t3
;
...
...
@@ -198,7 +198,7 @@ create procedure px5 ()
begin
declare
v
int
;
declare
c
cursor
for
select
version
from
information_schema
.
tables
;
information_schema
.
tables
where
table_schema
<>
'information_schema'
;
open
c
;
fetch
c
into
v
;
select
v
;
...
...
@@ -250,10 +250,6 @@ 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
;
//
...
...
@@ -274,3 +270,19 @@ TABLE_NAME= "vo";
select
*
from
information_schema
.
KEY_COLUMN_USAGE
where
TABLE_NAME
=
"vo"
;
drop
view
vo
;
select
TABLE_NAME
,
TABLE_TYPE
,
ENGINE
from
information_schema
.
tables
where
table_schema
=
'information_schema'
limit
2
;
show
tables
from
information_schema
like
"t%"
;
--
error
1007
create
database
information_schema
;
use
information_schema
;
show
full
tables
like
"T%"
;
--
error
1109
create
table
t1
(
a
int
);
use
test
;
show
tables
;
use
information_schema
;
show
tables
like
"T%"
;
sql/sql_acl.cc
View file @
47c39015
...
...
@@ -4670,9 +4670,15 @@ int fill_schema_table_privileges(THD *thd, TABLE_LIST *tables, COND *cond)
if
(
!
(
user
=
grant_table
->
user
))
user
=
""
;
ulong
table_access
=
grant_table
->
privs
;
if
(
table_access
!=
0
)
if
(
table_access
)
{
ulong
test_access
=
table_access
&
~
GRANT_ACL
;
/*
We should skip 'usage' privilege on table if
we have any privileges on column(s) of this table
*/
if
(
!
test_access
&&
grant_table
->
cols
)
continue
;
if
(
!
(
table_access
&
GRANT_ACL
))
is_grantable
=
"NO"
;
...
...
sql/sql_db.cc
View file @
47c39015
...
...
@@ -389,6 +389,13 @@ bool mysql_create_db(THD *thd, char *db, HA_CREATE_INFO *create_info,
uint
create_options
=
create_info
?
create_info
->
options
:
0
;
uint
path_len
;
DBUG_ENTER
(
"mysql_create_db"
);
/* do not create 'information_schema' db */
if
(
!
my_strcasecmp
(
system_charset_info
,
db
,
information_schema_name
.
str
))
{
my_error
(
ER_DB_CREATE_EXISTS
,
MYF
(
0
),
db
);
DBUG_RETURN
(
-
1
);
}
VOID
(
pthread_mutex_lock
(
&
LOCK_mysql_create_db
));
...
...
@@ -1015,6 +1022,7 @@ bool mysql_change_db(THD *thd, const char *name)
char
*
dbname
=
my_strdup
((
char
*
)
name
,
MYF
(
MY_WME
));
char
path
[
FN_REFLEN
];
HA_CREATE_INFO
create
;
bool
schema_db
=
0
;
#ifndef NO_EMBEDDED_ACCESS_CHECKS
ulong
db_access
;
#endif
...
...
@@ -1034,6 +1042,15 @@ bool mysql_change_db(THD *thd, const char *name)
DBUG_RETURN
(
1
);
}
DBUG_PRINT
(
"info"
,(
"Use database: %s"
,
dbname
));
if
(
!
my_strcasecmp
(
system_charset_info
,
dbname
,
information_schema_name
.
str
))
{
schema_db
=
1
;
#ifndef NO_EMBEDDED_ACCESS_CHECKS
db_access
=
SELECT_ACL
;
#endif
goto
end
;
}
#ifndef NO_EMBEDDED_ACCESS_CHECKS
if
(
test_all_bits
(
thd
->
master_access
,
DB_ACLS
))
db_access
=
DB_ACLS
;
...
...
@@ -1064,6 +1081,7 @@ bool mysql_change_db(THD *thd, const char *name)
my_free
(
dbname
,
MYF
(
0
));
DBUG_RETURN
(
1
);
}
end:
send_ok
(
thd
);
x_free
(
thd
->
db
);
thd
->
db
=
dbname
;
// THD::~THD will free this
...
...
@@ -1071,11 +1089,19 @@ bool mysql_change_db(THD *thd, const char *name)
#ifndef NO_EMBEDDED_ACCESS_CHECKS
thd
->
db_access
=
db_access
;
#endif
strmov
(
path
+
unpack_dirname
(
path
,
path
),
MY_DB_OPT_FILE
);
load_db_opt
(
thd
,
path
,
&
create
);
thd
->
db_charset
=
create
.
default_table_charset
?
create
.
default_table_charset
:
thd
->
variables
.
collation_server
;
thd
->
variables
.
collation_database
=
thd
->
db_charset
;
if
(
schema_db
)
{
thd
->
db_charset
=
system_charset_info
;
thd
->
variables
.
collation_database
=
system_charset_info
;
}
else
{
strmov
(
path
+
unpack_dirname
(
path
,
path
),
MY_DB_OPT_FILE
);
load_db_opt
(
thd
,
path
,
&
create
);
thd
->
db_charset
=
create
.
default_table_charset
?
create
.
default_table_charset
:
thd
->
variables
.
collation_server
;
thd
->
variables
.
collation_database
=
thd
->
db_charset
;
}
DBUG_RETURN
(
0
);
}
sql/sql_show.cc
View file @
47c39015
This diff is collapsed.
Click to expand it.
sql/sql_yacc.yy
View file @
47c39015
...
...
@@ -670,7 +670,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
opt_table_alias
%type <table>
table_ident table_ident_nodb references
from_table_ident
table_ident table_ident_nodb references
%type <simple_string>
remember_name remember_end opt_ident opt_db text_or_password
...
...
@@ -5902,14 +5902,14 @@ show_param:
| ENGINE_SYM storage_engines
{ Lex->create_info.db_type= $2; }
show_engine_param
| opt_full COLUMNS ext_select_item_list from_table_ident opt_db wild_and_where
| opt_full COLUMNS ext_select_item_list from_
or_in
table_ident opt_db wild_and_where
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_SELECT;
lex->orig_sql_command= SQLCOM_SHOW_FIELDS;
if ($
5
)
$
4->change_db($5
);
if (prepare_schema_table(YYTHD, lex, $
4
, SCH_COLUMNS))
if ($
6
)
$
5->change_db($6
);
if (prepare_schema_table(YYTHD, lex, $
5
, SCH_COLUMNS))
YYABORT;
}
| NEW_SYM MASTER_SYM FOR_SYM SLAVE WITH MASTER_LOG_FILE_SYM EQ
...
...
@@ -5935,14 +5935,14 @@ show_param:
LEX *lex= Lex;
lex->sql_command= SQLCOM_SHOW_BINLOG_EVENTS;
} opt_limit_clause_init
| keys_or_index ext_select_item_list from_table_ident opt_db where_clause
| keys_or_index ext_select_item_list from_
or_in
table_ident opt_db where_clause
{
LEX *lex= Lex;
lex->sql_command= SQLCOM_SELECT;
lex->orig_sql_command= SQLCOM_SHOW_KEYS;
if ($
4
)
$
3->change_db($4
);
if (prepare_schema_table(YYTHD, lex, $
3
, SCH_STATISTICS))
if ($
5
)
$
4->change_db($5
);
if (prepare_schema_table(YYTHD, lex, $
4
, SCH_STATISTICS))
YYABORT;
}
| COLUMN_SYM TYPES_SYM
...
...
@@ -6159,11 +6159,6 @@ binlog_from:
/* empty */ { Lex->mi.pos = 4; /* skip magic number */ }
| FROM ulonglong_num { Lex->mi.pos = $2; };
from_table_ident:
/* empty */ { $$= 0; }
| from_or_in table_ident { $$= $2; }
;
wild_and_where:
/* empty */
| LIKE TEXT_STRING_sys
...
...
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