| >>obey TEST132(test_libraries); |
| >>-- ================================================================= |
| >>-- run tests to make sure users that create libraries have correct |
| >>-- privileges. To create a library, you must: |
| >>-- be DB__ROOT |
| >>-- be granted DB__ROOTROLE |
| >>-- have the MANAGE_LIBRARY and CREATE/CREATE_LIBARARY privileges |
| >>-- ================================================================= |
| >> |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >>get libraries; |
| |
| --- SQL operation complete. |
| >>get privileges on component sql_operations for "PUBLIC"; |
| |
| Privilege information on Component SQL_OPERATIONS for PUBLIC |
| ============================================================ |
| |
| CREATE_SCHEMA |
| SHOW |
| |
| ======================= |
| 2 row(s) returned |
| |
| --- SQL operation complete. |
| >> |
| >>-- succeed: DB__ROOT can create a library |
| >>obey TEST132(manage_library); |
| >> |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >>get libraries in schema t132sch; |
| |
| --- SQL operation complete. |
| >>create library t132_l1 file 'etest132.dll'; |
| |
| --- SQL operation complete. |
| >>get libraries in schema t132sch; |
| |
| Libraries in Schema TRAFODION.T132SCH |
| ===================================== |
| |
| T132_L1 |
| |
| ======================= |
| 1 row(s) returned |
| |
| --- SQL operation complete. |
| >>drop library t132_l1; |
| |
| --- SQL operation complete. |
| >>get libraries in schema t132sch; |
| |
| --- SQL operation complete. |
| >> |
| >> |
| >>-- fail: sql_user1 cannot create a library |
| >>changeuser sql_user1; |
| >>obey TEST132(manage_library); |
| >> |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >>get libraries in schema t132sch; |
| |
| --- SQL operation complete. |
| >>create library t132_l1 file 'etest132.dll'; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>get libraries in schema t132sch; |
| |
| --- SQL operation complete. |
| >>drop library t132_l1; |
| |
| *** ERROR[1389] Object TRAFODION.T132SCH.T132_L1 does not exist in Trafodion. |
| |
| --- SQL operation failed with errors. |
| >>get libraries in schema t132sch; |
| |
| --- SQL operation complete. |
| >> |
| >>changeuser db__root; |
| >> |
| >>-- succeed: grant DB__ROOTROLE to sql_user1 |
| >>grant role DB__ROOTROLE to sql_user1; |
| |
| --- SQL operation complete. |
| >>changeuser sql_user1; |
| >>obey TEST132(manage_library); |
| >> |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >>get libraries in schema t132sch; |
| |
| --- SQL operation complete. |
| >>create library t132_l1 file 'etest132.dll'; |
| |
| --- SQL operation complete. |
| >>get libraries in schema t132sch; |
| |
| Libraries in Schema TRAFODION.T132SCH |
| ===================================== |
| |
| T132_L1 |
| |
| ======================= |
| 1 row(s) returned |
| |
| --- SQL operation complete. |
| >>drop library t132_l1; |
| |
| --- SQL operation complete. |
| >>get libraries in schema t132sch; |
| |
| --- SQL operation complete. |
| >> |
| >>changeuser DB__ROOT; |
| >> |
| >>-- fail: just grant the create privilege |
| >>grant component privilege CREATE_LIBRARY on sql_operations to sql_user2; |
| |
| --- SQL operation complete. |
| >>changeuser sql_user2; |
| >>obey TEST132(manage_library); |
| >> |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >>get libraries in schema t132sch; |
| |
| --- SQL operation complete. |
| >>create library t132_l1 file 'etest132.dll'; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>get libraries in schema t132sch; |
| |
| --- SQL operation complete. |
| >>drop library t132_l1; |
| |
| *** ERROR[1389] Object TRAFODION.T132SCH.T132_L1 does not exist in Trafodion. |
| |
| --- SQL operation failed with errors. |
| >>get libraries in schema t132sch; |
| |
| --- SQL operation complete. |
| >> |
| >>changeuser DB__ROOT; |
| >> |
| >>-- succeed: now grant the manage_library privilege |
| >>grant component privilege MANAGE_LIBRARY on sql_operations to sql_user2; |
| |
| --- SQL operation complete. |
| >>get privileges on component sql_operation for sql_user2; |
| |
| --- SQL operation complete. |
| >>changeuser sql_user2; |
| >>obey TEST132(manage_library); |
| >> |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >>get libraries in schema t132sch; |
| |
| --- SQL operation complete. |
| >>create library t132_l1 file 'etest132.dll'; |
| |
| --- SQL operation complete. |
| >>get libraries in schema t132sch; |
| |
| Libraries in Schema TRAFODION.T132SCH |
| ===================================== |
| |
| T132_L1 |
| |
| ======================= |
| 1 row(s) returned |
| |
| --- SQL operation complete. |
| >>drop library t132_l1; |
| |
| --- SQL operation complete. |
| >>get libraries in schema t132sch; |
| |
| --- SQL operation complete. |
| >> |
| >>changeuser DB__ROOT; |
| >> |
| >>-- reset |
| >>revoke role DB__ROOTROLE from sql_user1; |
| |
| --- SQL operation complete. |
| >>revoke component privilege MANAGE_LIBRARY on sql_operations from sql_user2; |
| |
| --- SQL operation complete. |
| >>revoke component privilege CREATE_LIBRARY on sql_operations from sql_user2; |
| |
| --- SQL operation complete. |
| >>get privileges on component sql_operations for "PUBLIC"; |
| |
| Privilege information on Component SQL_OPERATIONS for PUBLIC |
| ============================================================ |
| |
| CREATE_SCHEMA |
| SHOW |
| |
| ======================= |
| 2 row(s) returned |
| |
| --- SQL operation complete. |
| >> |
| >>obey TEST132(test_popindex); |
| >>-- ================================================================= |
| >>-- run tests to make sure users that populate indexes have correct |
| >>-- privileges. To populate an index, you must: |
| >>-- be DB__ROOT |
| >>-- be table owner |
| >>-- have the SELECT and INSERT privilege |
| >>-- ================================================================= |
| >> |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >>--set parserflags 131072; |
| >>--cqd DDL_TRANSACTIONS 'ON'; |
| >> |
| >>get tables, match '%T132%'; |
| |
| --- SQL operation complete. |
| >> |
| >>create table t132t1 (c1 int not null primary key, c2 int); |
| |
| --- SQL operation complete. |
| >>create index t132t1_ndx1 on t132t1 (c2) no populate; |
| |
| --- SQL operation complete. |
| >>create table t132t2 (c1 int not null primary key, c2 int) |
| +> attribute by sql_user1; |
| |
| --- SQL operation complete. |
| >>create index t132t2_ndx1 on t132t2(c2) no populate; |
| |
| --- SQL operation complete. |
| >> |
| >>insert into t132t1 values (1,1), (2,2), (3,3),(4,4), (5,5),(6,6), (7,7),(8,8); |
| |
| --- 8 row(s) inserted. |
| >>insert into t132t2 values (1,1), (2,2), (3,3),(4,4), (5,5),(6,6), (7,7),(8,8); |
| |
| --- 8 row(s) inserted. |
| >> |
| >>get tables, match '%T132%'; |
| |
| Tables in Schema TRAFODION.T132SCH |
| ================================== |
| |
| T132T1 |
| T132T2 |
| |
| ======================= |
| 2 row(s) returned |
| |
| --- SQL operation complete. |
| >>cqd SHOWDDL_DISPLAY_PRIVILEGE_GRANTS 'ON'; |
| |
| --- SQL operation complete. |
| >>showddl t132t1; |
| |
| CREATE TABLE TRAFODION.T132SCH.T132T1 |
| ( |
| C1 INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , C2 INT DEFAULT NULL |
| , PRIMARY KEY (C1 ASC) |
| ) |
| ATTRIBUTES ALIGNED FORMAT |
| ; |
| |
| -- GRANT SELECT, INSERT, DELETE, UPDATE, REFERENCES ON TRAFODION.T132SCH.T132T1 TO DB__ROOT WITH GRANT OPTION; |
| |
| --- SQL operation complete. |
| >>showddl t132t2; |
| |
| CREATE TABLE TRAFODION.T132SCH.T132T2 |
| ( |
| C1 INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , C2 INT DEFAULT NULL |
| , PRIMARY KEY (C1 ASC) |
| ) |
| ATTRIBUTES ALIGNED FORMAT |
| ; |
| |
| -- GRANT SELECT, INSERT, DELETE, UPDATE, REFERENCES ON TRAFODION.T132SCH.T132T2 TO SQL_USER1 WITH GRANT OPTION; |
| |
| --- SQL operation complete. |
| >> |
| >>-- DB__ROOT can populate indexes |
| >>obey TEST132(populate_index); |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >> |
| >>populate index t132t1_ndx1 on t132t1; |
| |
| --- SQL operation complete. |
| >>populate index t132t2_ndx1 on t132t2; |
| |
| --- SQL operation complete. |
| >> |
| >>obey TEST132(popindex_check_reset); |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >>set parserflags 1; |
| |
| --- SQL operation complete. |
| >> |
| >>select count(*) from table (index_table t132t1_ndx1); |
| |
| (EXPR) |
| -------------------- |
| |
| 8 |
| |
| --- 1 row(s) selected. |
| >>select count(*) from table (index_table t132t2_ndx1); |
| |
| (EXPR) |
| -------------------- |
| |
| 8 |
| |
| --- 1 row(s) selected. |
| >> |
| >>cleanup index t132t1_ndx1; |
| |
| --- SQL operation complete. |
| >>create index t132t1_ndx1 on t132t1 (c2) no populate; |
| |
| --- SQL operation complete. |
| >>drop index t132t2_ndx1; |
| |
| --- SQL operation complete. |
| >>create index t132t2_ndx1 on t132t2 (c2) no populate; |
| |
| --- SQL operation complete. |
| >> |
| >> |
| >>-- object owner can populate |
| >>-- sql_user1 owns t132t2 but not t132t1 |
| >>-- popindex fails for t132t1 but works for the rest |
| >>changeuser sql_user1; |
| >>obey TEST132(populate_index); |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >> |
| >>populate index t132t1_ndx1 on t132t1; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view TRAFODION.T132SCH.T132T1. |
| |
| *** ERROR[4481] The user does not have INSERT privilege on table or view TRAFODION.T132SCH.T132T1. |
| |
| --- SQL operation failed with errors. |
| >>populate index t132t2_ndx1 on t132t2; |
| |
| --- SQL operation complete. |
| >> |
| >>changeuser db__root; |
| >>obey TEST132(popindex_check_reset); |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >>set parserflags 1; |
| |
| --- SQL operation complete. |
| >> |
| >>select count(*) from table (index_table t132t1_ndx1); |
| |
| (EXPR) |
| -------------------- |
| |
| 0 |
| |
| --- 1 row(s) selected. |
| >>select count(*) from table (index_table t132t2_ndx1); |
| |
| (EXPR) |
| -------------------- |
| |
| 8 |
| |
| --- 1 row(s) selected. |
| >> |
| >>cleanup index t132t1_ndx1; |
| |
| --- SQL operation complete. |
| >>create index t132t1_ndx1 on t132t1 (c2) no populate; |
| |
| --- SQL operation complete. |
| >>drop index t132t2_ndx1; |
| |
| --- SQL operation complete. |
| >>create index t132t2_ndx1 on t132t2 (c2) no populate; |
| |
| --- SQL operation complete. |
| >> |
| >> |
| >>-- if user belongs to DB__ROOTROLE, has DML privileges, so can populate indexes |
| >>grant role DB__ROOTROLE to sql_user2; |
| |
| --- SQL operation complete. |
| >>changeuser sql_user2; |
| >>obey TEST132(populate_index); |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >> |
| >>populate index t132t1_ndx1 on t132t1; |
| |
| --- SQL operation complete. |
| >>populate index t132t2_ndx1 on t132t2; |
| |
| --- SQL operation complete. |
| >> |
| >>changeuser db__root; |
| >>obey TEST132(popindex_check_reset); |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >>set parserflags 1; |
| |
| --- SQL operation complete. |
| >> |
| >>select count(*) from table (index_table t132t1_ndx1); |
| |
| (EXPR) |
| -------------------- |
| |
| 8 |
| |
| --- 1 row(s) selected. |
| >>select count(*) from table (index_table t132t2_ndx1); |
| |
| (EXPR) |
| -------------------- |
| |
| 8 |
| |
| --- 1 row(s) selected. |
| >> |
| >>cleanup index t132t1_ndx1; |
| |
| --- SQL operation complete. |
| >>create index t132t1_ndx1 on t132t1 (c2) no populate; |
| |
| --- SQL operation complete. |
| >>drop index t132t2_ndx1; |
| |
| --- SQL operation complete. |
| >>create index t132t2_ndx1 on t132t2 (c2) no populate; |
| |
| --- SQL operation complete. |
| >> |
| >>revoke role DB__ROOTROLE from sql_user2; |
| |
| --- SQL operation complete. |
| >> |
| >>-- sql_user3 requires both SELECT and INSERT privileges |
| >>-- only t132t2 has granted both privileges |
| >>grant SELECT on t132t1 to sql_user3; |
| |
| --- SQL operation complete. |
| >>grant SELECT, INSERT on t132t2 to sql_user3 by sql_user1; |
| |
| --- SQL operation complete. |
| >>changeuser sql_user3; |
| >>obey TEST132(populate_index); |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >> |
| >>populate index t132t1_ndx1 on t132t1; |
| |
| *** ERROR[4481] The user does not have INSERT privilege on table or view TRAFODION.T132SCH.T132T1. |
| |
| --- SQL operation failed with errors. |
| >>populate index t132t2_ndx1 on t132t2; |
| |
| --- SQL operation complete. |
| >> |
| >>changeuser db__root; |
| >>obey TEST132(popindex_check_reset); |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >>set parserflags 1; |
| |
| --- SQL operation complete. |
| >> |
| >>select count(*) from table (index_table t132t1_ndx1); |
| |
| (EXPR) |
| -------------------- |
| |
| 0 |
| |
| --- 1 row(s) selected. |
| >>select count(*) from table (index_table t132t2_ndx1); |
| |
| (EXPR) |
| -------------------- |
| |
| 8 |
| |
| --- 1 row(s) selected. |
| >> |
| >>cleanup index t132t1_ndx1; |
| |
| --- SQL operation complete. |
| >>create index t132t1_ndx1 on t132t1 (c2) no populate; |
| |
| --- SQL operation complete. |
| >>drop index t132t2_ndx1; |
| |
| --- SQL operation complete. |
| >>create index t132t2_ndx1 on t132t2 (c2) no populate; |
| |
| --- SQL operation complete. |
| >> |
| >> |
| >>-- reset |
| >>drop table t132t1 cascade; |
| |
| --- SQL operation complete. |
| >>drop table t132t2 cascade; |
| |
| --- SQL operation complete. |
| >>get tables, match 'T132%'; |
| |
| --- SQL operation complete. |
| >> |
| >>obey TEST132(test_show); |
| >>-- ================================================================= |
| >>-- run tests to make sure users that perform show commands have correct |
| >>-- privileges. To perform show commands, you must: |
| >>-- be DB__ROOT |
| >>-- be object owner |
| >>-- have the SHOW privilege (PUBLIC & DB__ROOTROLE has priv) |
| >>-- have SELECT privileges on object |
| >>-- ================================================================= |
| >> |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >> |
| >>create table t132_teams |
| +> (team_number int not null primary key, |
| +> team_name char(20) not null, |
| +> team_contact varchar(50) not null, |
| +> team_contact_number char (10) not null |
| +> ) |
| +> ; |
| |
| --- SQL operation complete. |
| >> |
| >>alter table t132_teams add constraint valid_team_no check (team_number > 0); |
| |
| --- SQL operation complete. |
| >> |
| >>insert into t132_teams values |
| +> (1, 'White Socks', 'Sam','4082282222'), |
| +> (2, 'Giants', 'Joe', '5102839483'), |
| +> (3, 'Cardinals', 'Stella', '9513849384'), |
| +> (4, 'Indians', 'Matt', '5128383748'), |
| +> (5, 'Tigers', 'Ronit', '6198273827'); |
| |
| --- 5 row(s) inserted. |
| >> |
| >>create table t132_games |
| +> ( home_team_number int not null, |
| +> visitor_team_number int not null, |
| +> game_number int not null primary key, |
| +> game_time timestamp not null, |
| +> game_location varchar(50) not null) |
| +> attribute by sql_user1 |
| +> ; |
| |
| --- SQL operation complete. |
| >>create index t132_home_games on t132_games (home_team_number); |
| |
| --- SQL operation complete. |
| >> |
| >>alter table t132_games add constraint valid_game_number check (game_number > 0); |
| |
| --- SQL operation complete. |
| >> |
| >>insert into t132_games values |
| +> (1, 2, 1, timestamp '2009-04-23 19:30:00', 'California'), |
| +> (1, 3, 2, timestamp '2009-04-24 19:30:00', 'California'), |
| +> (1, 4, 3, timestamp '2009-04-25 10:00:00', 'Oklahoma'), |
| +> (2, 3, 4, timestamp '2009-04-25 13:30:00', 'Michigan'), |
| +> (1, 5, 5, timestamp '2009-04-25 15:00:00', 'Oklahoma'), |
| +> (2, 5, 6, timestamp '2009-04-27 17:00:00', 'New York'), |
| +> (3, 4, 7, timestamp '2009-04-28 17:00:00', 'Florida'), |
| +> (4, 2, 8, current_timestamp, 'Missouri'); |
| |
| --- 8 row(s) inserted. |
| >> |
| >>create view t132_giants_games as |
| +> select game_number, game_time, game_location |
| +> from t132_games |
| +> where home_team_number = 2 |
| +> order by 1,2,3; |
| |
| --- SQL operation complete. |
| >>select * from t132_giants_games; |
| |
| GAME_NUMBER GAME_TIME GAME_LOCATION |
| ----------- -------------------------- -------------------------------------------------- |
| |
| 4 2009-04-25 13:30:00.000000 Michigan |
| 6 2009-04-27 17:00:00.000000 New York |
| |
| --- 2 row(s) selected. |
| >> |
| >>create view t132_home_teams_games as |
| +> select t.team_number, g.game_number, g.game_time |
| +> from "T132_TEAMS" t, |
| +> "T132_GAMES" g |
| +> where t.team_number = g.home_team_number |
| +> order by 1, game_number, game_time; |
| |
| --- SQL operation complete. |
| >>select team_number, game_number from t132_home_teams_games; |
| |
| TEAM_NUMBER GAME_NUMBER |
| ----------- ----------- |
| |
| 1 1 |
| 1 2 |
| 1 3 |
| 1 5 |
| 2 4 |
| 2 6 |
| 3 7 |
| 4 8 |
| |
| --- 8 row(s) selected. |
| >> |
| >>create sequence t132_team_number_sequence; |
| |
| --- SQL operation complete. |
| >> |
| >>-- revoke show prvilege from PUBLIC |
| >>get privileges on component sql_operations for "PUBLIC"; |
| |
| Privilege information on Component SQL_OPERATIONS for PUBLIC |
| ============================================================ |
| |
| CREATE_SCHEMA |
| SHOW |
| |
| ======================= |
| 2 row(s) returned |
| |
| --- SQL operation complete. |
| >>revoke component privilege "SHOW" on sql_operations from "PUBLIC"; |
| |
| --- SQL operation complete. |
| >>get privileges on component sql_operations for "PUBLIC"; |
| |
| Privilege information on Component SQL_OPERATIONS for PUBLIC |
| ============================================================ |
| |
| CREATE_SCHEMA |
| |
| ======================= |
| 1 row(s) returned |
| |
| --- SQL operation complete. |
| >> |
| >>-- DB__ROOT has all privileges |
| >>obey TEST132(show_objects); |
| >> |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >>cqd SHOWDDL_DISPLAY_PRIVILEGE_GRANTS 'ON'; |
| |
| --- SQL operation complete. |
| >> |
| >>showddl t132_games; |
| |
| CREATE TABLE TRAFODION.T132SCH.T132_GAMES |
| ( |
| HOME_TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , VISITOR_TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_TIME TIMESTAMP(6) NO DEFAULT NOT NULL NOT |
| DROPPABLE |
| , GAME_LOCATION VARCHAR(50) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , PRIMARY KEY (GAME_NUMBER ASC) |
| ) |
| ATTRIBUTES ALIGNED FORMAT |
| ; |
| |
| CREATE INDEX T132_HOME_GAMES ON TRAFODION.T132SCH.T132_GAMES |
| ( |
| HOME_TEAM_NUMBER ASC |
| ) |
| ; |
| |
| ALTER TABLE TRAFODION.T132SCH.T132_GAMES ADD CONSTRAINT |
| TRAFODION.T132SCH.VALID_GAME_NUMBER CHECK |
| (TRAFODION.T132SCH.T132_GAMES.GAME_NUMBER > 0) |
| |
| -- GRANT SELECT, INSERT, DELETE, UPDATE, REFERENCES ON TRAFODION.T132SCH.T132_GAMES TO SQL_USER1 WITH GRANT OPTION; |
| |
| --- SQL operation complete. |
| >>showddl t132_teams; |
| |
| CREATE TABLE TRAFODION.T132SCH.T132_TEAMS |
| ( |
| TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_NAME CHAR(20) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_CONTACT VARCHAR(50) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_CONTACT_NUMBER CHAR(10) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , PRIMARY KEY (TEAM_NUMBER ASC) |
| ) |
| ATTRIBUTES ALIGNED FORMAT |
| ; |
| |
| ALTER TABLE TRAFODION.T132SCH.T132_TEAMS ADD CONSTRAINT |
| TRAFODION.T132SCH.VALID_TEAM_NO CHECK |
| (TRAFODION.T132SCH.T132_TEAMS.TEAM_NUMBER > 0) |
| |
| -- GRANT SELECT, INSERT, DELETE, UPDATE, REFERENCES ON TRAFODION.T132SCH.T132_TEAMS TO DB__ROOT WITH GRANT OPTION; |
| |
| --- SQL operation complete. |
| >>showddl t132_giants_games; |
| |
| CREATE VIEW TRAFODION.T132SCH.T132_GIANTS_GAMES AS |
| SELECT TRAFODION.T132SCH.T132_GAMES.GAME_NUMBER, |
| TRAFODION.T132SCH.T132_GAMES.GAME_TIME, |
| TRAFODION.T132SCH.T132_GAMES.GAME_LOCATION FROM |
| TRAFODION.T132SCH.T132_GAMES WHERE |
| TRAFODION.T132SCH.T132_GAMES.HOME_TEAM_NUMBER = 2 ORDER BY 1, 2, 3 ; |
| |
| -- GRANT SELECT, DELETE, UPDATE, REFERENCES ON TRAFODION.T132SCH.T132_GIANTS_GAMES TO DB__ROOT WITH GRANT OPTION; |
| |
| --- SQL operation complete. |
| >>showddl t132_home_teams_games; |
| |
| CREATE VIEW TRAFODION.T132SCH.T132_HOME_TEAMS_GAMES AS |
| SELECT T.TEAM_NUMBER, G.GAME_NUMBER, G.GAME_TIME FROM |
| TRAFODION.T132SCH.T132_TEAMS T, TRAFODION.T132SCH.T132_GAMES G WHERE |
| T.TEAM_NUMBER = G.HOME_TEAM_NUMBER ORDER BY 1, G.GAME_NUMBER, G.GAME_TIME |
| ; |
| |
| -- GRANT SELECT, REFERENCES ON TRAFODION.T132SCH.T132_HOME_TEAMS_GAMES TO DB__ROOT WITH GRANT OPTION; |
| |
| --- SQL operation complete. |
| >>showddl sequence t132_team_number_sequence; |
| |
| CREATE SEQUENCE TRAFODION.T132SCH.T132_TEAM_NUMBER_SEQUENCE |
| START WITH 1 /* NEXT AVAILABLE VALUE 1 */ |
| INCREMENT BY 1 |
| MAXVALUE 9223372036854775806 |
| MINVALUE 1 |
| CACHE 25 |
| NO CYCLE |
| LARGEINT |
| ; |
| |
| -- GRANT USAGE ON SEQUENCE TRAFODION.T132SCH.T132_TEAM_NUMBER_SEQUENCE TO DB__ROOT WITH GRANT OPTION; |
| |
| --- SQL operation complete. |
| >> |
| >>invoke t132_games; |
| |
| -- Definition of Trafodion table TRAFODION.T132SCH.T132_GAMES |
| -- Definition current Sun Oct 22 16:08:56 2017 |
| |
| ( |
| HOME_TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , VISITOR_TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_TIME TIMESTAMP(6) NO DEFAULT NOT NULL NOT |
| DROPPABLE |
| , GAME_LOCATION VARCHAR(50) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| ) |
| PRIMARY KEY (GAME_NUMBER ASC) |
| |
| --- SQL operation complete. |
| >>invoke t132_teams; |
| |
| -- Definition of Trafodion table TRAFODION.T132SCH.T132_TEAMS |
| -- Definition current Sun Oct 22 16:08:59 2017 |
| |
| ( |
| TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_NAME CHAR(20) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_CONTACT VARCHAR(50) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_CONTACT_NUMBER CHAR(10) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| ) |
| PRIMARY KEY (TEAM_NUMBER ASC) |
| |
| --- SQL operation complete. |
| >>invoke t132_giants_games; |
| |
| -- Definition of Trafodion view TRAFODION.T132SCH.T132_GIANTS_GAMES |
| -- Definition current Sun Oct 22 16:09:02 2017 |
| |
| ( |
| GAME_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_TIME TIMESTAMP(6) NO DEFAULT NOT NULL NOT |
| DROPPABLE |
| , GAME_LOCATION VARCHAR(50) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| ) |
| |
| --- SQL operation complete. |
| >>invoke t132_home_teams_games; |
| |
| -- Definition of Trafodion view TRAFODION.T132SCH.T132_HOME_TEAMS_GAMES |
| -- Definition current Sun Oct 22 16:09:05 2017 |
| |
| ( |
| TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_TIME TIMESTAMP(6) NO DEFAULT NOT NULL NOT |
| DROPPABLE |
| ) |
| |
| --- SQL operation complete. |
| >> |
| >> |
| >>-- sql_user1 owns some of the objects but not all |
| >>changeuser sql_user1; |
| >>obey TEST132(show_objects); |
| >> |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >>cqd SHOWDDL_DISPLAY_PRIVILEGE_GRANTS 'ON'; |
| |
| --- SQL operation complete. |
| >> |
| >>showddl t132_games; |
| |
| CREATE TABLE TRAFODION.T132SCH.T132_GAMES |
| ( |
| HOME_TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , VISITOR_TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_TIME TIMESTAMP(6) NO DEFAULT NOT NULL NOT |
| DROPPABLE |
| , GAME_LOCATION VARCHAR(50) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , PRIMARY KEY (GAME_NUMBER ASC) |
| ) |
| ATTRIBUTES ALIGNED FORMAT |
| ; |
| |
| CREATE INDEX T132_HOME_GAMES ON TRAFODION.T132SCH.T132_GAMES |
| ( |
| HOME_TEAM_NUMBER ASC |
| ) |
| ; |
| |
| ALTER TABLE TRAFODION.T132SCH.T132_GAMES ADD CONSTRAINT |
| TRAFODION.T132SCH.VALID_GAME_NUMBER CHECK |
| (TRAFODION.T132SCH.T132_GAMES.GAME_NUMBER > 0) |
| |
| -- GRANT SELECT, INSERT, DELETE, UPDATE, REFERENCES ON TRAFODION.T132SCH.T132_GAMES TO SQL_USER1 WITH GRANT OPTION; |
| |
| --- SQL operation complete. |
| >>showddl t132_teams; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>showddl t132_giants_games; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>showddl t132_home_teams_games; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>showddl sequence t132_team_number_sequence; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >> |
| >>invoke t132_games; |
| |
| -- Definition of Trafodion table TRAFODION.T132SCH.T132_GAMES |
| -- Definition current Sun Oct 22 16:09:18 2017 |
| |
| ( |
| HOME_TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , VISITOR_TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_TIME TIMESTAMP(6) NO DEFAULT NOT NULL NOT |
| DROPPABLE |
| , GAME_LOCATION VARCHAR(50) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| ) |
| PRIMARY KEY (GAME_NUMBER ASC) |
| |
| --- SQL operation complete. |
| >>invoke t132_teams; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>invoke t132_giants_games; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>invoke t132_home_teams_games; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >> |
| >> |
| >>-- sql_user2 get privileges through DB__ROOTROLE role SHOW privilege |
| >>-- first illustrate that sql_user2 has no privileges |
| >>changeuser sql_user2; |
| >>obey TEST132(show_objects); |
| >> |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >>cqd SHOWDDL_DISPLAY_PRIVILEGE_GRANTS 'ON'; |
| |
| --- SQL operation complete. |
| >> |
| >>showddl t132_games; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>showddl t132_teams; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>showddl t132_giants_games; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>showddl t132_home_teams_games; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>showddl sequence t132_team_number_sequence; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >> |
| >>invoke t132_games; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>invoke t132_teams; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>invoke t132_giants_games; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>invoke t132_home_teams_games; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >> |
| >>changeuser db__root; |
| >>grant role DB__ROOTROLE to sql_user2; |
| |
| --- SQL operation complete. |
| >> |
| >>-- now sql_user2 has privileges with the grant |
| >>changeuser sql_user2; |
| >>obey TEST132(show_objects); |
| >> |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >>cqd SHOWDDL_DISPLAY_PRIVILEGE_GRANTS 'ON'; |
| |
| --- SQL operation complete. |
| >> |
| >>showddl t132_games; |
| |
| CREATE TABLE TRAFODION.T132SCH.T132_GAMES |
| ( |
| HOME_TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , VISITOR_TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_TIME TIMESTAMP(6) NO DEFAULT NOT NULL NOT |
| DROPPABLE |
| , GAME_LOCATION VARCHAR(50) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , PRIMARY KEY (GAME_NUMBER ASC) |
| ) |
| ATTRIBUTES ALIGNED FORMAT |
| ; |
| |
| CREATE INDEX T132_HOME_GAMES ON TRAFODION.T132SCH.T132_GAMES |
| ( |
| HOME_TEAM_NUMBER ASC |
| ) |
| ; |
| |
| ALTER TABLE TRAFODION.T132SCH.T132_GAMES ADD CONSTRAINT |
| TRAFODION.T132SCH.VALID_GAME_NUMBER CHECK |
| (TRAFODION.T132SCH.T132_GAMES.GAME_NUMBER > 0) |
| |
| -- GRANT SELECT, INSERT, DELETE, UPDATE, REFERENCES ON TRAFODION.T132SCH.T132_GAMES TO SQL_USER1 WITH GRANT OPTION; |
| |
| --- SQL operation complete. |
| >>showddl t132_teams; |
| |
| CREATE TABLE TRAFODION.T132SCH.T132_TEAMS |
| ( |
| TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_NAME CHAR(20) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_CONTACT VARCHAR(50) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_CONTACT_NUMBER CHAR(10) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , PRIMARY KEY (TEAM_NUMBER ASC) |
| ) |
| ATTRIBUTES ALIGNED FORMAT |
| ; |
| |
| ALTER TABLE TRAFODION.T132SCH.T132_TEAMS ADD CONSTRAINT |
| TRAFODION.T132SCH.VALID_TEAM_NO CHECK |
| (TRAFODION.T132SCH.T132_TEAMS.TEAM_NUMBER > 0) |
| |
| -- GRANT SELECT, INSERT, DELETE, UPDATE, REFERENCES ON TRAFODION.T132SCH.T132_TEAMS TO DB__ROOT WITH GRANT OPTION; |
| |
| --- SQL operation complete. |
| >>showddl t132_giants_games; |
| |
| CREATE VIEW TRAFODION.T132SCH.T132_GIANTS_GAMES AS |
| SELECT TRAFODION.T132SCH.T132_GAMES.GAME_NUMBER, |
| TRAFODION.T132SCH.T132_GAMES.GAME_TIME, |
| TRAFODION.T132SCH.T132_GAMES.GAME_LOCATION FROM |
| TRAFODION.T132SCH.T132_GAMES WHERE |
| TRAFODION.T132SCH.T132_GAMES.HOME_TEAM_NUMBER = 2 ORDER BY 1, 2, 3 ; |
| |
| -- GRANT SELECT, DELETE, UPDATE, REFERENCES ON TRAFODION.T132SCH.T132_GIANTS_GAMES TO DB__ROOT WITH GRANT OPTION; |
| |
| --- SQL operation complete. |
| >>showddl t132_home_teams_games; |
| |
| CREATE VIEW TRAFODION.T132SCH.T132_HOME_TEAMS_GAMES AS |
| SELECT T.TEAM_NUMBER, G.GAME_NUMBER, G.GAME_TIME FROM |
| TRAFODION.T132SCH.T132_TEAMS T, TRAFODION.T132SCH.T132_GAMES G WHERE |
| T.TEAM_NUMBER = G.HOME_TEAM_NUMBER ORDER BY 1, G.GAME_NUMBER, G.GAME_TIME |
| ; |
| |
| -- GRANT SELECT, REFERENCES ON TRAFODION.T132SCH.T132_HOME_TEAMS_GAMES TO DB__ROOT WITH GRANT OPTION; |
| |
| --- SQL operation complete. |
| >>showddl sequence t132_team_number_sequence; |
| |
| CREATE SEQUENCE TRAFODION.T132SCH.T132_TEAM_NUMBER_SEQUENCE |
| START WITH 1 /* NEXT AVAILABLE VALUE 1 */ |
| INCREMENT BY 1 |
| MAXVALUE 9223372036854775806 |
| MINVALUE 1 |
| CACHE 25 |
| NO CYCLE |
| LARGEINT |
| ; |
| |
| -- GRANT USAGE ON SEQUENCE TRAFODION.T132SCH.T132_TEAM_NUMBER_SEQUENCE TO DB__ROOT WITH GRANT OPTION; |
| |
| --- SQL operation complete. |
| >> |
| >>invoke t132_games; |
| |
| -- Definition of Trafodion table TRAFODION.T132SCH.T132_GAMES |
| -- Definition current Sun Oct 22 16:09:50 2017 |
| |
| ( |
| HOME_TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , VISITOR_TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_TIME TIMESTAMP(6) NO DEFAULT NOT NULL NOT |
| DROPPABLE |
| , GAME_LOCATION VARCHAR(50) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| ) |
| PRIMARY KEY (GAME_NUMBER ASC) |
| |
| --- SQL operation complete. |
| >>invoke t132_teams; |
| |
| -- Definition of Trafodion table TRAFODION.T132SCH.T132_TEAMS |
| -- Definition current Sun Oct 22 16:09:50 2017 |
| |
| ( |
| TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_NAME CHAR(20) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_CONTACT VARCHAR(50) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_CONTACT_NUMBER CHAR(10) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| ) |
| PRIMARY KEY (TEAM_NUMBER ASC) |
| |
| --- SQL operation complete. |
| >>invoke t132_giants_games; |
| |
| -- Definition of Trafodion view TRAFODION.T132SCH.T132_GIANTS_GAMES |
| -- Definition current Sun Oct 22 16:09:50 2017 |
| |
| ( |
| GAME_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_TIME TIMESTAMP(6) NO DEFAULT NOT NULL NOT |
| DROPPABLE |
| , GAME_LOCATION VARCHAR(50) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| ) |
| |
| --- SQL operation complete. |
| >>invoke t132_home_teams_games; |
| |
| -- Definition of Trafodion view TRAFODION.T132SCH.T132_HOME_TEAMS_GAMES |
| -- Definition current Sun Oct 22 16:09:50 2017 |
| |
| ( |
| TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_TIME TIMESTAMP(6) NO DEFAULT NOT NULL NOT |
| DROPPABLE |
| ) |
| |
| --- SQL operation complete. |
| >> |
| >>changeuser db__root; |
| >>revoke role DB__ROOTROLE from sql_user2; |
| |
| --- SQL operation complete. |
| >> |
| >>-- sql_user3 gets some privileges through SELECT grant |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >>grant SELECT on t132_teams to sql_user3; |
| |
| --- SQL operation complete. |
| >>changeuser sql_user3; |
| >>obey TEST132(show_objects); |
| >> |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >>cqd SHOWDDL_DISPLAY_PRIVILEGE_GRANTS 'ON'; |
| |
| --- SQL operation complete. |
| >> |
| >>showddl t132_games; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>showddl t132_teams; |
| |
| CREATE TABLE TRAFODION.T132SCH.T132_TEAMS |
| ( |
| TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_NAME CHAR(20) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_CONTACT VARCHAR(50) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_CONTACT_NUMBER CHAR(10) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , PRIMARY KEY (TEAM_NUMBER ASC) |
| ) |
| ATTRIBUTES ALIGNED FORMAT |
| ; |
| |
| ALTER TABLE TRAFODION.T132SCH.T132_TEAMS ADD CONSTRAINT |
| TRAFODION.T132SCH.VALID_TEAM_NO CHECK |
| (TRAFODION.T132SCH.T132_TEAMS.TEAM_NUMBER > 0) |
| |
| -- GRANT SELECT, INSERT, DELETE, UPDATE, REFERENCES ON TRAFODION.T132SCH.T132_TEAMS TO DB__ROOT WITH GRANT OPTION; |
| GRANT SELECT ON TRAFODION.T132SCH.T132_TEAMS TO SQL_USER3; |
| |
| --- SQL operation complete. |
| >>showddl t132_giants_games; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>showddl t132_home_teams_games; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>showddl sequence t132_team_number_sequence; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >> |
| >>invoke t132_games; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>invoke t132_teams; |
| |
| -- Definition of Trafodion table TRAFODION.T132SCH.T132_TEAMS |
| -- Definition current Sun Oct 22 16:10:13 2017 |
| |
| ( |
| TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_NAME CHAR(20) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_CONTACT VARCHAR(50) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_CONTACT_NUMBER CHAR(10) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| ) |
| PRIMARY KEY (TEAM_NUMBER ASC) |
| |
| --- SQL operation complete. |
| >>invoke t132_giants_games; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>invoke t132_home_teams_games; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >> |
| >>changeuser db__root; |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >>revoke select on t132_teams from sql_user3; |
| |
| --- SQL operation complete. |
| >> |
| >>-- regrant the show privs - everyone has privs |
| >>get privileges on component sql_operations for "PUBLIC"; |
| |
| Privilege information on Component SQL_OPERATIONS for PUBLIC |
| ============================================================ |
| |
| CREATE_SCHEMA |
| |
| ======================= |
| 1 row(s) returned |
| |
| --- SQL operation complete. |
| >>grant component privilege "SHOW" on sql_operations to "PUBLIC"; |
| |
| --- SQL operation complete. |
| >>get privileges on component sql_operations for "PUBLIC"; |
| |
| Privilege information on Component SQL_OPERATIONS for PUBLIC |
| ============================================================ |
| |
| CREATE_SCHEMA |
| SHOW |
| |
| ======================= |
| 2 row(s) returned |
| |
| --- SQL operation complete. |
| >>changeuser sql_user1; |
| >>obey TEST132(show_objects); |
| >> |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >>cqd SHOWDDL_DISPLAY_PRIVILEGE_GRANTS 'ON'; |
| |
| --- SQL operation complete. |
| >> |
| >>showddl t132_games; |
| |
| CREATE TABLE TRAFODION.T132SCH.T132_GAMES |
| ( |
| HOME_TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , VISITOR_TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_TIME TIMESTAMP(6) NO DEFAULT NOT NULL NOT |
| DROPPABLE |
| , GAME_LOCATION VARCHAR(50) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , PRIMARY KEY (GAME_NUMBER ASC) |
| ) |
| ATTRIBUTES ALIGNED FORMAT |
| ; |
| |
| CREATE INDEX T132_HOME_GAMES ON TRAFODION.T132SCH.T132_GAMES |
| ( |
| HOME_TEAM_NUMBER ASC |
| ) |
| ; |
| |
| ALTER TABLE TRAFODION.T132SCH.T132_GAMES ADD CONSTRAINT |
| TRAFODION.T132SCH.VALID_GAME_NUMBER CHECK |
| (TRAFODION.T132SCH.T132_GAMES.GAME_NUMBER > 0) |
| |
| -- GRANT SELECT, INSERT, DELETE, UPDATE, REFERENCES ON TRAFODION.T132SCH.T132_GAMES TO SQL_USER1 WITH GRANT OPTION; |
| |
| --- SQL operation complete. |
| >>showddl t132_teams; |
| |
| CREATE TABLE TRAFODION.T132SCH.T132_TEAMS |
| ( |
| TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_NAME CHAR(20) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_CONTACT VARCHAR(50) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_CONTACT_NUMBER CHAR(10) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , PRIMARY KEY (TEAM_NUMBER ASC) |
| ) |
| ATTRIBUTES ALIGNED FORMAT |
| ; |
| |
| ALTER TABLE TRAFODION.T132SCH.T132_TEAMS ADD CONSTRAINT |
| TRAFODION.T132SCH.VALID_TEAM_NO CHECK |
| (TRAFODION.T132SCH.T132_TEAMS.TEAM_NUMBER > 0) |
| |
| -- GRANT SELECT, INSERT, DELETE, UPDATE, REFERENCES ON TRAFODION.T132SCH.T132_TEAMS TO DB__ROOT WITH GRANT OPTION; |
| |
| --- SQL operation complete. |
| >>showddl t132_giants_games; |
| |
| CREATE VIEW TRAFODION.T132SCH.T132_GIANTS_GAMES AS |
| SELECT TRAFODION.T132SCH.T132_GAMES.GAME_NUMBER, |
| TRAFODION.T132SCH.T132_GAMES.GAME_TIME, |
| TRAFODION.T132SCH.T132_GAMES.GAME_LOCATION FROM |
| TRAFODION.T132SCH.T132_GAMES WHERE |
| TRAFODION.T132SCH.T132_GAMES.HOME_TEAM_NUMBER = 2 ORDER BY 1, 2, 3 ; |
| |
| -- GRANT SELECT, DELETE, UPDATE, REFERENCES ON TRAFODION.T132SCH.T132_GIANTS_GAMES TO DB__ROOT WITH GRANT OPTION; |
| |
| --- SQL operation complete. |
| >>showddl t132_home_teams_games; |
| |
| CREATE VIEW TRAFODION.T132SCH.T132_HOME_TEAMS_GAMES AS |
| SELECT T.TEAM_NUMBER, G.GAME_NUMBER, G.GAME_TIME FROM |
| TRAFODION.T132SCH.T132_TEAMS T, TRAFODION.T132SCH.T132_GAMES G WHERE |
| T.TEAM_NUMBER = G.HOME_TEAM_NUMBER ORDER BY 1, G.GAME_NUMBER, G.GAME_TIME |
| ; |
| |
| -- GRANT SELECT, REFERENCES ON TRAFODION.T132SCH.T132_HOME_TEAMS_GAMES TO DB__ROOT WITH GRANT OPTION; |
| |
| --- SQL operation complete. |
| >>showddl sequence t132_team_number_sequence; |
| |
| CREATE SEQUENCE TRAFODION.T132SCH.T132_TEAM_NUMBER_SEQUENCE |
| START WITH 1 /* NEXT AVAILABLE VALUE 1 */ |
| INCREMENT BY 1 |
| MAXVALUE 9223372036854775806 |
| MINVALUE 1 |
| CACHE 25 |
| NO CYCLE |
| LARGEINT |
| ; |
| |
| -- GRANT USAGE ON SEQUENCE TRAFODION.T132SCH.T132_TEAM_NUMBER_SEQUENCE TO DB__ROOT WITH GRANT OPTION; |
| |
| --- SQL operation complete. |
| >> |
| >>invoke t132_games; |
| |
| -- Definition of Trafodion table TRAFODION.T132SCH.T132_GAMES |
| -- Definition current Sun Oct 22 16:10:48 2017 |
| |
| ( |
| HOME_TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , VISITOR_TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_TIME TIMESTAMP(6) NO DEFAULT NOT NULL NOT |
| DROPPABLE |
| , GAME_LOCATION VARCHAR(50) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| ) |
| PRIMARY KEY (GAME_NUMBER ASC) |
| |
| --- SQL operation complete. |
| >>invoke t132_teams; |
| |
| -- Definition of Trafodion table TRAFODION.T132SCH.T132_TEAMS |
| -- Definition current Sun Oct 22 16:10:48 2017 |
| |
| ( |
| TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_NAME CHAR(20) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_CONTACT VARCHAR(50) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , TEAM_CONTACT_NUMBER CHAR(10) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| ) |
| PRIMARY KEY (TEAM_NUMBER ASC) |
| |
| --- SQL operation complete. |
| >>invoke t132_giants_games; |
| |
| -- Definition of Trafodion view TRAFODION.T132SCH.T132_GIANTS_GAMES |
| -- Definition current Sun Oct 22 16:10:48 2017 |
| |
| ( |
| GAME_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_TIME TIMESTAMP(6) NO DEFAULT NOT NULL NOT |
| DROPPABLE |
| , GAME_LOCATION VARCHAR(50) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| ) |
| |
| --- SQL operation complete. |
| >>invoke t132_home_teams_games; |
| |
| -- Definition of Trafodion view TRAFODION.T132SCH.T132_HOME_TEAMS_GAMES |
| -- Definition current Sun Oct 22 16:10:49 2017 |
| |
| ( |
| TEAM_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_NUMBER INT NO DEFAULT NOT NULL NOT DROPPABLE |
| , GAME_TIME TIMESTAMP(6) NO DEFAULT NOT NULL NOT |
| DROPPABLE |
| ) |
| |
| --- SQL operation complete. |
| >> |
| >> |
| >>changeuser db__root; |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >>drop table t132_teams cascade; |
| |
| --- SQL operation complete. |
| >>drop table t132_games cascade; |
| |
| --- SQL operation complete. |
| >>drop sequence t132_team_number_sequence; |
| |
| --- SQL operation complete. |
| >> |
| >>obey TEST132(test_stats); |
| >>-- ================================================================= |
| >>-- run tests to make sure users that update statistics have correct |
| >>-- privileges. To update stats, you must: |
| >>-- be DB__ROOT |
| >>-- be table owner |
| >>-- have SELECT privilege |
| >>-- have the MANAGE_STATISTICS privilege (DB__ROOTROLE has priv) |
| >>-- ================================================================= |
| >> |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >>get tables, match '%T132%'; |
| |
| --- SQL operation complete. |
| >> |
| >>create table t132t1 (c1 int, c2 int); |
| |
| --- SQL operation complete. |
| >>create table t132t2 (c1 int, c2 int) attribute by sql_user1; |
| |
| --- SQL operation complete. |
| >>insert into t132t1 values (1,1), (2,2), (3,3),(4,4), (5,5),(6,6), (7,7),(8,8); |
| |
| --- 8 row(s) inserted. |
| >>insert into t132t2 values (1,1), (2,2), (3,3),(4,4), (5,5),(6,6), (7,7),(8,8); |
| |
| --- 8 row(s) inserted. |
| >> |
| >>get tables, match '%T132%'; |
| |
| Tables in Schema TRAFODION.T132SCH |
| ================================== |
| |
| T132T1 |
| T132T2 |
| |
| ======================= |
| 2 row(s) returned |
| |
| --- SQL operation complete. |
| >>select count(*) from t132t1; |
| |
| (EXPR) |
| -------------------- |
| |
| 8 |
| |
| --- 1 row(s) selected. |
| >>select count(*) from t132t2; |
| |
| (EXPR) |
| -------------------- |
| |
| 8 |
| |
| --- 1 row(s) selected. |
| >> |
| >>-- update statistics as DB__ROOT |
| >>obey TEST132(update_stats); |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >> |
| >>update statistics for table t132t1 on every column; |
| |
| --- SQL operation complete. |
| >>update statistics for table t132t2 on every column; |
| |
| --- SQL operation complete. |
| >> |
| >> |
| >>-- DB__ROOTROLE is granted MANAGE_STATISTICS privilege by default |
| >>-- first show that sql_user2 cannot perform operations |
| >>changeuser sql_user2; |
| >>obey TEST132(update_stats); |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >> |
| >>update statistics for table t132t1 on every column; |
| |
| *** ERROR[4481] The user does not have SELECT or MANAGE_STATISTICS privilege on table or view TRAFODION.T132SCH.T132T1. |
| |
| *** ERROR[9241] Insufficient privileges to perform the statistics request for table TRAFODION.T132SCH.T132T1. |
| |
| --- SQL operation failed with errors. |
| >>update statistics for table t132t2 on every column; |
| |
| *** ERROR[4481] The user does not have SELECT or MANAGE_STATISTICS privilege on table or view TRAFODION.T132SCH.T132T2. |
| |
| *** ERROR[9241] Insufficient privileges to perform the statistics request for table TRAFODION.T132SCH.T132T2. |
| |
| --- SQL operation failed with errors. |
| >> |
| >>changeuser db__root; |
| >> |
| >>-- now show privileges after being granted DB__ROOTROLE role |
| >>grant role DB__ROOTROLE to sql_user2; |
| |
| --- SQL operation complete. |
| >>changeuser sql_user2; |
| >>obey TEST132(update_stats); |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >> |
| >>update statistics for table t132t1 on every column; |
| |
| --- SQL operation complete. |
| >>update statistics for table t132t2 on every column; |
| |
| --- SQL operation complete. |
| >> |
| >>changeuser DB__ROOT; |
| >>revoke role DB__ROOTROLE from sql_user2; |
| |
| --- SQL operation complete. |
| >> |
| >>-- run as table owner, sql_user1 owns one table |
| >>-- update stats only works for t132t2, showstats works on both tables |
| >>changeuser sql_user1; |
| >>obey TEST132(show_update_stats); |
| >>obey TEST132(update_stats); |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >> |
| >>update statistics for table t132t1 on every column; |
| |
| *** ERROR[4481] The user does not have SELECT or MANAGE_STATISTICS privilege on table or view TRAFODION.T132SCH.T132T1. |
| |
| *** ERROR[9241] Insufficient privileges to perform the statistics request for table TRAFODION.T132SCH.T132T1. |
| |
| --- SQL operation failed with errors. |
| >>update statistics for table t132t2 on every column; |
| |
| --- SQL operation complete. |
| >> |
| >>obey TEST132(show_stats); |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >> |
| >>showstats for table t132t1 on every column; |
| |
| Histogram data for Table TRAFODION.T132SCH.T132T1 |
| Table ID: 3703791059232936033 |
| |
| Hist ID # Ints Rowcount UEC Colname(s) |
| ========== ====== =========== =========== =========================== |
| 1800623295 8 8 8 SYSKEY |
| 1800623288 8 8 8 C1 |
| 1800623285 8 8 8 C2 |
| |
| |
| --- SQL operation complete. |
| >>showstats for table t132t2 on every column; |
| |
| Histogram data for Table TRAFODION.T132SCH.T132T2 |
| Table ID: 3703791059232936201 |
| |
| Hist ID # Ints Rowcount UEC Colname(s) |
| ========== ====== =========== =========== =========================== |
| 1824908698 8 8 8 SYSKEY |
| 1824908693 8 8 8 C1 |
| 1824908688 8 8 8 C2 |
| |
| |
| --- SQL operation complete. |
| >> |
| >>changeuser DB__ROOT; |
| >> |
| >>-- revoke SHOW privilege from public for the next set of tests |
| >>get privileges on component sql_operations for "PUBLIC"; |
| |
| Privilege information on Component SQL_OPERATIONS for PUBLIC |
| ============================================================ |
| |
| CREATE_SCHEMA |
| SHOW |
| |
| ======================= |
| 2 row(s) returned |
| |
| --- SQL operation complete. |
| >>revoke component privilege "SHOW" on sql_operations from "PUBLIC"; |
| |
| --- SQL operation complete. |
| >>get privileges on component sql_operations for "PUBLIC"; |
| |
| Privilege information on Component SQL_OPERATIONS for PUBLIC |
| ============================================================ |
| |
| CREATE_SCHEMA |
| |
| ======================= |
| 1 row(s) returned |
| |
| --- SQL operation complete. |
| >> |
| >>-- Run with MANAGE_STATISTICS and no SHOW |
| >>-- first illustrate that sql_user3 has no privs |
| >>get privileges on component sql_operations for sql_user3; |
| |
| --- SQL operation complete. |
| >>changeuser sql_user3; |
| >>obey TEST132(show_update_stats); |
| >>obey TEST132(update_stats); |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >> |
| >>update statistics for table t132t1 on every column; |
| |
| *** ERROR[4481] The user does not have SELECT or MANAGE_STATISTICS privilege on table or view TRAFODION.T132SCH.T132T1. |
| |
| *** ERROR[9241] Insufficient privileges to perform the statistics request for table TRAFODION.T132SCH.T132T1. |
| |
| --- SQL operation failed with errors. |
| >>update statistics for table t132t2 on every column; |
| |
| *** ERROR[4481] The user does not have SELECT or MANAGE_STATISTICS privilege on table or view TRAFODION.T132SCH.T132T2. |
| |
| *** ERROR[9241] Insufficient privileges to perform the statistics request for table TRAFODION.T132SCH.T132T2. |
| |
| --- SQL operation failed with errors. |
| >> |
| >>obey TEST132(show_stats); |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >> |
| >>showstats for table t132t1 on every column; |
| |
| *** ERROR[4481] The user does not have SELECT or MANAGE_STATISTICS privilege on table or view TRAFODION.T132SCH.T132T1. |
| |
| *** ERROR[9241] Insufficient privileges to perform the statistics request for table TRAFODION.T132SCH.T132T1. |
| |
| --- SQL operation failed with errors. |
| >>showstats for table t132t2 on every column; |
| |
| *** ERROR[4481] The user does not have SELECT or MANAGE_STATISTICS privilege on table or view TRAFODION.T132SCH.T132T2. |
| |
| *** ERROR[9241] Insufficient privileges to perform the statistics request for table TRAFODION.T132SCH.T132T2. |
| |
| --- SQL operation failed with errors. |
| >> |
| >>changeuser db__root; |
| >> |
| >>-- now show privileges after being granted MANAGE_STATISTICS |
| >>grant component privilege MANAGE_STATISTICS on sql_operations to sql_user3; |
| |
| --- SQL operation complete. |
| >>get privileges on component sql_operations for sql_user3; |
| |
| Privilege information on Component SQL_OPERATIONS for SQL_USER3 |
| =============================================================== |
| |
| MANAGE_STATISTICS |
| |
| ======================= |
| 1 row(s) returned |
| |
| --- SQL operation complete. |
| >>changeuser sql_user3; |
| >>obey TEST132(show_update_stats); |
| >>obey TEST132(update_stats); |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >> |
| >>update statistics for table t132t1 on every column; |
| |
| --- SQL operation complete. |
| >>update statistics for table t132t2 on every column; |
| |
| --- SQL operation complete. |
| >> |
| >>obey TEST132(show_stats); |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >> |
| >>showstats for table t132t1 on every column; |
| |
| Histogram data for Table TRAFODION.T132SCH.T132T1 |
| Table ID: 3703791059232936033 |
| |
| Hist ID # Ints Rowcount UEC Colname(s) |
| ========== ====== =========== =========== =========================== |
| 1800623294 8 8 8 SYSKEY |
| 1800623289 8 8 8 C1 |
| 1800623284 8 8 8 C2 |
| |
| |
| --- SQL operation complete. |
| >>showstats for table t132t2 on every column; |
| |
| Histogram data for Table TRAFODION.T132SCH.T132T2 |
| Table ID: 3703791059232936201 |
| |
| Hist ID # Ints Rowcount UEC Colname(s) |
| ========== ====== =========== =========== =========================== |
| 1824908699 8 8 8 SYSKEY |
| 1824908692 8 8 8 C1 |
| 1824908689 8 8 8 C2 |
| |
| |
| --- SQL operation complete. |
| >> |
| >>changeuser db__root; |
| >>revoke component privilege MANAGE_STATISTICS on sql_operations from sql_user3; |
| |
| --- SQL operation complete. |
| >>get privileges on component sql_operations for sql_user3; |
| |
| --- SQL operation complete. |
| >> |
| >>-- test showstats |
| >>-- showstats should no longer work |
| >>changeuser sql_user3; |
| >>obey TEST132(show_stats); |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >> |
| >>showstats for table t132t1 on every column; |
| |
| *** ERROR[4481] The user does not have SELECT or MANAGE_STATISTICS privilege on table or view TRAFODION.T132SCH.T132T1. |
| |
| *** ERROR[9241] Insufficient privileges to perform the statistics request for table TRAFODION.T132SCH.T132T1. |
| |
| --- SQL operation failed with errors. |
| >>showstats for table t132t2 on every column; |
| |
| *** ERROR[4481] The user does not have SELECT or MANAGE_STATISTICS privilege on table or view TRAFODION.T132SCH.T132T2. |
| |
| *** ERROR[9241] Insufficient privileges to perform the statistics request for table TRAFODION.T132SCH.T132T2. |
| |
| --- SQL operation failed with errors. |
| >>changeuser db__root; |
| >> |
| >>-- grant select to allow showstats to work |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >>grant SELECT on t132t1 to sql_user4; |
| |
| --- SQL operation complete. |
| >>cqd SHOWDDL_DISPLAY_PRIVILEGE_GRANTS 'ON'; |
| |
| --- SQL operation complete. |
| >>showddl t132t1; |
| |
| CREATE TABLE TRAFODION.T132SCH.T132T1 |
| ( |
| C1 INT DEFAULT NULL |
| , C2 INT DEFAULT NULL |
| ) |
| ATTRIBUTES ALIGNED FORMAT |
| ; |
| |
| -- GRANT SELECT, INSERT, DELETE, UPDATE, REFERENCES ON TRAFODION.T132SCH.T132T1 TO DB__ROOT WITH GRANT OPTION; |
| GRANT SELECT ON TRAFODION.T132SCH.T132T1 TO SQL_USER4; |
| |
| --- SQL operation complete. |
| >>changeuser sql_user4; |
| >>obey TEST132(show_stats); |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >> |
| >>showstats for table t132t1 on every column; |
| |
| Histogram data for Table TRAFODION.T132SCH.T132T1 |
| Table ID: 3703791059232936033 |
| |
| Hist ID # Ints Rowcount UEC Colname(s) |
| ========== ====== =========== =========== =========================== |
| 1800623294 8 8 8 SYSKEY |
| 1800623289 8 8 8 C1 |
| 1800623284 8 8 8 C2 |
| |
| |
| --- SQL operation complete. |
| >>showstats for table t132t2 on every column; |
| |
| *** ERROR[4481] The user does not have SELECT or MANAGE_STATISTICS privilege on table or view TRAFODION.T132SCH.T132T2. |
| |
| *** ERROR[9241] Insufficient privileges to perform the statistics request for table TRAFODION.T132SCH.T132T2. |
| |
| --- SQL operation failed with errors. |
| >>changeuser db__root; |
| >> |
| >>-- testcase for trafodion-2188 fix |
| >>create schema t132sch_private; |
| |
| --- SQL operation complete. |
| >>set schema t132sch_private; |
| |
| --- SQL operation complete. |
| >>CREATE TABLE t132t3 |
| +>( c1 char(12) not null, c2 char(12) not null, c3 char(12) not null, |
| +> PRIMARY KEY (C1 ASC)) |
| +>SALT USING 4 PARTITIONS |
| +>ON (C1); |
| |
| --- SQL operation complete. |
| >> |
| >>upsert using load into t132t3 |
| +>select |
| +> x1 || x2 || x3 || x4 || x5, |
| +> x2 || x4 || x1, |
| +> x5 || x3 |
| +>-- the from clause below creates 100,000 rows, the cross product of |
| +>-- 5 copies of { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' } |
| +> from (values('a'),('b'),('c'),('d'),('e'),('f'),('g'),('h'),('i'),('j')) T(x1) |
| +>transpose 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' as x2 |
| +>transpose 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' as x3 |
| +>transpose 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' as x4 |
| +>transpose 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' as x5; |
| |
| --- 100000 row(s) inserted. |
| >> |
| >>select count(*) from t132t3; |
| |
| (EXPR) |
| -------------------- |
| |
| 100000 |
| |
| --- 1 row(s) selected. |
| >> |
| >>grant component privilege MANAGE_STATISTICS on sql_operations to sql_user3; |
| |
| --- SQL operation complete. |
| >>get privileges on component sql_operations for sql_user3; |
| |
| Privilege information on Component SQL_OPERATIONS for SQL_USER3 |
| =============================================================== |
| |
| MANAGE_STATISTICS |
| |
| ======================= |
| 1 row(s) returned |
| |
| --- SQL operation complete. |
| >>changeuser sql_user3; |
| >>obey TEST132(update_stats1); |
| >>set schema t132sch_private; |
| |
| --- SQL operation complete. |
| >>update statistics for table t132t3 create sample random 10 percent; |
| |
| --- SQL operation complete. |
| >> |
| >>changeuser db__root; |
| >>set schema t132sch_private; |
| |
| --- SQL operation complete. |
| >>revoke component privilege MANAGE_STATISTICS on sql_operations from sql_user3; |
| |
| --- SQL operation complete. |
| >>cleanup schema t132sch_private; |
| |
| --- SQL operation complete. |
| >>set schema t132sch; |
| |
| --- SQL operation complete. |
| >> |
| >>-- reset |
| >>revoke SELECT on t132t1 from sql_user4; |
| |
| --- SQL operation complete. |
| >>grant component privilege "SHOW" on sql_operations to "PUBLIC"; |
| |
| --- SQL operation complete. |
| >>get privileges on component sql_operations for "PUBLIC"; |
| |
| Privilege information on Component SQL_OPERATIONS for PUBLIC |
| ============================================================ |
| |
| CREATE_SCHEMA |
| SHOW |
| |
| ======================= |
| 2 row(s) returned |
| |
| --- SQL operation complete. |
| >> |
| >>drop table t132t1; |
| |
| --- SQL operation complete. |
| >>drop table t132t2; |
| |
| --- SQL operation complete. |
| >> |
| >>get tables, match 'T132%'; |
| |
| --- SQL operation complete. |
| >> |
| >>log; |