| SELECT '< HIVE-78 Authorization model for Hive >' AS ' '; |
| |
| CREATE TABLE IF NOT EXISTS `ROLES` ( |
| `ROLE_ID` bigint(20) NOT NULL, |
| `CREATE_TIME` int(11) NOT NULL, |
| `OWNER_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `ROLE_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| PRIMARY KEY (`ROLE_ID`), |
| UNIQUE KEY `ROLEENTITYINDEX` (`ROLE_NAME`) |
| ) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
| |
| CREATE TABLE IF NOT EXISTS `ROLE_MAP` ( |
| `ROLE_GRANT_ID` bigint(20) NOT NULL, |
| `ADD_TIME` int(11) NOT NULL, |
| `GRANT_OPTION` smallint(6) NOT NULL, |
| `GRANTOR` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `GRANTOR_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `PRINCIPAL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `PRINCIPAL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `ROLE_ID` bigint(20) DEFAULT NULL, |
| PRIMARY KEY (`ROLE_GRANT_ID`), |
| UNIQUE KEY `USERROLEMAPINDEX` (`PRINCIPAL_NAME`,`ROLE_ID`,`GRANTOR`,`GRANTOR_TYPE`), |
| CONSTRAINT `ROLE_MAP_FK1` FOREIGN KEY (`ROLE_ID`) REFERENCES `ROLES` (`ROLE_ID`) |
| ) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
| |
| CREATE TABLE IF NOT EXISTS `GLOBAL_PRIVS` ( |
| `USER_GRANT_ID` bigint(20) NOT NULL, |
| `CREATE_TIME` int(11) NOT NULL, |
| `GRANT_OPTION` smallint(6) NOT NULL, |
| `GRANTOR` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `GRANTOR_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `PRINCIPAL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `PRINCIPAL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `USER_PRIV` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| PRIMARY KEY (`USER_GRANT_ID`), |
| UNIQUE KEY `GLOBALPRIVILEGEINDEX` (`PRINCIPAL_NAME`,`PRINCIPAL_TYPE`,`USER_PRIV`,`GRANTOR`,`GRANTOR_TYPE`) |
| ) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
| |
| CREATE TABLE IF NOT EXISTS `DB_PRIVS` ( |
| `DB_GRANT_ID` bigint(20) NOT NULL, |
| `CREATE_TIME` int(11) NOT NULL, |
| `DB_ID` bigint(20) DEFAULT NULL, |
| `GRANT_OPTION` smallint(6) NOT NULL, |
| `GRANTOR` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `GRANTOR_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `PRINCIPAL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `PRINCIPAL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `DB_PRIV` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| PRIMARY KEY (`DB_GRANT_ID`), |
| UNIQUE KEY `DBPRIVILEGEINDEX` (`DB_ID`,`PRINCIPAL_NAME`,`PRINCIPAL_TYPE`,`DB_PRIV`,`GRANTOR`,`GRANTOR_TYPE`), |
| CONSTRAINT `DB_PRIVS_FK1` FOREIGN KEY (`DB_ID`) REFERENCES `DBS` (`DB_ID`) |
| ) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
| |
| CREATE TABLE IF NOT EXISTS `TBL_PRIVS` ( |
| `TBL_GRANT_ID` bigint(20) NOT NULL, |
| `CREATE_TIME` int(11) NOT NULL, |
| `GRANT_OPTION` smallint(6) NOT NULL, |
| `GRANTOR` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `GRANTOR_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `PRINCIPAL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `PRINCIPAL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `TBL_PRIV` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `TBL_ID` bigint(20) DEFAULT NULL, |
| PRIMARY KEY (`TBL_GRANT_ID`), |
| KEY `TABLEPRIVILEGEINDEX` (`TBL_ID`,`PRINCIPAL_NAME`,`PRINCIPAL_TYPE`,`TBL_PRIV`,`GRANTOR`,`GRANTOR_TYPE`), |
| CONSTRAINT `TBL_PRIVS_FK1` FOREIGN KEY (`TBL_ID`) REFERENCES `TBLS` (`TBL_ID`) |
| ) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
| |
| CREATE TABLE IF NOT EXISTS `TBL_COL_PRIVS` ( |
| `TBL_COLUMN_GRANT_ID` bigint(20) NOT NULL, |
| `COLUMN_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `CREATE_TIME` int(11) NOT NULL, |
| `GRANT_OPTION` smallint(6) NOT NULL, |
| `GRANTOR` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `GRANTOR_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `PRINCIPAL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `PRINCIPAL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `TBL_COL_PRIV` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `TBL_ID` bigint(20) DEFAULT NULL, |
| PRIMARY KEY (`TBL_COLUMN_GRANT_ID`), |
| KEY `TABLECOLUMNPRIVILEGEINDEX` (`TBL_ID`,`COLUMN_NAME`,`PRINCIPAL_NAME`,`PRINCIPAL_TYPE`,`TBL_COL_PRIV`,`GRANTOR`,`GRANTOR_TYPE`), |
| CONSTRAINT `TBL_COL_PRIVS_FK1` FOREIGN KEY (`TBL_ID`) REFERENCES `TBLS` (`TBL_ID`) |
| ) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
| |
| CREATE TABLE IF NOT EXISTS `PART_PRIVS` ( |
| `PART_GRANT_ID` bigint(20) NOT NULL, |
| `CREATE_TIME` int(11) NOT NULL, |
| `GRANT_OPTION` smallint(6) NOT NULL, |
| `GRANTOR` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `GRANTOR_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `PART_ID` bigint(20) DEFAULT NULL, |
| `PRINCIPAL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `PRINCIPAL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `PART_PRIV` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| PRIMARY KEY (`PART_GRANT_ID`), |
| KEY `PARTPRIVILEGEINDEX` (`PART_ID`,`PRINCIPAL_NAME`,`PRINCIPAL_TYPE`,`PART_PRIV`,`GRANTOR`,`GRANTOR_TYPE`), |
| CONSTRAINT `PART_PRIVS_FK1` FOREIGN KEY (`PART_ID`) REFERENCES `PARTITIONS` (`PART_ID`) |
| ) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
| |
| CREATE TABLE IF NOT EXISTS `PART_COL_PRIVS` ( |
| `PART_COLUMN_GRANT_ID` bigint(20) NOT NULL, |
| `COLUMN_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `CREATE_TIME` int(11) NOT NULL, |
| `GRANT_OPTION` smallint(6) NOT NULL, |
| `GRANTOR` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `GRANTOR_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `PART_ID` bigint(20) DEFAULT NULL, |
| `PRINCIPAL_NAME` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `PRINCIPAL_TYPE` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| `PART_COL_PRIV` varchar(128) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL, |
| PRIMARY KEY (`PART_COLUMN_GRANT_ID`), |
| KEY `PARTITIONCOLUMNPRIVILEGEINDEX` (`PART_ID`,`COLUMN_NAME`,`PRINCIPAL_NAME`,`PRINCIPAL_TYPE`,`PART_COL_PRIV`,`GRANTOR`,`GRANTOR_TYPE`), |
| CONSTRAINT `PART_COL_PRIVS_FK1` FOREIGN KEY (`PART_ID`) REFERENCES `PARTITIONS` (`PART_ID`) |
| ) ENGINE=InnoDB DEFAULT CHARSET=latin1; |