dir.result 3.33 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
#
# Testing FILE privilege
#
GRANT ALL PRIVILEGES ON *.* TO user@localhost;
REVOKE FILE ON *.* FROM user@localhost;
SELECT user();
user()
user@localhost
CREATE TABLE t1 (
path VARCHAR(256) NOT NULL flag=1,
fname VARCHAR(256) NOT NULL,
ftype CHAR(4) NOT NULL,
size DOUBLE(12,0) NOT NULL flag=5
) ENGINE=CONNECT TABLE_TYPE=DIR FILE_NAME='*.*';
ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO)
SELECT user();
user()
root@localhost
CREATE TABLE t1 (
path VARCHAR(256) NOT NULL flag=1,
fname VARCHAR(256) NOT NULL,
ftype CHAR(4) NOT NULL,
size DOUBLE(12,0) NOT NULL flag=5
) ENGINE=CONNECT TABLE_TYPE=DIR FILE_NAME='*.*';
SELECT fname, ftype, size FROM t1 WHERE size>0;
fname	ftype	size
t1	.frm	8654
SELECT user();
user()
user@localhost
SELECT * FROM t1;
ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO)
33
INSERT INTO t1 VALUES ();
34
ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO)
35
DELETE FROM t1 WHERE path='xxx';
36
ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO)
37
UPDATE t1 SET path='yyy' WHERE path='xxx';
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO)
TRUNCATE TABLE t1;
ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO)
ALTER TABLE t1 READONLY=1;
ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO)
CREATE VIEW v1 AS SELECT * FROM t1;
ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO)
# Testing a VIEW created with FILE privileges but accessed with no FILE
SELECT user();
user()
root@localhost
CREATE VIEW v1 AS SELECT * FROM t1;
SELECT user();
user()
user@localhost
SELECT * FROM v1;
ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO)
55
INSERT INTO v1 VALUES (1,1,1,1);
56
ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO)
57
UPDATE v1 SET path=123;
58 59 60 61 62 63 64 65 66 67 68 69
ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO)
DELETE FROM v1;
ERROR 28000: Access denied for user 'user'@'localhost' (using password: NO)
SELECT user();
user()
root@localhost
DROP VIEW v1;
DROP TABLE t1;
DROP USER user@localhost;
#
# Testing FILE privileges done
#
70
CREATE TABLE t1 (
71 72 73 74
path VARCHAR(256) NOT NULL flag=1,
fname VARCHAR(256) NOT NULL,
ftype CHAR(4) NOT NULL,
size DOUBLE(12,0) NOT NULL flag=5
75 76 77 78
) ENGINE=CONNECT TABLE_TYPE=DIR FILE_NAME='*.txt'
  OPTION_LIST='subdir=1';
SELECT * FROM t1;
path	fname	ftype	size
79
SELECT fname, ftype, size FROM t1 ORDER BY fname, ftype, size;
80 81 82
fname	ftype	size
boys	.txt	282
boys2	.txt	282
83
boyswin	.txt	288
84
ALTER TABLE t1 OPTION_LIST='subdir=0';
85
Warnings:
86
Warning	1105	The current version of CONNECT did not check what you changed in ALTER. Use at your own risk
87 88 89
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
90 91 92 93
  `path` varchar(256) NOT NULL `flag`=1,
  `fname` varchar(256) NOT NULL,
  `ftype` char(4) NOT NULL,
  `size` double(12,0) NOT NULL `flag`=5
94
) ENGINE=CONNECT DEFAULT CHARSET=latin1 `TABLE_TYPE`=DIR `FILE_NAME`='*.txt' `OPTION_LIST`='subdir=0'
95
SELECT fname, ftype, size FROM t1 ORDER BY fname, ftype, size;
96 97 98 99 100 101 102
fname	ftype	size
boys	.txt	282
boyswin	.txt	288
INSERT INTO t1 VALUES ('','','','');
ERROR HY000: Got error 174 'COLBLK SetBuffer: undefined Access Method' from CONNECT
DROP TABLE t1;
CREATE TABLE t1 ENGINE=CONNECT TABLE_TYPE=DIR FILE_NAME='*.txt';
103
ERROR HY000: Cannot get column info for table type DIR