script/client/saga/db/db2.sql (62 lines of code) (raw):

-- -- 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. -- create table seata_state_machine_def ( id varchar(32) not null, name varchar(128) not null, tenant_id varchar(32) not null, app_name varchar(32) not null, type varchar(20), comment_ varchar(255), ver varchar(16) not null, gmt_create timestamp(3) not null, status varchar(2) not null, content clob(65536) inline length 2048, recover_strategy varchar(16), primary key(id) ); create table seata_state_machine_inst ( id varchar(128) not null, machine_id varchar(32) not null, tenant_id varchar(32) not null, parent_id varchar(128), gmt_started timestamp(3) not null, business_key varchar(48), uni_business_key varchar(128) not null generated always as( --Unique index does not allow empty columns on DB2 CASE WHEN "BUSINESS_KEY" IS NULL THEN "ID" ELSE "BUSINESS_KEY" END), start_params clob(65536) inline length 1024, gmt_end timestamp(3), excep blob(10240), end_params clob(65536) inline length 1024, status varchar(2), compensation_status varchar(2), is_running smallint, gmt_updated timestamp(3) not null, primary key(id) ); create unique index state_machine_inst_unibuzkey on seata_state_machine_inst(uni_business_key, tenant_id); create table seata_state_inst ( id varchar(48) not null, machine_inst_id varchar(128) not null, name varchar(128) not null, type varchar(20), service_name varchar(128), service_method varchar(128), service_type varchar(16), business_key varchar(48), state_id_compensated_for varchar(50), state_id_retried_for varchar(50), gmt_started timestamp(3) not null, is_for_update smallint, input_params clob(65536) inline length 1024, output_params clob(65536) inline length 1024, status varchar(2) not null, excep blob(10240), gmt_updated timestamp(3), gmt_end timestamp(3), primary key(id, machine_inst_id) );