diff --git metastore/scripts/upgrade/derby/hive-schema-0.14.0.derby.sql metastore/scripts/upgrade/derby/hive-schema-0.14.0.derby.sql index 90d5e9b..1d0a63b 100644 --- metastore/scripts/upgrade/derby/hive-schema-0.14.0.derby.sql +++ metastore/scripts/upgrade/derby/hive-schema-0.14.0.derby.sql @@ -318,8 +318,75 @@ ALTER TABLE "APP"."SDS" ADD CONSTRAINT "SQL110318025505550" CHECK (IS_COMPRESSED -- ---------------------------- -- Transaction and Lock Tables +-- These are not part of package jdo, so if you are going to regenerate this file you need to manually add the following section back to the file. -- ---------------------------- -RUN 'hive-txn-schema-0.13.0.derby.sql'; +CREATE TABLE TXNS ( + TXN_ID bigint PRIMARY KEY, + TXN_STATE char(1) NOT NULL, + TXN_STARTED bigint NOT NULL, + TXN_LAST_HEARTBEAT bigint NOT NULL, + TXN_USER varchar(128) NOT NULL, + TXN_HOST varchar(128) NOT NULL +); + +CREATE TABLE TXN_COMPONENTS ( + TC_TXNID bigint REFERENCES TXNS (TXN_ID), + TC_DATABASE varchar(128) NOT NULL, + TC_TABLE varchar(128), + TC_PARTITION varchar(767) +); + +CREATE TABLE COMPLETED_TXN_COMPONENTS ( + CTC_TXNID bigint, + CTC_DATABASE varchar(128) NOT NULL, + CTC_TABLE varchar(128), + CTC_PARTITION varchar(767) +); + +CREATE TABLE NEXT_TXN_ID ( + NTXN_NEXT bigint NOT NULL +); +INSERT INTO NEXT_TXN_ID VALUES(1); + +CREATE TABLE HIVE_LOCKS ( + HL_LOCK_EXT_ID bigint NOT NULL, + HL_LOCK_INT_ID bigint NOT NULL, + HL_TXNID bigint, + HL_DB varchar(128) NOT NULL, + HL_TABLE varchar(128), + HL_PARTITION varchar(767), + HL_LOCK_STATE char(1) NOT NULL, + HL_LOCK_TYPE char(1) NOT NULL, + HL_LAST_HEARTBEAT bigint NOT NULL, + HL_ACQUIRED_AT bigint, + HL_USER varchar(128) NOT NULL, + HL_HOST varchar(128) NOT NULL, + PRIMARY KEY(HL_LOCK_EXT_ID, HL_LOCK_INT_ID) +); + +CREATE INDEX HL_TXNID_INDEX ON HIVE_LOCKS (HL_TXNID); + +CREATE TABLE NEXT_LOCK_ID ( + NL_NEXT bigint NOT NULL +); +INSERT INTO NEXT_LOCK_ID VALUES(1); + +CREATE TABLE COMPACTION_QUEUE ( + CQ_ID bigint PRIMARY KEY, + CQ_DATABASE varchar(128) NOT NULL, + CQ_TABLE varchar(128) NOT NULL, + CQ_PARTITION varchar(767), + CQ_STATE char(1) NOT NULL, + CQ_TYPE char(1) NOT NULL, + CQ_WORKER_ID varchar(128), + CQ_START bigint, + CQ_RUN_AS varchar(128) +); + +CREATE TABLE NEXT_COMPACTION_QUEUE_ID ( + NCQ_NEXT bigint NOT NULL +); +INSERT INTO NEXT_COMPACTION_QUEUE_ID VALUES(1); -- ----------------------------------------------------------------- -- Record schema version. Should be the last step in the init script diff --git metastore/scripts/upgrade/derby/hive-txn-schema-0.14.0.derby.sql metastore/scripts/upgrade/derby/hive-txn-schema-0.14.0.derby.sql new file mode 100644 index 0000000..d6c01b6 --- /dev/null +++ metastore/scripts/upgrade/derby/hive-txn-schema-0.14.0.derby.sql @@ -0,0 +1,88 @@ +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the License); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an AS IS BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. + +-- +-- Tables for transaction management +-- +CREATE TABLE TXNS ( + TXN_ID bigint PRIMARY KEY, + TXN_STATE char(1) NOT NULL, + TXN_STARTED bigint NOT NULL, + TXN_LAST_HEARTBEAT bigint NOT NULL, + TXN_USER varchar(128) NOT NULL, + TXN_HOST varchar(128) NOT NULL +); + +CREATE TABLE TXN_COMPONENTS ( + TC_TXNID bigint REFERENCES TXNS (TXN_ID), + TC_DATABASE varchar(128) NOT NULL, + TC_TABLE varchar(128), + TC_PARTITION varchar(767) +); + +CREATE TABLE COMPLETED_TXN_COMPONENTS ( + CTC_TXNID bigint, + CTC_DATABASE varchar(128) NOT NULL, + CTC_TABLE varchar(128), + CTC_PARTITION varchar(767) +); + +CREATE TABLE NEXT_TXN_ID ( + NTXN_NEXT bigint NOT NULL +); +INSERT INTO NEXT_TXN_ID VALUES(1); + +CREATE TABLE HIVE_LOCKS ( + HL_LOCK_EXT_ID bigint NOT NULL, + HL_LOCK_INT_ID bigint NOT NULL, + HL_TXNID bigint, + HL_DB varchar(128) NOT NULL, + HL_TABLE varchar(128), + HL_PARTITION varchar(767), + HL_LOCK_STATE char(1) NOT NULL, + HL_LOCK_TYPE char(1) NOT NULL, + HL_LAST_HEARTBEAT bigint NOT NULL, + HL_ACQUIRED_AT bigint, + HL_USER varchar(128) NOT NULL, + HL_HOST varchar(128) NOT NULL, + PRIMARY KEY(HL_LOCK_EXT_ID, HL_LOCK_INT_ID) +); + +CREATE INDEX HL_TXNID_INDEX ON HIVE_LOCKS (HL_TXNID); + +CREATE TABLE NEXT_LOCK_ID ( + NL_NEXT bigint NOT NULL +); +INSERT INTO NEXT_LOCK_ID VALUES(1); + +CREATE TABLE COMPACTION_QUEUE ( + CQ_ID bigint PRIMARY KEY, + CQ_DATABASE varchar(128) NOT NULL, + CQ_TABLE varchar(128) NOT NULL, + CQ_PARTITION varchar(767), + CQ_STATE char(1) NOT NULL, + CQ_TYPE char(1) NOT NULL, + CQ_WORKER_ID varchar(128), + CQ_START bigint, + CQ_RUN_AS varchar(128) +); + +CREATE TABLE NEXT_COMPACTION_QUEUE_ID ( + NCQ_NEXT bigint NOT NULL +); +INSERT INTO NEXT_COMPACTION_QUEUE_ID VALUES(1); + + + diff --git metastore/scripts/upgrade/mssql/hive-txn-schema-0.14.0.mssql.sql metastore/scripts/upgrade/mssql/hive-txn-schema-0.14.0.mssql.sql new file mode 100644 index 0000000..933c9d5 --- /dev/null +++ metastore/scripts/upgrade/mssql/hive-txn-schema-0.14.0.mssql.sql @@ -0,0 +1 @@ +-- Licensed to the Apache Software Foundation (ASF) under one or more -- contributor license agreements. See the NOTICE file distributed with -- this work for additional information regarding copyright ownership. -- The ASF licenses this file to You under the Apache License, Version 2.0 -- (the License); you may not use this file except in compliance with -- the License. You may obtain a copy of the License at -- -- http://www.apache.org/licenses/LICENSE-2.0 -- -- Unless required by applicable law or agreed to in writing, software -- distributed under the License is distributed on an AS IS BASIS, -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -- See the License for the specific language governing permissions and -- limitations under the License. -- -- Tables for transaction management -- CREATE TABLE COMPACTION_QUEUE( CQ_ID int NOT NULL, CQ_DATABASE varchar(128) NOT NULL, CQ_TABLE varchar(128) NOT NULL, CQ_PARTITION varchar(767) NULL, CQ_STATE char(1) NOT NULL, CQ_TYPE char(1) NOT NULL, CQ_WORKER_ID varchar(128) NULL, CQ_START int NULL, CQ_RUN_AS varchar(128) NULL, PRIMARY KEY CLUSTERED ( CQ_ID ASC ) ); CREATE TABLE COMPLETED_TXN_COMPONENTS( CTC_TXNID int NULL, CTC_DATABASE varchar(128) NOT NULL, CTC_TABLE varchar(128) NULL, CTC_PARTITION varchar(767) NULL ); CREATE TABLE HIVE_LOCKS( HL_LOCK_EXT_ID int NOT NULL, HL_LOCK_INT_ID int NOT NULL, HL_TXNID int NULL, HL_DB varchar(128) NOT NULL, HL_TABLE varchar(128) NULL, HL_PARTITION varchar(767) NULL, HL_LOCK_STATE char(1) NOT NULL, HL_LOCK_TYPE char(1) NOT NULL, HL_LAST_HEARTBEAT int NOT NULL, HL_ACQUIRED_AT int NULL, HL_USER varchar(128) NOT NULL, HL_HOST varchar(128) NOT NULL, PRIMARY KEY CLUSTERED ( HL_LOCK_EXT_ID ASC, HL_LOCK_INT_ID ASC ) ); CREATE TABLE NEXT_COMPACTION_QUEUE_ID( NCQ_NEXT int NOT NULL ); INSERT INTO NEXT_COMPACTION_QUEUE_ID VALUES(1); CREATE TABLE NEXT_LOCK_ID( NL_NEXT int NOT NULL ); INSERT INTO NEXT_LOCK_ID VALUES(1); CREATE TABLE NEXT_TXN_ID( NTXN_NEXT int NOT NULL ); INSERT INTO NEXT_TXN_ID VALUES(1); CREATE TABLE TXNS( TXN_ID int NOT NULL, TXN_STATE char(1) NOT NULL, TXN_STARTED int NOT NULL, TXN_LAST_HEARTBEAT int NOT NULL, TXN_USER varchar(128) NOT NULL, TXN_HOST varchar(128) NOT NULL, PRIMARY KEY CLUSTERED ( TXN_ID ASC ) ); CREATE TABLE TXN_COMPONENTS( TC_TXNID int NULL, TC_DATABASE varchar(128) NOT NULL, TC_TABLE varchar(128) NULL, TC_PARTITION varchar(767) NULL ); ALTER TABLE TXN_COMPONENTS WITH CHECK ADD FOREIGN KEY(TC_TXNID) REFERENCES TXNS (TXN_ID); \ No newline at end of file diff --git metastore/scripts/upgrade/mysql/hive-schema-0.14.0.mysql.sql metastore/scripts/upgrade/mysql/hive-schema-0.14.0.mysql.sql index b479aa2..e44e7c2 100644 --- metastore/scripts/upgrade/mysql/hive-schema-0.14.0.mysql.sql +++ metastore/scripts/upgrade/mysql/hive-schema-0.14.0.mysql.sql @@ -798,8 +798,77 @@ CREATE TABLE IF NOT EXISTS `FUNC_RU` ( -- ---------------------------- -- Transaction and Lock Tables +-- These are not part of package jdo, so if you are going to regenerate this file you need to manually add the following section back to the file. -- ---------------------------- -SOURCE hive-txn-schema-0.13.0.mysql.sql; +CREATE TABLE TXNS ( + TXN_ID bigint PRIMARY KEY, + TXN_STATE char(1) NOT NULL, + TXN_STARTED bigint NOT NULL, + TXN_LAST_HEARTBEAT bigint NOT NULL, + TXN_USER varchar(128) NOT NULL, + TXN_HOST varchar(128) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +CREATE TABLE TXN_COMPONENTS ( + TC_TXNID bigint, + TC_DATABASE varchar(128) NOT NULL, + TC_TABLE varchar(128), + TC_PARTITION varchar(767), + FOREIGN KEY (TC_TXNID) REFERENCES TXNS (TXN_ID) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +CREATE TABLE COMPLETED_TXN_COMPONENTS ( + CTC_TXNID bigint, + CTC_DATABASE varchar(128) NOT NULL, + CTC_TABLE varchar(128), + CTC_PARTITION varchar(767) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +CREATE TABLE NEXT_TXN_ID ( + NTXN_NEXT bigint NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +INSERT INTO NEXT_TXN_ID VALUES(1); + +CREATE TABLE HIVE_LOCKS ( + HL_LOCK_EXT_ID bigint NOT NULL, + HL_LOCK_INT_ID bigint NOT NULL, + HL_TXNID bigint, + HL_DB varchar(128) NOT NULL, + HL_TABLE varchar(128), + HL_PARTITION varchar(767), + HL_LOCK_STATE char(1) not null, + HL_LOCK_TYPE char(1) not null, + HL_LAST_HEARTBEAT bigint NOT NULL, + HL_ACQUIRED_AT bigint, + HL_USER varchar(128) NOT NULL, + HL_HOST varchar(128) NOT NULL, + PRIMARY KEY(HL_LOCK_EXT_ID, HL_LOCK_INT_ID), + KEY HIVE_LOCK_TXNID_INDEX (HL_TXNID) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +CREATE INDEX HL_TXNID_IDX ON HIVE_LOCKS (HL_TXNID); + +CREATE TABLE NEXT_LOCK_ID ( + NL_NEXT bigint NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +INSERT INTO NEXT_LOCK_ID VALUES(1); + +CREATE TABLE COMPACTION_QUEUE ( + CQ_ID bigint PRIMARY KEY, + CQ_DATABASE varchar(128) NOT NULL, + CQ_TABLE varchar(128) NOT NULL, + CQ_PARTITION varchar(767), + CQ_STATE char(1) NOT NULL, + CQ_TYPE char(1) NOT NULL, + CQ_WORKER_ID varchar(128), + CQ_START bigint, + CQ_RUN_AS varchar(128) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +CREATE TABLE NEXT_COMPACTION_QUEUE_ID ( + NCQ_NEXT bigint NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +INSERT INTO NEXT_COMPACTION_QUEUE_ID VALUES(1); -- ----------------------------------------------------------------- -- Record schema version. Should be the last step in the init script diff --git metastore/scripts/upgrade/mysql/hive-txn-schema-0.14.0.mysql.sql metastore/scripts/upgrade/mysql/hive-txn-schema-0.14.0.mysql.sql new file mode 100644 index 0000000..dfb97f4 --- /dev/null +++ metastore/scripts/upgrade/mysql/hive-txn-schema-0.14.0.mysql.sql @@ -0,0 +1,90 @@ +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the "License"); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. + +-- +-- Tables for transaction management +-- + +CREATE TABLE TXNS ( + TXN_ID bigint PRIMARY KEY, + TXN_STATE char(1) NOT NULL, + TXN_STARTED bigint NOT NULL, + TXN_LAST_HEARTBEAT bigint NOT NULL, + TXN_USER varchar(128) NOT NULL, + TXN_HOST varchar(128) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +CREATE TABLE TXN_COMPONENTS ( + TC_TXNID bigint, + TC_DATABASE varchar(128) NOT NULL, + TC_TABLE varchar(128), + TC_PARTITION varchar(767), + FOREIGN KEY (TC_TXNID) REFERENCES TXNS (TXN_ID) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +CREATE TABLE COMPLETED_TXN_COMPONENTS ( + CTC_TXNID bigint, + CTC_DATABASE varchar(128) NOT NULL, + CTC_TABLE varchar(128), + CTC_PARTITION varchar(767) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +CREATE TABLE NEXT_TXN_ID ( + NTXN_NEXT bigint NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +INSERT INTO NEXT_TXN_ID VALUES(1); + +CREATE TABLE HIVE_LOCKS ( + HL_LOCK_EXT_ID bigint NOT NULL, + HL_LOCK_INT_ID bigint NOT NULL, + HL_TXNID bigint, + HL_DB varchar(128) NOT NULL, + HL_TABLE varchar(128), + HL_PARTITION varchar(767), + HL_LOCK_STATE char(1) not null, + HL_LOCK_TYPE char(1) not null, + HL_LAST_HEARTBEAT bigint NOT NULL, + HL_ACQUIRED_AT bigint, + HL_USER varchar(128) NOT NULL, + HL_HOST varchar(128) NOT NULL, + PRIMARY KEY(HL_LOCK_EXT_ID, HL_LOCK_INT_ID), + KEY HIVE_LOCK_TXNID_INDEX (HL_TXNID) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +CREATE INDEX HL_TXNID_IDX ON HIVE_LOCKS (HL_TXNID); + +CREATE TABLE NEXT_LOCK_ID ( + NL_NEXT bigint NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +INSERT INTO NEXT_LOCK_ID VALUES(1); + +CREATE TABLE COMPACTION_QUEUE ( + CQ_ID bigint PRIMARY KEY, + CQ_DATABASE varchar(128) NOT NULL, + CQ_TABLE varchar(128) NOT NULL, + CQ_PARTITION varchar(767), + CQ_STATE char(1) NOT NULL, + CQ_TYPE char(1) NOT NULL, + CQ_WORKER_ID varchar(128), + CQ_START bigint, + CQ_RUN_AS varchar(128) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +CREATE TABLE NEXT_COMPACTION_QUEUE_ID ( + NCQ_NEXT bigint NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +INSERT INTO NEXT_COMPACTION_QUEUE_ID VALUES(1); + + diff --git metastore/scripts/upgrade/oracle/hive-schema-0.14.0.oracle.sql metastore/scripts/upgrade/oracle/hive-schema-0.14.0.oracle.sql index b810b3d..f1f71ce 100644 --- metastore/scripts/upgrade/oracle/hive-schema-0.14.0.oracle.sql +++ metastore/scripts/upgrade/oracle/hive-schema-0.14.0.oracle.sql @@ -757,8 +757,75 @@ CREATE INDEX FUNC_RU_N49 ON FUNC_RU (FUNC_ID); ------------------------------ -- Transaction and lock tables +-- These are not part of package jdo, so if you are going to regenerate this file you need to manually add the following section back to the file. ------------------------------ -@hive-txn-schema-0.13.0.oracle.sql; +CREATE TABLE TXNS ( + TXN_ID NUMBER(19) PRIMARY KEY, + TXN_STATE char(1) NOT NULL, + TXN_STARTED NUMBER(19) NOT NULL, + TXN_LAST_HEARTBEAT NUMBER(19) NOT NULL, + TXN_USER varchar(128) NOT NULL, + TXN_HOST varchar(128) NOT NULL +); + +CREATE TABLE TXN_COMPONENTS ( + TC_TXNID NUMBER(19) REFERENCES TXNS (TXN_ID), + TC_DATABASE VARCHAR2(128) NOT NULL, + TC_TABLE VARCHAR2(128), + TC_PARTITION VARCHAR2(767) NULL +); + +CREATE TABLE COMPLETED_TXN_COMPONENTS ( + CTC_TXNID NUMBER(19), + CTC_DATABASE varchar(128) NOT NULL, + CTC_TABLE varchar(128), + CTC_PARTITION varchar(767) +); + +CREATE TABLE NEXT_TXN_ID ( + NTXN_NEXT NUMBER(19) NOT NULL +); +INSERT INTO NEXT_TXN_ID VALUES(1); + +CREATE TABLE HIVE_LOCKS ( + HL_LOCK_EXT_ID NUMBER(19) NOT NULL, + HL_LOCK_INT_ID NUMBER(19) NOT NULL, + HL_TXNID NUMBER(19), + HL_DB VARCHAR2(128) NOT NULL, + HL_TABLE VARCHAR2(128), + HL_PARTITION VARCHAR2(767), + HL_LOCK_STATE CHAR(1) NOT NULL, + HL_LOCK_TYPE CHAR(1) NOT NULL, + HL_LAST_HEARTBEAT NUMBER(19) NOT NULL, + HL_ACQUIRED_AT NUMBER(19), + HL_USER varchar(128) NOT NULL, + HL_HOST varchar(128) NOT NULL, + PRIMARY KEY(HL_LOCK_EXT_ID, HL_LOCK_INT_ID) +); + +CREATE INDEX HL_TXNID_INDEX ON HIVE_LOCKS (HL_TXNID); + +CREATE TABLE NEXT_LOCK_ID ( + NL_NEXT NUMBER(19) NOT NULL +); +INSERT INTO NEXT_LOCK_ID VALUES(1); + +CREATE TABLE COMPACTION_QUEUE ( + CQ_ID NUMBER(19) PRIMARY KEY, + CQ_DATABASE varchar(128) NOT NULL, + CQ_TABLE varchar(128) NOT NULL, + CQ_PARTITION varchar(767), + CQ_STATE char(1) NOT NULL, + CQ_TYPE char(1) NOT NULL, + CQ_WORKER_ID varchar(128), + CQ_START NUMBER(19), + CQ_RUN_AS varchar(128) +); + +CREATE TABLE NEXT_COMPACTION_QUEUE_ID ( + NCQ_NEXT NUMBER(19) NOT NULL +); +INSERT INTO NEXT_COMPACTION_QUEUE_ID VALUES(1); -- ----------------------------------------------------------------- -- Record schema version. Should be the last step in the init script diff --git metastore/scripts/upgrade/oracle/hive-txn-schema-0.14.0.oracle.sql metastore/scripts/upgrade/oracle/hive-txn-schema-0.14.0.oracle.sql new file mode 100644 index 0000000..7435ea8 --- /dev/null +++ metastore/scripts/upgrade/oracle/hive-txn-schema-0.14.0.oracle.sql @@ -0,0 +1,88 @@ +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the License); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an AS IS BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. + +-- +-- Tables for transaction management +-- + +CREATE TABLE TXNS ( + TXN_ID NUMBER(19) PRIMARY KEY, + TXN_STATE char(1) NOT NULL, + TXN_STARTED NUMBER(19) NOT NULL, + TXN_LAST_HEARTBEAT NUMBER(19) NOT NULL, + TXN_USER varchar(128) NOT NULL, + TXN_HOST varchar(128) NOT NULL +); + +CREATE TABLE TXN_COMPONENTS ( + TC_TXNID NUMBER(19) REFERENCES TXNS (TXN_ID), + TC_DATABASE VARCHAR2(128) NOT NULL, + TC_TABLE VARCHAR2(128), + TC_PARTITION VARCHAR2(767) NULL +); + +CREATE TABLE COMPLETED_TXN_COMPONENTS ( + CTC_TXNID NUMBER(19), + CTC_DATABASE varchar(128) NOT NULL, + CTC_TABLE varchar(128), + CTC_PARTITION varchar(767) +); + +CREATE TABLE NEXT_TXN_ID ( + NTXN_NEXT NUMBER(19) NOT NULL +); +INSERT INTO NEXT_TXN_ID VALUES(1); + +CREATE TABLE HIVE_LOCKS ( + HL_LOCK_EXT_ID NUMBER(19) NOT NULL, + HL_LOCK_INT_ID NUMBER(19) NOT NULL, + HL_TXNID NUMBER(19), + HL_DB VARCHAR2(128) NOT NULL, + HL_TABLE VARCHAR2(128), + HL_PARTITION VARCHAR2(767), + HL_LOCK_STATE CHAR(1) NOT NULL, + HL_LOCK_TYPE CHAR(1) NOT NULL, + HL_LAST_HEARTBEAT NUMBER(19) NOT NULL, + HL_ACQUIRED_AT NUMBER(19), + HL_USER varchar(128) NOT NULL, + HL_HOST varchar(128) NOT NULL, + PRIMARY KEY(HL_LOCK_EXT_ID, HL_LOCK_INT_ID) +); + +CREATE INDEX HL_TXNID_INDEX ON HIVE_LOCKS (HL_TXNID); + +CREATE TABLE NEXT_LOCK_ID ( + NL_NEXT NUMBER(19) NOT NULL +); +INSERT INTO NEXT_LOCK_ID VALUES(1); + +CREATE TABLE COMPACTION_QUEUE ( + CQ_ID NUMBER(19) PRIMARY KEY, + CQ_DATABASE varchar(128) NOT NULL, + CQ_TABLE varchar(128) NOT NULL, + CQ_PARTITION varchar(767), + CQ_STATE char(1) NOT NULL, + CQ_TYPE char(1) NOT NULL, + CQ_WORKER_ID varchar(128), + CQ_START NUMBER(19), + CQ_RUN_AS varchar(128) +); + +CREATE TABLE NEXT_COMPACTION_QUEUE_ID ( + NCQ_NEXT NUMBER(19) NOT NULL +); +INSERT INTO NEXT_COMPACTION_QUEUE_ID VALUES(1); + + diff --git metastore/scripts/upgrade/postgres/hive-schema-0.14.0.postgres.sql metastore/scripts/upgrade/postgres/hive-schema-0.14.0.postgres.sql index 5358f50..da6cdca 100644 --- metastore/scripts/upgrade/postgres/hive-schema-0.14.0.postgres.sql +++ metastore/scripts/upgrade/postgres/hive-schema-0.14.0.postgres.sql @@ -1465,8 +1465,75 @@ GRANT ALL ON SCHEMA public TO PUBLIC; ------------------------------ -- Transaction and lock tables +-- These are not part of package jdo, so if you are going to regenerate this file you need to manually add the following section back to the file. ------------------------------ -\i hive-txn-schema-0.13.0.postgres.sql; +CREATE TABLE txns ( + txn_id bigint PRIMARY KEY, + txn_state char(1) NOT NULL, + txn_started bigint NOT NULL, + txn_last_heartbeat bigint NOT NULL, + txn_user varchar(128) NOT NULL, + txn_host varchar(128) NOT NULL +); + +CREATE TABLE txn_components ( + tc_txnid bigint REFERENCES txns (txn_id), + tc_database varchar(128) NOT NULL, + tc_table varchar(128), + tc_partition varchar(767) DEFAULT NULL +); + +CREATE TABLE completed_txn_components ( + ctc_txnid bigint, + ctc_database varchar(128) NOT NULL, + ctc_table varchar(128), + ctc_partition varchar(767) +); + +CREATE TABLE next_txn_id ( + ntxn_next bigint NOT NULL +); +INSERT INTO next_txn_id VALUES(1); + +CREATE TABLE hive_locks ( + hl_lock_ext_id bigint NOT NULL, + hl_lock_int_id bigint NOT NULL, + hl_txnid bigint, + hl_db varchar(128) NOT NULL, + hl_table varchar(128), + hl_partition varchar(767) DEFAULT NULL, + hl_lock_state char(1) NOT NULL, + hl_lock_type char(1) NOT NULL, + hl_last_heartbeat bigint NOT NULL, + hl_acquired_at bigint, + hl_user varchar(128) NOT NULL, + hl_host varchar(128) NOT NULL, + PRIMARY KEY(hl_lock_ext_id, hl_lock_int_id) +); + +CREATE INDEX hl_txnid_index ON hive_locks USING hash (hl_txnid); + +CREATE TABLE next_lock_id ( + nl_next bigint NOT NULL +); +INSERT INTO next_lock_id VALUES(1); + +CREATE TABLE compaction_queue ( + cq_id bigint PRIMARY KEY, + cq_database varchar(128) NOT NULL, + cq_table varchar(128) NOT NULL, + cq_partition varchar(767), + cq_state char(1) NOT NULL, + cq_type char(1) NOT NULL, + cq_worker_id varchar(128), + cq_start bigint, + cq_run_as varchar(128) +); + +CREATE TABLE next_compaction_queue_id ( + ncq_next bigint NOT NULL +); +INSERT INTO next_compaction_queue_id VALUES(1); -- ----------------------------------------------------------------- -- Record schema version. Should be the last step in the init script diff --git metastore/scripts/upgrade/postgres/hive-txn-schema-0.14.0.postgres.sql metastore/scripts/upgrade/postgres/hive-txn-schema-0.14.0.postgres.sql new file mode 100644 index 0000000..703f07f --- /dev/null +++ metastore/scripts/upgrade/postgres/hive-txn-schema-0.14.0.postgres.sql @@ -0,0 +1,89 @@ +-- Licensed to the Apache Software Foundation (ASF) under one or more +-- contributor license agreements. See the NOTICE file distributed with +-- this work for additional information regarding copyright ownership. +-- The ASF licenses this file to You under the Apache License, Version 2.0 +-- (the "License"); you may not use this file except in compliance with +-- the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. + +-- +-- Tables for transaction management +-- + +CREATE TABLE txns ( + txn_id bigint PRIMARY KEY, + txn_state char(1) NOT NULL, + txn_started bigint NOT NULL, + txn_last_heartbeat bigint NOT NULL, + txn_user varchar(128) NOT NULL, + txn_host varchar(128) NOT NULL +); + +CREATE TABLE txn_components ( + tc_txnid bigint REFERENCES txns (txn_id), + tc_database varchar(128) NOT NULL, + tc_table varchar(128), + tc_partition varchar(767) DEFAULT NULL +); + +CREATE TABLE completed_txn_components ( + ctc_txnid bigint, + ctc_database varchar(128) NOT NULL, + ctc_table varchar(128), + ctc_partition varchar(767) +); + +CREATE TABLE next_txn_id ( + ntxn_next bigint NOT NULL +); +INSERT INTO next_txn_id VALUES(1); + +CREATE TABLE hive_locks ( + hl_lock_ext_id bigint NOT NULL, + hl_lock_int_id bigint NOT NULL, + hl_txnid bigint, + hl_db varchar(128) NOT NULL, + hl_table varchar(128), + hl_partition varchar(767) DEFAULT NULL, + hl_lock_state char(1) NOT NULL, + hl_lock_type char(1) NOT NULL, + hl_last_heartbeat bigint NOT NULL, + hl_acquired_at bigint, + hl_user varchar(128) NOT NULL, + hl_host varchar(128) NOT NULL, + PRIMARY KEY(hl_lock_ext_id, hl_lock_int_id) +); + +CREATE INDEX hl_txnid_index ON hive_locks USING hash (hl_txnid); + +CREATE TABLE next_lock_id ( + nl_next bigint NOT NULL +); +INSERT INTO next_lock_id VALUES(1); + +CREATE TABLE compaction_queue ( + cq_id bigint PRIMARY KEY, + cq_database varchar(128) NOT NULL, + cq_table varchar(128) NOT NULL, + cq_partition varchar(767), + cq_state char(1) NOT NULL, + cq_type char(1) NOT NULL, + cq_worker_id varchar(128), + cq_start bigint, + cq_run_as varchar(128) +); + +CREATE TABLE next_compaction_queue_id ( + ncq_next bigint NOT NULL +); +INSERT INTO next_compaction_queue_id VALUES(1); + + +