| >>obey TEST146(create_db); |
| >>-- ================================================================= |
| >>-- create native hbase table and roles |
| >>-- ================================================================= |
| >> |
| >>-- create hbase table |
| >>create hbase table t146t1 ( column family 'cf'); |
| |
| --- SQL operation complete. |
| >>insert into hbase."_CELL_".t146t1 values ('1', 'cf', 'team_number', -1, '1'); |
| |
| --- 1 row(s) inserted. |
| >>insert into hbase."_CELL_".t146t1 values ('1', 'cf', 'visitor_team', -1, '2'); |
| |
| --- 1 row(s) inserted. |
| >>insert into hbase."_CELL_".t146t1 values ('1', 'cf', 'game_location', -1, 'California'); |
| |
| --- 1 row(s) inserted. |
| >>insert into hbase."_CELL_".t146t1 values ('2', 'cf', 'team_number', -1, '1'); |
| |
| --- 1 row(s) inserted. |
| >>insert into hbase."_CELL_".t146t1 values ('2', 'cf', 'visitor_team', -1, '3'); |
| |
| --- 1 row(s) inserted. |
| >>insert into hbase."_CELL_".t146t1 values ('2', 'cf', 'game_location', -1, 'Oklahoma'); |
| |
| --- 1 row(s) inserted. |
| >>select count(*) from hbase."_CELL_".t146t1; |
| |
| (EXPR) |
| -------------------- |
| |
| 6 |
| |
| --- 1 row(s) selected. |
| >>select count(*) from hbase."_ROW_".t146t1; |
| |
| (EXPR) |
| -------------------- |
| |
| 2 |
| |
| --- 1 row(s) selected. |
| >> |
| >>create external table t146t1 |
| +> (row_id varchar(20) not null primary key, |
| +> row_value varchar (1000)) |
| +> attribute default column family 'cf' |
| +> map to hbase table t146t1; |
| |
| --- SQL operation complete. |
| >> |
| >>create hbase table t146t3 ( column family 'cf'); |
| |
| --- SQL operation complete. |
| >> |
| >>-- These operations are not allowed on hbase tables |
| >>update hbase."_CELL_".t146t1 set col_value = '4' where row_id = '2' and col_name = 'visitor_team'; |
| |
| *** ERROR[1425] This operation could not be performed on HBASE."_CELL_".T146T1. Reason: Cannot update an hbase table in CELL format. Use ROW format for this operation. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>delete from hbase."_CELL_".t146t1 where row_id = '3'; |
| |
| *** ERROR[1425] This operation could not be performed on HBASE."_CELL_".T146T1. Reason: Cannot delete from an hbase table in CELL format. Use ROW format for this operation. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >> |
| >>showddl hbase."_CELL_".t146t1; |
| |
| /* |
| CREATE TABLE HBASE."_CELL_".T146T1 |
| ( |
| ROW_ID VARCHAR(100) CHARACTER SET ISO88591 |
| COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , COL_FAMILY VARCHAR(100) CHARACTER SET ISO88591 |
| COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , COL_NAME VARCHAR(100) CHARACTER SET ISO88591 |
| COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , COL_TIMESTAMP LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE |
| , COL_VALUE VARCHAR(1000) CHARACTER SET ISO88591 |
| COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , PRIMARY KEY (ROW_ID ASC) |
| ) |
| ; |
| */ |
| |
| /* HBase DDL */ |
| CREATE HBASE TABLE T146T1 ( COLUMN FAMILY '#1') |
| |
| REGISTER /*INTERNAL*/ HBASE TABLE T146T1; |
| /* ObjectUID = 7181713655023564985 */ |
| |
| -- GRANT SELECT, INSERT, DELETE, UPDATE, REFERENCES ON HBASE."_CELL_".T146T1 TO DB__HBASEROLE WITH GRANT OPTION; |
| |
| --- SQL operation complete. |
| >>showddl hbase."_ROW_".t146t1; |
| |
| /* |
| CREATE TABLE HBASE."_ROW_".T146T1 |
| ( |
| ROW_ID VARCHAR(100) CHARACTER SET ISO88591 |
| COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , COLUMN_DETAILS VARCHAR(10000) CHARACTER SET ISO88591 |
| COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , PRIMARY KEY (ROW_ID ASC) |
| ) |
| ; |
| */ |
| |
| /* HBase DDL */ |
| CREATE HBASE TABLE T146T1 ( COLUMN FAMILY '#1') |
| |
| REGISTER /*INTERNAL*/ HBASE TABLE T146T1; |
| /* ObjectUID = 7181713655023565067 */ |
| |
| -- GRANT SELECT, INSERT, DELETE, UPDATE, REFERENCES ON HBASE."_ROW_".T146T1 TO DB__HBASEROLE WITH GRANT OPTION; |
| |
| --- SQL operation complete. |
| >>showddl hbase."_MAP_".t146t1; |
| |
| CREATE EXTERNAL TABLE T146T1 |
| ( |
| "cf".ROW_ID VARCHAR(20) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , "cf".ROW_VALUE VARCHAR(1000) CHARACTER SET ISO88591 |
| COLLATE DEFAULT DEFAULT NULL |
| , PRIMARY KEY NOT SERIALIZED (ROW_ID ASC) |
| ) |
| ATTRIBUTES DEFAULT COLUMN FAMILY 'cf' |
| MAP TO HBASE TABLE T146T1 DATA FORMAT VARCHAR |
| ; |
| |
| -- GRANT SELECT, INSERT, DELETE, UPDATE, REFERENCES ON HBASE."_MAP_".T146T1 TO DB__HBASEROLE WITH GRANT OPTION; |
| |
| --- SQL operation complete. |
| >>get hbase registered tables in catalog trafodion, match '%T146%'; |
| |
| HBase Registered Tables in Catalog TRAFODION |
| ============================================ |
| |
| "_CELL_".T146T1 |
| "_CELL_".T146T3 |
| "_ROW_".T146T1 |
| "_ROW_".T146T3 |
| |
| ======================= |
| 4 row(s) returned |
| |
| --- SQL operation complete. |
| >> |
| >>create role t146_role1; |
| |
| --- SQL operation complete. |
| >>grant role t146_role1 to sql_user1; |
| |
| --- SQL operation complete. |
| >>grant role db__hbaserole to sql_user5; |
| |
| --- 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. |
| >>get external hbase objects, match '%T146%'; |
| |
| External HBase objects |
| ====================== |
| |
| T146T1 |
| T146T3 |
| |
| --- SQL operation complete. |
| >> |
| >>obey TEST146(test_grants); |
| >>-- ================================================================= |
| >>-- this set of tests run basic grant tests for native Hive tables |
| >>-- ================================================================= |
| >> |
| >>-- grant a privilege where user has no grant privilege |
| >>sh sqlci -i "TEST146(perform_grants)" -u sql_user3; |
| >>values(user); |
| |
| (EXPR) |
| --------------------------------------------------------------------------------------------------------------------------------- |
| |
| SQL_USER3 |
| |
| --- 1 row(s) selected. |
| >> |
| >>grant all on hbase."_CELL_".t146t1 to t146_role1 by db__hbaserole; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>grant select, update, insert, delete on hbase."_ROW_".t146t1 to t146_role1 by db__hbaserole; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>grant select(row_id, col_value) on hbase."_CELL_".t146t1 to sql_user2 by db__hbaserole; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>grant select on hbase."_CELL_".t146t1 to sql_user3 by db__hbaserole; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>grant select (row_id) on hbase."_ROW_".t146t1 to sql_user2 by db__hbaserole; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>grant select on hbase."_ROW_".t146t1 to sql_user3 by db__hbaserole; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>grant select on t146t1 to sql_user3 by db__hbaserole; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>showddl hbase."_CELL_".t146t1; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>showddl hbase."_ROW_".t146t1; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>showddl hbase."_MAP_".t146t1; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >> |
| >>exit; |
| |
| End of MXCI Session |
| |
| >> |
| >>-- grant privileges by the hbase admin user |
| >>sh sqlci -i "TEST146(perform_grants)" -u sql_user5; |
| >>values(user); |
| |
| (EXPR) |
| --------------------------------------------------------------------------------------------------------------------------------- |
| |
| SQL_USER5 |
| |
| --- 1 row(s) selected. |
| >> |
| >>grant all on hbase."_CELL_".t146t1 to t146_role1 by db__hbaserole; |
| |
| --- SQL operation complete. |
| >>grant select, update, insert, delete on hbase."_ROW_".t146t1 to t146_role1 by db__hbaserole; |
| |
| --- SQL operation complete. |
| >>grant select(row_id, col_value) on hbase."_CELL_".t146t1 to sql_user2 by db__hbaserole; |
| |
| --- SQL operation complete. |
| >>grant select on hbase."_CELL_".t146t1 to sql_user3 by db__hbaserole; |
| |
| --- SQL operation complete. |
| >>grant select (row_id) on hbase."_ROW_".t146t1 to sql_user2 by db__hbaserole; |
| |
| --- SQL operation complete. |
| >>grant select on hbase."_ROW_".t146t1 to sql_user3 by db__hbaserole; |
| |
| --- SQL operation complete. |
| >>grant select on t146t1 to sql_user3 by db__hbaserole; |
| |
| --- SQL operation complete. |
| >>showddl hbase."_CELL_".t146t1; |
| |
| /* |
| CREATE TABLE HBASE."_CELL_".T146T1 |
| ( |
| ROW_ID VARCHAR(100) CHARACTER SET ISO88591 |
| COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , COL_FAMILY VARCHAR(100) CHARACTER SET ISO88591 |
| COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , COL_NAME VARCHAR(100) CHARACTER SET ISO88591 |
| COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , COL_TIMESTAMP LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE |
| , COL_VALUE VARCHAR(1000) CHARACTER SET ISO88591 |
| COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , PRIMARY KEY (ROW_ID ASC) |
| ) |
| ; |
| */ |
| |
| /* HBase DDL */ |
| CREATE HBASE TABLE T146T1 ( COLUMN FAMILY '#1') |
| |
| REGISTER /*INTERNAL*/ HBASE TABLE T146T1; |
| /* ObjectUID = 7181713655023564985 */ |
| |
| -- GRANT SELECT, INSERT, DELETE, UPDATE, REFERENCES ON HBASE."_CELL_".T146T1 TO DB__HBASEROLE WITH GRANT OPTION; |
| GRANT SELECT ON HBASE."_CELL_".T146T1 TO SQL_USER3 GRANTED BY DB__HBASEROLE; |
| GRANT SELECT, INSERT, DELETE, UPDATE, REFERENCES ON HBASE."_CELL_".T146T1 TO |
| T146_ROLE1 GRANTED BY DB__HBASEROLE; |
| GRANT SELECT(ROW_ID, COL_VALUE) ON |
| HBASE."_CELL_".T146T1 TO SQL_USER2 GRANTED BY DB__HBASEROLE; |
| |
| --- SQL operation complete. |
| >>showddl hbase."_ROW_".t146t1; |
| |
| /* |
| CREATE TABLE HBASE."_ROW_".T146T1 |
| ( |
| ROW_ID VARCHAR(100) CHARACTER SET ISO88591 |
| COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , COLUMN_DETAILS VARCHAR(10000) CHARACTER SET ISO88591 |
| COLLATE DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , PRIMARY KEY (ROW_ID ASC) |
| ) |
| ; |
| */ |
| |
| /* HBase DDL */ |
| CREATE HBASE TABLE T146T1 ( COLUMN FAMILY '#1') |
| |
| REGISTER /*INTERNAL*/ HBASE TABLE T146T1; |
| /* ObjectUID = 7181713655023565067 */ |
| |
| -- GRANT SELECT, INSERT, DELETE, UPDATE, REFERENCES ON HBASE."_ROW_".T146T1 TO DB__HBASEROLE WITH GRANT OPTION; |
| GRANT SELECT ON HBASE."_ROW_".T146T1 TO SQL_USER3 GRANTED BY DB__HBASEROLE; |
| GRANT SELECT, INSERT, DELETE, UPDATE ON HBASE."_ROW_".T146T1 TO T146_ROLE1 |
| GRANTED BY DB__HBASEROLE; |
| GRANT SELECT(ROW_ID) ON HBASE."_ROW_".T146T1 TO |
| SQL_USER2 GRANTED BY DB__HBASEROLE; |
| |
| --- SQL operation complete. |
| >>showddl hbase."_MAP_".t146t1; |
| |
| CREATE EXTERNAL TABLE T146T1 |
| ( |
| "cf".ROW_ID VARCHAR(20) CHARACTER SET ISO88591 COLLATE |
| DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE |
| , "cf".ROW_VALUE VARCHAR(1000) CHARACTER SET ISO88591 |
| COLLATE DEFAULT DEFAULT NULL |
| , PRIMARY KEY NOT SERIALIZED (ROW_ID ASC) |
| ) |
| ATTRIBUTES DEFAULT COLUMN FAMILY 'cf' |
| MAP TO HBASE TABLE T146T1 DATA FORMAT VARCHAR |
| ; |
| |
| -- GRANT SELECT, INSERT, DELETE, UPDATE, REFERENCES ON HBASE."_MAP_".T146T1 TO DB__HBASEROLE WITH GRANT OPTION; |
| GRANT SELECT ON HBASE."_MAP_".T146T1 TO SQL_USER3; |
| |
| --- SQL operation complete. |
| >> |
| >>exit; |
| |
| End of MXCI Session |
| |
| >> |
| >>-- user1 can select and update table via t146_role1, no select from map table |
| >>sh sqlci -i "TEST146(perform_ops)" -u sql_user1; |
| >>values (user); |
| |
| (EXPR) |
| --------------------------------------------------------------------------------------------------------------------------------- |
| |
| SQL_USER1 |
| |
| --- 1 row(s) selected. |
| >> |
| >>-- contains most columns |
| >>select substring (row_id,1,5) as row_id, |
| +> col_family, |
| +> cast(col_name as char(20) character set iso88591) as col_name, |
| +> cast(col_value as char(20) character set iso88591) as col_value |
| +> from hbase."_CELL_".t146t1 order by 1; |
| |
| ROW_ID COL_FAMILY COL_NAME COL_VALUE |
| ------ ---------------------------------------------------------------------------------------------------- -------------------- -------------------- |
| |
| 1 cf game_location California |
| 1 cf visitor_team 2 |
| 1 cf team_number 1 |
| 2 cf team_number 1 |
| 2 cf game_location Oklahoma |
| 2 cf visitor_team 3 |
| |
| --- 6 row(s) selected. |
| >>prepare s1 from |
| +>select substring (row_id,1,4) as row_id, |
| +> cast (col_value as char (40) character set iso88591) as col_value |
| +> from hbase."_CELL_".t146t1 order by 1; |
| |
| --- SQL command prepared. |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 2 |
| 1 1 |
| 2 1 |
| 2 Oklahoma |
| 2 3 |
| |
| --- 6 row(s) selected. |
| >>select row_id from t146t1; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view TRAFODION."_HB_MAP_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >> |
| >>-- contains columns associated with granted column level privileges |
| >>select substring(row_id,1,4) as row_id, |
| +> substring (column_details,3,8) as column_details |
| +> from hbase."_ROW_".t146t1; |
| |
| ROW_ID COLUMN_DETAILS |
| ------ -------------- |
| |
| 1 cf:game_ |
| 2 cf:game_ |
| |
| --- 2 row(s) selected. |
| >>select substring(row_id,1,4) as row_id from hbase."_ROW_".t146t1; |
| |
| ROW_ID |
| ------ |
| |
| 1 |
| 2 |
| |
| --- 2 row(s) selected. |
| >> |
| >>insert into hbase."_CELL_".t146t1 values |
| +> ('3', 'cf', 'game_location', -1, 'Ohio'), |
| +> ('3', 'cf', 'visitor_team', -1, '3'), |
| +> ('3', 'cf', 'team_number', -1, '1'); |
| |
| --- 3 row(s) inserted. |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 1 |
| 1 2 |
| 2 3 |
| 2 1 |
| 2 Oklahoma |
| 3 Ohio |
| 3 1 |
| 3 3 |
| |
| --- 9 row(s) selected. |
| >> |
| >>update hbase."_ROW_".t146t1 set column_details = column_create ('cf:game_time', '2018-04-30') |
| +> where row_id = '3'; |
| |
| --- 1 row(s) updated. |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 1 |
| 1 2 |
| 2 3 |
| 2 1 |
| 2 Oklahoma |
| 3 1 |
| 3 2018-04-30 |
| 3 Ohio |
| 3 3 |
| |
| --- 10 row(s) selected. |
| >> |
| >>delete from hbase."_ROW_".t146t1 where row_id = '3'; |
| |
| --- 1 row(s) deleted. |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 2 |
| 1 1 |
| 2 1 |
| 2 Oklahoma |
| 2 3 |
| |
| --- 6 row(s) selected. |
| >> |
| >>get external hbase objects, match '%T146%'; |
| |
| --- SQL operation complete. |
| >>get hbase registered tables in catalog trafodion, match '%T146%'; |
| |
| HBase Registered Tables in Catalog TRAFODION |
| ============================================ |
| |
| "_CELL_".T146T1 |
| "_ROW_".T146T1 |
| |
| ======================= |
| 2 row(s) returned |
| |
| --- SQL operation complete. |
| >>exit; |
| |
| End of MXCI Session |
| |
| >> |
| >>-- user2 can select subset of columns |
| >>sh sqlci -i "TEST146(perform_ops)" -u sql_user2; |
| >>values (user); |
| |
| (EXPR) |
| --------------------------------------------------------------------------------------------------------------------------------- |
| |
| SQL_USER2 |
| |
| --- 1 row(s) selected. |
| >> |
| >>-- contains most columns |
| >>select substring (row_id,1,5) as row_id, |
| +> col_family, |
| +> cast(col_name as char(20) character set iso88591) as col_name, |
| +> cast(col_value as char(20) character set iso88591) as col_value |
| +> from hbase."_CELL_".t146t1 order by 1; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view HBASE."_CELL_".T146T1(columns: COL_FAMILY, COL_NAME). |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>prepare s1 from |
| +>select substring (row_id,1,4) as row_id, |
| +> cast (col_value as char (40) character set iso88591) as col_value |
| +> from hbase."_CELL_".t146t1 order by 1; |
| |
| --- SQL command prepared. |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 2 |
| 1 1 |
| 2 1 |
| 2 Oklahoma |
| 2 3 |
| |
| --- 6 row(s) selected. |
| >>select row_id from t146t1; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view TRAFODION."_HB_MAP_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >> |
| >>-- contains columns associated with granted column level privileges |
| >>select substring(row_id,1,4) as row_id, |
| +> substring (column_details,3,8) as column_details |
| +> from hbase."_ROW_".t146t1; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view HBASE."_ROW_".T146T1(columns: COLUMN_DETAILS). |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>select substring(row_id,1,4) as row_id from hbase."_ROW_".t146t1; |
| |
| ROW_ID |
| ------ |
| |
| 1 |
| 2 |
| |
| --- 2 row(s) selected. |
| >> |
| >>insert into hbase."_CELL_".t146t1 values |
| +> ('3', 'cf', 'game_location', -1, 'Ohio'), |
| +> ('3', 'cf', 'visitor_team', -1, '3'), |
| +> ('3', 'cf', 'team_number', -1, '1'); |
| |
| *** ERROR[4481] The user does not have INSERT privilege on table or view HBASE."_CELL_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 2 |
| 1 1 |
| 2 1 |
| 2 Oklahoma |
| 2 3 |
| |
| --- 6 row(s) selected. |
| >> |
| >>update hbase."_ROW_".t146t1 set column_details = column_create ('cf:game_time', '2018-04-30') |
| +> where row_id = '3'; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view HBASE."_ROW_".T146T1(columns: COLUMN_DETAILS). |
| |
| *** ERROR[4481] The user does not have UPDATE privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 2 |
| 1 1 |
| 2 1 |
| 2 Oklahoma |
| 2 3 |
| |
| --- 6 row(s) selected. |
| >> |
| >>delete from hbase."_ROW_".t146t1 where row_id = '3'; |
| |
| *** ERROR[4481] The user does not have DELETE privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 2 |
| 1 1 |
| 2 1 |
| 2 Oklahoma |
| 2 3 |
| |
| --- 6 row(s) selected. |
| >> |
| >>get external hbase objects, match '%T146%'; |
| |
| --- SQL operation complete. |
| >>get hbase registered tables in catalog trafodion, match '%T146%'; |
| |
| HBase Registered Tables in Catalog TRAFODION |
| ============================================ |
| |
| "_CELL_".T146T1 |
| "_ROW_".T146T1 |
| |
| ======================= |
| 2 row(s) returned |
| |
| --- SQL operation complete. |
| >>exit; |
| |
| End of MXCI Session |
| |
| >> |
| >>-- user3 can select all |
| >>sh sqlci -i "TEST146(perform_ops)" -u sql_user3; |
| >>values (user); |
| |
| (EXPR) |
| --------------------------------------------------------------------------------------------------------------------------------- |
| |
| SQL_USER3 |
| |
| --- 1 row(s) selected. |
| >> |
| >>-- contains most columns |
| >>select substring (row_id,1,5) as row_id, |
| +> col_family, |
| +> cast(col_name as char(20) character set iso88591) as col_name, |
| +> cast(col_value as char(20) character set iso88591) as col_value |
| +> from hbase."_CELL_".t146t1 order by 1; |
| |
| ROW_ID COL_FAMILY COL_NAME COL_VALUE |
| ------ ---------------------------------------------------------------------------------------------------- -------------------- -------------------- |
| |
| 1 cf game_location California |
| 1 cf visitor_team 2 |
| 1 cf team_number 1 |
| 2 cf team_number 1 |
| 2 cf game_location Oklahoma |
| 2 cf visitor_team 3 |
| |
| --- 6 row(s) selected. |
| >>prepare s1 from |
| +>select substring (row_id,1,4) as row_id, |
| +> cast (col_value as char (40) character set iso88591) as col_value |
| +> from hbase."_CELL_".t146t1 order by 1; |
| |
| --- SQL command prepared. |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 2 |
| 1 1 |
| 2 1 |
| 2 Oklahoma |
| 2 3 |
| |
| --- 6 row(s) selected. |
| >>select row_id from t146t1; |
| |
| --- 0 row(s) selected. |
| >> |
| >>-- contains columns associated with granted column level privileges |
| >>select substring(row_id,1,4) as row_id, |
| +> substring (column_details,3,8) as column_details |
| +> from hbase."_ROW_".t146t1; |
| |
| ROW_ID COLUMN_DETAILS |
| ------ -------------- |
| |
| 1 cf:game_ |
| 2 cf:game_ |
| |
| --- 2 row(s) selected. |
| >>select substring(row_id,1,4) as row_id from hbase."_ROW_".t146t1; |
| |
| ROW_ID |
| ------ |
| |
| 1 |
| 2 |
| |
| --- 2 row(s) selected. |
| >> |
| >>insert into hbase."_CELL_".t146t1 values |
| +> ('3', 'cf', 'game_location', -1, 'Ohio'), |
| +> ('3', 'cf', 'visitor_team', -1, '3'), |
| +> ('3', 'cf', 'team_number', -1, '1'); |
| |
| *** ERROR[4481] The user does not have INSERT privilege on table or view HBASE."_CELL_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 2 |
| 1 1 |
| 2 1 |
| 2 Oklahoma |
| 2 3 |
| |
| --- 6 row(s) selected. |
| >> |
| >>update hbase."_ROW_".t146t1 set column_details = column_create ('cf:game_time', '2018-04-30') |
| +> where row_id = '3'; |
| |
| *** ERROR[4481] The user does not have UPDATE privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 2 |
| 1 1 |
| 2 1 |
| 2 Oklahoma |
| 2 3 |
| |
| --- 6 row(s) selected. |
| >> |
| >>delete from hbase."_ROW_".t146t1 where row_id = '3'; |
| |
| *** ERROR[4481] The user does not have DELETE privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 2 |
| 1 1 |
| 2 1 |
| 2 Oklahoma |
| 2 3 |
| |
| --- 6 row(s) selected. |
| >> |
| >>get external hbase objects, match '%T146%'; |
| |
| --- SQL operation complete. |
| >>get hbase registered tables in catalog trafodion, match '%T146%'; |
| |
| HBase Registered Tables in Catalog TRAFODION |
| ============================================ |
| |
| "_CELL_".T146T1 |
| "_ROW_".T146T1 |
| |
| ======================= |
| 2 row(s) returned |
| |
| --- SQL operation complete. |
| >>exit; |
| |
| End of MXCI Session |
| |
| >> |
| >>-- user4 has no privileges |
| >>sh sqlci -i "TEST146(perform_ops)" -u sql_user4; |
| >>values (user); |
| |
| (EXPR) |
| --------------------------------------------------------------------------------------------------------------------------------- |
| |
| SQL_USER4 |
| |
| --- 1 row(s) selected. |
| >> |
| >>-- contains most columns |
| >>select substring (row_id,1,5) as row_id, |
| +> col_family, |
| +> cast(col_name as char(20) character set iso88591) as col_name, |
| +> cast(col_value as char(20) character set iso88591) as col_value |
| +> from hbase."_CELL_".t146t1 order by 1; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view HBASE."_CELL_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>prepare s1 from |
| +>select substring (row_id,1,4) as row_id, |
| +> cast (col_value as char (40) character set iso88591) as col_value |
| +> from hbase."_CELL_".t146t1 order by 1; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view HBASE."_CELL_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>execute s1; |
| |
| *** ERROR[15017] Statement S1 was not found. |
| |
| >>select row_id from t146t1; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view TRAFODION."_HB_MAP_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >> |
| >>-- contains columns associated with granted column level privileges |
| >>select substring(row_id,1,4) as row_id, |
| +> substring (column_details,3,8) as column_details |
| +> from hbase."_ROW_".t146t1; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>select substring(row_id,1,4) as row_id from hbase."_ROW_".t146t1; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >> |
| >>insert into hbase."_CELL_".t146t1 values |
| +> ('3', 'cf', 'game_location', -1, 'Ohio'), |
| +> ('3', 'cf', 'visitor_team', -1, '3'), |
| +> ('3', 'cf', 'team_number', -1, '1'); |
| |
| *** ERROR[4481] The user does not have INSERT privilege on table or view HBASE."_CELL_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>execute s1; |
| |
| *** ERROR[15017] Statement S1 was not found. |
| |
| >> |
| >>update hbase."_ROW_".t146t1 set column_details = column_create ('cf:game_time', '2018-04-30') |
| +> where row_id = '3'; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[4481] The user does not have UPDATE privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>execute s1; |
| |
| *** ERROR[15017] Statement S1 was not found. |
| |
| >> |
| >>delete from hbase."_ROW_".t146t1 where row_id = '3'; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[4481] The user does not have DELETE privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>execute s1; |
| |
| *** ERROR[15017] Statement S1 was not found. |
| |
| >> |
| >>get external hbase objects, match '%T146%'; |
| |
| --- SQL operation complete. |
| >>get hbase registered tables in catalog trafodion, match '%T146%'; |
| |
| --- SQL operation complete. |
| >>exit; |
| |
| End of MXCI Session |
| |
| >> |
| >>-- user5 has all privileges through role db__hbaserole |
| >>sh sqlci -i "TEST146(perform_ops)" -u sql_user5; |
| >>values (user); |
| |
| (EXPR) |
| --------------------------------------------------------------------------------------------------------------------------------- |
| |
| SQL_USER5 |
| |
| --- 1 row(s) selected. |
| >> |
| >>-- contains most columns |
| >>select substring (row_id,1,5) as row_id, |
| +> col_family, |
| +> cast(col_name as char(20) character set iso88591) as col_name, |
| +> cast(col_value as char(20) character set iso88591) as col_value |
| +> from hbase."_CELL_".t146t1 order by 1; |
| |
| ROW_ID COL_FAMILY COL_NAME COL_VALUE |
| ------ ---------------------------------------------------------------------------------------------------- -------------------- -------------------- |
| |
| 1 cf game_location California |
| 1 cf visitor_team 2 |
| 1 cf team_number 1 |
| 2 cf team_number 1 |
| 2 cf game_location Oklahoma |
| 2 cf visitor_team 3 |
| |
| --- 6 row(s) selected. |
| >>prepare s1 from |
| +>select substring (row_id,1,4) as row_id, |
| +> cast (col_value as char (40) character set iso88591) as col_value |
| +> from hbase."_CELL_".t146t1 order by 1; |
| |
| --- SQL command prepared. |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 2 |
| 1 1 |
| 2 1 |
| 2 Oklahoma |
| 2 3 |
| |
| --- 6 row(s) selected. |
| >>select row_id from t146t1; |
| |
| --- 0 row(s) selected. |
| >> |
| >>-- contains columns associated with granted column level privileges |
| >>select substring(row_id,1,4) as row_id, |
| +> substring (column_details,3,8) as column_details |
| +> from hbase."_ROW_".t146t1; |
| |
| ROW_ID COLUMN_DETAILS |
| ------ -------------- |
| |
| 1 cf:game_ |
| 2 cf:game_ |
| |
| --- 2 row(s) selected. |
| >>select substring(row_id,1,4) as row_id from hbase."_ROW_".t146t1; |
| |
| ROW_ID |
| ------ |
| |
| 1 |
| 2 |
| |
| --- 2 row(s) selected. |
| >> |
| >>insert into hbase."_CELL_".t146t1 values |
| +> ('3', 'cf', 'game_location', -1, 'Ohio'), |
| +> ('3', 'cf', 'visitor_team', -1, '3'), |
| +> ('3', 'cf', 'team_number', -1, '1'); |
| |
| --- 3 row(s) inserted. |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 1 |
| 1 2 |
| 2 3 |
| 2 1 |
| 2 Oklahoma |
| 3 Ohio |
| 3 1 |
| 3 3 |
| |
| --- 9 row(s) selected. |
| >> |
| >>update hbase."_ROW_".t146t1 set column_details = column_create ('cf:game_time', '2018-04-30') |
| +> where row_id = '3'; |
| |
| --- 1 row(s) updated. |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 1 |
| 1 2 |
| 2 3 |
| 2 1 |
| 2 Oklahoma |
| 3 1 |
| 3 2018-04-30 |
| 3 Ohio |
| 3 3 |
| |
| --- 10 row(s) selected. |
| >> |
| >>delete from hbase."_ROW_".t146t1 where row_id = '3'; |
| |
| --- 1 row(s) deleted. |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 2 |
| 1 1 |
| 2 1 |
| 2 Oklahoma |
| 2 3 |
| |
| --- 6 row(s) selected. |
| >> |
| >>get external hbase objects, match '%T146%'; |
| |
| External HBase objects |
| ====================== |
| |
| T146T1 |
| T146T3 |
| |
| --- SQL operation complete. |
| >>get hbase registered tables in catalog trafodion, match '%T146%'; |
| |
| HBase Registered Tables in Catalog TRAFODION |
| ============================================ |
| |
| "_CELL_".T146T1 |
| "_CELL_".T146T3 |
| "_ROW_".T146T1 |
| "_ROW_".T146T3 |
| |
| ======================= |
| 4 row(s) returned |
| |
| --- SQL operation complete. |
| >>exit; |
| |
| End of MXCI Session |
| |
| >> |
| >>obey TEST146(test_revokes); |
| >>-- ============================================================================ |
| >>-- verify that revoking privileges work as expected on native Hive tables |
| >>-- ============================================================================ |
| >> |
| >>-- revoke update from t146_role1 |
| >>revoke update on hbase."_ROW_".t146t1 from t146_role1 by db__hbaserole; |
| |
| --- SQL operation complete. |
| >>sh sqlci -i "TEST146(perform_ops)" -u sql_user1; |
| >>values (user); |
| |
| (EXPR) |
| --------------------------------------------------------------------------------------------------------------------------------- |
| |
| SQL_USER1 |
| |
| --- 1 row(s) selected. |
| >> |
| >>-- contains most columns |
| >>select substring (row_id,1,5) as row_id, |
| +> col_family, |
| +> cast(col_name as char(20) character set iso88591) as col_name, |
| +> cast(col_value as char(20) character set iso88591) as col_value |
| +> from hbase."_CELL_".t146t1 order by 1; |
| |
| ROW_ID COL_FAMILY COL_NAME COL_VALUE |
| ------ ---------------------------------------------------------------------------------------------------- -------------------- -------------------- |
| |
| 1 cf game_location California |
| 1 cf visitor_team 2 |
| 1 cf team_number 1 |
| 2 cf team_number 1 |
| 2 cf game_location Oklahoma |
| 2 cf visitor_team 3 |
| |
| --- 6 row(s) selected. |
| >>prepare s1 from |
| +>select substring (row_id,1,4) as row_id, |
| +> cast (col_value as char (40) character set iso88591) as col_value |
| +> from hbase."_CELL_".t146t1 order by 1; |
| |
| --- SQL command prepared. |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 2 |
| 1 1 |
| 2 1 |
| 2 Oklahoma |
| 2 3 |
| |
| --- 6 row(s) selected. |
| >>select row_id from t146t1; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view TRAFODION."_HB_MAP_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >> |
| >>-- contains columns associated with granted column level privileges |
| >>select substring(row_id,1,4) as row_id, |
| +> substring (column_details,3,8) as column_details |
| +> from hbase."_ROW_".t146t1; |
| |
| ROW_ID COLUMN_DETAILS |
| ------ -------------- |
| |
| 1 cf:game_ |
| 2 cf:game_ |
| |
| --- 2 row(s) selected. |
| >>select substring(row_id,1,4) as row_id from hbase."_ROW_".t146t1; |
| |
| ROW_ID |
| ------ |
| |
| 1 |
| 2 |
| |
| --- 2 row(s) selected. |
| >> |
| >>insert into hbase."_CELL_".t146t1 values |
| +> ('3', 'cf', 'game_location', -1, 'Ohio'), |
| +> ('3', 'cf', 'visitor_team', -1, '3'), |
| +> ('3', 'cf', 'team_number', -1, '1'); |
| |
| --- 3 row(s) inserted. |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 1 |
| 1 2 |
| 2 3 |
| 2 1 |
| 2 Oklahoma |
| 3 Ohio |
| 3 1 |
| 3 3 |
| |
| --- 9 row(s) selected. |
| >> |
| >>update hbase."_ROW_".t146t1 set column_details = column_create ('cf:game_time', '2018-04-30') |
| +> where row_id = '3'; |
| |
| *** ERROR[4481] The user does not have UPDATE privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 1 |
| 1 2 |
| 2 3 |
| 2 1 |
| 2 Oklahoma |
| 3 Ohio |
| 3 1 |
| 3 3 |
| |
| --- 9 row(s) selected. |
| >> |
| >>delete from hbase."_ROW_".t146t1 where row_id = '3'; |
| |
| --- 1 row(s) deleted. |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 2 |
| 1 1 |
| 2 1 |
| 2 Oklahoma |
| 2 3 |
| |
| --- 6 row(s) selected. |
| >> |
| >>get external hbase objects, match '%T146%'; |
| |
| --- SQL operation complete. |
| >>get hbase registered tables in catalog trafodion, match '%T146%'; |
| |
| HBase Registered Tables in Catalog TRAFODION |
| ============================================ |
| |
| "_CELL_".T146T1 |
| "_ROW_".T146T1 |
| |
| ======================= |
| 2 row(s) returned |
| |
| --- SQL operation complete. |
| >>exit; |
| |
| End of MXCI Session |
| |
| >> |
| >>-- revoke role from sql_user1, no longer has privilege |
| >>revoke role t146_role1 from sql_user1; |
| |
| --- SQL operation complete. |
| >>sh sqlci -i "TEST146(perform_ops)" -u sql_user1; |
| >>values (user); |
| |
| (EXPR) |
| --------------------------------------------------------------------------------------------------------------------------------- |
| |
| SQL_USER1 |
| |
| --- 1 row(s) selected. |
| >> |
| >>-- contains most columns |
| >>select substring (row_id,1,5) as row_id, |
| +> col_family, |
| +> cast(col_name as char(20) character set iso88591) as col_name, |
| +> cast(col_value as char(20) character set iso88591) as col_value |
| +> from hbase."_CELL_".t146t1 order by 1; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view HBASE."_CELL_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>prepare s1 from |
| +>select substring (row_id,1,4) as row_id, |
| +> cast (col_value as char (40) character set iso88591) as col_value |
| +> from hbase."_CELL_".t146t1 order by 1; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view HBASE."_CELL_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>execute s1; |
| |
| *** ERROR[15017] Statement S1 was not found. |
| |
| >>select row_id from t146t1; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view TRAFODION."_HB_MAP_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >> |
| >>-- contains columns associated with granted column level privileges |
| >>select substring(row_id,1,4) as row_id, |
| +> substring (column_details,3,8) as column_details |
| +> from hbase."_ROW_".t146t1; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>select substring(row_id,1,4) as row_id from hbase."_ROW_".t146t1; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >> |
| >>insert into hbase."_CELL_".t146t1 values |
| +> ('3', 'cf', 'game_location', -1, 'Ohio'), |
| +> ('3', 'cf', 'visitor_team', -1, '3'), |
| +> ('3', 'cf', 'team_number', -1, '1'); |
| |
| *** ERROR[4481] The user does not have INSERT privilege on table or view HBASE."_CELL_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>execute s1; |
| |
| *** ERROR[15017] Statement S1 was not found. |
| |
| >> |
| >>update hbase."_ROW_".t146t1 set column_details = column_create ('cf:game_time', '2018-04-30') |
| +> where row_id = '3'; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[4481] The user does not have UPDATE privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>execute s1; |
| |
| *** ERROR[15017] Statement S1 was not found. |
| |
| >> |
| >>delete from hbase."_ROW_".t146t1 where row_id = '3'; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[4481] The user does not have DELETE privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>execute s1; |
| |
| *** ERROR[15017] Statement S1 was not found. |
| |
| >> |
| >>get external hbase objects, match '%T146%'; |
| |
| --- SQL operation complete. |
| >>get hbase registered tables in catalog trafodion, match '%T146%'; |
| |
| --- SQL operation complete. |
| >>exit; |
| |
| End of MXCI Session |
| |
| >> |
| >>--revoke column privs from sql_user2 |
| >>revoke select (row_id) on hbase."_ROW_".t146t1 from sql_user2 by db__hbaserole; |
| |
| --- SQL operation complete. |
| >>sh sqlci -i "TEST146(perform_ops)" -u sql_user2; |
| >>values (user); |
| |
| (EXPR) |
| --------------------------------------------------------------------------------------------------------------------------------- |
| |
| SQL_USER2 |
| |
| --- 1 row(s) selected. |
| >> |
| >>-- contains most columns |
| >>select substring (row_id,1,5) as row_id, |
| +> col_family, |
| +> cast(col_name as char(20) character set iso88591) as col_name, |
| +> cast(col_value as char(20) character set iso88591) as col_value |
| +> from hbase."_CELL_".t146t1 order by 1; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view HBASE."_CELL_".T146T1(columns: COL_FAMILY, COL_NAME). |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>prepare s1 from |
| +>select substring (row_id,1,4) as row_id, |
| +> cast (col_value as char (40) character set iso88591) as col_value |
| +> from hbase."_CELL_".t146t1 order by 1; |
| |
| --- SQL command prepared. |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 2 |
| 1 1 |
| 2 1 |
| 2 Oklahoma |
| 2 3 |
| |
| --- 6 row(s) selected. |
| >>select row_id from t146t1; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view TRAFODION."_HB_MAP_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >> |
| >>-- contains columns associated with granted column level privileges |
| >>select substring(row_id,1,4) as row_id, |
| +> substring (column_details,3,8) as column_details |
| +> from hbase."_ROW_".t146t1; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>select substring(row_id,1,4) as row_id from hbase."_ROW_".t146t1; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >> |
| >>insert into hbase."_CELL_".t146t1 values |
| +> ('3', 'cf', 'game_location', -1, 'Ohio'), |
| +> ('3', 'cf', 'visitor_team', -1, '3'), |
| +> ('3', 'cf', 'team_number', -1, '1'); |
| |
| *** ERROR[4481] The user does not have INSERT privilege on table or view HBASE."_CELL_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 2 |
| 1 1 |
| 2 1 |
| 2 Oklahoma |
| 2 3 |
| |
| --- 6 row(s) selected. |
| >> |
| >>update hbase."_ROW_".t146t1 set column_details = column_create ('cf:game_time', '2018-04-30') |
| +> where row_id = '3'; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[4481] The user does not have UPDATE privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 2 |
| 1 1 |
| 2 1 |
| 2 Oklahoma |
| 2 3 |
| |
| --- 6 row(s) selected. |
| >> |
| >>delete from hbase."_ROW_".t146t1 where row_id = '3'; |
| |
| *** ERROR[4481] The user does not have SELECT privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[4481] The user does not have DELETE privilege on table or view HBASE."_ROW_".T146T1. |
| |
| *** ERROR[8822] The statement was not prepared. |
| |
| >>execute s1; |
| |
| ROW_ID COL_VALUE |
| ------ ---------------------------------------- |
| |
| 1 California |
| 1 2 |
| 1 1 |
| 2 1 |
| 2 Oklahoma |
| 2 3 |
| |
| --- 6 row(s) selected. |
| >> |
| >>get external hbase objects, match '%T146%'; |
| |
| --- SQL operation complete. |
| >>get hbase registered tables in catalog trafodion, match '%T146%'; |
| |
| HBase Registered Tables in Catalog TRAFODION |
| ============================================ |
| |
| "_CELL_".T146T1 |
| |
| ======================= |
| 1 row(s) returned |
| |
| --- SQL operation complete. |
| >>exit; |
| |
| End of MXCI Session |
| |
| >> |
| >>obey TEST146(test_ddl); |
| >>-- ============================================================================ |
| >>-- verify that DDL operations work correctly |
| >>-- ============================================================================ |
| >> |
| >>-- db__root can create hbase tables |
| >>obey TEST146(perform_ddl); |
| >>-- ============================================================================ |
| >>cqd SHOWDDL_DISPLAY_PRIVILEGE_GRANTS 'ON'; |
| |
| --- SQL operation complete. |
| >>log LOG146; |
| >>values(user); |
| |
| (EXPR) |
| --------------------------------------------------------------------------------------------------------------------------------- |
| |
| DB__ROOT |
| |
| --- 1 row(s) selected. |
| >> |
| >>create hbase table t146t2 ( column family 'cf'); |
| |
| --- SQL operation complete. |
| >> |
| >>create external table t146t2 |
| +> (row_id varchar(20) not null primary key, |
| +> row_value varchar (1000)) |
| +> attribute default column family 'cf' |
| +> map to hbase table t146t2; |
| |
| --- SQL operation complete. |
| >> |
| >>grant select on hbase."_CELL_".t146t2 to sql_user1 by db__hbaserole; |
| |
| --- SQL operation complete. |
| >>grant select on hbase."_ROW_".t146t2 to sql_user1 by db__hbaserole; |
| |
| --- SQL operation complete. |
| >>grant select on hbase."_MAP_".t146t2 to sql_user1 by db__hbaserole; |
| |
| --- SQL operation complete. |
| >>get privileges for role db__hbaserole, match '%146%'; |
| |
| Privileges for Role DB__HBASEROLE |
| ================================= |
| |
| SIDU-R- HBASE._CELL_.T146T1 |
| SIDU-R- HBASE._CELL_.T146T2 |
| SIDU-R- HBASE._CELL_.T146T3 |
| SIDU-R- HBASE._ROW_.T146T1 |
| SIDU-R- HBASE._ROW_.T146T2 |
| SIDU-R- HBASE._ROW_.T146T3 |
| SIDU-R- TRAFODION._HB_MAP_.T146T1 |
| SIDU-R- TRAFODION._HB_MAP_.T146T2 |
| |
| ======================= |
| 6 row(s) returned |
| |
| --- SQL operation complete. |
| >> |
| >>drop hbase table t146t2; |
| |
| --- SQL operation complete. |
| >>get privileges for role db__hbaserole, match '%146%'; |
| |
| Privileges for Role DB__HBASEROLE |
| ================================= |
| |
| SIDU-R- HBASE._CELL_.T146T1 |
| SIDU-R- HBASE._CELL_.T146T3 |
| SIDU-R- HBASE._ROW_.T146T1 |
| SIDU-R- HBASE._ROW_.T146T3 |
| SIDU-R- TRAFODION._HB_MAP_.T146T1 |
| |
| ======================= |
| 5 row(s) returned |
| |
| --- SQL operation complete. |
| >> |
| >> |
| >>-- sql_user3 has no privleges, cannot create tables |
| >>sh sqlci -i "TEST146(perform_ddl)" -u sql_user3; |
| >>values(user); |
| |
| (EXPR) |
| --------------------------------------------------------------------------------------------------------------------------------- |
| |
| SQL_USER3 |
| |
| --- 1 row(s) selected. |
| >> |
| >>create hbase table t146t2 ( column family 'cf'); |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >> |
| >>create external table t146t2 |
| +> (row_id varchar(20) not null primary key, |
| +> row_value varchar (1000)) |
| +> attribute default column family 'cf' |
| +> map to hbase table t146t2; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| *** ERROR[4260] HBase table(T146T2) to be mapped as an external table does not exist. |
| |
| --- SQL operation failed with errors. |
| >> |
| >>grant select on hbase."_CELL_".t146t2 to sql_user1 by db__hbaserole; |
| |
| *** ERROR[1389] Object T146T2 does not exist in Trafodion. |
| |
| *** ERROR[4082] Object HBASE."_CELL_".T146T2 does not exist or is inaccessible. |
| |
| --- SQL operation failed with errors. |
| >>grant select on hbase."_ROW_".t146t2 to sql_user1 by db__hbaserole; |
| |
| *** ERROR[1389] Object T146T2 does not exist in Trafodion. |
| |
| *** ERROR[4082] Object HBASE."_ROW_".T146T2 does not exist or is inaccessible. |
| |
| --- SQL operation failed with errors. |
| >>grant select on hbase."_MAP_".t146t2 to sql_user1 by db__hbaserole; |
| |
| *** ERROR[4082] Object TRAFODION."_HB_MAP_".T146T2 does not exist or is inaccessible. |
| |
| *** ERROR[4082] Object TRAFODION."_HB_MAP_".T146T2 does not exist or is inaccessible. |
| |
| --- SQL operation failed with errors. |
| >>get privileges for role db__hbaserole, match '%146%'; |
| |
| --- SQL operation complete. |
| >> |
| >>drop hbase table t146t2; |
| |
| *** ERROR[1017] You are not authorized to perform this operation. |
| |
| --- SQL operation failed with errors. |
| >>get privileges for role db__hbaserole, match '%146%'; |
| |
| --- SQL operation complete. |
| >> |
| >>exit; |
| |
| End of MXCI Session |
| |
| >> |
| >>-- sql_user5 that has been granted db__hbaserole can create hbase tables |
| >>grant role db__hbaserole to sql_user5; |
| |
| --- SQL operation complete. |
| >>sh sqlci -i "TEST146(perform_ddl)" -u sql_user5; |
| >>values(user); |
| |
| (EXPR) |
| --------------------------------------------------------------------------------------------------------------------------------- |
| |
| SQL_USER5 |
| |
| --- 1 row(s) selected. |
| >> |
| >>create hbase table t146t2 ( column family 'cf'); |
| |
| --- SQL operation complete. |
| >> |
| >>create external table t146t2 |
| +> (row_id varchar(20) not null primary key, |
| +> row_value varchar (1000)) |
| +> attribute default column family 'cf' |
| +> map to hbase table t146t2; |
| |
| --- SQL operation complete. |
| >> |
| >>grant select on hbase."_CELL_".t146t2 to sql_user1 by db__hbaserole; |
| |
| --- SQL operation complete. |
| >>grant select on hbase."_ROW_".t146t2 to sql_user1 by db__hbaserole; |
| |
| --- SQL operation complete. |
| >>grant select on hbase."_MAP_".t146t2 to sql_user1 by db__hbaserole; |
| |
| --- SQL operation complete. |
| >>get privileges for role db__hbaserole, match '%146%'; |
| |
| Privileges for Role DB__HBASEROLE |
| ================================= |
| |
| SIDU-R- HBASE._CELL_.T146T1 |
| SIDU-R- HBASE._CELL_.T146T2 |
| SIDU-R- HBASE._CELL_.T146T3 |
| SIDU-R- HBASE._ROW_.T146T1 |
| SIDU-R- HBASE._ROW_.T146T2 |
| SIDU-R- HBASE._ROW_.T146T3 |
| SIDU-R- TRAFODION._HB_MAP_.T146T1 |
| SIDU-R- TRAFODION._HB_MAP_.T146T2 |
| |
| ======================= |
| 6 row(s) returned |
| |
| --- SQL operation complete. |
| >> |
| >>drop hbase table t146t2; |
| |
| --- SQL operation complete. |
| >>get privileges for role db__hbaserole, match '%146%'; |
| |
| Privileges for Role DB__HBASEROLE |
| ================================= |
| |
| SIDU-R- HBASE._CELL_.T146T1 |
| SIDU-R- HBASE._CELL_.T146T3 |
| SIDU-R- HBASE._ROW_.T146T1 |
| SIDU-R- HBASE._ROW_.T146T3 |
| SIDU-R- TRAFODION._HB_MAP_.T146T1 |
| |
| ======================= |
| 4 row(s) returned |
| |
| --- SQL operation complete. |
| >> |
| >>exit; |
| |
| End of MXCI Session |
| |
| >>revoke role db__hbaserole from sql_user5; |
| |
| --- SQL operation complete. |
| >> |
| >>-- make sure correct result when repeating tests |
| >>create hbase table t146t2 ( column family 'cf'); |
| |
| --- SQL operation complete. |
| >>create hbase table t146t2 ( column family 'cf'); |
| |
| *** WARNING[1055] Object T146T2 already exists. |
| |
| --- SQL operation complete. |
| >> |
| >>drop hbase table t146t2; |
| |
| --- SQL operation complete. |
| >>drop hbase table t146t2; |
| |
| *** WARNING[1004] Object T146T2 does not exist or object type is invalid for the current operation. |
| |
| --- SQL operation complete. |
| >>drop hbase table t146t3; |
| |
| --- SQL operation complete. |
| >> |
| >>log; |