This commit is contained in:
hanjian 2024-08-14 15:17:51 +08:00
parent 20a221c1a2
commit b610f94b2e
3483 changed files with 650965 additions and 0 deletions

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry including="**/*.java" kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="activiti-engine-5.16.4-sources"/>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.nondependency" value=""/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>ebpm-process-code</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
</natures>
<linkedResources>
<link>
<name>activiti-engine-5.16.4-sources</name>
<type>2</type>
<location>D:/JaneWorkspace/bpmn6/04_源码目录/bpm6/trunk/bpmc-engine/activiti-engine-5.16.4-sources</location>
</link>
</linkedResources>
</projectDescription>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,2 @@
Manifest-Version: 1.0

View File

@ -0,0 +1 @@
org.activiti.engine.impl.scripting.JuelScriptEngineFactory

View File

@ -0,0 +1,314 @@
create table ACT_GE_PROPERTY (
NAME_ varchar(64) not null,
VALUE_ varchar(300),
REV_ integer,
primary key (NAME_)
);
insert into ACT_GE_PROPERTY
values ('schema.version', '5.16.4.0', 1);
insert into ACT_GE_PROPERTY
values ('schema.history', 'create(5.16.4.0)', 1);
insert into ACT_GE_PROPERTY
values ('next.dbid', '1', 1);
create table ACT_GE_BYTEARRAY (
ID_ varchar(64) not null,
REV_ integer,
NAME_ varchar(255),
DEPLOYMENT_ID_ varchar(64),
BYTES_ BLOB,
GENERATED_ smallint check(GENERATED_ in (1,0)),
primary key (ID_)
);
create table ACT_RE_DEPLOYMENT (
ID_ varchar(64) not null,
NAME_ varchar(255),
CATEGORY_ varchar(255),
TENANT_ID_ varchar(255) default '',
DEPLOY_TIME_ timestamp,
primary key (ID_)
);
create table ACT_RE_MODEL (
ID_ varchar(64) not null,
REV_ integer,
NAME_ varchar(255),
KEY_ varchar(255),
CATEGORY_ varchar(255),
CREATE_TIME_ timestamp,
LAST_UPDATE_TIME_ timestamp,
VERSION_ integer,
META_INFO_ varchar(4000),
DEPLOYMENT_ID_ varchar(64),
EDITOR_SOURCE_VALUE_ID_ varchar(64),
EDITOR_SOURCE_EXTRA_VALUE_ID_ varchar(64),
TENANT_ID_ varchar(255) default '',
primary key (ID_)
);
create table ACT_RU_EXECUTION (
ID_ varchar(64) not null,
REV_ integer,
PROC_INST_ID_ varchar(64),
BUSINESS_KEY_ varchar(255),
PARENT_ID_ varchar(64),
PROC_DEF_ID_ varchar(64),
SUPER_EXEC_ varchar(64),
ACT_ID_ varchar(255),
IS_ACTIVE_ smallint check(IS_ACTIVE_ in (1,0)),
IS_CONCURRENT_ smallint check(IS_CONCURRENT_ in (1,0)),
IS_SCOPE_ smallint check(IS_SCOPE_ in (1,0)),
IS_EVENT_SCOPE_ smallint check(IS_EVENT_SCOPE_ in (1,0)),
SUSPENSION_STATE_ integer,
CACHED_ENT_STATE_ integer,
TENANT_ID_ varchar(255) default '',
NAME_ varchar(255),
primary key (ID_)
);
create table ACT_RU_JOB (
ID_ varchar(64) not null,
REV_ integer,
TYPE_ varchar(255) not null,
LOCK_EXP_TIME_ timestamp,
LOCK_OWNER_ varchar(255),
EXCLUSIVE_ smallint check(EXCLUSIVE_ in (1,0)),
EXECUTION_ID_ varchar(64),
PROCESS_INSTANCE_ID_ varchar(64),
PROC_DEF_ID_ varchar(64),
RETRIES_ integer,
EXCEPTION_STACK_ID_ varchar(64),
EXCEPTION_MSG_ varchar(4000),
DUEDATE_ timestamp,
REPEAT_ varchar(255),
HANDLER_TYPE_ varchar(255),
HANDLER_CFG_ varchar(4000),
TENANT_ID_ varchar(255) default '',
primary key (ID_)
);
create table ACT_RE_PROCDEF (
ID_ varchar(64) not null,
REV_ integer,
CATEGORY_ varchar(255),
NAME_ varchar(255),
KEY_ varchar(255) not null,
VERSION_ integer not null,
DEPLOYMENT_ID_ varchar(64),
RESOURCE_NAME_ varchar(4000),
DGRM_RESOURCE_NAME_ varchar(4000),
DESCRIPTION_ varchar(4000),
HAS_START_FORM_KEY_ smallint check(HAS_START_FORM_KEY_ in (1,0)),
SUSPENSION_STATE_ integer,
TENANT_ID_ varchar(255) not null default '',
primary key (ID_)
);
create table ACT_RU_TASK (
ID_ varchar(64) not null,
REV_ integer,
EXECUTION_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
PROC_DEF_ID_ varchar(64),
NAME_ varchar(255),
PARENT_TASK_ID_ varchar(64),
DESCRIPTION_ varchar(4000),
TASK_DEF_KEY_ varchar(255),
OWNER_ varchar(255),
ASSIGNEE_ varchar(255),
DELEGATION_ varchar(64),
PRIORITY_ integer,
CREATE_TIME_ timestamp,
DUE_DATE_ timestamp,
CATEGORY_ varchar(255),
SUSPENSION_STATE_ integer,
TENANT_ID_ varchar(255) default '',
FORM_KEY_ varchar(255),
primary key (ID_)
);
create table ACT_RU_IDENTITYLINK (
ID_ varchar(64) not null,
REV_ integer,
GROUP_ID_ varchar(255),
TYPE_ varchar(255),
USER_ID_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
PROC_DEF_ID_ varchar(64),
primary key (ID_)
);
create table ACT_RU_VARIABLE (
ID_ varchar(64) not null,
REV_ integer,
TYPE_ varchar(255) not null,
NAME_ varchar(255) not null,
EXECUTION_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
TASK_ID_ varchar(64),
BYTEARRAY_ID_ varchar(64),
DOUBLE_ double precision,
LONG_ bigint,
TEXT_ varchar(4000),
TEXT2_ varchar(4000),
primary key (ID_)
);
create table ACT_RU_EVENT_SUBSCR (
ID_ varchar(64) not null,
REV_ integer,
EVENT_TYPE_ varchar(255) not null,
EVENT_NAME_ varchar(255),
EXECUTION_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
ACTIVITY_ID_ varchar(64),
CONFIGURATION_ varchar(255),
CREATED_ timestamp not null,
PROC_DEF_ID_ varchar(64),
TENANT_ID_ varchar(255) default '',
primary key (ID_)
);
create table ACT_EVT_LOG (
LOG_NR_ bigint not null GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
TYPE_ varchar(64),
PROC_DEF_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
TASK_ID_ varchar(64),
TIME_STAMP_ timestamp not null,
USER_ID_ varchar(255),
DATA_ BLOB,
LOCK_OWNER_ varchar(255),
LOCK_TIME_ timestamp,
IS_PROCESSED_ integer default 0,
primary key (LOG_NR_)
);
create index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION(BUSINESS_KEY_);
create index ACT_IDX_TASK_CREATE on ACT_RU_TASK(CREATE_TIME_);
create index ACT_IDX_IDENT_LNK_USER on ACT_RU_IDENTITYLINK(USER_ID_);
create index ACT_IDX_IDENT_LNK_GROUP on ACT_RU_IDENTITYLINK(GROUP_ID_);
create index ACT_IDX_EVENT_SUBSCR_CONFIG_ on ACT_RU_EVENT_SUBSCR(CONFIGURATION_);
create index ACT_IDX_VARIABLE_TASK_ID on ACT_RU_VARIABLE(TASK_ID_);
create index ACT_IDX_ATHRZ_PROCEDEF on ACT_RU_IDENTITYLINK(PROC_DEF_ID_);
create index ACT_IDX_EXECUTION_PROC on ACT_RU_EXECUTION(PROC_DEF_ID_);
create index ACT_IDX_EXECUTION_PARENT on ACT_RU_EXECUTION(PARENT_ID_);
create index ACT_IDX_EXECUTION_SUPER on ACT_RU_EXECUTION(SUPER_EXEC_);
create index ACT_IDX_EXECUTION_IDANDREV on ACT_RU_EXECUTION(ID_, REV_);
create index ACT_IDX_VARIABLE_BA on ACT_RU_VARIABLE(BYTEARRAY_ID_);
create index ACT_IDX_VARIABLE_EXEC on ACT_RU_VARIABLE(EXECUTION_ID_);
create index ACT_IDX_VARIABLE_PROCINST on ACT_RU_VARIABLE(PROC_INST_ID_);
create index ACT_IDX_IDENT_LNK_TASK on ACT_RU_IDENTITYLINK(TASK_ID_);
create index ACT_IDX_IDENT_LNK_PROCINST on ACT_RU_IDENTITYLINK(PROC_INST_ID_);
create index ACT_IDX_IDENT_LNK_PROCDEF on ACT_RU_IDENTITYLINK(PROC_DEF_ID_);
create index ACT_IDX_TASK_EXEC on ACT_RU_TASK(EXECUTION_ID_);
create index ACT_IDX_TASK_PROCINST on ACT_RU_TASK(PROC_INST_ID_);
create index ACT_IDX_EXEC_PROC_INST_ID on ACT_RU_EXECUTION(PROC_INST_ID_);
create index ACT_IDX_TASK_PROC_DEF_ID on ACT_RU_TASK(PROC_DEF_ID_);
create index ACT_IDX_EVENT_SUBSCR_EXEC_ID on ACT_RU_EVENT_SUBSCR(EXECUTION_ID_);
create index ACT_IDX_JOB_EXCEPTION_STACK_ID on ACT_RU_JOB(EXCEPTION_STACK_ID_);
alter table ACT_GE_BYTEARRAY
add constraint ACT_FK_BYTEARR_DEPL
foreign key (DEPLOYMENT_ID_)
references ACT_RE_DEPLOYMENT (ID_);
alter table ACT_RE_PROCDEF
add constraint ACT_UNIQ_PROCDEF
unique (KEY_,VERSION_, TENANT_ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PARENT
foreign key (PARENT_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_SUPER
foreign key (SUPER_EXEC_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PROCDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF (ID_);
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_TSKASS_TASK
foreign key (TASK_ID_)
references ACT_RU_TASK (ID_);
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_ATHRZ_PROCEDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF (ID_);
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_IDL_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_EXE
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_PROCDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF (ID_);
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_EXE
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION(ID_);
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_BYTEARRAY
foreign key (BYTEARRAY_ID_)
references ACT_GE_BYTEARRAY (ID_);
alter table ACT_RU_JOB
add constraint ACT_FK_JOB_EXCEPTION
foreign key (EXCEPTION_STACK_ID_)
references ACT_GE_BYTEARRAY (ID_);
alter table ACT_RU_EVENT_SUBSCR
add constraint ACT_FK_EVENT_EXEC
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION(ID_);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_SOURCE
foreign key (EDITOR_SOURCE_VALUE_ID_)
references ACT_GE_BYTEARRAY (ID_);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_SOURCE_EXTRA
foreign key (EDITOR_SOURCE_EXTRA_VALUE_ID_)
references ACT_GE_BYTEARRAY (ID_);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_DEPLOYMENT
foreign key (DEPLOYMENT_ID_)
references ACT_RE_DEPLOYMENT (ID_);

View File

@ -0,0 +1,154 @@
create table ACT_HI_PROCINST (
ID_ varchar(64) not null,
PROC_INST_ID_ varchar(64) not null,
BUSINESS_KEY_ varchar(255),
PROC_DEF_ID_ varchar(64) not null,
START_TIME_ timestamp not null,
END_TIME_ timestamp,
DURATION_ bigint,
START_USER_ID_ varchar(255),
START_ACT_ID_ varchar(255),
END_ACT_ID_ varchar(255),
SUPER_PROCESS_INSTANCE_ID_ varchar(64),
DELETE_REASON_ varchar(4000),
TENANT_ID_ varchar(255) default '',
NAME_ varchar(255),
primary key (ID_)
);
alter table ACT_HI_PROCINST add constraint PROC_INST_ID_ unique(PROC_INST_ID_);
create table ACT_HI_ACTINST (
ID_ varchar(64) not null,
PROC_DEF_ID_ varchar(64) not null,
PROC_INST_ID_ varchar(64) not null,
EXECUTION_ID_ varchar(64) not null,
ACT_ID_ varchar(255) not null,
TASK_ID_ varchar(64),
CALL_PROC_INST_ID_ varchar(64),
ACT_NAME_ varchar(255),
ACT_TYPE_ varchar(255) not null,
OWNER_ varchar(64),
ASSIGNEE_ varchar(255),
START_TIME_ timestamp not null,
END_TIME_ timestamp,
DURATION_ bigint,
TENANT_ID_ varchar(255) default '',
primary key (ID_)
);
create table ACT_HI_TASKINST (
ID_ varchar(64) not null,
PROC_DEF_ID_ varchar(64),
TASK_DEF_KEY_ varchar(255),
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
NAME_ varchar(255),
PARENT_TASK_ID_ varchar(64),
DESCRIPTION_ varchar(4000),
OWNER_ varchar(255),
ASSIGNEE_ varchar(255),
START_TIME_ timestamp not null,
CLAIM_TIME_ timestamp,
END_TIME_ timestamp,
DURATION_ bigint,
DELETE_REASON_ varchar(4000),
PRIORITY_ integer,
DUE_DATE_ timestamp,
FORM_KEY_ varchar(255),
CATEGORY_ varchar(255),
TENANT_ID_ varchar(255) default '',
primary key (ID_)
);
create table ACT_HI_VARINST (
ID_ varchar(64) not null,
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
TASK_ID_ varchar(64),
NAME_ varchar(255) not null,
VAR_TYPE_ varchar(100),
REV_ integer,
BYTEARRAY_ID_ varchar(64),
DOUBLE_ double precision,
LONG_ bigint,
TEXT_ varchar(4000),
TEXT2_ varchar(4000),
CREATE_TIME_ timestamp,
LAST_UPDATED_TIME_ timestamp,
primary key (ID_)
);
create table ACT_HI_DETAIL (
ID_ varchar(64) not null,
TYPE_ varchar(255) not null,
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
TASK_ID_ varchar(64),
ACT_INST_ID_ varchar(64),
NAME_ varchar(255) not null,
VAR_TYPE_ varchar(255),
REV_ integer,
TIME_ timestamp not null,
BYTEARRAY_ID_ varchar(64),
DOUBLE_ double precision,
LONG_ bigint,
TEXT_ varchar(4000),
TEXT2_ varchar(4000),
primary key (ID_)
);
create table ACT_HI_COMMENT (
ID_ varchar(64) not null,
TYPE_ varchar(255),
TIME_ timestamp not null,
USER_ID_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
ACTION_ varchar(255),
MESSAGE_ varchar(4000),
FULL_MSG_ BLOB,
primary key (ID_)
);
create table ACT_HI_ATTACHMENT (
ID_ varchar(64) not null,
REV_ integer,
USER_ID_ varchar(255),
NAME_ varchar(255),
DESCRIPTION_ varchar(4000),
TYPE_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
URL_ varchar(4000),
CONTENT_ID_ varchar(64),
primary key (ID_)
);
create table ACT_HI_IDENTITYLINK (
ID_ varchar(64) not null,
GROUP_ID_ varchar(255),
TYPE_ varchar(255),
USER_ID_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
primary key (ID_)
);
create index ACT_IDX_HI_PRO_INST_END on ACT_HI_PROCINST(END_TIME_);
create index ACT_IDX_HI_PRO_I_BUSKEY on ACT_HI_PROCINST(BUSINESS_KEY_);
create index ACT_IDX_HI_ACT_INST_START on ACT_HI_ACTINST(START_TIME_);
create index ACT_IDX_HI_ACT_INST_END on ACT_HI_ACTINST(END_TIME_);
create index ACT_IDX_HI_DETAIL_PROC_INST on ACT_HI_DETAIL(PROC_INST_ID_);
create index ACT_IDX_HI_DETAIL_ACT_INST on ACT_HI_DETAIL(ACT_INST_ID_);
create index ACT_IDX_HI_DETAIL_TIME on ACT_HI_DETAIL(TIME_);
create index ACT_IDX_HI_DETAIL_NAME on ACT_HI_DETAIL(NAME_);
create index ACT_IDX_HI_DETAIL_TASK_ID on ACT_HI_DETAIL(TASK_ID_);
create index ACT_IDX_HI_PROCVAR_PROC_INST on ACT_HI_VARINST(PROC_INST_ID_);
create index ACT_IDX_HI_PROCVAR_NAME_TYPE on ACT_HI_VARINST(NAME_, VAR_TYPE_);
create index ACT_IDX_HI_PROCVAR_TASK_ID on ACT_HI_VARINST(TASK_ID_);
create index ACT_IDX_HI_ACT_INST_PROCINST on ACT_HI_ACTINST(PROC_INST_ID_, ACT_ID_);
create index ACT_IDX_HI_ACT_INST_EXEC on ACT_HI_ACTINST(EXECUTION_ID_, ACT_ID_);
create index ACT_IDX_HI_IDENT_LNK_USER on ACT_HI_IDENTITYLINK(USER_ID_);
create index ACT_IDX_HI_IDENT_LNK_TASK on ACT_HI_IDENTITYLINK(TASK_ID_);
create index ACT_IDX_HI_IDENT_LNK_PROCINST on ACT_HI_IDENTITYLINK(PROC_INST_ID_);

View File

@ -0,0 +1,46 @@
create table ACT_ID_GROUP (
ID_ varchar(64) not null,
REV_ integer,
NAME_ varchar(255),
TYPE_ varchar(255),
primary key (ID_)
);
create table ACT_ID_MEMBERSHIP (
USER_ID_ varchar(64) not null,
GROUP_ID_ varchar(64) not null,
primary key (USER_ID_, GROUP_ID_)
);
create table ACT_ID_USER (
ID_ varchar(64) not null,
REV_ integer,
FIRST_ varchar(255),
LAST_ varchar(255),
EMAIL_ varchar(255),
PWD_ varchar(255),
PICTURE_ID_ varchar(64),
primary key (ID_)
);
create table ACT_ID_INFO (
ID_ varchar(64) not null,
REV_ integer,
USER_ID_ varchar(64),
TYPE_ varchar(64),
KEY_ varchar(255),
VALUE_ varchar(255),
PASSWORD_ BLOB,
PARENT_ID_ varchar(255),
primary key (ID_)
);
alter table ACT_ID_MEMBERSHIP
add constraint ACT_FK_MEMB_GROUP
foreign key (GROUP_ID_)
references ACT_ID_GROUP (ID_);
alter table ACT_ID_MEMBERSHIP
add constraint ACT_FK_MEMB_USER
foreign key (USER_ID_)
references ACT_ID_USER (ID_);

View File

@ -0,0 +1,297 @@
create table ACT_GE_PROPERTY (
NAME_ varchar(64),
VALUE_ varchar(300),
REV_ integer,
primary key (NAME_)
);
insert into ACT_GE_PROPERTY
values ('schema.version', '5.16.4.0', 1);
insert into ACT_GE_PROPERTY
values ('schema.history', 'create(5.16.4.0)', 1);
insert into ACT_GE_PROPERTY
values ('next.dbid', '1', 1);
create table ACT_GE_BYTEARRAY (
ID_ varchar(64),
REV_ integer,
NAME_ varchar(255),
DEPLOYMENT_ID_ varchar(64),
BYTES_ longvarbinary,
GENERATED_ bit,
primary key (ID_)
);
create table ACT_RE_DEPLOYMENT (
ID_ varchar(64),
NAME_ varchar(255),
CATEGORY_ varchar(255),
TENANT_ID_ varchar(255) default '',
DEPLOY_TIME_ timestamp,
primary key (ID_)
);
create table ACT_RE_MODEL (
ID_ varchar(64) not null,
REV_ integer,
NAME_ varchar(255),
KEY_ varchar(255),
CATEGORY_ varchar(255),
CREATE_TIME_ timestamp,
LAST_UPDATE_TIME_ timestamp,
VERSION_ integer,
META_INFO_ varchar(4000),
DEPLOYMENT_ID_ varchar(64),
EDITOR_SOURCE_VALUE_ID_ varchar(64),
EDITOR_SOURCE_EXTRA_VALUE_ID_ varchar(64),
TENANT_ID_ varchar(255) default '',
primary key (ID_)
);
create table ACT_RU_EXECUTION (
ID_ varchar(64),
REV_ integer,
PROC_INST_ID_ varchar(64),
BUSINESS_KEY_ varchar(255),
PARENT_ID_ varchar(64),
PROC_DEF_ID_ varchar(64),
SUPER_EXEC_ varchar(64),
ACT_ID_ varchar(255),
IS_ACTIVE_ bit,
IS_CONCURRENT_ bit,
IS_SCOPE_ bit,
IS_EVENT_SCOPE_ bit,
SUSPENSION_STATE_ integer,
CACHED_ENT_STATE_ integer,
TENANT_ID_ varchar(255) default '',
NAME_ varchar(255),
primary key (ID_)
);
create table ACT_RU_JOB (
ID_ varchar(64) NOT NULL,
REV_ integer,
TYPE_ varchar(255) NOT NULL,
LOCK_EXP_TIME_ timestamp,
LOCK_OWNER_ varchar(255),
EXCLUSIVE_ boolean,
EXECUTION_ID_ varchar(64),
PROCESS_INSTANCE_ID_ varchar(64),
PROC_DEF_ID_ varchar(64),
RETRIES_ integer,
EXCEPTION_STACK_ID_ varchar(64),
EXCEPTION_MSG_ varchar(4000),
DUEDATE_ timestamp,
REPEAT_ varchar(255),
HANDLER_TYPE_ varchar(255),
HANDLER_CFG_ varchar(4000),
TENANT_ID_ varchar(255) default '',
primary key (ID_)
);
create table ACT_RE_PROCDEF (
ID_ varchar(64) NOT NULL,
REV_ integer,
CATEGORY_ varchar(255),
NAME_ varchar(255),
KEY_ varchar(255) NOT NULL,
VERSION_ integer NOT NULL,
DEPLOYMENT_ID_ varchar(64),
RESOURCE_NAME_ varchar(4000),
DGRM_RESOURCE_NAME_ varchar(4000),
DESCRIPTION_ varchar(4000),
HAS_START_FORM_KEY_ bit,
SUSPENSION_STATE_ integer,
TENANT_ID_ varchar(255) default '',
primary key (ID_)
);
create table ACT_RU_TASK (
ID_ varchar(64),
REV_ integer,
EXECUTION_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
PROC_DEF_ID_ varchar(64),
NAME_ varchar(255),
PARENT_TASK_ID_ varchar(64),
DESCRIPTION_ varchar(4000),
TASK_DEF_KEY_ varchar(255),
OWNER_ varchar(255),
ASSIGNEE_ varchar(255),
DELEGATION_ varchar(64),
PRIORITY_ integer,
CREATE_TIME_ timestamp,
DUE_DATE_ timestamp,
CATEGORY_ varchar(255),
SUSPENSION_STATE_ integer,
TENANT_ID_ varchar(255) default '',
FORM_KEY_ varchar(255),
primary key (ID_)
);
create table ACT_RU_IDENTITYLINK (
ID_ varchar(64),
REV_ integer,
GROUP_ID_ varchar(255),
TYPE_ varchar(255),
USER_ID_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64) null,
PROC_DEF_ID_ varchar(64),
primary key (ID_)
);
create table ACT_RU_VARIABLE (
ID_ varchar(64) not null,
REV_ integer,
TYPE_ varchar(255) not null,
NAME_ varchar(255) not null,
EXECUTION_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
TASK_ID_ varchar(64),
BYTEARRAY_ID_ varchar(64),
DOUBLE_ double,
LONG_ bigint,
TEXT_ varchar(4000),
TEXT2_ varchar(4000),
primary key (ID_)
);
create table ACT_RU_EVENT_SUBSCR (
ID_ varchar(64) not null,
REV_ integer,
EVENT_TYPE_ varchar(255) not null,
EVENT_NAME_ varchar(255),
EXECUTION_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
ACTIVITY_ID_ varchar(64),
CONFIGURATION_ varchar(255),
CREATED_ timestamp not null,
PROC_DEF_ID_ varchar(64),
TENANT_ID_ varchar(255) default '',
primary key (ID_)
);
create table ACT_EVT_LOG (
LOG_NR_ identity,
TYPE_ varchar(64),
PROC_DEF_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
TASK_ID_ varchar(64),
TIME_STAMP_ timestamp not null,
USER_ID_ varchar(255),
DATA_ longvarbinary,
LOCK_OWNER_ varchar(255),
LOCK_TIME_ timestamp,
IS_PROCESSED_ bit default 0
);
create index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION(BUSINESS_KEY_);
create index ACT_IDX_TASK_CREATE on ACT_RU_TASK(CREATE_TIME_);
create index ACT_IDX_IDENT_LNK_USER on ACT_RU_IDENTITYLINK(USER_ID_);
create index ACT_IDX_IDENT_LNK_GROUP on ACT_RU_IDENTITYLINK(GROUP_ID_);
create index ACT_IDX_EVENT_SUBSCR_CONFIG_ on ACT_RU_EVENT_SUBSCR(CONFIGURATION_);
create index ACT_IDX_VARIABLE_TASK_ID on ACT_RU_VARIABLE(TASK_ID_);
create index ACT_IDX_ATHRZ_PROCEDEF on ACT_RU_IDENTITYLINK(PROC_DEF_ID_);
alter table ACT_GE_BYTEARRAY
add constraint ACT_FK_BYTEARR_DEPL
foreign key (DEPLOYMENT_ID_)
references ACT_RE_DEPLOYMENT;
alter table ACT_RE_PROCDEF
add constraint ACT_UNIQ_PROCDEF
unique (KEY_,VERSION_, TENANT_ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION;
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PARENT
foreign key (PARENT_ID_)
references ACT_RU_EXECUTION;
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_SUPER
foreign key (SUPER_EXEC_)
references ACT_RU_EXECUTION;
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PROCDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF (ID_);
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_TSKASS_TASK
foreign key (TASK_ID_)
references ACT_RU_TASK;
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_ATHRZ_PROCEDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF;
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_IDL_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_EXE
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION;
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION;
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_PROCDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF;
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_EXE
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION;
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION;
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_BYTEARRAY
foreign key (BYTEARRAY_ID_)
references ACT_GE_BYTEARRAY;
alter table ACT_RU_JOB
add constraint ACT_FK_JOB_EXCEPTION
foreign key (EXCEPTION_STACK_ID_)
references ACT_GE_BYTEARRAY;
alter table ACT_RU_EVENT_SUBSCR
add constraint ACT_FK_EVENT_EXEC
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION;
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_SOURCE
foreign key (EDITOR_SOURCE_VALUE_ID_)
references ACT_GE_BYTEARRAY (ID_);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_SOURCE_EXTRA
foreign key (EDITOR_SOURCE_EXTRA_VALUE_ID_)
references ACT_GE_BYTEARRAY (ID_);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_DEPLOYMENT
foreign key (DEPLOYMENT_ID_)
references ACT_RE_DEPLOYMENT (ID_);

View File

@ -0,0 +1,152 @@
create table ACT_HI_PROCINST (
ID_ varchar(64) not null,
PROC_INST_ID_ varchar(64) not null,
BUSINESS_KEY_ varchar(255),
PROC_DEF_ID_ varchar(64) not null,
START_TIME_ timestamp not null,
END_TIME_ timestamp,
DURATION_ bigint,
START_USER_ID_ varchar(255),
START_ACT_ID_ varchar(255),
END_ACT_ID_ varchar(255),
SUPER_PROCESS_INSTANCE_ID_ varchar(64),
DELETE_REASON_ varchar(4000),
TENANT_ID_ varchar(255) default '',
NAME_ varchar(255),
primary key (ID_),
unique (PROC_INST_ID_)
);
create table ACT_HI_ACTINST (
ID_ varchar(64) not null,
PROC_DEF_ID_ varchar(64) not null,
PROC_INST_ID_ varchar(64) not null,
EXECUTION_ID_ varchar(64) not null,
ACT_ID_ varchar(255) not null,
TASK_ID_ varchar(64),
CALL_PROC_INST_ID_ varchar(64),
ACT_NAME_ varchar(255),
ACT_TYPE_ varchar(255) not null,
ASSIGNEE_ varchar(255),
START_TIME_ timestamp not null,
END_TIME_ timestamp,
DURATION_ bigint,
TENANT_ID_ varchar(255) default '',
primary key (ID_)
);
create table ACT_HI_TASKINST (
ID_ varchar(64) not null,
PROC_DEF_ID_ varchar(64),
TASK_DEF_KEY_ varchar(255),
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
NAME_ varchar(255),
PARENT_TASK_ID_ varchar(64),
DESCRIPTION_ varchar(4000),
OWNER_ varchar(255),
ASSIGNEE_ varchar(255),
START_TIME_ timestamp not null,
CLAIM_TIME_ timestamp,
END_TIME_ timestamp,
DURATION_ bigint,
DELETE_REASON_ varchar(4000),
PRIORITY_ integer,
DUE_DATE_ timestamp,
FORM_KEY_ varchar(255),
CATEGORY_ varchar(255),
TENANT_ID_ varchar(255) default '',
primary key (ID_)
);
create table ACT_HI_VARINST (
ID_ varchar(64) not null,
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
TASK_ID_ varchar(64),
NAME_ varchar(255) not null,
VAR_TYPE_ varchar(100),
REV_ integer,
BYTEARRAY_ID_ varchar(64),
DOUBLE_ double,
LONG_ bigint,
TEXT_ varchar(4000),
TEXT2_ varchar(4000),
CREATE_TIME_ timestamp,
LAST_UPDATED_TIME_ timestamp,
primary key (ID_)
);
create table ACT_HI_DETAIL (
ID_ varchar(64) not null,
TYPE_ varchar(255) not null,
TIME_ timestamp not null,
NAME_ varchar(255),
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
TASK_ID_ varchar(64),
ACT_INST_ID_ varchar(64),
VAR_TYPE_ varchar(255),
REV_ integer,
BYTEARRAY_ID_ varchar(64),
DOUBLE_ double,
LONG_ bigint,
TEXT_ varchar(4000),
TEXT2_ varchar(4000),
primary key (ID_)
);
create table ACT_HI_COMMENT (
ID_ varchar(64) not null,
TYPE_ varchar(255),
TIME_ timestamp not null,
USER_ID_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
ACTION_ varchar(255),
MESSAGE_ varchar(4000),
FULL_MSG_ longvarbinary,
primary key (ID_)
);
create table ACT_HI_ATTACHMENT (
ID_ varchar(64) not null,
REV_ integer,
USER_ID_ varchar(255),
NAME_ varchar(255),
DESCRIPTION_ varchar(4000),
TYPE_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
URL_ varchar(4000),
CONTENT_ID_ varchar(64),
primary key (ID_)
);
create table ACT_HI_IDENTITYLINK (
ID_ varchar(64),
GROUP_ID_ varchar(255),
TYPE_ varchar(255),
USER_ID_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64) null,
primary key (ID_)
);
create index ACT_IDX_HI_PRO_INST_END on ACT_HI_PROCINST(END_TIME_);
create index ACT_IDX_HI_PRO_I_BUSKEY on ACT_HI_PROCINST(BUSINESS_KEY_);
create index ACT_IDX_HI_ACT_INST_START on ACT_HI_ACTINST(START_TIME_);
create index ACT_IDX_HI_ACT_INST_END on ACT_HI_ACTINST(END_TIME_);
create index ACT_IDX_HI_DETAIL_PROC_INST on ACT_HI_DETAIL(PROC_INST_ID_);
create index ACT_IDX_HI_DETAIL_ACT_INST on ACT_HI_DETAIL(ACT_INST_ID_);
create index ACT_IDX_HI_DETAIL_TIME on ACT_HI_DETAIL(TIME_);
create index ACT_IDX_HI_DETAIL_NAME on ACT_HI_DETAIL(NAME_);
create index ACT_IDX_HI_DETAIL_TASK_ID on ACT_HI_DETAIL(TASK_ID_);
create index ACT_IDX_HI_PROCVAR_PROC_INST on ACT_HI_VARINST(PROC_INST_ID_);
create index ACT_IDX_HI_PROCVAR_NAME_TYPE on ACT_HI_VARINST(NAME_, VAR_TYPE_);
create index ACT_IDX_HI_PROCVAR_TASK_ID on ACT_HI_VARINST(TASK_ID_);
create index ACT_IDX_HI_ACT_INST_PROCINST on ACT_HI_ACTINST(PROC_INST_ID_, ACT_ID_);
create index ACT_IDX_HI_IDENT_LNK_USER on ACT_HI_IDENTITYLINK(USER_ID_);
create index ACT_IDX_HI_IDENT_LNK_TASK on ACT_HI_IDENTITYLINK(TASK_ID_);
create index ACT_IDX_HI_IDENT_LNK_PROCINST on ACT_HI_IDENTITYLINK(PROC_INST_ID_);
create index ACT_IDX_HI_ACT_INST_EXEC on ACT_HI_ACTINST(EXECUTION_ID_, ACT_ID_);

View File

@ -0,0 +1,46 @@
create table ACT_ID_GROUP (
ID_ varchar(64),
REV_ integer,
NAME_ varchar(255),
TYPE_ varchar(255),
primary key (ID_)
);
create table ACT_ID_MEMBERSHIP (
USER_ID_ varchar(64),
GROUP_ID_ varchar(64),
primary key (USER_ID_, GROUP_ID_)
);
create table ACT_ID_USER (
ID_ varchar(64),
REV_ integer,
FIRST_ varchar(255),
LAST_ varchar(255),
EMAIL_ varchar(255),
PWD_ varchar(255),
PICTURE_ID_ varchar(64),
primary key (ID_)
);
create table ACT_ID_INFO (
ID_ varchar(64),
REV_ integer,
USER_ID_ varchar(64),
TYPE_ varchar(64),
KEY_ varchar(255),
VALUE_ varchar(255),
PASSWORD_ longvarbinary,
PARENT_ID_ varchar(255),
primary key (ID_)
);
alter table ACT_ID_MEMBERSHIP
add constraint ACT_FK_MEMB_GROUP
foreign key (GROUP_ID_)
references ACT_ID_GROUP;
alter table ACT_ID_MEMBERSHIP
add constraint ACT_FK_MEMB_USER
foreign key (USER_ID_)
references ACT_ID_USER;

View File

@ -0,0 +1,308 @@
create table ACT_GE_PROPERTY (
NAME_ nvarchar(64),
VALUE_ nvarchar(300),
REV_ int,
primary key (NAME_)
);
insert into ACT_GE_PROPERTY
values ('schema.version', '5.16.4.0', 1);
insert into ACT_GE_PROPERTY
values ('schema.history', 'create(5.16.4.0)', 1);
insert into ACT_GE_PROPERTY
values ('next.dbid', '1', 1);
create table ACT_GE_BYTEARRAY (
ID_ nvarchar(64),
REV_ int,
NAME_ nvarchar(255),
DEPLOYMENT_ID_ nvarchar(64),
BYTES_ varbinary(max),
GENERATED_ tinyint,
primary key (ID_)
);
create table ACT_RE_DEPLOYMENT (
ID_ nvarchar(64),
NAME_ nvarchar(255),
CATEGORY_ nvarchar(255),
TENANT_ID_ nvarchar(255) default '',
DEPLOY_TIME_ datetime,
primary key (ID_)
);
create table ACT_RE_MODEL (
ID_ nvarchar(64) not null,
REV_ int,
NAME_ nvarchar(255),
KEY_ nvarchar(255),
CATEGORY_ nvarchar(255),
CREATE_TIME_ datetime,
LAST_UPDATE_TIME_ datetime,
VERSION_ int,
META_INFO_ nvarchar(4000),
DEPLOYMENT_ID_ nvarchar(64),
EDITOR_SOURCE_VALUE_ID_ nvarchar(64),
EDITOR_SOURCE_EXTRA_VALUE_ID_ nvarchar(64),
TENANT_ID_ nvarchar(255) default '',
primary key (ID_)
);
create table ACT_RU_EXECUTION (
ID_ nvarchar(64),
REV_ int,
PROC_INST_ID_ nvarchar(64),
BUSINESS_KEY_ nvarchar(255),
PARENT_ID_ nvarchar(64),
PROC_DEF_ID_ nvarchar(64),
SUPER_EXEC_ nvarchar(64),
ACT_ID_ nvarchar(255),
IS_ACTIVE_ tinyint,
IS_CONCURRENT_ tinyint,
IS_SCOPE_ tinyint,
IS_EVENT_SCOPE_ tinyint,
SUSPENSION_STATE_ tinyint,
CACHED_ENT_STATE_ int,
TENANT_ID_ nvarchar(255) default '',
NAME_ nvarchar(255),
primary key (ID_)
);
create table ACT_RU_JOB (
ID_ nvarchar(64) NOT NULL,
REV_ int,
TYPE_ nvarchar(255) NOT NULL,
LOCK_EXP_TIME_ datetime,
LOCK_OWNER_ nvarchar(255),
EXCLUSIVE_ bit,
EXECUTION_ID_ nvarchar(64),
PROCESS_INSTANCE_ID_ nvarchar(64),
PROC_DEF_ID_ nvarchar(64),
RETRIES_ int,
EXCEPTION_STACK_ID_ nvarchar(64),
EXCEPTION_MSG_ nvarchar(4000),
DUEDATE_ datetime NULL,
REPEAT_ nvarchar(255),
HANDLER_TYPE_ nvarchar(255),
HANDLER_CFG_ nvarchar(4000),
TENANT_ID_ nvarchar(255) default '',
primary key (ID_)
);
create table ACT_RE_PROCDEF (
ID_ nvarchar(64) not null,
REV_ int,
CATEGORY_ nvarchar(255),
NAME_ nvarchar(255),
KEY_ nvarchar(255) not null,
VERSION_ int not null,
DEPLOYMENT_ID_ nvarchar(64),
RESOURCE_NAME_ nvarchar(4000),
DGRM_RESOURCE_NAME_ nvarchar(4000),
DESCRIPTION_ nvarchar(4000),
HAS_START_FORM_KEY_ tinyint,
SUSPENSION_STATE_ tinyint,
TENANT_ID_ nvarchar(255) default '',
primary key (ID_)
);
create table ACT_RU_TASK (
ID_ nvarchar(64),
REV_ int,
EXECUTION_ID_ nvarchar(64),
PROC_INST_ID_ nvarchar(64),
PROC_DEF_ID_ nvarchar(64),
NAME_ nvarchar(255),
PARENT_TASK_ID_ nvarchar(64),
DESCRIPTION_ nvarchar(4000),
TASK_DEF_KEY_ nvarchar(255),
OWNER_ nvarchar(255),
ASSIGNEE_ nvarchar(255),
DELEGATION_ nvarchar(64),
PRIORITY_ int,
CREATE_TIME_ datetime,
DUE_DATE_ datetime,
CATEGORY_ nvarchar(255),
SUSPENSION_STATE_ int,
TENANT_ID_ nvarchar(255) default '',
FORM_KEY_ nvarchar(255),
primary key (ID_)
);
create table ACT_RU_IDENTITYLINK (
ID_ nvarchar(64),
REV_ int,
GROUP_ID_ nvarchar(255),
TYPE_ nvarchar(255),
USER_ID_ nvarchar(255),
TASK_ID_ nvarchar(64),
PROC_INST_ID_ nvarchar(64),
PROC_DEF_ID_ nvarchar(64),
primary key (ID_)
);
create table ACT_RU_VARIABLE (
ID_ nvarchar(64) not null,
REV_ int,
TYPE_ nvarchar(255) not null,
NAME_ nvarchar(255) not null,
EXECUTION_ID_ nvarchar(64),
PROC_INST_ID_ nvarchar(64),
TASK_ID_ nvarchar(64),
BYTEARRAY_ID_ nvarchar(64),
DOUBLE_ double precision,
LONG_ numeric(19,0),
TEXT_ nvarchar(4000),
TEXT2_ nvarchar(4000),
primary key (ID_)
);
create table ACT_RU_EVENT_SUBSCR (
ID_ nvarchar(64) not null,
REV_ int,
EVENT_TYPE_ nvarchar(255) not null,
EVENT_NAME_ nvarchar(255),
EXECUTION_ID_ nvarchar(64),
PROC_INST_ID_ nvarchar(64),
ACTIVITY_ID_ nvarchar(64),
CONFIGURATION_ nvarchar(255),
CREATED_ datetime not null,
PROC_DEF_ID_ nvarchar(64),
TENANT_ID_ nvarchar(255) default '',
primary key (ID_)
);
create table ACT_EVT_LOG (
LOG_NR_ numeric(19,0) IDENTITY(1,1),
TYPE_ nvarchar(64),
PROC_DEF_ID_ nvarchar(64),
PROC_INST_ID_ nvarchar(64),
EXECUTION_ID_ nvarchar(64),
TASK_ID_ nvarchar(64),
TIME_STAMP_ datetime not null,
USER_ID_ nvarchar(255),
DATA_ varbinary(max),
LOCK_OWNER_ nvarchar(255),
LOCK_TIME_ datetime null,
IS_PROCESSED_ tinyint default 0,
primary key (LOG_NR_)
);
create index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION(BUSINESS_KEY_);
create index ACT_IDX_TASK_CREATE on ACT_RU_TASK(CREATE_TIME_);
create index ACT_IDX_IDENT_LNK_USER on ACT_RU_IDENTITYLINK(USER_ID_);
create index ACT_IDX_IDENT_LNK_GROUP on ACT_RU_IDENTITYLINK(GROUP_ID_);
create index ACT_IDX_EVENT_SUBSCR_CONFIG_ on ACT_RU_EVENT_SUBSCR(CONFIGURATION_);
create index ACT_IDX_VARIABLE_TASK_ID on ACT_RU_VARIABLE(TASK_ID_);
create index ACT_IDX_ATHRZ_PROCEDEF on ACT_RU_IDENTITYLINK(PROC_DEF_ID_);
create index ACT_IDX_EXECUTION_PROC on ACT_RU_EXECUTION(PROC_DEF_ID_);
create index ACT_IDX_EXECUTION_PARENT on ACT_RU_EXECUTION(PARENT_ID_);
create index ACT_IDX_EXECUTION_SUPER on ACT_RU_EXECUTION(SUPER_EXEC_);
create index ACT_IDX_EXECUTION_IDANDREV on ACT_RU_EXECUTION(ID_, REV_);
create index ACT_IDX_VARIABLE_BA on ACT_RU_VARIABLE(BYTEARRAY_ID_);
create index ACT_IDX_VARIABLE_EXEC on ACT_RU_VARIABLE(EXECUTION_ID_);
create index ACT_IDX_VARIABLE_PROCINST on ACT_RU_VARIABLE(PROC_INST_ID_);
create index ACT_IDX_IDENT_LNK_TASK on ACT_RU_IDENTITYLINK(TASK_ID_);
create index ACT_IDX_IDENT_LNK_PROCINST on ACT_RU_IDENTITYLINK(PROC_INST_ID_);
create index ACT_IDX_TASK_EXEC on ACT_RU_TASK(EXECUTION_ID_);
create index ACT_IDX_TASK_PROCINST on ACT_RU_TASK(PROC_INST_ID_);
create index ACT_IDX_EXEC_PROC_INST_ID on ACT_RU_EXECUTION(PROC_INST_ID_);
create index ACT_IDX_TASK_PROC_DEF_ID on ACT_RU_TASK(PROC_DEF_ID_);
create index ACT_IDX_EVENT_SUBSCR_EXEC_ID on ACT_RU_EVENT_SUBSCR(EXECUTION_ID_);
create index ACT_IDX_JOB_EXCEPTION_STACK_ID on ACT_RU_JOB(EXCEPTION_STACK_ID_);
alter table ACT_GE_BYTEARRAY
add constraint ACT_FK_BYTEARR_DEPL
foreign key (DEPLOYMENT_ID_)
references ACT_RE_DEPLOYMENT (ID_);
alter table ACT_RE_PROCDEF
add constraint ACT_UNIQ_PROCDEF
unique (KEY_,VERSION_, TENANT_ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PARENT
foreign key (PARENT_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_SUPER
foreign key (SUPER_EXEC_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PROCDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF (ID_);
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_TSKASS_TASK
foreign key (TASK_ID_)
references ACT_RU_TASK (ID_);
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_ATHRZ_PROCEDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF (ID_);
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_IDL_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_EXE
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_PROCDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF (ID_);
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_EXE
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION(ID_);
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_BYTEARRAY
foreign key (BYTEARRAY_ID_)
references ACT_GE_BYTEARRAY (ID_);
alter table ACT_RU_JOB
add constraint ACT_FK_JOB_EXCEPTION
foreign key (EXCEPTION_STACK_ID_)
references ACT_GE_BYTEARRAY (ID_);
alter table ACT_RU_EVENT_SUBSCR
add constraint ACT_FK_EVENT_EXEC
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION(ID_);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_SOURCE
foreign key (EDITOR_SOURCE_VALUE_ID_)
references ACT_GE_BYTEARRAY (ID_);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_SOURCE_EXTRA
foreign key (EDITOR_SOURCE_EXTRA_VALUE_ID_)
references ACT_GE_BYTEARRAY (ID_);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_DEPLOYMENT
foreign key (DEPLOYMENT_ID_)
references ACT_RE_DEPLOYMENT (ID_);

View File

@ -0,0 +1,153 @@
create table ACT_HI_PROCINST (
ID_ nvarchar(64) not null,
PROC_INST_ID_ nvarchar(64) not null,
BUSINESS_KEY_ nvarchar(255),
PROC_DEF_ID_ nvarchar(64) not null,
START_TIME_ datetime not null,
END_TIME_ datetime,
DURATION_ numeric(19,0),
START_USER_ID_ nvarchar(255),
START_ACT_ID_ nvarchar(255),
END_ACT_ID_ nvarchar(255),
SUPER_PROCESS_INSTANCE_ID_ nvarchar(64),
DELETE_REASON_ nvarchar(4000),
TENANT_ID_ nvarchar(255) default '',
NAME_ nvarchar(255),
primary key (ID_),
unique (PROC_INST_ID_)
);
create table ACT_HI_ACTINST (
ID_ nvarchar(64) not null,
PROC_DEF_ID_ nvarchar(64) not null,
PROC_INST_ID_ nvarchar(64) not null,
EXECUTION_ID_ nvarchar(64) not null,
ACT_ID_ nvarchar(255) not null,
TASK_ID_ nvarchar(64),
CALL_PROC_INST_ID_ nvarchar(64),
ACT_NAME_ nvarchar(255),
ACT_TYPE_ nvarchar(255) not null,
ASSIGNEE_ nvarchar(255),
START_TIME_ datetime not null,
END_TIME_ datetime,
DURATION_ numeric(19,0),
TENANT_ID_ nvarchar(255) default '',
primary key (ID_)
);
create table ACT_HI_TASKINST (
ID_ nvarchar(64) not null,
PROC_DEF_ID_ nvarchar(64),
TASK_DEF_KEY_ nvarchar(255),
PROC_INST_ID_ nvarchar(64),
EXECUTION_ID_ nvarchar(64),
NAME_ nvarchar(255),
PARENT_TASK_ID_ nvarchar(64),
DESCRIPTION_ nvarchar(4000),
OWNER_ nvarchar(255),
ASSIGNEE_ nvarchar(255),
START_TIME_ datetime not null,
CLAIM_TIME_ datetime,
END_TIME_ datetime,
DURATION_ numeric(19,0),
DELETE_REASON_ nvarchar(4000),
PRIORITY_ int,
DUE_DATE_ datetime,
FORM_KEY_ nvarchar(255),
CATEGORY_ nvarchar(255),
TENANT_ID_ nvarchar(255) default '',
primary key (ID_)
);
create table ACT_HI_VARINST (
ID_ nvarchar(64) not null,
PROC_INST_ID_ nvarchar(64),
EXECUTION_ID_ nvarchar(64),
TASK_ID_ nvarchar(64),
NAME_ nvarchar(255) not null,
VAR_TYPE_ nvarchar(100),
REV_ int,
BYTEARRAY_ID_ nvarchar(64),
DOUBLE_ double precision,
LONG_ numeric(19,0),
TEXT_ nvarchar(4000),
TEXT2_ nvarchar(4000),
CREATE_TIME_ datetime,
LAST_UPDATED_TIME_ datetime,
primary key (ID_)
);
create table ACT_HI_DETAIL (
ID_ nvarchar(64) not null,
TYPE_ nvarchar(255) not null,
PROC_INST_ID_ nvarchar(64),
EXECUTION_ID_ nvarchar(64),
TASK_ID_ nvarchar(64),
ACT_INST_ID_ nvarchar(64),
NAME_ nvarchar(255) not null,
VAR_TYPE_ nvarchar(255),
REV_ int,
TIME_ datetime not null,
BYTEARRAY_ID_ nvarchar(64),
DOUBLE_ double precision,
LONG_ numeric(19,0),
TEXT_ nvarchar(4000),
TEXT2_ nvarchar(4000),
primary key (ID_)
);
create table ACT_HI_COMMENT (
ID_ nvarchar(64) not null,
TYPE_ nvarchar(255),
TIME_ datetime not null,
USER_ID_ nvarchar(255),
TASK_ID_ nvarchar(64),
PROC_INST_ID_ nvarchar(64),
ACTION_ nvarchar(255),
MESSAGE_ nvarchar(4000),
FULL_MSG_ varbinary(max),
primary key (ID_)
);
create table ACT_HI_ATTACHMENT (
ID_ nvarchar(64) not null,
REV_ integer,
USER_ID_ nvarchar(255),
NAME_ nvarchar(255),
DESCRIPTION_ nvarchar(4000),
TYPE_ nvarchar(255),
TASK_ID_ nvarchar(64),
PROC_INST_ID_ nvarchar(64),
URL_ nvarchar(4000),
CONTENT_ID_ nvarchar(64),
primary key (ID_)
);
create table ACT_HI_IDENTITYLINK (
ID_ nvarchar(64),
GROUP_ID_ nvarchar(255),
TYPE_ nvarchar(255),
USER_ID_ nvarchar(255),
TASK_ID_ nvarchar(64),
PROC_INST_ID_ nvarchar(64),
primary key (ID_)
);
create index ACT_IDX_HI_PRO_INST_END on ACT_HI_PROCINST(END_TIME_);
create index ACT_IDX_HI_PRO_I_BUSKEY on ACT_HI_PROCINST(BUSINESS_KEY_);
create index ACT_IDX_HI_ACT_INST_START on ACT_HI_ACTINST(START_TIME_);
create index ACT_IDX_HI_ACT_INST_END on ACT_HI_ACTINST(END_TIME_);
create index ACT_IDX_HI_DETAIL_PROC_INST on ACT_HI_DETAIL(PROC_INST_ID_);
create index ACT_IDX_HI_DETAIL_ACT_INST on ACT_HI_DETAIL(ACT_INST_ID_);
create index ACT_IDX_HI_DETAIL_TIME on ACT_HI_DETAIL(TIME_);
create index ACT_IDX_HI_DETAIL_NAME on ACT_HI_DETAIL(NAME_);
create index ACT_IDX_HI_DETAIL_TASK_ID on ACT_HI_DETAIL(TASK_ID_);
create index ACT_IDX_HI_PROCVAR_PROC_INST on ACT_HI_VARINST(PROC_INST_ID_);
create index ACT_IDX_HI_PROCVAR_NAME_TYPE on ACT_HI_VARINST(NAME_, VAR_TYPE_);
create index ACT_IDX_HI_PROCVAR_TASK_ID on ACT_HI_VARINST(TASK_ID_);
create index ACT_IDX_HI_ACT_INST_PROCINST on ACT_HI_ACTINST(PROC_INST_ID_, ACT_ID_);
create index ACT_IDX_HI_ACT_INST_EXEC on ACT_HI_ACTINST(EXECUTION_ID_, ACT_ID_);
create index ACT_IDX_HI_IDENT_LNK_USER on ACT_HI_IDENTITYLINK(USER_ID_);
create index ACT_IDX_HI_IDENT_LNK_TASK on ACT_HI_IDENTITYLINK(TASK_ID_);
create index ACT_IDX_HI_IDENT_LNK_PROCINST on ACT_HI_IDENTITYLINK(PROC_INST_ID_);

View File

@ -0,0 +1,46 @@
create table ACT_ID_GROUP (
ID_ nvarchar(64),
REV_ int,
NAME_ nvarchar(255),
TYPE_ nvarchar(255),
primary key (ID_)
);
create table ACT_ID_MEMBERSHIP (
USER_ID_ nvarchar(64),
GROUP_ID_ nvarchar(64),
primary key (USER_ID_, GROUP_ID_)
);
create table ACT_ID_USER (
ID_ nvarchar(64),
REV_ int,
FIRST_ nvarchar(255),
LAST_ nvarchar(255),
EMAIL_ nvarchar(255),
PWD_ nvarchar(255),
PICTURE_ID_ nvarchar(64),
primary key (ID_)
);
create table ACT_ID_INFO (
ID_ nvarchar(64),
REV_ int,
USER_ID_ nvarchar(64),
TYPE_ nvarchar(64),
KEY_ nvarchar(255),
VALUE_ nvarchar(255),
PASSWORD_ varbinary(max),
PARENT_ID_ nvarchar(255),
primary key (ID_)
);
alter table ACT_ID_MEMBERSHIP
add constraint ACT_FK_MEMB_GROUP
foreign key (GROUP_ID_)
references ACT_ID_GROUP (ID_);
alter table ACT_ID_MEMBERSHIP
add constraint ACT_FK_MEMB_USER
foreign key (USER_ID_)
references ACT_ID_USER (ID_);

View File

@ -0,0 +1,298 @@
create table ACT_GE_PROPERTY (
NAME_ varchar(64),
VALUE_ varchar(300),
REV_ integer,
primary key (NAME_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
insert into ACT_GE_PROPERTY
values ('schema.version', '5.16.4.0', 1);
insert into ACT_GE_PROPERTY
values ('schema.history', 'create(5.16.4.0)', 1);
insert into ACT_GE_PROPERTY
values ('next.dbid', '1', 1);
create table ACT_GE_BYTEARRAY (
ID_ varchar(64),
REV_ integer,
NAME_ varchar(255),
DEPLOYMENT_ID_ varchar(64),
BYTES_ LONGBLOB,
GENERATED_ TINYINT,
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_RE_DEPLOYMENT (
ID_ varchar(64),
NAME_ varchar(255),
CATEGORY_ varchar(255),
TENANT_ID_ varchar(255) default '',
DEPLOY_TIME_ timestamp(3),
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_RE_MODEL (
ID_ varchar(64) not null,
REV_ integer,
NAME_ varchar(255),
KEY_ varchar(255),
CATEGORY_ varchar(255),
CREATE_TIME_ timestamp(3) null,
LAST_UPDATE_TIME_ timestamp(3) null,
VERSION_ integer,
META_INFO_ varchar(4000),
DEPLOYMENT_ID_ varchar(64),
EDITOR_SOURCE_VALUE_ID_ varchar(64),
EDITOR_SOURCE_EXTRA_VALUE_ID_ varchar(64),
TENANT_ID_ varchar(255) default '',
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_RU_EXECUTION (
ID_ varchar(64),
REV_ integer,
PROC_INST_ID_ varchar(64),
BUSINESS_KEY_ varchar(255),
PARENT_ID_ varchar(64),
PROC_DEF_ID_ varchar(64),
SUPER_EXEC_ varchar(64),
ACT_ID_ varchar(255),
IS_ACTIVE_ TINYINT,
IS_CONCURRENT_ TINYINT,
IS_SCOPE_ TINYINT,
IS_EVENT_SCOPE_ TINYINT,
SUSPENSION_STATE_ integer,
CACHED_ENT_STATE_ integer,
TENANT_ID_ varchar(255) default '',
NAME_ varchar(255),
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_RU_JOB (
ID_ varchar(64) NOT NULL,
REV_ integer,
TYPE_ varchar(255) NOT NULL,
LOCK_EXP_TIME_ timestamp(3) NULL,
LOCK_OWNER_ varchar(255),
EXCLUSIVE_ boolean,
EXECUTION_ID_ varchar(64),
PROCESS_INSTANCE_ID_ varchar(64),
PROC_DEF_ID_ varchar(64),
RETRIES_ integer,
EXCEPTION_STACK_ID_ varchar(64),
EXCEPTION_MSG_ varchar(4000),
DUEDATE_ timestamp(3) NULL,
REPEAT_ varchar(255),
HANDLER_TYPE_ varchar(255),
HANDLER_CFG_ varchar(4000),
TENANT_ID_ varchar(255) default '',
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_RE_PROCDEF (
ID_ varchar(64) not null,
REV_ integer,
CATEGORY_ varchar(255),
NAME_ varchar(255),
KEY_ varchar(255) not null,
VERSION_ integer not null,
DEPLOYMENT_ID_ varchar(64),
RESOURCE_NAME_ varchar(4000),
DGRM_RESOURCE_NAME_ varchar(4000),
DESCRIPTION_ varchar(4000),
HAS_START_FORM_KEY_ TINYINT,
SUSPENSION_STATE_ integer,
TENANT_ID_ varchar(255) default '',
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_RU_TASK (
ID_ varchar(64),
REV_ integer,
EXECUTION_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
PROC_DEF_ID_ varchar(64),
NAME_ varchar(255),
PARENT_TASK_ID_ varchar(64),
DESCRIPTION_ varchar(4000),
TASK_DEF_KEY_ varchar(255),
OWNER_ varchar(255),
ASSIGNEE_ varchar(255),
DELEGATION_ varchar(64),
PRIORITY_ integer,
CREATE_TIME_ timestamp(3),
DUE_DATE_ datetime(3),
CATEGORY_ varchar(255),
SUSPENSION_STATE_ integer,
TENANT_ID_ varchar(255) default '',
FORM_KEY_ varchar(255),
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_RU_IDENTITYLINK (
ID_ varchar(64),
REV_ integer,
GROUP_ID_ varchar(255),
TYPE_ varchar(255),
USER_ID_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
PROC_DEF_ID_ varchar(64),
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_RU_VARIABLE (
ID_ varchar(64) not null,
REV_ integer,
TYPE_ varchar(255) not null,
NAME_ varchar(255) not null,
EXECUTION_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
TASK_ID_ varchar(64),
BYTEARRAY_ID_ varchar(64),
DOUBLE_ double,
LONG_ bigint,
TEXT_ varchar(4000),
TEXT2_ varchar(4000),
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_RU_EVENT_SUBSCR (
ID_ varchar(64) not null,
REV_ integer,
EVENT_TYPE_ varchar(255) not null,
EVENT_NAME_ varchar(255),
EXECUTION_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
ACTIVITY_ID_ varchar(64),
CONFIGURATION_ varchar(255),
CREATED_ timestamp(3) not null DEFAULT CURRENT_TIMESTAMP(3),
PROC_DEF_ID_ varchar(64),
TENANT_ID_ varchar(255) default '',
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_EVT_LOG (
LOG_NR_ bigint auto_increment,
TYPE_ varchar(64),
PROC_DEF_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
TASK_ID_ varchar(64),
TIME_STAMP_ timestamp(3) not null,
USER_ID_ varchar(255),
DATA_ LONGBLOB,
LOCK_OWNER_ varchar(255),
LOCK_TIME_ timestamp(3) null,
IS_PROCESSED_ tinyint default 0,
primary key (LOG_NR_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION(BUSINESS_KEY_);
create index ACT_IDX_TASK_CREATE on ACT_RU_TASK(CREATE_TIME_);
create index ACT_IDX_IDENT_LNK_USER on ACT_RU_IDENTITYLINK(USER_ID_);
create index ACT_IDX_IDENT_LNK_GROUP on ACT_RU_IDENTITYLINK(GROUP_ID_);
create index ACT_IDX_EVENT_SUBSCR_CONFIG_ on ACT_RU_EVENT_SUBSCR(CONFIGURATION_);
create index ACT_IDX_VARIABLE_TASK_ID on ACT_RU_VARIABLE(TASK_ID_);
create index ACT_IDX_ATHRZ_PROCEDEF on ACT_RU_IDENTITYLINK(PROC_DEF_ID_);
alter table ACT_GE_BYTEARRAY
add constraint ACT_FK_BYTEARR_DEPL
foreign key (DEPLOYMENT_ID_)
references ACT_RE_DEPLOYMENT (ID_);
alter table ACT_RE_PROCDEF
add constraint ACT_UNIQ_PROCDEF
unique (KEY_,VERSION_, TENANT_ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION (ID_) on delete cascade on update cascade;
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PARENT
foreign key (PARENT_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_SUPER
foreign key (SUPER_EXEC_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PROCDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF (ID_);
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_TSKASS_TASK
foreign key (TASK_ID_)
references ACT_RU_TASK (ID_);
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_ATHRZ_PROCEDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF(ID_);
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_IDL_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_EXE
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_PROCDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF (ID_);
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_EXE
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION(ID_);
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_BYTEARRAY
foreign key (BYTEARRAY_ID_)
references ACT_GE_BYTEARRAY (ID_);
alter table ACT_RU_JOB
add constraint ACT_FK_JOB_EXCEPTION
foreign key (EXCEPTION_STACK_ID_)
references ACT_GE_BYTEARRAY (ID_);
alter table ACT_RU_EVENT_SUBSCR
add constraint ACT_FK_EVENT_EXEC
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION(ID_);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_SOURCE
foreign key (EDITOR_SOURCE_VALUE_ID_)
references ACT_GE_BYTEARRAY (ID_);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_SOURCE_EXTRA
foreign key (EDITOR_SOURCE_EXTRA_VALUE_ID_)
references ACT_GE_BYTEARRAY (ID_);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_DEPLOYMENT
foreign key (DEPLOYMENT_ID_)
references ACT_RE_DEPLOYMENT (ID_);

View File

@ -0,0 +1,153 @@
create table ACT_HI_PROCINST (
ID_ varchar(64) not null,
PROC_INST_ID_ varchar(64) not null,
BUSINESS_KEY_ varchar(255),
PROC_DEF_ID_ varchar(64) not null,
START_TIME_ datetime(3) not null,
END_TIME_ datetime(3),
DURATION_ bigint,
START_USER_ID_ varchar(255),
START_ACT_ID_ varchar(255),
END_ACT_ID_ varchar(255),
SUPER_PROCESS_INSTANCE_ID_ varchar(64),
DELETE_REASON_ varchar(4000),
TENANT_ID_ varchar(255) default '',
NAME_ varchar(255),
primary key (ID_),
unique (PROC_INST_ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_HI_ACTINST (
ID_ varchar(64) not null,
PROC_DEF_ID_ varchar(64) not null,
PROC_INST_ID_ varchar(64) not null,
EXECUTION_ID_ varchar(64) not null,
ACT_ID_ varchar(255) not null,
TASK_ID_ varchar(64),
CALL_PROC_INST_ID_ varchar(64),
ACT_NAME_ varchar(255),
ACT_TYPE_ varchar(255) not null,
ASSIGNEE_ varchar(255),
START_TIME_ datetime(3) not null,
END_TIME_ datetime(3),
DURATION_ bigint,
TENANT_ID_ varchar(255) default '',
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_HI_TASKINST (
ID_ varchar(64) not null,
PROC_DEF_ID_ varchar(64),
TASK_DEF_KEY_ varchar(255),
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
NAME_ varchar(255),
PARENT_TASK_ID_ varchar(64),
DESCRIPTION_ varchar(4000),
OWNER_ varchar(255),
ASSIGNEE_ varchar(255),
START_TIME_ datetime(3) not null,
CLAIM_TIME_ datetime(3),
END_TIME_ datetime(3),
DURATION_ bigint,
DELETE_REASON_ varchar(4000),
PRIORITY_ integer,
DUE_DATE_ datetime(3),
FORM_KEY_ varchar(255),
CATEGORY_ varchar(255),
TENANT_ID_ varchar(255) default '',
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_HI_VARINST (
ID_ varchar(64) not null,
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
TASK_ID_ varchar(64),
NAME_ varchar(255) not null,
VAR_TYPE_ varchar(100),
REV_ integer,
BYTEARRAY_ID_ varchar(64),
DOUBLE_ double,
LONG_ bigint,
TEXT_ varchar(4000),
TEXT2_ varchar(4000),
CREATE_TIME_ datetime(3),
LAST_UPDATED_TIME_ datetime(3),
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_HI_DETAIL (
ID_ varchar(64) not null,
TYPE_ varchar(255) not null,
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
TASK_ID_ varchar(64),
ACT_INST_ID_ varchar(64),
NAME_ varchar(255) not null,
VAR_TYPE_ varchar(255),
REV_ integer,
TIME_ datetime(3) not null,
BYTEARRAY_ID_ varchar(64),
DOUBLE_ double,
LONG_ bigint,
TEXT_ varchar(4000),
TEXT2_ varchar(4000),
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_HI_COMMENT (
ID_ varchar(64) not null,
TYPE_ varchar(255),
TIME_ datetime(3) not null,
USER_ID_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
ACTION_ varchar(255),
MESSAGE_ varchar(4000),
FULL_MSG_ LONGBLOB,
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_HI_ATTACHMENT (
ID_ varchar(64) not null,
REV_ integer,
USER_ID_ varchar(255),
NAME_ varchar(255),
DESCRIPTION_ varchar(4000),
TYPE_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
URL_ varchar(4000),
CONTENT_ID_ varchar(64),
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_HI_IDENTITYLINK (
ID_ varchar(64),
GROUP_ID_ varchar(255),
TYPE_ varchar(255),
USER_ID_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create index ACT_IDX_HI_PRO_INST_END on ACT_HI_PROCINST(END_TIME_);
create index ACT_IDX_HI_PRO_I_BUSKEY on ACT_HI_PROCINST(BUSINESS_KEY_);
create index ACT_IDX_HI_ACT_INST_START on ACT_HI_ACTINST(START_TIME_);
create index ACT_IDX_HI_ACT_INST_END on ACT_HI_ACTINST(END_TIME_);
create index ACT_IDX_HI_DETAIL_PROC_INST on ACT_HI_DETAIL(PROC_INST_ID_);
create index ACT_IDX_HI_DETAIL_ACT_INST on ACT_HI_DETAIL(ACT_INST_ID_);
create index ACT_IDX_HI_DETAIL_TIME on ACT_HI_DETAIL(TIME_);
create index ACT_IDX_HI_DETAIL_NAME on ACT_HI_DETAIL(NAME_);
create index ACT_IDX_HI_DETAIL_TASK_ID on ACT_HI_DETAIL(TASK_ID_);
create index ACT_IDX_HI_PROCVAR_PROC_INST on ACT_HI_VARINST(PROC_INST_ID_);
create index ACT_IDX_HI_PROCVAR_NAME_TYPE on ACT_HI_VARINST(NAME_, VAR_TYPE_);
create index ACT_IDX_HI_PROCVAR_TASK_ID on ACT_HI_VARINST(TASK_ID_);
create index ACT_IDX_HI_ACT_INST_PROCINST on ACT_HI_ACTINST(PROC_INST_ID_, ACT_ID_);
create index ACT_IDX_HI_ACT_INST_EXEC on ACT_HI_ACTINST(EXECUTION_ID_, ACT_ID_);
create index ACT_IDX_HI_IDENT_LNK_USER on ACT_HI_IDENTITYLINK(USER_ID_);
create index ACT_IDX_HI_IDENT_LNK_TASK on ACT_HI_IDENTITYLINK(TASK_ID_);
create index ACT_IDX_HI_IDENT_LNK_PROCINST on ACT_HI_IDENTITYLINK(PROC_INST_ID_);

View File

@ -0,0 +1,46 @@
create table ACT_ID_GROUP (
ID_ varchar(64),
REV_ integer,
NAME_ varchar(255),
TYPE_ varchar(255),
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_ID_MEMBERSHIP (
USER_ID_ varchar(64),
GROUP_ID_ varchar(64),
primary key (USER_ID_, GROUP_ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_ID_USER (
ID_ varchar(64),
REV_ integer,
FIRST_ varchar(255),
LAST_ varchar(255),
EMAIL_ varchar(255),
PWD_ varchar(255),
PICTURE_ID_ varchar(64),
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_ID_INFO (
ID_ varchar(64),
REV_ integer,
USER_ID_ varchar(64),
TYPE_ varchar(64),
KEY_ varchar(255),
VALUE_ varchar(255),
PASSWORD_ LONGBLOB,
PARENT_ID_ varchar(255),
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
alter table ACT_ID_MEMBERSHIP
add constraint ACT_FK_MEMB_GROUP
foreign key (GROUP_ID_)
references ACT_ID_GROUP (ID_);
alter table ACT_ID_MEMBERSHIP
add constraint ACT_FK_MEMB_USER
foreign key (USER_ID_)
references ACT_ID_USER (ID_);

View File

@ -0,0 +1,298 @@
create table ACT_GE_PROPERTY (
NAME_ varchar(64),
VALUE_ varchar(300),
REV_ integer,
primary key (NAME_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
insert into ACT_GE_PROPERTY
values ('schema.version', '5.16.4.0', 1);
insert into ACT_GE_PROPERTY
values ('schema.history', 'create(5.16.4.0)', 1);
insert into ACT_GE_PROPERTY
values ('next.dbid', '1', 1);
create table ACT_GE_BYTEARRAY (
ID_ varchar(64),
REV_ integer,
NAME_ varchar(255),
DEPLOYMENT_ID_ varchar(64),
BYTES_ LONGBLOB,
GENERATED_ TINYINT,
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_RE_DEPLOYMENT (
ID_ varchar(64),
NAME_ varchar(255),
CATEGORY_ varchar(255),
TENANT_ID_ varchar(255) default '',
DEPLOY_TIME_ timestamp,
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_RE_MODEL (
ID_ varchar(64) not null,
REV_ integer,
NAME_ varchar(255),
KEY_ varchar(255),
CATEGORY_ varchar(255),
CREATE_TIME_ timestamp null,
LAST_UPDATE_TIME_ timestamp null,
VERSION_ integer,
META_INFO_ varchar(4000),
DEPLOYMENT_ID_ varchar(64),
EDITOR_SOURCE_VALUE_ID_ varchar(64),
EDITOR_SOURCE_EXTRA_VALUE_ID_ varchar(64),
TENANT_ID_ varchar(255) default '',
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_RU_EXECUTION (
ID_ varchar(64),
REV_ integer,
PROC_INST_ID_ varchar(64),
BUSINESS_KEY_ varchar(255),
PARENT_ID_ varchar(64),
PROC_DEF_ID_ varchar(64),
SUPER_EXEC_ varchar(64),
ACT_ID_ varchar(255),
IS_ACTIVE_ TINYINT,
IS_CONCURRENT_ TINYINT,
IS_SCOPE_ TINYINT,
IS_EVENT_SCOPE_ TINYINT,
SUSPENSION_STATE_ integer,
CACHED_ENT_STATE_ integer,
TENANT_ID_ varchar(255) default '',
NAME_ varchar(255),
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_RU_JOB (
ID_ varchar(64) NOT NULL,
REV_ integer,
TYPE_ varchar(255) NOT NULL,
LOCK_EXP_TIME_ timestamp NULL,
LOCK_OWNER_ varchar(255),
EXCLUSIVE_ boolean,
EXECUTION_ID_ varchar(64),
PROCESS_INSTANCE_ID_ varchar(64),
PROC_DEF_ID_ varchar(64),
RETRIES_ integer,
EXCEPTION_STACK_ID_ varchar(64),
EXCEPTION_MSG_ varchar(4000),
DUEDATE_ timestamp NULL,
REPEAT_ varchar(255),
HANDLER_TYPE_ varchar(255),
HANDLER_CFG_ varchar(4000),
TENANT_ID_ varchar(255) default '',
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_RE_PROCDEF (
ID_ varchar(64) not null,
REV_ integer,
CATEGORY_ varchar(255),
NAME_ varchar(255),
KEY_ varchar(255) not null,
VERSION_ integer not null,
DEPLOYMENT_ID_ varchar(64),
RESOURCE_NAME_ varchar(4000),
DGRM_RESOURCE_NAME_ varchar(4000),
DESCRIPTION_ varchar(4000),
HAS_START_FORM_KEY_ TINYINT,
SUSPENSION_STATE_ integer,
TENANT_ID_ varchar(255) default '',
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_RU_TASK (
ID_ varchar(64),
REV_ integer,
EXECUTION_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
PROC_DEF_ID_ varchar(64),
NAME_ varchar(255),
PARENT_TASK_ID_ varchar(64),
DESCRIPTION_ varchar(4000),
TASK_DEF_KEY_ varchar(255),
OWNER_ varchar(255),
ASSIGNEE_ varchar(255),
DELEGATION_ varchar(64),
PRIORITY_ integer,
CREATE_TIME_ timestamp,
DUE_DATE_ datetime,
CATEGORY_ varchar(255),
SUSPENSION_STATE_ integer,
TENANT_ID_ varchar(255) default '',
FORM_KEY_ varchar(255),
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_RU_IDENTITYLINK (
ID_ varchar(64),
REV_ integer,
GROUP_ID_ varchar(255),
TYPE_ varchar(255),
USER_ID_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
PROC_DEF_ID_ varchar(64),
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_RU_VARIABLE (
ID_ varchar(64) not null,
REV_ integer,
TYPE_ varchar(255) not null,
NAME_ varchar(255) not null,
EXECUTION_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
TASK_ID_ varchar(64),
BYTEARRAY_ID_ varchar(64),
DOUBLE_ double,
LONG_ bigint,
TEXT_ varchar(4000),
TEXT2_ varchar(4000),
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_RU_EVENT_SUBSCR (
ID_ varchar(64) not null,
REV_ integer,
EVENT_TYPE_ varchar(255) not null,
EVENT_NAME_ varchar(255),
EXECUTION_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
ACTIVITY_ID_ varchar(64),
CONFIGURATION_ varchar(255),
CREATED_ timestamp not null DEFAULT CURRENT_TIMESTAMP,
PROC_DEF_ID_ varchar(64),
TENANT_ID_ varchar(255) default '',
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_EVT_LOG (
LOG_NR_ bigint auto_increment,
TYPE_ varchar(64),
PROC_DEF_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
TASK_ID_ varchar(64),
TIME_STAMP_ timestamp not null,
USER_ID_ varchar(255),
DATA_ LONGBLOB,
LOCK_OWNER_ varchar(255),
LOCK_TIME_ timestamp null,
IS_PROCESSED_ tinyint default 0,
primary key (LOG_NR_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION(BUSINESS_KEY_);
create index ACT_IDX_TASK_CREATE on ACT_RU_TASK(CREATE_TIME_);
create index ACT_IDX_IDENT_LNK_USER on ACT_RU_IDENTITYLINK(USER_ID_);
create index ACT_IDX_IDENT_LNK_GROUP on ACT_RU_IDENTITYLINK(GROUP_ID_);
create index ACT_IDX_EVENT_SUBSCR_CONFIG_ on ACT_RU_EVENT_SUBSCR(CONFIGURATION_);
create index ACT_IDX_VARIABLE_TASK_ID on ACT_RU_VARIABLE(TASK_ID_);
create index ACT_IDX_ATHRZ_PROCEDEF on ACT_RU_IDENTITYLINK(PROC_DEF_ID_);
alter table ACT_GE_BYTEARRAY
add constraint ACT_FK_BYTEARR_DEPL
foreign key (DEPLOYMENT_ID_)
references ACT_RE_DEPLOYMENT (ID_);
alter table ACT_RE_PROCDEF
add constraint ACT_UNIQ_PROCDEF
unique (KEY_,VERSION_, TENANT_ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION (ID_) on delete cascade on update cascade;
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PARENT
foreign key (PARENT_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_SUPER
foreign key (SUPER_EXEC_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PROCDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF (ID_);
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_TSKASS_TASK
foreign key (TASK_ID_)
references ACT_RU_TASK (ID_);
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_ATHRZ_PROCEDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF(ID_);
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_IDL_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_EXE
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_PROCDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF (ID_);
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_EXE
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION (ID_);
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION(ID_);
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_BYTEARRAY
foreign key (BYTEARRAY_ID_)
references ACT_GE_BYTEARRAY (ID_);
alter table ACT_RU_JOB
add constraint ACT_FK_JOB_EXCEPTION
foreign key (EXCEPTION_STACK_ID_)
references ACT_GE_BYTEARRAY (ID_);
alter table ACT_RU_EVENT_SUBSCR
add constraint ACT_FK_EVENT_EXEC
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION(ID_);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_SOURCE
foreign key (EDITOR_SOURCE_VALUE_ID_)
references ACT_GE_BYTEARRAY (ID_);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_SOURCE_EXTRA
foreign key (EDITOR_SOURCE_EXTRA_VALUE_ID_)
references ACT_GE_BYTEARRAY (ID_);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_DEPLOYMENT
foreign key (DEPLOYMENT_ID_)
references ACT_RE_DEPLOYMENT (ID_);

View File

@ -0,0 +1,91 @@
alter table ACT_RU_TASK add PROC_TITLE VARCHAR(2000);
alter table ACT_RU_TASK add SENDER VARCHAR(64);
alter table ACT_RU_TASK add PRE_TASK_DEF_KEY VARCHAR(64);
alter table ACT_RU_TASK add PRE_TASK_ID VARCHAR(64);
alter table ACT_RU_TASK add PRE_TASK_DEF_NAME VARCHAR(255);
alter table ACT_RU_TASK add ACTION_TYPE VARCHAR(64);
alter table ACT_HI_TASKINST add PROC_TITLE VARCHAR(2000);
alter table ACT_HI_TASKINST add SENDER VARCHAR(64);
alter table ACT_HI_TASKINST add PRE_TASK_DEF_KEY VARCHAR(64);
alter table ACT_HI_TASKINST add PRE_TASK_ID VARCHAR(64);
alter table ACT_HI_TASKINST add PRE_TASK_DEF_NAME VARCHAR(255);
alter table ACT_HI_TASKINST add ACTION_TYPE VARCHAR(64);
alter table ACT_HI_PROCINST add PROC_TITLE VARCHAR(2000);
alter table ACT_HI_PROCINST add PROC_STATE int;
alter table ACT_RU_EXECUTION add PROC_TITLE VARCHAR(2000);
alter table ACT_HI_ACTINST add PROC_TITLE VARCHAR(300);
alter table ACT_HI_ACTINST add SENDER VARCHAR(64);
alter table ACT_HI_ACTINST add PRE_ACT_ID VARCHAR(255);
alter table ACT_HI_ACTINST add PRE_ACT_NAME VARCHAR(255);
alter table ACT_HI_ACTINST add PRE_ACT_INST_ID VARCHAR(255);
alter table ACT_HI_ACTINST add CREATE_TIME_ TIMESTAMP(6);
alter table ACT_HI_ACTINST add LAST_UPDATED_TIME_ TIMESTAMP(6);
-- Add/modify columns
alter table ACT_HI_TASKINST add top_execution_id_ VARCHAR(64);
alter table ACT_HI_TASKINST add top_execution_id_ VARCHAR(64);
alter table ACT_RE_PROCDEF add ORG_ID_ VARCHAR(100);
alter table ACT_RU_IDENTITYLINK add ORG_ID_ VARCHAR(100);
alter table ACT_RE_MODEL add MODEL_STATE VARCHAR(10);
alter table ACT_RU_EXECUTION add TOP_PROCESS_INSTANCE_ID_ VARCHAR(100);
alter table ACT_HI_PROCINST add PROC_DEF_NAME VARCHAR(500);
alter table ACT_HI_PROCINST add START_USER_NAME VARCHAR(100);
alter table ACT_HI_PROCINST add STARTER_ORG_ID VARCHAR(100);
alter table ACT_HI_PROCINST add STARTER_ORG_NAME VARCHAR(100);
alter table ACT_HI_PROCINST add STARTER VARCHAR(100);
alter table ACT_HI_PROCINST add TOP_PROCESS_INSTANCE_ID_ VARCHAR(100);
alter table ACT_HI_ACTINST add SEND_USER_NAME VARCHAR(100);
alter table ACT_HI_ACTINST add SENDER_ORG_ID VARCHAR(100);
alter table ACT_HI_ACTINST add SENDER_ORG_NAME VARCHAR(100);
alter table ACT_HI_ACTINST add ASSIGNEE_USER_NAME VARCHAR(100);
alter table ACT_HI_ACTINST add ASSIGNEE_ORG_ID VARCHAR(100);
alter table ACT_HI_ACTINST add ASSIGNEE_ORG_NAME VARCHAR(100);
alter table ACT_HI_ACTINST add PROC_DEF_NAME VARCHAR(500);
alter table ACT_RU_TASK add SEND_USER_NAME VARCHAR(100);
alter table ACT_RU_TASK add SENDER_ORG_ID VARCHAR(100);
alter table ACT_RU_TASK add SENDER_ORG_NAME VARCHAR(100);
alter table ACT_RU_TASK add ASSIGNEE_USER_NAME VARCHAR(100);
alter table ACT_RU_TASK add ASSIGNEE_ORG_ID VARCHAR(100);
alter table ACT_RU_TASK add ASSIGNEE_ORG_NAME VARCHAR(100);
alter table ACT_RU_TASK add ASSIGNEE_USER_ID VARCHAR(100);
alter table ACT_RU_TASK add SEND_USER_ID VARCHAR(100);
alter table ACT_RU_TASK add PROC_DEF_NAME VARCHAR(500);
alter table ACT_HI_TASKINST add SEND_USER_NAME VARCHAR(100);
alter table ACT_HI_TASKINST add SENDER_ORG_ID VARCHAR(100);
alter table ACT_HI_TASKINST add SENDER_ORG_NAME VARCHAR(100);
alter table ACT_HI_TASKINST add ASSIGNEE_USER_NAME VARCHAR(100);
alter table ACT_HI_TASKINST add ASSIGNEE_ORG_ID VARCHAR(100);
alter table ACT_HI_TASKINST add ASSIGNEE_ORG_NAME VARCHAR(100);
alter table ACT_HI_TASKINST add ASSIGNEE_USER_ID VARCHAR(100);
alter table ACT_HI_TASKINST add SEND_USER_ID VARCHAR(100);
alter table ACT_HI_TASKINST add PROC_DEF_NAME VARCHAR(500);
alter table ACT_HI_TASKINST add TOP_EXECUTION_ID_ VARCHAR(100);
alter table ACT_HI_COMMENT add DISPLAY_AREA VARCHAR(500);
alter table ACT_HI_COMMENT add TOP_PROC_INST_ID_ VARCHAR(100);

View File

@ -0,0 +1,153 @@
create table ACT_HI_PROCINST (
ID_ varchar(64) not null,
PROC_INST_ID_ varchar(64) not null,
BUSINESS_KEY_ varchar(255),
PROC_DEF_ID_ varchar(64) not null,
START_TIME_ datetime not null,
END_TIME_ datetime,
DURATION_ bigint,
START_USER_ID_ varchar(255),
START_ACT_ID_ varchar(255),
END_ACT_ID_ varchar(255),
SUPER_PROCESS_INSTANCE_ID_ varchar(64),
DELETE_REASON_ varchar(4000),
TENANT_ID_ varchar(255) default '',
NAME_ varchar(255),
primary key (ID_),
unique (PROC_INST_ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_HI_ACTINST (
ID_ varchar(64) not null,
PROC_DEF_ID_ varchar(64) not null,
PROC_INST_ID_ varchar(64) not null,
EXECUTION_ID_ varchar(64) not null,
ACT_ID_ varchar(255) not null,
TASK_ID_ varchar(64),
CALL_PROC_INST_ID_ varchar(64),
ACT_NAME_ varchar(255),
ACT_TYPE_ varchar(255) not null,
ASSIGNEE_ varchar(255),
START_TIME_ datetime not null,
END_TIME_ datetime,
DURATION_ bigint,
TENANT_ID_ varchar(255) default '',
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_HI_TASKINST (
ID_ varchar(64) not null,
PROC_DEF_ID_ varchar(64),
TASK_DEF_KEY_ varchar(255),
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
NAME_ varchar(255),
PARENT_TASK_ID_ varchar(64),
DESCRIPTION_ varchar(4000),
OWNER_ varchar(255),
ASSIGNEE_ varchar(255),
START_TIME_ datetime not null,
CLAIM_TIME_ datetime,
END_TIME_ datetime,
DURATION_ bigint,
DELETE_REASON_ varchar(4000),
PRIORITY_ integer,
DUE_DATE_ datetime,
FORM_KEY_ varchar(255),
CATEGORY_ varchar(255),
TENANT_ID_ varchar(255) default '',
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_HI_VARINST (
ID_ varchar(64) not null,
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
TASK_ID_ varchar(64),
NAME_ varchar(255) not null,
VAR_TYPE_ varchar(100),
REV_ integer,
BYTEARRAY_ID_ varchar(64),
DOUBLE_ double,
LONG_ bigint,
TEXT_ varchar(4000),
TEXT2_ varchar(4000),
CREATE_TIME_ datetime,
LAST_UPDATED_TIME_ datetime,
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_HI_DETAIL (
ID_ varchar(64) not null,
TYPE_ varchar(255) not null,
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
TASK_ID_ varchar(64),
ACT_INST_ID_ varchar(64),
NAME_ varchar(255) not null,
VAR_TYPE_ varchar(255),
REV_ integer,
TIME_ datetime not null,
BYTEARRAY_ID_ varchar(64),
DOUBLE_ double,
LONG_ bigint,
TEXT_ varchar(4000),
TEXT2_ varchar(4000),
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_HI_COMMENT (
ID_ varchar(64) not null,
TYPE_ varchar(255),
TIME_ datetime not null,
USER_ID_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
ACTION_ varchar(255),
MESSAGE_ varchar(4000),
FULL_MSG_ LONGBLOB,
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_HI_ATTACHMENT (
ID_ varchar(64) not null,
REV_ integer,
USER_ID_ varchar(255),
NAME_ varchar(255),
DESCRIPTION_ varchar(4000),
TYPE_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
URL_ varchar(4000),
CONTENT_ID_ varchar(64),
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create table ACT_HI_IDENTITYLINK (
ID_ varchar(64),
GROUP_ID_ varchar(255),
TYPE_ varchar(255),
USER_ID_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
primary key (ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
create index ACT_IDX_HI_PRO_INST_END on ACT_HI_PROCINST(END_TIME_);
create index ACT_IDX_HI_PRO_I_BUSKEY on ACT_HI_PROCINST(BUSINESS_KEY_);
create index ACT_IDX_HI_ACT_INST_START on ACT_HI_ACTINST(START_TIME_);
create index ACT_IDX_HI_ACT_INST_END on ACT_HI_ACTINST(END_TIME_);
create index ACT_IDX_HI_DETAIL_PROC_INST on ACT_HI_DETAIL(PROC_INST_ID_);
create index ACT_IDX_HI_DETAIL_ACT_INST on ACT_HI_DETAIL(ACT_INST_ID_);
create index ACT_IDX_HI_DETAIL_TIME on ACT_HI_DETAIL(TIME_);
create index ACT_IDX_HI_DETAIL_NAME on ACT_HI_DETAIL(NAME_);
create index ACT_IDX_HI_DETAIL_TASK_ID on ACT_HI_DETAIL(TASK_ID_);
create index ACT_IDX_HI_PROCVAR_PROC_INST on ACT_HI_VARINST(PROC_INST_ID_);
create index ACT_IDX_HI_PROCVAR_NAME_TYPE on ACT_HI_VARINST(NAME_, VAR_TYPE_);
create index ACT_IDX_HI_PROCVAR_TASK_ID on ACT_HI_VARINST(TASK_ID_);
create index ACT_IDX_HI_ACT_INST_PROCINST on ACT_HI_ACTINST(PROC_INST_ID_, ACT_ID_);
create index ACT_IDX_HI_ACT_INST_EXEC on ACT_HI_ACTINST(EXECUTION_ID_, ACT_ID_);
create index ACT_IDX_HI_IDENT_LNK_USER on ACT_HI_IDENTITYLINK(USER_ID_);
create index ACT_IDX_HI_IDENT_LNK_TASK on ACT_HI_IDENTITYLINK(TASK_ID_);
create index ACT_IDX_HI_IDENT_LNK_PROCINST on ACT_HI_IDENTITYLINK(PROC_INST_ID_);

View File

@ -0,0 +1,319 @@
create table ACT_GE_PROPERTY (
NAME_ NVARCHAR2(64),
VALUE_ NVARCHAR2(300),
REV_ INTEGER,
primary key (NAME_)
);
insert into ACT_GE_PROPERTY
values ('schema.version', '5.16.4.0', 1);
insert into ACT_GE_PROPERTY
values ('schema.history', 'create(5.16.4.0)', 1);
insert into ACT_GE_PROPERTY
values ('next.dbid', '1', 1);
create table ACT_GE_BYTEARRAY (
ID_ NVARCHAR2(64),
REV_ INTEGER,
NAME_ NVARCHAR2(255),
DEPLOYMENT_ID_ NVARCHAR2(64),
BYTES_ BLOB,
GENERATED_ NUMBER(1,0) CHECK (GENERATED_ IN (1,0)),
primary key (ID_)
);
create table ACT_RE_DEPLOYMENT (
ID_ NVARCHAR2(64),
NAME_ NVARCHAR2(255),
CATEGORY_ NVARCHAR2(255),
TENANT_ID_ NVARCHAR2(255) DEFAULT '',
DEPLOY_TIME_ TIMESTAMP(6),
primary key (ID_)
);
create table ACT_RE_MODEL (
ID_ NVARCHAR2(64) not null,
REV_ INTEGER,
NAME_ NVARCHAR2(255),
KEY_ NVARCHAR2(255),
CATEGORY_ NVARCHAR2(255),
CREATE_TIME_ TIMESTAMP(6),
LAST_UPDATE_TIME_ TIMESTAMP(6),
VERSION_ INTEGER,
META_INFO_ NVARCHAR2(2000),
DEPLOYMENT_ID_ NVARCHAR2(64),
EDITOR_SOURCE_VALUE_ID_ NVARCHAR2(64),
EDITOR_SOURCE_EXTRA_VALUE_ID_ NVARCHAR2(64),
TENANT_ID_ NVARCHAR2(255) DEFAULT '',
primary key (ID_)
);
create table ACT_RU_EXECUTION (
ID_ NVARCHAR2(64),
REV_ INTEGER,
PROC_INST_ID_ NVARCHAR2(64),
BUSINESS_KEY_ NVARCHAR2(255),
PARENT_ID_ NVARCHAR2(64),
PROC_DEF_ID_ NVARCHAR2(64),
SUPER_EXEC_ NVARCHAR2(64),
ACT_ID_ NVARCHAR2(255),
IS_ACTIVE_ NUMBER(1,0) CHECK (IS_ACTIVE_ IN (1,0)),
IS_CONCURRENT_ NUMBER(1,0) CHECK (IS_CONCURRENT_ IN (1,0)),
IS_SCOPE_ NUMBER(1,0) CHECK (IS_SCOPE_ IN (1,0)),
IS_EVENT_SCOPE_ NUMBER(1,0) CHECK (IS_EVENT_SCOPE_ IN (1,0)),
SUSPENSION_STATE_ INTEGER,
CACHED_ENT_STATE_ INTEGER,
TENANT_ID_ NVARCHAR2(255) DEFAULT '',
NAME_ NVARCHAR2(255),
primary key (ID_)
);
create table ACT_RU_JOB (
ID_ NVARCHAR2(64) NOT NULL,
REV_ INTEGER,
TYPE_ NVARCHAR2(255) NOT NULL,
LOCK_EXP_TIME_ TIMESTAMP(6),
LOCK_OWNER_ NVARCHAR2(255),
EXCLUSIVE_ NUMBER(1,0) CHECK (EXCLUSIVE_ IN (1,0)),
EXECUTION_ID_ NVARCHAR2(64),
PROCESS_INSTANCE_ID_ NVARCHAR2(64),
PROC_DEF_ID_ NVARCHAR2(64),
RETRIES_ INTEGER,
EXCEPTION_STACK_ID_ NVARCHAR2(64),
EXCEPTION_MSG_ NVARCHAR2(2000),
DUEDATE_ TIMESTAMP(6),
REPEAT_ NVARCHAR2(255),
HANDLER_TYPE_ NVARCHAR2(255),
HANDLER_CFG_ NVARCHAR2(2000),
TENANT_ID_ NVARCHAR2(255) DEFAULT '',
primary key (ID_)
);
create table ACT_RE_PROCDEF (
ID_ NVARCHAR2(64) NOT NULL,
REV_ INTEGER,
CATEGORY_ NVARCHAR2(255),
NAME_ NVARCHAR2(255),
KEY_ NVARCHAR2(255) NOT NULL,
VERSION_ INTEGER NOT NULL,
DEPLOYMENT_ID_ NVARCHAR2(64),
RESOURCE_NAME_ NVARCHAR2(2000),
DGRM_RESOURCE_NAME_ varchar(4000),
DESCRIPTION_ NVARCHAR2(2000),
HAS_START_FORM_KEY_ NUMBER(1,0) CHECK (HAS_START_FORM_KEY_ IN (1,0)),
SUSPENSION_STATE_ INTEGER,
TENANT_ID_ NVARCHAR2(255) DEFAULT '',
primary key (ID_)
);
create table ACT_RU_TASK (
ID_ NVARCHAR2(64),
REV_ INTEGER,
EXECUTION_ID_ NVARCHAR2(64),
PROC_INST_ID_ NVARCHAR2(64),
PROC_DEF_ID_ NVARCHAR2(64),
NAME_ NVARCHAR2(255),
PARENT_TASK_ID_ NVARCHAR2(64),
DESCRIPTION_ NVARCHAR2(2000),
TASK_DEF_KEY_ NVARCHAR2(255),
OWNER_ NVARCHAR2(255),
ASSIGNEE_ NVARCHAR2(255),
DELEGATION_ NVARCHAR2(64),
PRIORITY_ INTEGER,
CREATE_TIME_ TIMESTAMP(6),
DUE_DATE_ TIMESTAMP(6),
CATEGORY_ NVARCHAR2(255),
SUSPENSION_STATE_ INTEGER,
TENANT_ID_ NVARCHAR2(255) DEFAULT '',
FORM_KEY_ NVARCHAR2(255),
primary key (ID_)
);
create table ACT_RU_IDENTITYLINK (
ID_ NVARCHAR2(64),
REV_ INTEGER,
GROUP_ID_ NVARCHAR2(255),
TYPE_ NVARCHAR2(255),
USER_ID_ NVARCHAR2(255),
TASK_ID_ NVARCHAR2(64),
PROC_INST_ID_ NVARCHAR2(64),
PROC_DEF_ID_ NVARCHAR2(64),
primary key (ID_)
);
create table ACT_RU_VARIABLE (
ID_ NVARCHAR2(64) not null,
REV_ INTEGER,
TYPE_ NVARCHAR2(255) not null,
NAME_ NVARCHAR2(255) not null,
EXECUTION_ID_ NVARCHAR2(64),
PROC_INST_ID_ NVARCHAR2(64),
TASK_ID_ NVARCHAR2(64),
BYTEARRAY_ID_ NVARCHAR2(64),
DOUBLE_ NUMBER(*,10),
LONG_ NUMBER(19,0),
TEXT_ NVARCHAR2(2000),
TEXT2_ NVARCHAR2(2000),
primary key (ID_)
);
create table ACT_RU_EVENT_SUBSCR (
ID_ NVARCHAR2(64) not null,
REV_ integer,
EVENT_TYPE_ NVARCHAR2(255) not null,
EVENT_NAME_ NVARCHAR2(255),
EXECUTION_ID_ NVARCHAR2(64),
PROC_INST_ID_ NVARCHAR2(64),
ACTIVITY_ID_ NVARCHAR2(64),
CONFIGURATION_ NVARCHAR2(255),
CREATED_ TIMESTAMP(6) not null,
PROC_DEF_ID_ NVARCHAR2(64),
TENANT_ID_ NVARCHAR2(255) DEFAULT '',
primary key (ID_)
);
create table ACT_EVT_LOG (
LOG_NR_ NUMBER(19),
TYPE_ NVARCHAR2(64),
PROC_DEF_ID_ NVARCHAR2(64),
PROC_INST_ID_ NVARCHAR2(64),
EXECUTION_ID_ NVARCHAR2(64),
TASK_ID_ NVARCHAR2(64),
TIME_STAMP_ TIMESTAMP(6) not null,
USER_ID_ NVARCHAR2(255),
DATA_ BLOB,
LOCK_OWNER_ NVARCHAR2(255),
LOCK_TIME_ TIMESTAMP(6) null,
IS_PROCESSED_ NUMBER(3) default 0,
primary key (LOG_NR_)
);
create sequence act_evt_log_seq;
create index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION(BUSINESS_KEY_);
create index ACT_IDX_TASK_CREATE on ACT_RU_TASK(CREATE_TIME_);
create index ACT_IDX_IDENT_LNK_USER on ACT_RU_IDENTITYLINK(USER_ID_);
create index ACT_IDX_IDENT_LNK_GROUP on ACT_RU_IDENTITYLINK(GROUP_ID_);
create index ACT_IDX_EVENT_SUBSCR_CONFIG_ on ACT_RU_EVENT_SUBSCR(CONFIGURATION_);
create index ACT_IDX_VARIABLE_TASK_ID on ACT_RU_VARIABLE(TASK_ID_);
create index ACT_IDX_BYTEAR_DEPL on ACT_GE_BYTEARRAY(DEPLOYMENT_ID_);
alter table ACT_GE_BYTEARRAY
add constraint ACT_FK_BYTEARR_DEPL
foreign key (DEPLOYMENT_ID_)
references ACT_RE_DEPLOYMENT (ID_);
alter table ACT_RE_PROCDEF
add constraint ACT_UNIQ_PROCDEF
unique (KEY_,VERSION_, TENANT_ID_);
create index ACT_IDX_EXE_PROCINST on ACT_RU_EXECUTION(PROC_INST_ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION (ID_);
create index ACT_IDX_EXE_PARENT on ACT_RU_EXECUTION(PARENT_ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PARENT
foreign key (PARENT_ID_)
references ACT_RU_EXECUTION (ID_);
create index ACT_IDX_EXE_SUPER on ACT_RU_EXECUTION(SUPER_EXEC_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_SUPER
foreign key (SUPER_EXEC_)
references ACT_RU_EXECUTION (ID_);
create index ACT_IDX_EXE_PROCDEF on ACT_RU_EXECUTION(PROC_DEF_ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PROCDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF (ID_);
create index ACT_IDX_TSKASS_TASK on ACT_RU_IDENTITYLINK(TASK_ID_);
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_TSKASS_TASK
foreign key (TASK_ID_)
references ACT_RU_TASK (ID_);
create index ACT_IDX_ATHRZ_PROCEDEF on ACT_RU_IDENTITYLINK(PROC_DEF_ID_);
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_ATHRZ_PROCEDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF (ID_);
create index ACT_IDX_IDL_PROCINST on ACT_RU_IDENTITYLINK(PROC_INST_ID_);
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_IDL_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION (ID_);
create index ACT_IDX_TASK_EXEC on ACT_RU_TASK(EXECUTION_ID_);
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_EXE
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION (ID_);
create index ACT_IDX_TASK_PROCINST on ACT_RU_TASK(PROC_INST_ID_);
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION (ID_);
create index ACT_IDX_TASK_PROCDEF on ACT_RU_TASK(PROC_DEF_ID_);
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_PROCDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF (ID_);
create index ACT_IDX_VAR_EXE on ACT_RU_VARIABLE(EXECUTION_ID_);
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_EXE
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION (ID_);
create index ACT_IDX_VAR_PROCINST on ACT_RU_VARIABLE(PROC_INST_ID_);
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION(ID_);
create index ACT_IDX_VAR_BYTEARRAY on ACT_RU_VARIABLE(BYTEARRAY_ID_);
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_BYTEARRAY
foreign key (BYTEARRAY_ID_)
references ACT_GE_BYTEARRAY (ID_);
create index ACT_IDX_JOB_EXCEPTION on ACT_RU_JOB(EXCEPTION_STACK_ID_);
alter table ACT_RU_JOB
add constraint ACT_FK_JOB_EXCEPTION
foreign key (EXCEPTION_STACK_ID_)
references ACT_GE_BYTEARRAY (ID_);
create index ACT_IDX_EVENT_SUBSCR on ACT_RU_EVENT_SUBSCR(EXECUTION_ID_);
alter table ACT_RU_EVENT_SUBSCR
add constraint ACT_FK_EVENT_EXEC
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION(ID_);
create index ACT_IDX_MODEL_SOURCE on ACT_RE_MODEL(EDITOR_SOURCE_VALUE_ID_);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_SOURCE
foreign key (EDITOR_SOURCE_VALUE_ID_)
references ACT_GE_BYTEARRAY (ID_);
create index ACT_IDX_MODEL_SOURCE_EXTRA on ACT_RE_MODEL(EDITOR_SOURCE_EXTRA_VALUE_ID_);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_SOURCE_EXTRA
foreign key (EDITOR_SOURCE_EXTRA_VALUE_ID_)
references ACT_GE_BYTEARRAY (ID_);
create index ACT_IDX_MODEL_DEPLOYMENT on ACT_RE_MODEL(DEPLOYMENT_ID_);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_DEPLOYMENT
foreign key (DEPLOYMENT_ID_)
references ACT_RE_DEPLOYMENT (ID_);

View File

@ -0,0 +1,91 @@
alter table ACT_RU_TASK add PROC_TITLE NVARCHAR2(2000);
alter table ACT_RU_TASK add SENDER NVARCHAR2(64);
alter table ACT_RU_TASK add PRE_TASK_DEF_KEY NVARCHAR2(64);
alter table ACT_RU_TASK add PRE_TASK_ID NVARCHAR2(64);
alter table ACT_RU_TASK add PRE_TASK_DEF_NAME NVARCHAR2(255);
alter table ACT_RU_TASK add ACTION_TYPE NVARCHAR2(64);
alter table ACT_HI_TASKINST add PROC_TITLE NVARCHAR2(2000);
alter table ACT_HI_TASKINST add SENDER NVARCHAR2(64);
alter table ACT_HI_TASKINST add PRE_TASK_DEF_KEY NVARCHAR2(64);
alter table ACT_HI_TASKINST add PRE_TASK_ID NVARCHAR2(64);
alter table ACT_HI_TASKINST add PRE_TASK_DEF_NAME NVARCHAR2(255);
alter table ACT_HI_TASKINST add ACTION_TYPE NVARCHAR2(64);
alter table ACT_HI_PROCINST add PROC_TITLE NVARCHAR2(2000);
alter table ACT_HI_PROCINST add PROC_STATE int;
alter table ACT_RU_EXECUTION add PROC_TITLE NVARCHAR2(2000);
alter table act_hi_actinst add PROC_TITLE NVARCHAR2(300);
alter table act_hi_actinst add SENDER NVARCHAR2(64);
alter table act_hi_actinst add PRE_ACT_ID NVARCHAR2(255);
alter table act_hi_actinst add PRE_ACT_NAME NVARCHAR2(255);
alter table act_hi_actinst add PRE_ACT_INST_ID NVARCHAR2(255);
alter table act_hi_varinst add CREATE_TIME_ TIMESTAMP(6);
alter table act_hi_varinst add LAST_UPDATED_TIME_ TIMESTAMP(6);
-- Add/modify columns
alter table ACT_HI_TASKINST add top_execution_id_ NVARCHAR2(64);
alter table ACT_HI_TASKINST add top_execution_id_ NVARCHAR2(64);
alter table ACT_RE_PROCDEF add ORG_ID_ NVARCHAR2(100);
alter table ACT_RU_IDENTITYLINK add ORG_ID_ NVARCHAR2(100);
alter table ACT_RE_MODEL add MODEL_STATE NVARCHAR2(10);
alter table ACT_RU_EXECUTION add TOP_PROCESS_INSTANCE_ID_ NVARCHAR2(100);
alter table ACT_HI_PROCINST add PROC_DEF_NAME NVARCHAR2(500);
alter table ACT_HI_PROCINST add START_USER_NAME NVARCHAR2(100);
alter table ACT_HI_PROCINST add STARTER_ORG_ID NVARCHAR2(100);
alter table ACT_HI_PROCINST add STARTER_ORG_NAME NVARCHAR2(100);
alter table ACT_HI_PROCINST add STARTER NVARCHAR2(100);
alter table ACT_HI_PROCINST add TOP_PROCESS_INSTANCE_ID_ NVARCHAR2(100);
alter table ACT_HI_ACTINST add SEND_USER_NAME NVARCHAR2(100);
alter table ACT_HI_ACTINST add SENDER_ORG_ID NVARCHAR2(100);
alter table ACT_HI_ACTINST add SENDER_ORG_NAME NVARCHAR2(100);
alter table ACT_HI_ACTINST add ASSIGNEE_USER_NAME NVARCHAR2(100);
alter table ACT_HI_ACTINST add ASSIGNEE_ORG_ID NVARCHAR2(100);
alter table ACT_HI_ACTINST add ASSIGNEE_ORG_NAME NVARCHAR2(100);
alter table ACT_HI_ACTINST add PROC_DEF_NAME NVARCHAR2(500);
alter table ACT_RU_TASK add SEND_USER_NAME NVARCHAR2(100);
alter table ACT_RU_TASK add SENDER_ORG_ID NVARCHAR2(100);
alter table ACT_RU_TASK add SENDER_ORG_NAME NVARCHAR2(100);
alter table ACT_RU_TASK add ASSIGNEE_USER_NAME NVARCHAR2(100);
alter table ACT_RU_TASK add ASSIGNEE_ORG_ID NVARCHAR2(100);
alter table ACT_RU_TASK add ASSIGNEE_ORG_NAME NVARCHAR2(100);
alter table ACT_RU_TASK add ASSIGNEE_USER_ID NVARCHAR2(100);
alter table ACT_RU_TASK add SEND_USER_ID NVARCHAR2(100);
alter table ACT_RU_TASK add PROC_DEF_NAME NVARCHAR2(500);
alter table ACT_HI_TASKINST add SEND_USER_NAME NVARCHAR2(100);
alter table ACT_HI_TASKINST add SENDER_ORG_ID NVARCHAR2(100);
alter table ACT_HI_TASKINST add SENDER_ORG_NAME NVARCHAR2(100);
alter table ACT_HI_TASKINST add ASSIGNEE_USER_NAME NVARCHAR2(100);
alter table ACT_HI_TASKINST add ASSIGNEE_ORG_ID NVARCHAR2(100);
alter table ACT_HI_TASKINST add ASSIGNEE_ORG_NAME NVARCHAR2(100);
alter table ACT_HI_TASKINST add ASSIGNEE_USER_ID NVARCHAR2(100);
alter table ACT_HI_TASKINST add SEND_USER_ID NVARCHAR2(100);
alter table ACT_HI_TASKINST add PROC_DEF_NAME NVARCHAR2(500);
alter table ACT_HI_TASKINST add TOP_EXECUTION_ID_ NVARCHAR2(100);
alter table ACT_HI_COMMENT add DISPLAY_AREA NVARCHAR2(500);
alter table ACT_HI_COMMENT add TOP_PROC_INST_ID_ NVARCHAR2(100);

View File

@ -0,0 +1,153 @@
create table ACT_HI_PROCINST (
ID_ NVARCHAR2(64) not null,
PROC_INST_ID_ NVARCHAR2(64) not null,
BUSINESS_KEY_ NVARCHAR2(255),
PROC_DEF_ID_ NVARCHAR2(64) not null,
START_TIME_ TIMESTAMP(6) not null,
END_TIME_ TIMESTAMP(6),
DURATION_ NUMBER(19,0),
START_USER_ID_ NVARCHAR2(255),
START_ACT_ID_ NVARCHAR2(255),
END_ACT_ID_ NVARCHAR2(255),
SUPER_PROCESS_INSTANCE_ID_ NVARCHAR2(64),
DELETE_REASON_ NVARCHAR2(2000),
TENANT_ID_ NVARCHAR2(255) default '',
NAME_ NVARCHAR2(255),
primary key (ID_),
unique (PROC_INST_ID_)
);
create table ACT_HI_ACTINST (
ID_ NVARCHAR2(64) not null,
PROC_DEF_ID_ NVARCHAR2(64) not null,
PROC_INST_ID_ NVARCHAR2(64) not null,
EXECUTION_ID_ NVARCHAR2(64) not null,
ACT_ID_ NVARCHAR2(255) not null,
TASK_ID_ NVARCHAR2(64),
CALL_PROC_INST_ID_ NVARCHAR2(64),
ACT_NAME_ NVARCHAR2(255),
ACT_TYPE_ NVARCHAR2(255) not null,
ASSIGNEE_ NVARCHAR2(255),
START_TIME_ TIMESTAMP(6) not null,
END_TIME_ TIMESTAMP(6),
DURATION_ NUMBER(19,0),
TENANT_ID_ NVARCHAR2(255) default '',
primary key (ID_)
);
create table ACT_HI_TASKINST (
ID_ NVARCHAR2(64) not null,
PROC_DEF_ID_ NVARCHAR2(64),
TASK_DEF_KEY_ NVARCHAR2(255),
PROC_INST_ID_ NVARCHAR2(64),
EXECUTION_ID_ NVARCHAR2(64),
PARENT_TASK_ID_ NVARCHAR2(64),
NAME_ NVARCHAR2(255),
DESCRIPTION_ NVARCHAR2(2000),
OWNER_ NVARCHAR2(255),
ASSIGNEE_ NVARCHAR2(255),
START_TIME_ TIMESTAMP(6) not null,
CLAIM_TIME_ TIMESTAMP(6),
END_TIME_ TIMESTAMP(6),
DURATION_ NUMBER(19,0),
DELETE_REASON_ NVARCHAR2(2000),
PRIORITY_ INTEGER,
DUE_DATE_ TIMESTAMP(6),
FORM_KEY_ NVARCHAR2(255),
CATEGORY_ NVARCHAR2(255),
TENANT_ID_ NVARCHAR2(255) default '',
primary key (ID_)
);
create table ACT_HI_VARINST (
ID_ NVARCHAR2(64) not null,
PROC_INST_ID_ NVARCHAR2(64),
EXECUTION_ID_ NVARCHAR2(64),
TASK_ID_ NVARCHAR2(64),
NAME_ NVARCHAR2(255) not null,
VAR_TYPE_ NVARCHAR2(100),
REV_ INTEGER,
BYTEARRAY_ID_ NVARCHAR2(64),
DOUBLE_ NUMBER(*,10),
LONG_ NUMBER(19,0),
TEXT_ NVARCHAR2(2000),
TEXT2_ NVARCHAR2(2000),
CREATE_TIME_ TIMESTAMP(6),
LAST_UPDATED_TIME_ TIMESTAMP(6),
primary key (ID_)
);
create table ACT_HI_DETAIL (
ID_ NVARCHAR2(64) not null,
TYPE_ NVARCHAR2(255) not null,
PROC_INST_ID_ NVARCHAR2(64),
EXECUTION_ID_ NVARCHAR2(64),
TASK_ID_ NVARCHAR2(64),
ACT_INST_ID_ NVARCHAR2(64),
NAME_ NVARCHAR2(255) not null,
VAR_TYPE_ NVARCHAR2(64),
REV_ INTEGER,
TIME_ TIMESTAMP(6) not null,
BYTEARRAY_ID_ NVARCHAR2(64),
DOUBLE_ NUMBER(*,10),
LONG_ NUMBER(19,0),
TEXT_ NVARCHAR2(2000),
TEXT2_ NVARCHAR2(2000),
primary key (ID_)
);
create table ACT_HI_COMMENT (
ID_ NVARCHAR2(64) not null,
TYPE_ NVARCHAR2(255),
TIME_ TIMESTAMP(6) not null,
USER_ID_ NVARCHAR2(255),
TASK_ID_ NVARCHAR2(64),
PROC_INST_ID_ NVARCHAR2(64),
ACTION_ NVARCHAR2(255),
MESSAGE_ NVARCHAR2(2000),
FULL_MSG_ BLOB,
primary key (ID_)
);
create table ACT_HI_ATTACHMENT (
ID_ NVARCHAR2(64) not null,
REV_ INTEGER,
USER_ID_ NVARCHAR2(255),
NAME_ NVARCHAR2(255),
DESCRIPTION_ NVARCHAR2(2000),
TYPE_ NVARCHAR2(255),
TASK_ID_ NVARCHAR2(64),
PROC_INST_ID_ NVARCHAR2(64),
URL_ NVARCHAR2(2000),
CONTENT_ID_ NVARCHAR2(64),
primary key (ID_)
);
create table ACT_HI_IDENTITYLINK (
ID_ NVARCHAR2(64),
GROUP_ID_ NVARCHAR2(255),
TYPE_ NVARCHAR2(255),
USER_ID_ NVARCHAR2(255),
TASK_ID_ NVARCHAR2(64),
PROC_INST_ID_ NVARCHAR2(64),
primary key (ID_)
);
create index ACT_IDX_HI_PRO_INST_END on ACT_HI_PROCINST(END_TIME_);
create index ACT_IDX_HI_PRO_I_BUSKEY on ACT_HI_PROCINST(BUSINESS_KEY_);
create index ACT_IDX_HI_ACT_INST_START on ACT_HI_ACTINST(START_TIME_);
create index ACT_IDX_HI_ACT_INST_END on ACT_HI_ACTINST(END_TIME_);
create index ACT_IDX_HI_DETAIL_PROC_INST on ACT_HI_DETAIL(PROC_INST_ID_);
create index ACT_IDX_HI_DETAIL_ACT_INST on ACT_HI_DETAIL(ACT_INST_ID_);
create index ACT_IDX_HI_DETAIL_TIME on ACT_HI_DETAIL(TIME_);
create index ACT_IDX_HI_DETAIL_NAME on ACT_HI_DETAIL(NAME_);
create index ACT_IDX_HI_DETAIL_TASK_ID on ACT_HI_DETAIL(TASK_ID_);
create index ACT_IDX_HI_PROCVAR_PROC_INST on ACT_HI_VARINST(PROC_INST_ID_);
create index ACT_IDX_HI_PROCVAR_NAME_TYPE on ACT_HI_VARINST(NAME_, VAR_TYPE_);
create index ACT_IDX_HI_PROCVAR_TASK_ID on ACT_HI_VARINST(TASK_ID_);
create index ACT_IDX_HI_IDENT_LNK_USER on ACT_HI_IDENTITYLINK(USER_ID_);
create index ACT_IDX_HI_IDENT_LNK_TASK on ACT_HI_IDENTITYLINK(TASK_ID_);
create index ACT_IDX_HI_IDENT_LNK_PROCINST on ACT_HI_IDENTITYLINK(PROC_INST_ID_);
create index ACT_IDX_HI_ACT_INST_PROCINST on ACT_HI_ACTINST(PROC_INST_ID_, ACT_ID_);
create index ACT_IDX_HI_ACT_INST_EXEC on ACT_HI_ACTINST(EXECUTION_ID_, ACT_ID_);

View File

@ -0,0 +1,48 @@
create table ACT_ID_GROUP (
ID_ NVARCHAR2(64),
REV_ INTEGER,
NAME_ NVARCHAR2(255),
TYPE_ NVARCHAR2(255),
primary key (ID_)
);
create table ACT_ID_MEMBERSHIP (
USER_ID_ NVARCHAR2(64),
GROUP_ID_ NVARCHAR2(64),
primary key (USER_ID_, GROUP_ID_)
);
create table ACT_ID_USER (
ID_ NVARCHAR2(64),
REV_ INTEGER,
FIRST_ NVARCHAR2(255),
LAST_ NVARCHAR2(255),
EMAIL_ NVARCHAR2(255),
PWD_ NVARCHAR2(255),
PICTURE_ID_ NVARCHAR2(64),
primary key (ID_)
);
create table ACT_ID_INFO (
ID_ NVARCHAR2(64),
REV_ INTEGER,
USER_ID_ NVARCHAR2(64),
TYPE_ NVARCHAR2(64),
KEY_ NVARCHAR2(255),
VALUE_ NVARCHAR2(255),
PASSWORD_ BLOB,
PARENT_ID_ NVARCHAR2(255),
primary key (ID_)
);
create index ACT_IDX_MEMB_GROUP on ACT_ID_MEMBERSHIP(GROUP_ID_);
alter table ACT_ID_MEMBERSHIP
add constraint ACT_FK_MEMB_GROUP
foreign key (GROUP_ID_)
references ACT_ID_GROUP (ID_);
create index ACT_IDX_MEMB_USER on ACT_ID_MEMBERSHIP(USER_ID_);
alter table ACT_ID_MEMBERSHIP
add constraint ACT_FK_MEMB_USER
foreign key (USER_ID_)
references ACT_ID_USER (ID_);

View File

@ -0,0 +1,316 @@
create table ACT_GE_PROPERTY (
NAME_ varchar(64),
VALUE_ varchar(300),
REV_ integer,
primary key (NAME_)
);
insert into ACT_GE_PROPERTY
values ('schema.version', '5.16.4.0', 1);
insert into ACT_GE_PROPERTY
values ('schema.history', 'create(5.16.4.0)', 1);
insert into ACT_GE_PROPERTY
values ('next.dbid', '1', 1);
create table ACT_GE_BYTEARRAY (
ID_ varchar(64),
REV_ integer,
NAME_ varchar(255),
DEPLOYMENT_ID_ varchar(64),
BYTES_ bytea,
GENERATED_ boolean,
primary key (ID_)
);
create table ACT_RE_DEPLOYMENT (
ID_ varchar(64),
NAME_ varchar(255),
CATEGORY_ varchar(255),
TENANT_ID_ varchar(255) default '',
DEPLOY_TIME_ timestamp,
primary key (ID_)
);
create table ACT_RE_MODEL (
ID_ varchar(64) not null,
REV_ integer,
NAME_ varchar(255),
KEY_ varchar(255),
CATEGORY_ varchar(255),
CREATE_TIME_ timestamp,
LAST_UPDATE_TIME_ timestamp,
VERSION_ integer,
META_INFO_ varchar(4000),
DEPLOYMENT_ID_ varchar(64),
EDITOR_SOURCE_VALUE_ID_ varchar(64),
EDITOR_SOURCE_EXTRA_VALUE_ID_ varchar(64),
TENANT_ID_ varchar(255) default '',
primary key (ID_)
);
create table ACT_RU_EXECUTION (
ID_ varchar(64),
REV_ integer,
PROC_INST_ID_ varchar(64),
BUSINESS_KEY_ varchar(255),
PARENT_ID_ varchar(64),
PROC_DEF_ID_ varchar(64),
SUPER_EXEC_ varchar(64),
ACT_ID_ varchar(255),
IS_ACTIVE_ boolean,
IS_CONCURRENT_ boolean,
IS_SCOPE_ boolean,
IS_EVENT_SCOPE_ boolean,
SUSPENSION_STATE_ integer,
CACHED_ENT_STATE_ integer,
TENANT_ID_ varchar(255) default '',
NAME_ varchar(255),
primary key (ID_)
);
create table ACT_RU_JOB (
ID_ varchar(64) NOT NULL,
REV_ integer,
TYPE_ varchar(255) NOT NULL,
LOCK_EXP_TIME_ timestamp,
LOCK_OWNER_ varchar(255),
EXCLUSIVE_ boolean,
EXECUTION_ID_ varchar(64),
PROCESS_INSTANCE_ID_ varchar(64),
PROC_DEF_ID_ varchar(64),
RETRIES_ integer,
EXCEPTION_STACK_ID_ varchar(64),
EXCEPTION_MSG_ varchar(4000),
DUEDATE_ timestamp,
REPEAT_ varchar(255),
HANDLER_TYPE_ varchar(255),
HANDLER_CFG_ varchar(4000),
TENANT_ID_ varchar(255) default '',
primary key (ID_)
);
create table ACT_RE_PROCDEF (
ID_ varchar(64) NOT NULL,
REV_ integer,
CATEGORY_ varchar(255),
NAME_ varchar(255),
KEY_ varchar(255) NOT NULL,
VERSION_ integer NOT NULL,
DEPLOYMENT_ID_ varchar(64),
RESOURCE_NAME_ varchar(4000),
DGRM_RESOURCE_NAME_ varchar(4000),
DESCRIPTION_ varchar(4000),
HAS_START_FORM_KEY_ boolean,
SUSPENSION_STATE_ integer,
TENANT_ID_ varchar(255) default '',
primary key (ID_)
);
create table ACT_RU_TASK (
ID_ varchar(64),
REV_ integer,
EXECUTION_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
PROC_DEF_ID_ varchar(64),
NAME_ varchar(255),
PARENT_TASK_ID_ varchar(64),
DESCRIPTION_ varchar(4000),
TASK_DEF_KEY_ varchar(255),
OWNER_ varchar(255),
ASSIGNEE_ varchar(255),
DELEGATION_ varchar(64),
PRIORITY_ integer,
CREATE_TIME_ timestamp,
DUE_DATE_ timestamp,
CATEGORY_ varchar(255),
SUSPENSION_STATE_ integer,
TENANT_ID_ varchar(255) default '',
FORM_KEY_ varchar(255),
primary key (ID_)
);
create table ACT_RU_IDENTITYLINK (
ID_ varchar(64),
REV_ integer,
GROUP_ID_ varchar(255),
TYPE_ varchar(255),
USER_ID_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
PROC_DEF_ID_ varchar (64),
primary key (ID_)
);
create table ACT_RU_VARIABLE (
ID_ varchar(64) not null,
REV_ integer,
TYPE_ varchar(255) not null,
NAME_ varchar(255) not null,
EXECUTION_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
TASK_ID_ varchar(64),
BYTEARRAY_ID_ varchar(64),
DOUBLE_ double precision,
LONG_ bigint,
TEXT_ varchar(4000),
TEXT2_ varchar(4000),
primary key (ID_)
);
create table ACT_RU_EVENT_SUBSCR (
ID_ varchar(64) not null,
REV_ integer,
EVENT_TYPE_ varchar(255) not null,
EVENT_NAME_ varchar(255),
EXECUTION_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
ACTIVITY_ID_ varchar(64),
CONFIGURATION_ varchar(255),
CREATED_ timestamp not null,
PROC_DEF_ID_ varchar(64),
TENANT_ID_ varchar(255) default '',
primary key (ID_)
);
create table ACT_EVT_LOG (
LOG_NR_ SERIAL PRIMARY KEY,
TYPE_ varchar(64),
PROC_DEF_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
TASK_ID_ varchar(64),
TIME_STAMP_ timestamp not null,
USER_ID_ varchar(255),
DATA_ bytea,
LOCK_OWNER_ varchar(255),
LOCK_TIME_ timestamp null,
IS_PROCESSED_ smallint default 0
);
create index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION(BUSINESS_KEY_);
create index ACT_IDX_TASK_CREATE on ACT_RU_TASK(CREATE_TIME_);
create index ACT_IDX_IDENT_LNK_USER on ACT_RU_IDENTITYLINK(USER_ID_);
create index ACT_IDX_IDENT_LNK_GROUP on ACT_RU_IDENTITYLINK(GROUP_ID_);
create index ACT_IDX_EVENT_SUBSCR_CONFIG_ on ACT_RU_EVENT_SUBSCR(CONFIGURATION_);
create index ACT_IDX_VARIABLE_TASK_ID on ACT_RU_VARIABLE(TASK_ID_);
create index ACT_IDX_BYTEAR_DEPL on ACT_GE_BYTEARRAY(DEPLOYMENT_ID_);
alter table ACT_GE_BYTEARRAY
add constraint ACT_FK_BYTEARR_DEPL
foreign key (DEPLOYMENT_ID_)
references ACT_RE_DEPLOYMENT (ID_);
alter table ACT_RE_PROCDEF
add constraint ACT_UNIQ_PROCDEF
unique (KEY_,VERSION_, TENANT_ID_);
create index ACT_IDX_EXE_PROCINST on ACT_RU_EXECUTION(PROC_INST_ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION (ID_);
create index ACT_IDX_EXE_PARENT on ACT_RU_EXECUTION(PARENT_ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PARENT
foreign key (PARENT_ID_)
references ACT_RU_EXECUTION (ID_);
create index ACT_IDX_EXE_SUPER on ACT_RU_EXECUTION(SUPER_EXEC_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_SUPER
foreign key (SUPER_EXEC_)
references ACT_RU_EXECUTION (ID_);
create index ACT_IDX_EXE_PROCDEF on ACT_RU_EXECUTION(PROC_DEF_ID_);
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PROCDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF (ID_);
create index ACT_IDX_TSKASS_TASK on ACT_RU_IDENTITYLINK(TASK_ID_);
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_TSKASS_TASK
foreign key (TASK_ID_)
references ACT_RU_TASK (ID_);
create index ACT_IDX_ATHRZ_PROCEDEF on ACT_RU_IDENTITYLINK(PROC_DEF_ID_);
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_ATHRZ_PROCEDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF (ID_);
create index ACT_IDX_IDL_PROCINST on ACT_RU_IDENTITYLINK(PROC_INST_ID_);
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_IDL_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION (ID_);
create index ACT_IDX_TASK_EXEC on ACT_RU_TASK(EXECUTION_ID_);
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_EXE
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION (ID_);
create index ACT_IDX_TASK_PROCINST on ACT_RU_TASK(PROC_INST_ID_);
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION (ID_);
create index ACT_IDX_TASK_PROCDEF on ACT_RU_TASK(PROC_DEF_ID_);
alter table ACT_RU_TASK
add constraint ACT_FK_TASK_PROCDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF (ID_);
create index ACT_IDX_VAR_EXE on ACT_RU_VARIABLE(EXECUTION_ID_);
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_EXE
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION (ID_);
create index ACT_IDX_VAR_PROCINST on ACT_RU_VARIABLE(PROC_INST_ID_);
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION(ID_);
create index ACT_IDX_VAR_BYTEARRAY on ACT_RU_VARIABLE(BYTEARRAY_ID_);
alter table ACT_RU_VARIABLE
add constraint ACT_FK_VAR_BYTEARRAY
foreign key (BYTEARRAY_ID_)
references ACT_GE_BYTEARRAY (ID_);
create index ACT_IDX_JOB_EXCEPTION on ACT_RU_JOB(EXCEPTION_STACK_ID_);
alter table ACT_RU_JOB
add constraint ACT_FK_JOB_EXCEPTION
foreign key (EXCEPTION_STACK_ID_)
references ACT_GE_BYTEARRAY (ID_);
create index ACT_IDX_EVENT_SUBSCR on ACT_RU_EVENT_SUBSCR(EXECUTION_ID_);
alter table ACT_RU_EVENT_SUBSCR
add constraint ACT_FK_EVENT_EXEC
foreign key (EXECUTION_ID_)
references ACT_RU_EXECUTION(ID_);
create index ACT_IDX_MODEL_SOURCE on ACT_RE_MODEL(EDITOR_SOURCE_VALUE_ID_);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_SOURCE
foreign key (EDITOR_SOURCE_VALUE_ID_)
references ACT_GE_BYTEARRAY (ID_);
create index ACT_IDX_MODEL_SOURCE_EXTRA on ACT_RE_MODEL(EDITOR_SOURCE_EXTRA_VALUE_ID_);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_SOURCE_EXTRA
foreign key (EDITOR_SOURCE_EXTRA_VALUE_ID_)
references ACT_GE_BYTEARRAY (ID_);
create index ACT_IDX_MODEL_DEPLOYMENT on ACT_RE_MODEL(DEPLOYMENT_ID_);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_DEPLOYMENT
foreign key (DEPLOYMENT_ID_)
references ACT_RE_DEPLOYMENT (ID_);

View File

@ -0,0 +1,153 @@
create table ACT_HI_PROCINST (
ID_ varchar(64) not null,
PROC_INST_ID_ varchar(64) not null,
BUSINESS_KEY_ varchar(255),
PROC_DEF_ID_ varchar(64) not null,
START_TIME_ timestamp not null,
END_TIME_ timestamp,
DURATION_ bigint,
START_USER_ID_ varchar(255),
START_ACT_ID_ varchar(255),
END_ACT_ID_ varchar(255),
SUPER_PROCESS_INSTANCE_ID_ varchar(64),
DELETE_REASON_ varchar(4000),
TENANT_ID_ varchar(255) default '',
NAME_ varchar(255),
primary key (ID_),
unique (PROC_INST_ID_)
);
create table ACT_HI_ACTINST (
ID_ varchar(64) not null,
PROC_DEF_ID_ varchar(64) not null,
PROC_INST_ID_ varchar(64) not null,
EXECUTION_ID_ varchar(64) not null,
ACT_ID_ varchar(255) not null,
TASK_ID_ varchar(64),
CALL_PROC_INST_ID_ varchar(64),
ACT_NAME_ varchar(255),
ACT_TYPE_ varchar(255) not null,
ASSIGNEE_ varchar(255),
START_TIME_ timestamp not null,
END_TIME_ timestamp,
DURATION_ bigint,
TENANT_ID_ varchar(255) default '',
primary key (ID_)
);
create table ACT_HI_TASKINST (
ID_ varchar(64) not null,
PROC_DEF_ID_ varchar(64),
TASK_DEF_KEY_ varchar(255),
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
NAME_ varchar(255),
PARENT_TASK_ID_ varchar(64),
DESCRIPTION_ varchar(4000),
OWNER_ varchar(255),
ASSIGNEE_ varchar(255),
START_TIME_ timestamp not null,
CLAIM_TIME_ timestamp,
END_TIME_ timestamp,
DURATION_ bigint,
DELETE_REASON_ varchar(4000),
PRIORITY_ integer,
DUE_DATE_ timestamp,
FORM_KEY_ varchar(255),
CATEGORY_ varchar(255),
TENANT_ID_ varchar(255) default '',
primary key (ID_)
);
create table ACT_HI_VARINST (
ID_ varchar(64) not null,
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
TASK_ID_ varchar(64),
NAME_ varchar(255) not null,
VAR_TYPE_ varchar(100),
REV_ integer,
BYTEARRAY_ID_ varchar(64),
DOUBLE_ double precision,
LONG_ bigint,
TEXT_ varchar(4000),
TEXT2_ varchar(4000),
CREATE_TIME_ timestamp,
LAST_UPDATED_TIME_ timestamp,
primary key (ID_)
);
create table ACT_HI_DETAIL (
ID_ varchar(64) not null,
TYPE_ varchar(255) not null,
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
TASK_ID_ varchar(64),
ACT_INST_ID_ varchar(64),
NAME_ varchar(255) not null,
VAR_TYPE_ varchar(64),
REV_ integer,
TIME_ timestamp not null,
BYTEARRAY_ID_ varchar(64),
DOUBLE_ double precision,
LONG_ bigint,
TEXT_ varchar(4000),
TEXT2_ varchar(4000),
primary key (ID_)
);
create table ACT_HI_COMMENT (
ID_ varchar(64) not null,
TYPE_ varchar(255),
TIME_ timestamp not null,
USER_ID_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
ACTION_ varchar(255),
MESSAGE_ varchar(4000),
FULL_MSG_ bytea,
primary key (ID_)
);
create table ACT_HI_ATTACHMENT (
ID_ varchar(64) not null,
REV_ integer,
USER_ID_ varchar(255),
NAME_ varchar(255),
DESCRIPTION_ varchar(4000),
TYPE_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
URL_ varchar(4000),
CONTENT_ID_ varchar(64),
primary key (ID_)
);
create table ACT_HI_IDENTITYLINK (
ID_ varchar(64),
GROUP_ID_ varchar(255),
TYPE_ varchar(255),
USER_ID_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
primary key (ID_)
);
create index ACT_IDX_HI_PRO_INST_END on ACT_HI_PROCINST(END_TIME_);
create index ACT_IDX_HI_PRO_I_BUSKEY on ACT_HI_PROCINST(BUSINESS_KEY_);
create index ACT_IDX_HI_ACT_INST_START on ACT_HI_ACTINST(START_TIME_);
create index ACT_IDX_HI_ACT_INST_END on ACT_HI_ACTINST(END_TIME_);
create index ACT_IDX_HI_DETAIL_PROC_INST on ACT_HI_DETAIL(PROC_INST_ID_);
create index ACT_IDX_HI_DETAIL_ACT_INST on ACT_HI_DETAIL(ACT_INST_ID_);
create index ACT_IDX_HI_DETAIL_TIME on ACT_HI_DETAIL(TIME_);
create index ACT_IDX_HI_DETAIL_NAME on ACT_HI_DETAIL(NAME_);
create index ACT_IDX_HI_DETAIL_TASK_ID on ACT_HI_DETAIL(TASK_ID_);
create index ACT_IDX_HI_PROCVAR_PROC_INST on ACT_HI_VARINST(PROC_INST_ID_);
create index ACT_IDX_HI_PROCVAR_NAME_TYPE on ACT_HI_VARINST(NAME_, VAR_TYPE_);
create index ACT_IDX_HI_PROCVAR_TASK_ID on ACT_HI_VARINST(TASK_ID_);
create index ACT_IDX_HI_ACT_INST_PROCINST on ACT_HI_ACTINST(PROC_INST_ID_, ACT_ID_);
create index ACT_IDX_HI_ACT_INST_EXEC on ACT_HI_ACTINST(EXECUTION_ID_, ACT_ID_);
create index ACT_IDX_HI_IDENT_LNK_USER on ACT_HI_IDENTITYLINK(USER_ID_);
create index ACT_IDX_HI_IDENT_LNK_TASK on ACT_HI_IDENTITYLINK(TASK_ID_);
create index ACT_IDX_HI_IDENT_LNK_PROCINST on ACT_HI_IDENTITYLINK(PROC_INST_ID_);

View File

@ -0,0 +1,48 @@
create table ACT_ID_GROUP (
ID_ varchar(64),
REV_ integer,
NAME_ varchar(255),
TYPE_ varchar(255),
primary key (ID_)
);
create table ACT_ID_MEMBERSHIP (
USER_ID_ varchar(64),
GROUP_ID_ varchar(64),
primary key (USER_ID_, GROUP_ID_)
);
create table ACT_ID_USER (
ID_ varchar(64),
REV_ integer,
FIRST_ varchar(255),
LAST_ varchar(255),
EMAIL_ varchar(255),
PWD_ varchar(255),
PICTURE_ID_ varchar(64),
primary key (ID_)
);
create table ACT_ID_INFO (
ID_ varchar(64),
REV_ integer,
USER_ID_ varchar(64),
TYPE_ varchar(64),
KEY_ varchar(255),
VALUE_ varchar(255),
PASSWORD_ bytea,
PARENT_ID_ varchar(255),
primary key (ID_)
);
create index ACT_IDX_MEMB_GROUP on ACT_ID_MEMBERSHIP(GROUP_ID_);
alter table ACT_ID_MEMBERSHIP
add constraint ACT_FK_MEMB_GROUP
foreign key (GROUP_ID_)
references ACT_ID_GROUP (ID_);
create index ACT_IDX_MEMB_USER on ACT_ID_MEMBERSHIP(USER_ID_);
alter table ACT_ID_MEMBERSHIP
add constraint ACT_FK_MEMB_USER
foreign key (USER_ID_)
references ACT_ID_USER (ID_);

View File

@ -0,0 +1,75 @@
drop index ACT_IDX_EXEC_BUSKEY;
drop index ACT_IDX_TASK_CREATE;
drop index ACT_IDX_IDENT_LNK_USER;
drop index ACT_IDX_IDENT_LNK_GROUP;
drop index ACT_IDX_VARIABLE_TASK_ID;
alter table ACT_GE_BYTEARRAY
drop foreign key ACT_FK_BYTEARR_DEPL;
alter table ACT_RU_EXECUTION
drop foreign key ACT_FK_EXE_PROCINST;
alter table ACT_RU_EXECUTION
drop foreign key ACT_FK_EXE_PARENT;
alter table ACT_RU_EXECUTION
drop foreign key ACT_FK_EXE_SUPER;
alter table ACT_RU_EXECUTION
drop foreign key ACT_FK_EXE_PROCDEF;
alter table ACT_RU_IDENTITYLINK
drop foreign key ACT_FK_TSKASS_TASK;
alter table ACT_RU_IDENTITYLINK
drop foreign key ACT_FK_ATHRZ_PROCEDEF;
alter table ACT_RU_TASK
drop foreign key ACT_FK_TASK_EXE;
alter table ACT_RU_TASK
drop foreign key ACT_FK_TASK_PROCINST;
alter table ACT_RU_TASK
drop foreign key ACT_FK_TASK_PROCDEF;
alter table ACT_RU_VARIABLE
drop foreign key ACT_FK_VAR_EXE;
alter table ACT_RU_VARIABLE
drop foreign key ACT_FK_VAR_PROCINST;
alter table ACT_RU_VARIABLE
drop foreign key ACT_FK_VAR_BYTEARRAY;
alter table ACT_RU_JOB
drop foreign key ACT_FK_JOB_EXCEPTION;
alter table ACT_RU_EVENT_SUBSCR
drop foreign key ACT_FK_EVENT_EXEC;
alter table ACT_RE_MODEL
drop foreign key ACT_FK_MODEL_SOURCE;
alter table ACT_RE_MODEL
drop foreign key ACT_FK_MODEL_SOURCE_EXTRA;
alter table ACT_RE_MODEL
drop foreign key ACT_FK_MODEL_DEPLOYMENT;
drop index ACT_IDX_EVENT_SUBSCR_CONFIG_;
drop index ACT_IDX_ATHRZ_PROCEDEF;
drop table ACT_GE_PROPERTY;
drop table ACT_GE_BYTEARRAY;
drop table ACT_RE_DEPLOYMENT;
drop table ACT_RE_MODEL;
drop table ACT_RE_PROCDEF;
drop table ACT_RU_VARIABLE;
drop table ACT_RU_IDENTITYLINK;
drop table ACT_RU_TASK;
drop table ACT_RU_EXECUTION;
drop table ACT_RU_JOB;
drop table ACT_RU_EVENT_SUBSCR;
drop table ACT_EVT_LOG;

View File

@ -0,0 +1,24 @@
drop index ACT_IDX_HI_PRO_INST_END;
drop index ACT_IDX_HI_PRO_I_BUSKEY;
drop index ACT_IDX_HI_ACT_INST_START;
drop index ACT_IDX_HI_ACT_INST_END;
drop index ACT_IDX_HI_DETAIL_PROC_INST;
drop index ACT_IDX_HI_DETAIL_ACT_INST;
drop index ACT_IDX_HI_DETAIL_TIME;
drop index ACT_IDX_HI_DETAIL_NAME;
drop index ACT_IDX_HI_DETAIL_TASK_ID;
drop index ACT_IDX_HI_PROCVAR_PROC_INST;
drop index ACT_IDX_HI_PROCVAR_NAME_TYPE;
drop index ACT_IDX_HI_ACT_INST_PROCINST;
drop index ACT_IDX_HI_IDENT_LNK_USER;
drop index ACT_IDX_HI_IDENT_LNK_TASK;
drop index ACT_IDX_HI_IDENT_LNK_PROCINST;
drop table ACT_HI_PROCINST;
drop table ACT_HI_ACTINST;
drop table ACT_HI_VARINST;
drop table ACT_HI_TASKINST;
drop table ACT_HI_DETAIL;
drop table ACT_HI_COMMENT;
drop table ACT_HI_ATTACHMENT;
drop table ACT_HI_IDENTITYLINK;

View File

@ -0,0 +1,10 @@
alter table ACT_ID_MEMBERSHIP
drop foreign key ACT_FK_MEMB_GROUP;
alter table ACT_ID_MEMBERSHIP
drop foreign key ACT_FK_MEMB_USER;
drop table ACT_ID_INFO;
drop table ACT_ID_MEMBERSHIP;
drop table ACT_ID_GROUP;
drop table ACT_ID_USER;

View File

@ -0,0 +1,20 @@
drop table if exists ACT_GE_PROPERTY cascade constraints;
drop table if exists ACT_GE_BYTEARRAY cascade constraints;
drop table if exists ACT_RE_DEPLOYMENT cascade constraints;
drop table if exists ACT_RE_MODEL cascade constraints;
drop table if exists ACT_RU_EXECUTION cascade constraints;
drop table if exists ACT_RU_JOB cascade constraints;
drop table if exists ACT_RE_PROCDEF cascade constraints;
drop table if exists ACT_RU_TASK cascade constraints;
drop table if exists ACT_RU_IDENTITYLINK cascade constraints;
drop table if exists ACT_RU_VARIABLE cascade constraints;
drop table if exists ACT_RU_EVENT_SUBSCR cascade constraints;
drop table if exists ACT_EVT_LOG cascade constraints;
drop index if exists ACT_IDX_EXEC_BUSKEY;
drop index if exists ACT_IDX_TASK_CREATE;
drop index if exists ACT_IDX_IDENT_LNK_USER;
drop index if exists ACT_IDX_IDENT_LNK_GROUP;
drop index if exists ACT_IDX_VARIABLE_TASK_ID;
drop index if exists ACT_IDX_EVENT_SUBSCR_CONFIG_;
drop index if exists ACT_IDX_ATHRZ_PROCEDEF;

View File

@ -0,0 +1,24 @@
drop table if exists ACT_HI_PROCINST cascade constraints;
drop table if exists ACT_HI_ACTINST cascade constraints;
drop table if exists ACT_HI_VARINST cascade constraints;
drop table if exists ACT_HI_TASKINST cascade constraints;
drop table if exists ACT_HI_DETAIL cascade constraints;
drop table if exists ACT_HI_COMMENT cascade constraints;
drop table if exists ACT_HI_ATTACHMENT cascade constraints;
drop table if exists ACT_HI_IDENTITYLINK cascade constraints;
drop index if exists ACT_IDX_HI_PRO_INST_END;
drop index if exists ACT_IDX_HI_PRO_I_BUSKEY;
drop index if exists ACT_IDX_HI_ACT_INST_START;
drop index if exists ACT_IDX_HI_ACT_INST_END;
drop index if exists ACT_IDX_HI_DETAIL_PROC_INST;
drop index if exists ACT_IDX_HI_DETAIL_ACT_INST;
drop index if exists ACT_IDX_HI_DETAIL_TIME;
drop index if exists ACT_IDX_HI_DETAIL_NAME;
drop index if exists ACT_IDX_HI_DETAIL_TASK_ID;
drop index if exists ACT_IDX_HI_PROCVAR_PROC_INST;
drop index if exists ACT_IDX_HI_PROCVAR_NAME_TYPE;
drop index if exists ACT_IDX_HI_ACT_INST_PROCINST;
drop index if exists ACT_IDX_HI_IDENT_LNK_USER;
drop index if exists ACT_IDX_HI_IDENT_LNK_TASK;
drop index if exists ACT_IDX_HI_IDENT_LNK_PROCINST;

View File

@ -0,0 +1,4 @@
drop table if exists ACT_ID_INFO cascade constraints;
drop table if exists ACT_ID_GROUP cascade constraints;
drop table if exists ACT_ID_MEMBERSHIP cascade constraints;
drop table if exists ACT_ID_USER cascade constraints;

View File

@ -0,0 +1,40 @@
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'ACT_IDX_EXEC_BUSKEY') drop index ACT_RU_EXECUTION.ACT_IDX_EXEC_BUSKEY;
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'ACT_IDX_TASK_CREATE') drop index ACT_RU_TASK.ACT_IDX_TASK_CREATE;
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'ACT_IDX_IDENT_LNK_USER') drop index ACT_RU_IDENTITYLINK.ACT_IDX_IDENT_LNK_USER;
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'ACT_IDX_IDENT_LNK_GROUP') drop index ACT_RU_IDENTITYLINK.ACT_IDX_IDENT_LNK_GROUP;
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'ACT_IDX_VARIABLE_TASK_ID') drop index ACT_RU_VARIABLE.ACT_IDX_VARIABLE_TASK_ID;
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'ACT_IDX_EVENT_SUBSCR_CONFIG_') drop index ACT_RU_EVENT_SUBSCR.ACT_IDX_EVENT_SUBSCR_CONFIG_;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_GE_BYTEARRAY') alter table ACT_GE_BYTEARRAY drop constraint ACT_FK_BYTEARR_DEPL;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RE_PROCDEF') alter table ACT_RE_PROCDEF drop constraint ACT_UNIQ_PROCDEF;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RU_EXECUTION') alter table ACT_RU_EXECUTION drop constraint ACT_FK_EXE_PROCDEF;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RU_EXECUTION') alter table ACT_RU_EXECUTION drop constraint ACT_FK_EXE_PARENT;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RU_EXECUTION') alter table ACT_RU_EXECUTION drop constraint ACT_FK_EXE_SUPER;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RU_IDENTITYLINK') alter table ACT_RU_IDENTITYLINK drop constraint ACT_FK_TSKASS_TASK;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RU_IDENTITYLINK') alter table ACT_RU_IDENTITYLINK drop constraint ACT_FK_ATHRZ_PROCEDEF;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RU_TASK') alter table ACT_RU_TASK drop constraint ACT_FK_TASK_EXE;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RU_TASK') alter table ACT_RU_TASK drop constraint ACT_FK_TASK_PROCINST;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RU_TASK') alter table ACT_RU_TASK drop constraint ACT_FK_TASK_PROCDEF;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RU_VARIABLE') alter table ACT_RU_VARIABLE drop constraint ACT_FK_VAR_EXE;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RU_VARIABLE') alter table ACT_RU_VARIABLE drop constraint ACT_FK_VAR_PROCINST;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RU_VARIABLE') alter table ACT_RU_VARIABLE drop constraint ACT_FK_VAR_BYTEARRAY;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RU_JOB') alter table ACT_RU_JOB drop constraint ACT_FK_JOB_EXCEPTION;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RU_EVENT_SUBSCR') alter table ACT_RU_EVENT_SUBSCR drop constraint ACT_FK_EVENT_EXEC;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RE_MODEL') alter table ACT_RE_MODEL drop constraint ACT_FK_MODEL_SOURCE;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RE_MODEL') alter table ACT_RE_MODEL drop constraint ACT_FK_MODEL_SOURCE_EXTRA;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RE_MODEL') alter table ACT_RE_MODEL drop constraint ACT_FK_MODEL_DEPLOYMENT;
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'ACT_IDX_ATHRZ_PROCEDEF') drop index ACT_RU_IDENTITYLINK.ACT_IDX_ATHRZ_PROCEDEF;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_GE_PROPERTY') drop table ACT_GE_PROPERTY;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_GE_BYTEARRAY') drop table ACT_GE_BYTEARRAY;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RE_PROCDEF') drop table ACT_RE_PROCDEF;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RE_DEPLOYMENT') drop table ACT_RE_DEPLOYMENT;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RE_MODEL') drop table ACT_RE_MODEL;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RU_IDENTITYLINK') drop table ACT_RU_IDENTITYLINK;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RU_TASK') drop table ACT_RU_TASK;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RU_VARIABLE') drop table ACT_RU_VARIABLE;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RU_EXECUTION') drop table ACT_RU_EXECUTION;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RU_EVENT_SUBSCR') drop table ACT_RU_EVENT_SUBSCR;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_RU_JOB') drop table ACT_RU_JOB;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_EVT_LOG') drop table ACT_EVT_LOG;

View File

@ -0,0 +1,24 @@
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'ACT_IDX_HI_PRO_INST_END') drop index ACT_HI_PROCINST.ACT_IDX_HI_PRO_INST_END;
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'ACT_IDX_HI_PRO_I_BUSKEY') drop index ACT_HI_PROCINST.ACT_IDX_HI_PRO_I_BUSKEY;
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'ACT_IDX_HI_ACT_INST_START') drop index ACT_HI_ACTINST.ACT_IDX_HI_ACT_INST_START;
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'ACT_IDX_HI_ACT_INST_END') drop index ACT_HI_ACTINST.ACT_IDX_HI_ACT_INST_END;
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'ACT_IDX_HI_DETAIL_PROC_INST') drop index ACT_HI_DETAIL.ACT_IDX_HI_DETAIL_PROC_INST;
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'ACT_IDX_HI_DETAIL_ACT_INST') drop index ACT_HI_DETAIL.ACT_IDX_HI_DETAIL_ACT_INST;
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'ACT_IDX_HI_DETAIL_TIME') drop index ACT_HI_DETAIL.ACT_IDX_HI_DETAIL_TIME;
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'ACT_IDX_HI_DETAIL_NAME') drop index ACT_HI_DETAIL.ACT_IDX_HI_DETAIL_NAME;
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'ACT_IDX_HI_DETAIL_TASK_ID') drop index ACT_HI_DETAIL.ACT_IDX_HI_DETAIL_TASK_ID;
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'ACT_IDX_HI_PROCVAR_PROC_INST') drop index ACT_HI_VARINST.ACT_IDX_HI_PROCVAR_PROC_INST;
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'ACT_IDX_HI_PROCVAR_NAME_TYPE') drop index ACT_HI_VARINST.ACT_IDX_HI_PROCVAR_NAME_TYPE;
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'ACT_IDX_HI_ACT_INST_PROCINST') drop index ACT_HI_ACTINST.ACT_IDX_HI_ACT_INST_PROCINST;
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'ACT_IDX_HI_IDENT_LNK_USER') drop index ACT_HI_IDENTITYLINK.ACT_IDX_HI_IDENT_LNK_USER;
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'ACT_IDX_HI_IDENT_LNK_TASK') drop index ACT_HI_IDENTITYLINK.ACT_IDX_HI_IDENT_LNK_TASK;
IF EXISTS (SELECT name FROM sysindexes WHERE name = 'ACT_IDX_HI_IDENT_LNK_PROCINST') drop index ACT_HI_IDENTITYLINK.ACT_IDX_HI_IDENT_LNK_PROCINST;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_HI_PROCINST') drop table ACT_HI_PROCINST;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_HI_ACTINST') drop table ACT_HI_ACTINST;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_HI_VARINST') drop table ACT_HI_VARINST;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_HI_TASKINST') drop table ACT_HI_TASKINST;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_HI_DETAIL') drop table ACT_HI_DETAIL;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_HI_COMMENT') drop table ACT_HI_COMMENT;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_HI_ATTACHMENT') drop table ACT_HI_ATTACHMENT;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_HI_IDENTITYLINK') drop table ACT_HI_IDENTITYLINK;

View File

@ -0,0 +1,7 @@
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_ID_MEMBERSHIP') alter table ACT_ID_MEMBERSHIP drop constraint ACT_FK_MEMB_GROUP;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_ID_MEMBERSHIP') alter table ACT_ID_MEMBERSHIP drop constraint ACT_FK_MEMB_USER;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_ID_INFO') drop table ACT_ID_INFO;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_ID_MEMBERSHIP') drop table ACT_ID_MEMBERSHIP;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_ID_GROUP') drop table ACT_ID_GROUP;
if exists (select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'ACT_ID_USER') drop table ACT_ID_USER;

View File

@ -0,0 +1,75 @@
drop index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION;
drop index ACT_IDX_TASK_CREATE on ACT_RU_TASK;
drop index ACT_IDX_IDENT_LNK_USER on ACT_RU_IDENTITYLINK;
drop index ACT_IDX_IDENT_LNK_GROUP on ACT_RU_IDENTITYLINK;
drop index ACT_IDX_VARIABLE_TASK_ID on ACT_RU_VARIABLE;
alter table ACT_GE_BYTEARRAY
drop FOREIGN KEY ACT_FK_BYTEARR_DEPL;
alter table ACT_RU_EXECUTION
drop FOREIGN KEY ACT_FK_EXE_PROCINST;
alter table ACT_RU_EXECUTION
drop FOREIGN KEY ACT_FK_EXE_PARENT;
alter table ACT_RU_EXECUTION
drop FOREIGN KEY ACT_FK_EXE_SUPER;
alter table ACT_RU_EXECUTION
drop FOREIGN KEY ACT_FK_EXE_PROCDEF;
alter table ACT_RU_IDENTITYLINK
drop FOREIGN KEY ACT_FK_TSKASS_TASK;
alter table ACT_RU_IDENTITYLINK
drop FOREIGN KEY ACT_FK_ATHRZ_PROCEDEF;
alter table ACT_RU_TASK
drop FOREIGN KEY ACT_FK_TASK_EXE;
alter table ACT_RU_TASK
drop FOREIGN KEY ACT_FK_TASK_PROCINST;
alter table ACT_RU_TASK
drop FOREIGN KEY ACT_FK_TASK_PROCDEF;
alter table ACT_RU_VARIABLE
drop FOREIGN KEY ACT_FK_VAR_EXE;
alter table ACT_RU_VARIABLE
drop FOREIGN KEY ACT_FK_VAR_PROCINST;
alter table ACT_RU_VARIABLE
drop FOREIGN KEY ACT_FK_VAR_BYTEARRAY;
alter table ACT_RU_JOB
drop FOREIGN KEY ACT_FK_JOB_EXCEPTION;
alter table ACT_RU_EVENT_SUBSCR
drop FOREIGN KEY ACT_FK_EVENT_EXEC;
alter table ACT_RE_MODEL
drop FOREIGN KEY ACT_FK_MODEL_SOURCE;
alter table ACT_RE_MODEL
drop FOREIGN KEY ACT_FK_MODEL_SOURCE_EXTRA;
alter table ACT_RE_MODEL
drop FOREIGN KEY ACT_FK_MODEL_DEPLOYMENT;
drop index ACT_IDX_ATHRZ_PROCEDEF on ACT_RU_IDENTITYLINK;
drop index ACT_IDX_EVENT_SUBSCR_CONFIG_ on ACT_RU_EVENT_SUBSCR;
drop table if exists ACT_GE_PROPERTY;
drop table if exists ACT_RU_VARIABLE;
drop table if exists ACT_GE_BYTEARRAY;
drop table if exists ACT_RE_DEPLOYMENT;
drop table if exists ACT_RE_MODEL;
drop table if exists ACT_RU_IDENTITYLINK;
drop table if exists ACT_RU_TASK;
drop table if exists ACT_RE_PROCDEF;
drop table if exists ACT_RU_EXECUTION;
drop table if exists ACT_RU_JOB;
drop table if exists ACT_RU_EVENT_SUBSCR;
drop table if exists ACT_EVT_LOG;

View File

@ -0,0 +1,24 @@
drop index ACT_IDX_HI_PRO_INST_END on ACT_HI_PROCINST;
drop index ACT_IDX_HI_PRO_I_BUSKEY on ACT_HI_PROCINST;
drop index ACT_IDX_HI_ACT_INST_START on ACT_HI_ACTINST;
drop index ACT_IDX_HI_ACT_INST_END on ACT_HI_ACTINST;
drop index ACT_IDX_HI_DETAIL_PROC_INST on ACT_HI_DETAIL;
drop index ACT_IDX_HI_DETAIL_ACT_INST on ACT_HI_DETAIL;
drop index ACT_IDX_HI_DETAIL_TIME on ACT_HI_DETAIL;
drop index ACT_IDX_HI_DETAIL_NAME on ACT_HI_DETAIL;
drop index ACT_IDX_HI_DETAIL_TASK_ID on ACT_HI_DETAIL;
drop index ACT_IDX_HI_PROCVAR_PROC_INST on ACT_HI_VARINST;
drop index ACT_IDX_HI_PROCVAR_NAME_TYPE on ACT_HI_VARINST;
drop index ACT_IDX_HI_ACT_INST_PROCINST on ACT_HI_ACTINST;
drop index ACT_IDX_HI_IDENT_LNK_USER on ACT_HI_IDENTITYLINK;
drop index ACT_IDX_HI_IDENT_LNK_TASK on ACT_HI_IDENTITYLINK;
drop index ACT_IDX_HI_IDENT_LNK_PROCINST on ACT_HI_IDENTITYLINK;
drop table if exists ACT_HI_PROCINST;
drop table if exists ACT_HI_ACTINST;
drop table if exists ACT_HI_VARINST;
drop table if exists ACT_HI_TASKINST;
drop table if exists ACT_HI_DETAIL;
drop table if exists ACT_HI_COMMENT;
drop table if exists ACT_HI_ATTACHMENT;
drop table if exists ACT_HI_IDENTITYLINK;

View File

@ -0,0 +1,10 @@
alter table ACT_ID_MEMBERSHIP
drop FOREIGN KEY ACT_FK_MEMB_GROUP;
alter table ACT_ID_MEMBERSHIP
drop FOREIGN KEY ACT_FK_MEMB_USER;
drop table if exists ACT_ID_INFO;
drop table if exists ACT_ID_MEMBERSHIP;
drop table if exists ACT_ID_GROUP;
drop table if exists ACT_ID_USER;

View File

@ -0,0 +1,97 @@
drop index ACT_IDX_BYTEAR_DEPL;
drop index ACT_IDX_EXE_PROCINST;
drop index ACT_IDX_EXE_PARENT;
drop index ACT_IDX_EXE_SUPER;
drop index ACT_IDX_TSKASS_TASK;
drop index ACT_IDX_TASK_EXEC;
drop index ACT_IDX_TASK_PROCINST;
drop index ACT_IDX_TASK_PROCDEF;
drop index ACT_IDX_VAR_EXE;
drop index ACT_IDX_VAR_PROCINST;
drop index ACT_IDX_VAR_BYTEARRAY;
drop index ACT_IDX_JOB_EXCEPTION;
drop index ACT_IDX_MODEL_SOURCE;
drop index ACT_IDX_MODEL_SOURCE_EXTRA;
drop index ACT_IDX_MODEL_DEPLOYMENT;
drop index ACT_IDX_EXEC_BUSKEY;
drop index ACT_IDX_TASK_CREATE;
drop index ACT_IDX_IDENT_LNK_USER;
drop index ACT_IDX_IDENT_LNK_GROUP;
drop index ACT_IDX_VARIABLE_TASK_ID;
alter table ACT_GE_BYTEARRAY
drop CONSTRAINT ACT_FK_BYTEARR_DEPL;
alter table ACT_RU_EXECUTION
drop CONSTRAINT ACT_FK_EXE_PROCINST;
alter table ACT_RU_EXECUTION
drop CONSTRAINT ACT_FK_EXE_PARENT;
alter table ACT_RU_EXECUTION
drop CONSTRAINT ACT_FK_EXE_SUPER;
alter table ACT_RU_EXECUTION
drop CONSTRAINT ACT_FK_EXE_PROCDEF;
alter table ACT_RU_IDENTITYLINK
drop CONSTRAINT ACT_FK_TSKASS_TASK;
alter table ACT_RU_IDENTITYLINK
drop CONSTRAINT ACT_FK_ATHRZ_PROCEDEF;
alter table ACT_RU_TASK
drop CONSTRAINT ACT_FK_TASK_EXE;
alter table ACT_RU_TASK
drop CONSTRAINT ACT_FK_TASK_PROCINST;
alter table ACT_RU_TASK
drop CONSTRAINT ACT_FK_TASK_PROCDEF;
alter table ACT_RU_VARIABLE
drop CONSTRAINT ACT_FK_VAR_EXE;
alter table ACT_RU_VARIABLE
drop CONSTRAINT ACT_FK_VAR_PROCINST;
alter table ACT_RU_VARIABLE
drop CONSTRAINT ACT_FK_VAR_BYTEARRAY;
alter table ACT_RU_JOB
drop CONSTRAINT ACT_FK_JOB_EXCEPTION;
alter table ACT_RU_EVENT_SUBSCR
drop CONSTRAINT ACT_FK_EVENT_EXEC;
alter table ACT_RE_PROCDEF
drop CONSTRAINT ACT_UNIQ_PROCDEF;
alter table ACT_RE_MODEL
drop CONSTRAINT ACT_FK_MODEL_SOURCE;
alter table ACT_RE_MODEL
drop CONSTRAINT ACT_FK_MODEL_SOURCE_EXTRA;
alter table ACT_RE_MODEL
drop CONSTRAINT ACT_FK_MODEL_DEPLOYMENT;
drop index ACT_IDX_EVENT_SUBSCR_CONFIG_;
drop index ACT_IDX_EVENT_SUBSCR;
drop index ACT_IDX_ATHRZ_PROCEDEF;
drop table ACT_GE_PROPERTY;
drop table ACT_GE_BYTEARRAY;
drop table ACT_RE_DEPLOYMENT;
drop table ACT_RE_MODEL;
drop table ACT_RE_PROCDEF;
drop table ACT_RU_IDENTITYLINK;
drop table ACT_RU_VARIABLE;
drop table ACT_RU_TASK;
drop table ACT_RU_EXECUTION;
drop table ACT_RU_JOB;
drop table ACT_RU_EVENT_SUBSCR;
drop sequence act_evt_log_seq;
drop table ACT_EVT_LOG;

View File

@ -0,0 +1,24 @@
drop index ACT_IDX_HI_PRO_INST_END;
drop index ACT_IDX_HI_PRO_I_BUSKEY;
drop index ACT_IDX_HI_ACT_INST_START;
drop index ACT_IDX_HI_ACT_INST_END;
drop index ACT_IDX_HI_DETAIL_PROC_INST;
drop index ACT_IDX_HI_DETAIL_ACT_INST;
drop index ACT_IDX_HI_DETAIL_TIME;
drop index ACT_IDX_HI_DETAIL_NAME;
drop index ACT_IDX_HI_DETAIL_TASK_ID;
drop index ACT_IDX_HI_PROCVAR_PROC_INST;
drop index ACT_IDX_HI_PROCVAR_NAME_TYPE;
drop index ACT_IDX_HI_ACT_INST_PROCINST;
drop index ACT_IDX_HI_IDENT_LNK_USER;
drop index ACT_IDX_HI_IDENT_LNK_TASK;
drop index ACT_IDX_HI_IDENT_LNK_PROCINST;
drop table ACT_HI_PROCINST;
drop table ACT_HI_ACTINST;
drop table ACT_HI_VARINST;
drop table ACT_HI_TASKINST;
drop table ACT_HI_DETAIL;
drop table ACT_HI_COMMENT;
drop table ACT_HI_ATTACHMENT;
drop table ACT_HI_IDENTITYLINK;

View File

@ -0,0 +1,13 @@
alter table ACT_ID_MEMBERSHIP
drop CONSTRAINT ACT_FK_MEMB_GROUP;
alter table ACT_ID_MEMBERSHIP
drop CONSTRAINT ACT_FK_MEMB_USER;
drop index ACT_IDX_MEMB_GROUP;
drop index ACT_IDX_MEMB_USER;
drop table ACT_ID_INFO;
drop table ACT_ID_MEMBERSHIP;
drop table ACT_ID_GROUP;
drop table ACT_ID_USER;

View File

@ -0,0 +1,12 @@
drop table if exists ACT_GE_PROPERTY cascade;
drop table if exists ACT_GE_BYTEARRAY cascade;
drop table if exists ACT_RE_DEPLOYMENT cascade;
drop table if exists ACT_RE_MODEL cascade;
drop table if exists ACT_RE_PROCDEF cascade;
drop table if exists ACT_RU_EXECUTION cascade;
drop table if exists ACT_RU_JOB cascade;
drop table if exists ACT_RU_TASK cascade;
drop table if exists ACT_RU_IDENTITYLINK cascade;
drop table if exists ACT_RU_VARIABLE cascade;
drop table if exists ACT_RU_EVENT_SUBSCR cascade;
drop table if exists ACT_EVT_LOG cascade;

View File

@ -0,0 +1,8 @@
drop table if exists ACT_HI_PROCINST cascade;
drop table if exists ACT_HI_ACTINST cascade;
drop table if exists ACT_HI_VARINST cascade;
drop table if exists ACT_HI_TASKINST cascade;
drop table if exists ACT_HI_DETAIL cascade;
drop table if exists ACT_HI_COMMENT cascade;
drop table if exists ACT_HI_ATTACHMENT cascade;
drop table if exists ACT_HI_IDENTITYLINK cascade;

View File

@ -0,0 +1,4 @@
drop table if exists ACT_ID_INFO cascade;
drop table if exists ACT_ID_GROUP cascade;
drop table if exists ACT_ID_MEMBERSHIP cascade;
drop table if exists ACT_ID_USER cascade;

View File

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
~ Licensed 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.
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.AttachmentEntity">
<!-- ATTACHMENT INSERT -->
<insert id="insertAttachment" parameterType="org.activiti.engine.impl.persistence.entity.AttachmentEntity">
insert into ${prefix}ACT_HI_ATTACHMENT (ID_, REV_, USER_ID_, NAME_, DESCRIPTION_, TYPE_, TASK_ID_, PROC_INST_ID_, URL_, CONTENT_ID_)
values (
#{id ,jdbcType=VARCHAR},
1,
#{userId ,jdbcType=VARCHAR},
#{name ,jdbcType=VARCHAR},
#{description ,jdbcType=VARCHAR},
#{type ,jdbcType=VARCHAR},
#{taskId ,jdbcType=VARCHAR},
#{processInstanceId ,jdbcType=VARCHAR},
#{url ,jdbcType=VARCHAR},
#{contentId ,jdbcType=VARCHAR}
)
</insert>
<!-- ATTACHMENT UPDATE -->
<update id="updateAttachment" parameterType="org.activiti.engine.impl.persistence.entity.AttachmentEntity">
update ${prefix}ACT_HI_ATTACHMENT
set
REV_ = #{revisionNext, jdbcType=INTEGER},
NAME_ = #{name, jdbcType=VARCHAR},
DESCRIPTION_ = #{description, jdbcType=TIMESTAMP}
where ID_ = #{id}
and REV_ = #{revision, jdbcType=INTEGER}
</update>
<!-- ATTACHMENT DELETE -->
<delete id="deleteAttachment" parameterType="org.activiti.engine.impl.persistence.entity.AttachmentEntity">
delete from ${prefix}ACT_HI_ATTACHMENT
where ID_ = #{id} and REV_ = #{revision}
</delete>
<!-- ATTACHMENT RESULTMAP -->
<resultMap id="attachmentResultMap" type="org.activiti.engine.impl.persistence.entity.AttachmentEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="revision" column="REV_" jdbcType="INTEGER" />
<result property="name" column="NAME_" jdbcType="VARCHAR" />
<result property="description" column="DESCRIPTION_" jdbcType="VARCHAR" />
<result property="type" column="TYPE_" jdbcType="VARCHAR" />
<result property="taskId" column="TASK_ID_" jdbcType="VARCHAR" />
<result property="processInstanceId" column="PROC_INST_ID_" jdbcType="VARCHAR" />
<result property="url" column="URL_" jdbcType="VARCHAR" />
<result property="contentId" column="CONTENT_ID_" jdbcType="VARCHAR" />
<result property="userId" column="USER_ID_" jdbcType="VARCHAR" />
</resultMap>
<!-- ATTACHMENT SELECT -->
<select id="selectAttachment" parameterType="string" resultMap="attachmentResultMap">
select * from ${prefix}ACT_HI_ATTACHMENT where ID_ = #{id,jdbcType=VARCHAR}
</select>
<select id="selectAttachmentsByTaskId" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="attachmentResultMap">
select * from ${prefix}ACT_HI_ATTACHMENT where TASK_ID_ = #{parameter,jdbcType=VARCHAR}
</select>
<select id="selectAttachmentsByProcessInstanceId" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="attachmentResultMap">
select * from ${prefix}ACT_HI_ATTACHMENT where PROC_INST_ID_ = #{parameter,jdbcType=VARCHAR}
</select>
</mapper>

View File

@ -0,0 +1,95 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.ByteArrayEntity">
<!-- BYTE ARRAY INSERT -->
<insert id="insertByteArray" parameterType="org.activiti.engine.impl.persistence.entity.ByteArrayEntity">
insert into ${prefix}ACT_GE_BYTEARRAY(ID_, REV_, NAME_, BYTES_, DEPLOYMENT_ID_)
values (
#{id, jdbcType=VARCHAR},
1,
#{name, jdbcType=VARCHAR},
#{bytes, jdbcType=BLOB},
#{deploymentId, jdbcType=VARCHAR}
)
</insert>
<!-- BYTE ARRAY UPDATE -->
<update id="updateByteArray" parameterType="org.activiti.engine.impl.persistence.entity.ByteArrayEntity">
update ${prefix}ACT_GE_BYTEARRAY
set
REV_ = #{revisionNext, jdbcType=INTEGER},
BYTES_ = #{bytes, jdbcType=BLOB}
where ID_ = #{id}
and REV_ = #{revision, jdbcType=INTEGER}
</update>
<!-- BYTE ARRAY DELETE -->
<select id="selectBytesOfByteArray" parameterType="string" resultType="hashmap">
select BYTES_ from ${prefix}ACT_GE_BYTEARRAY where ID_ = #{id} and REV_ = #{revision}
</select>
<delete id="deleteByteArraysForDeployment" parameterType="org.activiti.engine.impl.persistence.entity.ByteArrayEntity">
delete from ${prefix}ACT_GE_BYTEARRAY where DEPLOYMENT_ID_ = #{id} and REV_ = #{revision}
</delete>
<delete id="deleteByteArray" parameterType="org.activiti.engine.impl.persistence.entity.ByteArrayEntity">
delete from ${prefix}ACT_GE_BYTEARRAY where ID_ = #{id} and REV_ = #{revision}
</delete>
<delete id="deleteByteArrayNoRevisionCheck" parameterType="string">
delete from ${prefix}ACT_GE_BYTEARRAY where ID_ = #{id}
</delete>
<!-- BYTE ARRAY RESULTMAP -->
<resultMap id="byteArrayResultMap" type="org.activiti.engine.impl.persistence.entity.ByteArrayEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="revision" column="REV_" jdbcType="INTEGER"/>
<result property="name" column="NAME_" jdbcType="VARCHAR"/>
<result property="bytes" column="BYTES_" jdbcType="BLOB"/>
</resultMap>
<!-- BYTE ARRAY SELECT -->
<select id="selectByteArray" parameterType="string" resultMap="byteArrayResultMap">
select * from ${prefix}ACT_GE_BYTEARRAY where ID_ = #{id}
</select>
<!-- Postgresql specific configuration -->
<resultMap id="byteArrayResultMap_postgres" type="org.activiti.engine.impl.persistence.entity.ByteArrayEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="revision" column="REV_" jdbcType="INTEGER"/>
<result property="name" column="NAME_" jdbcType="VARCHAR"/>
<result property="bytes" column="BYTES_" jdbcType="BINARY"/>
</resultMap>
<select id="selectByteArray_postgres" parameterType="string" resultMap="byteArrayResultMap_postgres">
select * from ${prefix}ACT_GE_BYTEARRAY where ID_ = #{id}
</select>
<update id="updateByteArray_postgres" parameterType="org.activiti.engine.impl.persistence.entity.ByteArrayEntity">
update ${prefix}ACT_GE_BYTEARRAY
set
REV_ = #{revisionNext, jdbcType=INTEGER},
BYTES_ = #{bytes, jdbcType=BINARY}
where ID_ = #{id}
and REV_ = #{revision, jdbcType=INTEGER}
</update>
<insert id="insertByteArray_postgres" parameterType="org.activiti.engine.impl.persistence.entity.ByteArrayEntity">
insert into ${prefix}ACT_GE_BYTEARRAY(ID_, REV_, NAME_, BYTES_, DEPLOYMENT_ID_)
values (
#{id, jdbcType=VARCHAR},
1,
#{name, jdbcType=VARCHAR},
#{bytes, jdbcType=BINARY},
#{deploymentId, jdbcType=VARCHAR}
)
</insert>
</mapper>

View File

@ -0,0 +1,225 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
~ Licensed 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.
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.CommentEntity">
<!-- COMMENT INSERT -->
<insert id="insertComment" parameterType="org.activiti.engine.impl.persistence.entity.CommentEntity">
insert into ${prefix}ACT_HI_COMMENT (ID_, TYPE_, TIME_, USER_ID_, TASK_ID_, PROC_INST_ID_, ACTION_, MESSAGE_, FULL_MSG_,DISPLAY_AREA,TOP_PROC_INST_ID_)
values (
#{id ,jdbcType=VARCHAR},
#{type ,jdbcType=VARCHAR},
#{time ,jdbcType=TIMESTAMP},
#{userId ,jdbcType=VARCHAR},
#{taskId ,jdbcType=VARCHAR},
#{processInstanceId ,jdbcType=VARCHAR},
#{action ,jdbcType=VARCHAR},
#{message ,jdbcType=VARCHAR},
#{fullMessageBytes ,jdbcType=BLOB},
#{displayArea ,jdbcType=VARCHAR},
#{topProcessInstanceId ,jdbcType=VARCHAR}
)
</insert>
<insert id="insertComment_postgres" parameterType="org.activiti.engine.impl.persistence.entity.CommentEntity">
insert into ${prefix}ACT_HI_COMMENT (ID_, TYPE_, TIME_, USER_ID_, TASK_ID_, PROC_INST_ID_, ACTION_, MESSAGE_, FULL_MSG_,DISPLAY_AREA)
values (
#{id ,jdbcType=VARCHAR},
#{type ,jdbcType=VARCHAR},
#{time ,jdbcType=TIMESTAMP},
#{userId ,jdbcType=VARCHAR},
#{taskId ,jdbcType=VARCHAR},
#{processInstanceId ,jdbcType=VARCHAR},
#{action ,jdbcType=VARCHAR},
#{message ,jdbcType=VARCHAR},
#{fullMessageBytes ,jdbcType=BINARY},
#{displayArea ,jdbcType=VARCHAR}
)
</insert>
<!-- COMMENT DELETE -->
<delete id="deleteComment" parameterType="string">
delete from ${prefix}ACT_HI_COMMENT where ID_ = #{id}
</delete>
<delete id="deleteCommentsByTaskId" parameterType="string">
delete from ${prefix}ACT_HI_COMMENT where TASK_ID_ = #{taskId}
</delete>
<delete id="deleteCommentsByProcessInstanceId" parameterType="string">
delete from ${prefix}ACT_HI_COMMENT where PROC_INST_ID_ = #{processInstanceId}
</delete>
<!-- COMMENT RESULTMAP -->
<resultMap id="commentResultMap" type="org.activiti.engine.impl.persistence.entity.CommentEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="type" column="TYPE_" jdbcType="VARCHAR" />
<result property="userId" column="USER_ID_" jdbcType="VARCHAR" />
<result property="time" column="TIME_" jdbcType="TIMESTAMP" />
<result property="taskId" column="TASK_ID_" jdbcType="VARCHAR" />
<result property="processInstanceId" column="PROC_INST_ID_" jdbcType="VARCHAR" />
<result property="action" column="ACTION_" jdbcType="VARCHAR" />
<result property="message" column="MESSAGE_" jdbcType="VARCHAR" />
<result property="fullMessageBytes" column="FULL_MSG_" jdbcType="BLOB" />
<!-- 2014-12-22 by lw -->
<result property="displayArea" column="DISPLAY_AREA" jdbcType="VARCHAR" />
<result property="topProcessInstanceId" column="TOP_PROC_INST_ID_" jdbcType="VARCHAR" />
</resultMap>
<resultMap id="commentResultMap_postgres" type="org.activiti.engine.impl.persistence.entity.CommentEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="type" column="TYPE_" jdbcType="VARCHAR" />
<result property="userId" column="USER_ID_" jdbcType="VARCHAR" />
<result property="time" column="TIME_" jdbcType="TIMESTAMP" />
<result property="taskId" column="TASK_ID_" jdbcType="VARCHAR" />
<result property="processInstanceId" column="PROC_INST_ID_" jdbcType="VARCHAR" />
<result property="action" column="ACTION_" jdbcType="VARCHAR" />
<result property="message" column="MESSAGE_" jdbcType="VARCHAR" />
<result property="fullMessageBytes" column="FULL_MSG_" jdbcType="BINARY" />
<!-- 2014-12-22 by lw -->
<result property="displayArea" column="DISPLAY_AREA" jdbcType="VARCHAR" />
</resultMap>
<!-- COMMENT SELECT -->
<select id="selectComment" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="commentResultMap">
select *
from ${prefix}ACT_HI_COMMENT
where ID_ = #{parameter,jdbcType=VARCHAR}
</select>
<select id="selectComment_postgres" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="commentResultMap_postgres">
select *
from ${prefix}ACT_HI_COMMENT
where ID_ = #{parameter,jdbcType=VARCHAR}
</select>
<select id="selectCommentsByTaskId" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="commentResultMap">
select *
from ${prefix}ACT_HI_COMMENT
where TASK_ID_ = #{parameter,jdbcType=VARCHAR}
and TYPE_ = 'comment'
order by TIME_ desc
</select>
<select id="selectCommentsByTaskId_postgres" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="commentResultMap_postgres">
select *
from ${prefix}ACT_HI_COMMENT
where TASK_ID_ = #{parameter,jdbcType=VARCHAR}
and TYPE_ = 'comment'
order by TIME_ desc
</select>
<select id="selectCommentsByTaskIdAndType" parameterType="java.util.Map" resultMap="commentResultMap">
select *
from ${prefix}ACT_HI_COMMENT
where TASK_ID_ = #{taskId,jdbcType=VARCHAR}
and TYPE_ = #{type,jdbcType=VARCHAR}
order by TIME_ desc
</select>
<select id="selectCommentsByTaskIdAndType_postgres" parameterType="java.util.Map" resultMap="commentResultMap_postgres">
select *
from ${prefix}ACT_HI_COMMENT
where TASK_ID_ = #{taskId,jdbcType=VARCHAR}
and TYPE_ = #{type,jdbcType=VARCHAR}
order by TIME_ desc
</select>
<select id="selectCommentsByType" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="commentResultMap">
select *
from ${prefix}ACT_HI_COMMENT
where TYPE_ = #{parameter,jdbcType=VARCHAR}
order by TIME_ desc
</select>
<select id="selectCommentsByType_postgres" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="commentResultMap_postgres">
select *
from ${prefix}ACT_HI_COMMENT
where TYPE_ = #{parameter,jdbcType=VARCHAR}
order by TIME_ desc
</select>
<select id="selectEventsByTaskId" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="commentResultMap">
select *
from ${prefix}ACT_HI_COMMENT
where TASK_ID_ = #{parameter,jdbcType=VARCHAR}
order by TIME_ desc
</select>
<select id="selectEventsByTaskId_postgres" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="commentResultMap_postgres">
select *
from ${prefix}ACT_HI_COMMENT
where TASK_ID_ = #{parameter,jdbcType=VARCHAR}
order by TIME_ desc
</select>
<select id="selectEventsByProcessInstanceId" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="commentResultMap">
select *
from ${prefix}ACT_HI_COMMENT
where PROC_INST_ID_ = #{parameter,jdbcType=VARCHAR}
order by TIME_ desc
</select>
<select id="selectEventsByProcessInstanceId_postgres" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="commentResultMap_postgres">
select *
from ${prefix}ACT_HI_COMMENT
where PROC_INST_ID_ = #{parameter,jdbcType=VARCHAR}
order by TIME_ desc
</select>
<select id="selectCommentsByProcessInstanceId" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="commentResultMap">
select *
from ${prefix}ACT_HI_COMMENT
where PROC_INST_ID_ = #{parameter,jdbcType=VARCHAR}
order by TIME_ desc
</select>
<select id="selectCommentsByTopProcessInstanceId" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="commentResultMap">
select *
from ${prefix}ACT_HI_COMMENT
where TOP_PROC_INST_ID_ = #{parameter,jdbcType=VARCHAR}
order by TIME_ desc
</select>
<select id="selectCommentsByProcessInstanceId_postgres" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="commentResultMap_postgres">
select *
from ${prefix}ACT_HI_COMMENT
where PROC_INST_ID_ = #{parameter,jdbcType=VARCHAR}
order by TIME_ desc
</select>
<select id="selectCommentsByProcessInstanceIdAndType" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="commentResultMap">
select *
from ${prefix}ACT_HI_COMMENT
where PROC_INST_ID_ = #{processInstanceId,jdbcType=VARCHAR}
and TYPE_ = #{type,jdbcType=VARCHAR}
order by TIME_ desc
</select>
<select id="selectCommentsByProcessInstanceIdAndType_postgres" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="commentResultMap_postgres">
select *
from ${prefix}ACT_HI_COMMENT
where PROC_INST_ID_ = #{processInstanceId,jdbcType=VARCHAR}
and TYPE_ = #{type,jdbcType=VARCHAR}
order by TIME_ desc
</select>
</mapper>

View File

@ -0,0 +1,140 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.DeploymentEntity">
<!-- DEPLOYMENT INSERT -->
<insert id="insertDeployment" parameterType="org.activiti.engine.impl.persistence.entity.DeploymentEntity">
insert into ${prefix}ACT_RE_DEPLOYMENT(ID_, NAME_, CATEGORY_, TENANT_ID_, DEPLOY_TIME_)
values(#{id, jdbcType=VARCHAR}, #{name, jdbcType=VARCHAR}, #{category, jdbcType=VARCHAR}, #{tenantId, jdbcType=VARCHAR}, #{deploymentTime, jdbcType=TIMESTAMP})
</insert>
<!-- DEPLOYMENT UPDATE -->
<update id="updateDeployment" parameterType="org.activiti.engine.impl.persistence.entity.DeploymentEntity">
update ${prefix}ACT_RE_DEPLOYMENT set
CATEGORY_ = #{category, jdbcType=VARCHAR},
TENANT_ID_ = #{tenantId, jdbcType=VARCHAR}
where ID_ = #{id, jdbcType=VARCHAR}
</update>
<!-- DEPLOYMENT DELETE -->
<delete id="deleteDeployment" parameterType="string">
delete from ${prefix}ACT_RE_DEPLOYMENT where ID_ = #{id}
</delete>
<!-- DEPLOYMENT RESULTMAP -->
<resultMap id="deploymentResultMap" type="org.activiti.engine.impl.persistence.entity.DeploymentEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="name" column="NAME_" jdbcType="VARCHAR" />
<result property="category" column="CATEGORY_" jdbcType="VARCHAR" />
<result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR" />
<result property="deploymentTime" column="DEPLOY_TIME_" jdbcType="TIMESTAMP"/>
</resultMap>
<!-- DEPLOYMENT SELECT -->
<select id="selectDeploymentsByQueryCriteria" parameterType="org.activiti.engine.impl.DeploymentQueryImpl" resultMap="deploymentResultMap">
${limitBefore}
select distinct RES.* ${limitBetween}
<include refid="selectDeploymentsByQueryCriteriaSql"/>
${orderBy}
${limitAfter}
</select>
<select id="selectDeploymentCountByQueryCriteria" parameterType="org.activiti.engine.impl.DeploymentQueryImpl" resultType="long">
select count(distinct RES.ID_)
<include refid="selectDeploymentsByQueryCriteriaSql"/>
</select>
<sql id="selectDeploymentsByQueryCriteriaSql">
from ${prefix}ACT_RE_DEPLOYMENT RES
<if test="processDefinitionKey != null or processDefinitionKeyLike != null">
inner join ${prefix}ACT_RE_PROCDEF PROCDEF on RES.ID_ = PROCDEF.DEPLOYMENT_ID_
</if>
<where>
<if test="deploymentId != null">
RES.ID_ = #{deploymentId}
</if>
<if test="name != null">
and RES.NAME_ = #{name}
</if>
<if test="nameLike != null">
and RES.NAME_ like #{nameLike}
</if>
<if test="category != null">
and RES.CATEGORY_ = #{category}
</if>
<if test="categoryNotEquals != null">
and ( RES.CATEGORY_ &lt;&gt; #{categoryNotEquals} OR RES.CATEGORY_ is null )
</if>
<if test="tenantId != null">
and RES.TENANT_ID_ = #{tenantId}
</if>
<if test="tenantIdLike != null">
and RES.TENANT_ID_ like #{tenantIdLike}
</if>
<if test="withoutTenantId">
and (RES.TENANT_ID_ = '' or RES.TENANT_ID_ is null)
</if>
<if test="processDefinitionKey != null">
and PROCDEF.KEY_ = #{processDefinitionKey}
</if>
<if test="processDefinitionKeyLike != null">
and PROCDEF.KEY_ like #{processDefinitionKeyLike}
</if>
</where>
</sql>
<select id="selectDeploymentsByName" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="deploymentResultMap">
select * from ${prefix}ACT_RE_DEPLOYMENT D where NAME_=#{parameter} order by D.DEPLOY_TIME_ desc
</select>
<select id="selectDeploymentById" parameterType="string" resultMap="deploymentResultMap">
select * from ${prefix}ACT_RE_DEPLOYMENT where ID_ = #{id}
</select>
<!-- mysql specific -->
<select id="selectDeploymentsByQueryCriteria_mysql" parameterType="org.activiti.engine.impl.DeploymentQueryImpl" resultMap="deploymentResultMap">
${limitBefore}
select distinct RES.* ${limitBetween}
<include refid="selectDeploymentsByQueryCriteriaSql"/>
${orderBy}
${limitAfter}
</select>
<!-- mysql specific -->
<select id="selectDeploymentCountByQueryCriteria_mysql" parameterType="org.activiti.engine.impl.DeploymentQueryImpl" resultType="long">
select distinct count(RES.ID_)
<include refid="selectDeploymentsByQueryCriteriaSql"/>
</select>
<select id="selectDeploymentByNativeQuery" parameterType="java.util.Map" resultMap="deploymentResultMap">
<if test="resultType == 'LIST_PAGE'">
${limitBefore}
</if>
${sql}
<if test="resultType == 'LIST_PAGE'">
${limitAfter}
</if>
</select>
<select id="selectDeploymentByNativeQuery_mssql_or_db2" parameterType="java.util.Map" resultMap="deploymentResultMap">
<if test="resultType == 'LIST_PAGE'">
${limitBeforeNativeQuery}
</if>
${sql}
<if test="resultType == 'LIST_PAGE'">
${limitAfter}
</if>
</select>
<select id="selectDeploymentCountByNativeQuery" parameterType="java.util.Map" resultType="long">
${sql}
</select>
</mapper>

View File

@ -0,0 +1,134 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.EvenLogEntryEntity">
<!-- INSERT -->
<insert id="insertEventLogEntry" parameterType="org.activiti.engine.impl.persistence.entity.EventLogEntryEntity">
insert into ${prefix}ACT_EVT_LOG(TYPE_, PROC_DEF_ID_, PROC_INST_ID_, EXECUTION_ID_, TASK_ID_, TIME_STAMP_, USER_ID_, DATA_, LOCK_OWNER_, LOCK_TIME_, IS_PROCESSED_)
values (
#{type, jdbcType=VARCHAR},
#{processDefinitionId, jdbcType=VARCHAR},
#{processInstanceId, jdbcType=VARCHAR},
#{executionId, jdbcType=VARCHAR},
#{taskId, jdbcType=VARCHAR},
#{timeStamp, jdbcType=TIMESTAMP},
#{userId, jdbcType=VARCHAR},
#{data, jdbcType=BLOB},
#{lockOwner, jdbcType=VARCHAR},
#{lockTime, jdbcType=TIMESTAMP},
#{isProcessed, jdbcType=INTEGER}
)
</insert>
<insert id="insertEventLogEntry_postgres" parameterType="org.activiti.engine.impl.persistence.entity.EventLogEntryEntity">
insert into ${prefix}ACT_EVT_LOG(TYPE_, PROC_DEF_ID_, PROC_INST_ID_, EXECUTION_ID_, TASK_ID_, TIME_STAMP_, USER_ID_, DATA_, LOCK_OWNER_, LOCK_TIME_, IS_PROCESSED_)
values (
#{type, jdbcType=VARCHAR},
#{processDefinitionId, jdbcType=VARCHAR},
#{processInstanceId, jdbcType=VARCHAR},
#{executionId, jdbcType=VARCHAR},
#{taskId, jdbcType=VARCHAR},
#{timeStamp, jdbcType=TIMESTAMP},
#{userId, jdbcType=VARCHAR},
#{data, jdbcType=BINARY},
#{lockOwner, jdbcType=VARCHAR},
#{lockTime, jdbcType=TIMESTAMP},
#{isProcessed, jdbcType=INTEGER}
)
</insert>
<insert id="insertEventLogEntry_oracle" parameterType="org.activiti.engine.impl.persistence.entity.EventLogEntryEntity">
insert into ${prefix}ACT_EVT_LOG(LOG_NR_, TYPE_, PROC_DEF_ID_, PROC_INST_ID_, EXECUTION_ID_, TASK_ID_, TIME_STAMP_, USER_ID_, DATA_, LOCK_OWNER_, LOCK_TIME_, IS_PROCESSED_)
values (
ACT_EVT_LOG_seq.nextVal,
#{type, jdbcType=VARCHAR},
#{processDefinitionId, jdbcType=VARCHAR},
#{processInstanceId, jdbcType=VARCHAR},
#{executionId, jdbcType=VARCHAR},
#{taskId, jdbcType=VARCHAR},
#{timeStamp, jdbcType=TIMESTAMP},
#{userId, jdbcType=VARCHAR},
#{data, jdbcType=BLOB},
#{lockOwner, jdbcType=VARCHAR},
#{lockTime, jdbcType=TIMESTAMP},
#{isProcessed, jdbcType=INTEGER}
)
</insert>
<!-- RESULTMAP -->
<resultMap id="eventLogEntryResultMap" type="org.activiti.engine.impl.persistence.entity.EventLogEntryEntity">
<id property="logNumber" column="LOG_NR_" jdbcType="BIGINT" />
<result property="type" column="TYPE_" jdbcType="VARCHAR"/>
<result property="processDefinitionId" column="PROC_DEF_ID_" jdbcType="VARCHAR"/>
<result property="processInstanceId" column="PROC_INST_ID_" jdbcType="VARCHAR"/>
<result property="executionId" column="EXECUTION_ID_" jdbcType="VARCHAR"/>
<result property="taskId" column="TASK_ID_" jdbcType="VARCHAR"/>
<result property="timeStamp" column="TIME_STAMP_" jdbcType="TIMESTAMP"/>
<result property="userId" column="USER_ID_" jdbcType="VARCHAR" />
<result property="data" column="DATA_" jdbcType="BLOB"/>
<result property="lockOwner" column="LOCK_OWNER_" jdbcType="VARCHAR"/>
<result property="lockTime" column="LOCK_TIME_" jdbcType="TIMESTAMP"/>
<result property="isProcessed" column="IS_PROCESSED_" jdbcType="INTEGER"/>
</resultMap>
<resultMap id="eventLogEntryResultMap_postgres" type="org.activiti.engine.impl.persistence.entity.EventLogEntryEntity">
<id property="logNumber" column="LOG_NR_" jdbcType="BIGINT" />
<result property="type" column="TYPE_" jdbcType="VARCHAR"/>
<result property="processDefinitionId" column="PROC_DEF_ID_" jdbcType="VARCHAR"/>
<result property="processInstanceId" column="PROC_INST_ID_" jdbcType="VARCHAR"/>
<result property="executionId" column="EXECUTION_ID_" jdbcType="VARCHAR"/>
<result property="taskId" column="TASK_ID_" jdbcType="VARCHAR"/>
<result property="timeStamp" column="TIME_STAMP_" jdbcType="TIMESTAMP"/>
<result property="userId" column="USER_ID_" jdbcType="VARCHAR" />
<result property="data" column="DATA_" jdbcType="BINARY"/>
<result property="lockOwner" column="LOCK_OWNER_" jdbcType="VARCHAR"/>
<result property="lockTime" column="LOCK_TIME_" jdbcType="TIMESTAMP"/>
<result property="isProcessed" column="IS_PROCESSED_" jdbcType="INTEGER"/>
</resultMap>
<!-- SELECTS -->
<select id="selectAllEventLogEntries" resultMap="eventLogEntryResultMap">
select * from ${prefix}ACT_EVT_LOG ORDER BY LOG_NR_
</select>
<select id="selectAllEventLogEntries_postgres" resultMap="eventLogEntryResultMap_postgres">
select * from ${prefix}ACT_EVT_LOG ORDER BY LOG_NR_
</select>
<select id="selectEventLogEntries" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="eventLogEntryResultMap">
select * from ${prefix}ACT_EVT_LOG
WHERE LOG_NR_ &gt; #{parameter.startLogNr}
AND LOG_NR_ &lt; #{parameter.endLogNr}
ORDER BY LOG_NR_
</select>
<select id="selectEventLogEntries_postgres" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="eventLogEntryResultMap_postgres">
select * from ${prefix}ACT_EVT_LOG
WHERE LOG_NR_ &gt; #{parameter.startLogNr}
AND LOG_NR_ &lt; #{parameter.endLogNr}
ORDER BY LOG_NR_
</select>
<select id="selectEventLogEntriesByProcessInstanceId" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="eventLogEntryResultMap">
select * from ${prefix}ACT_EVT_LOG
WHERE PROC_INST_ID_ = #{parameter.processInstanceId}
ORDER BY LOG_NR_
</select>
<select id="selectEventLogEntriesByProcessInstanceId_postgres" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="eventLogEntryResultMap_postgres">
select * from ${prefix}ACT_EVT_LOG
WHERE PROC_INST_ID_ = #{parameter.processInstanceId}
ORDER BY LOG_NR_
</select>
<!-- DELETE -->
<delete id="deleteEventLogEntry" parameterType="long">
delete from ${prefix}ACT_EVT_LOG where LOG_NR_ = #{logNr}
</delete>
</mapper>

View File

@ -0,0 +1,365 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.EventSubscriptionEntity">
<!-- DELETE -->
<delete id="deleteSignalEventSubscription" parameterType="org.activiti.engine.impl.persistence.entity.EventSubscriptionEntity">
delete from ${prefix}ACT_RU_EVENT_SUBSCR where ID_ = #{id} and REV_ = #{revision}
</delete>
<delete id="deleteCompensateEventSubscription" parameterType="org.activiti.engine.impl.persistence.entity.EventSubscriptionEntity">
delete from ${prefix}ACT_RU_EVENT_SUBSCR where ID_ = #{id} and REV_ = #{revision}
</delete>
<delete id="deleteMessageEventSubscription" parameterType="org.activiti.engine.impl.persistence.entity.EventSubscriptionEntity">
delete from ${prefix}ACT_RU_EVENT_SUBSCR where ID_ = #{id} and REV_ = #{revision}
</delete>
<delete id="deleteEventSubscriptionsForProcessDefinition" parameterType="string">
delete from ${prefix}ACT_RU_EVENT_SUBSCR where PROC_DEF_ID_ = #{processDefinitionId}
</delete>
<!-- RESULTMAP -->
<resultMap id="eventSubscriptionResultMap" type="org.activiti.engine.impl.persistence.entity.EventSubscriptionEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="revision" column="REV_" jdbcType="INTEGER" />
<result property="eventType" column="EVENT_TYPE_" jdbcType="VARCHAR" />
<result property="eventName" column="EVENT_NAME_" jdbcType="VARCHAR" />
<result property="executionId" column="EXECUTION_ID_" jdbcType="VARCHAR" />
<result property="processInstanceId" column="PROC_INST_ID_" jdbcType="VARCHAR" />
<result property="activityId" column="ACTIVITY_ID_" jdbcType="VARCHAR" />
<result property="configuration" column="CONFIGURATION_" jdbcType="VARCHAR" />
<result property="created" column="CREATED_" jdbcType="TIMESTAMP" />
<result property="processDefinitionId" column="PROC_DEF_ID_" jdbcType="VARCHAR" />
<result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR" />
<discriminator javaType="string" column="EVENT_TYPE_">
<case value="message" resultMap="messageResultMap"/>
<case value="signal" resultMap="signalResultMap"/>
<case value="compensate" resultMap="compensateResultMap"/>
</discriminator>
</resultMap>
<resultMap id="messageResultMap" type="org.activiti.engine.impl.persistence.entity.MessageEventSubscriptionEntity" extends="eventSubscriptionResultMap"/>
<resultMap id="signalResultMap" type="org.activiti.engine.impl.persistence.entity.SignalEventSubscriptionEntity" extends="eventSubscriptionResultMap"/>
<resultMap id="compensateResultMap" type="org.activiti.engine.impl.persistence.entity.CompensateEventSubscriptionEntity" extends="eventSubscriptionResultMap"/>
<!-- SELECT -->
<select id="selectEventSubscription" parameterType="string" resultMap="eventSubscriptionResultMap">
select * from ${prefix}ACT_RU_EVENT_SUBSCR where ID_ = #{id}
</select>
<select id="selectEventSubscriptionByQueryCriteria" parameterType="org.activiti.engine.impl.EventSubscriptionQueryImpl" resultMap="eventSubscriptionResultMap">
${limitBefore}
select RES.* ${limitBetween}
<include refid="selectEventSubscriptionByQueryCriteriaSql"/>
${orderBy}
${limitAfter}
</select>
<select id="selectEventSubscriptionCountByQueryCriteria" parameterType="org.activiti.engine.impl.EventSubscriptionQueryImpl" resultType="long">
select count(distinct RES.ID_)
<include refid="selectEventSubscriptionByQueryCriteriaSql"/>
</select>
<sql id="selectEventSubscriptionByQueryCriteriaSql">
from ${prefix}ACT_RU_EVENT_SUBSCR RES
<where>
<if test="eventSubscriptionId != null">
RES.ID_ = #{eventSubscriptionId}
</if>
<if test="processInstanceId != null">
and RES.PROC_INST_ID_ = #{processInstanceId}
</if>
<if test="executionId != null">
and RES.EXECUTION_ID_ = #{executionId}
</if>
<if test="activityId != null">
and RES.ACTIVITY_ID_ = #{activityId}
</if>
<if test="eventType != null">
and RES.EVENT_TYPE_ = #{eventType}
</if>
<if test="eventName != null">
and RES.EVENT_NAME_ = #{eventName}
</if>
<if test="tenantId != null">
and RES.TENANT_ID_ = #{parameter.tenantId}
</if>
<if test="tenantId == null">
and (RES.TENANT_ID_ = '' or RES.TENANT_ID_ is null)
</if>
</where>
</sql>
<select id="selectSignalEventSubscriptionsByEventName" resultMap="eventSubscriptionResultMap" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject">
select *
from ${prefix}ACT_RU_EVENT_SUBSCR EVT
left outer join ${prefix}ACT_RU_EXECUTION EXC on EVT.EXECUTION_ID_ = EXC.ID_
where EVENT_TYPE_ = 'signal'
and EVENT_NAME_ = #{parameter.eventName}
and (EVT.EXECUTION_ID_ is null OR (EVT.EXECUTION_ID_ is not null AND EXC.SUSPENSION_STATE_ = 1) )
<if test="parameter.tenantId != null">
and EVT.TENANT_ID_ = #{parameter.tenantId}
</if>
<if test="parameter.tenantId == null">
and (EVT.TENANT_ID_ = '' or EVT.TENANT_ID_ is null)
</if>
</select>
<select id="selectSignalEventSubscriptionsByProcessInstanceAndEventName" resultMap="eventSubscriptionResultMap" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject">
select *
from ${prefix}ACT_RU_EVENT_SUBSCR EVT
where (EVENT_TYPE_ = 'signal')
and EVENT_NAME_ = #{parameter.eventName}
and PROC_INST_ID_ = #{parameter.processInstanceId}
</select>
<select id="selectSignalEventSubscriptionsByExecution" resultMap="eventSubscriptionResultMap" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject">
select *
from ${prefix}ACT_RU_EVENT_SUBSCR
where (EVENT_TYPE_ = 'signal')
and (EXECUTION_ID_ = #{parameter})
</select>
<select id="selectSignalEventSubscriptionsByNameAndExecution" resultMap="eventSubscriptionResultMap" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject">
select *
from ${prefix}ACT_RU_EVENT_SUBSCR
where (EVENT_TYPE_ = 'signal')
and (EXECUTION_ID_ = #{parameter.executionId})
and (EVENT_NAME_ = #{parameter.eventName})
</select>
<select id="selectEventSubscriptionsByExecution" resultMap="eventSubscriptionResultMap" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject">
select *
from ${prefix}ACT_RU_EVENT_SUBSCR
where (EXECUTION_ID_ = #{parameter})
</select>
<select id="selectEventSubscriptionsByExecutionAndType" resultMap="eventSubscriptionResultMap" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject">
select *
from ${prefix}ACT_RU_EVENT_SUBSCR
where (EVENT_TYPE_ = #{parameter.eventType})
and (EXECUTION_ID_ = #{parameter.executionId})
</select>
<select id="selectEventSubscriptionsByExecutionTypeAndActivity" resultMap="eventSubscriptionResultMap" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject">
select *
from ${prefix}ACT_RU_EVENT_SUBSCR
where (EVENT_TYPE_ = #{parameter.eventType})
and (EXECUTION_ID_ = #{parameter.executionId})
and (ACTIVITY_ID_ = #{parameter.activityId})
</select>
<select id="selectEventSubscriptionsByConfiguration" resultMap="eventSubscriptionResultMap" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject">
select *
from ${prefix}ACT_RU_EVENT_SUBSCR
where (EVENT_TYPE_ = #{parameter.eventType})
and (
(CONFIGURATION_ = #{parameter.configuration})
or
(PROC_DEF_ID_ = #{parameter.configuration})
)
<if test="parameter.tenantId != null">
and TENANT_ID_ = #{parameter.tenantId}
</if>
<if test="parameter.tenantId == null">
and (TENANT_ID_ = '' or TENANT_ID_ is null)
</if>
</select>
<select id="selectEventSubscriptionsByName" resultMap="eventSubscriptionResultMap" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject">
select *
from ${prefix}ACT_RU_EVENT_SUBSCR
where (EVENT_TYPE_ = #{parameter.eventType})
and (EVENT_NAME_ = #{parameter.eventName})
<if test="parameter.tenantId != null">
and TENANT_ID_ = #{parameter.tenantId}
</if>
<if test="parameter.tenantId == null">
and (TENANT_ID_ = '' or TENANT_ID_ is null)
</if>
</select>
<select id="selectEventSubscriptionsByNameAndExecution" resultMap="eventSubscriptionResultMap" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject">
select *
from ${prefix}ACT_RU_EVENT_SUBSCR
where (EVENT_TYPE_ = #{parameter.eventType})
and (EVENT_NAME_ = #{parameter.eventName})
and (EXECUTION_ID_ = #{parameter.executionId})
</select>
<select id="selectMessageStartEventSubscriptionByName" resultMap="eventSubscriptionResultMap" parameterType="map">
select *
from ${prefix}ACT_RU_EVENT_SUBSCR
where (EVENT_TYPE_ = 'message')
and (EVENT_NAME_ = #{eventName})
and EXECUTION_ID_ is null
<if test="tenantId != null">
and TENANT_ID_ = #{tenantId}
</if>
<if test="tenantId == null">
and (TENANT_ID_ = '' or TENANT_ID_ is null)
</if>
</select>
<!-- MESSAGE INSERT -->
<insert id="insertMessageEventSubscription" parameterType="org.activiti.engine.impl.persistence.entity.MessageEventSubscriptionEntity">
insert into ${prefix}ACT_RU_EVENT_SUBSCR (
ID_,
REV_,
EVENT_TYPE_,
EVENT_NAME_,
EXECUTION_ID_,
PROC_INST_ID_,
ACTIVITY_ID_,
CONFIGURATION_,
CREATED_,
PROC_DEF_ID_,
TENANT_ID_
)
values (#{id, jdbcType=VARCHAR},
1,
'message',
#{eventName, jdbcType=VARCHAR},
#{executionId, jdbcType=VARCHAR},
#{processInstanceId, jdbcType=VARCHAR},
#{activityId, jdbcType=VARCHAR},
#{configuration, jdbcType=VARCHAR},
#{created, jdbcType=TIMESTAMP},
#{processDefinitionId, jdbcType=VARCHAR},
#{tenantId, jdbcType=VARCHAR}
)
</insert>
<!-- MESSAGE UPDATE -->
<update id="updateMessageEventSubscription" parameterType="org.activiti.engine.impl.persistence.entity.MessageEventSubscriptionEntity">
update ${prefix}ACT_RU_EVENT_SUBSCR
<set>
REV_ = #{revisionNext, jdbcType=INTEGER},
EVENT_NAME_ = #{eventName, jdbcType=INTEGER},
EXECUTION_ID_ = #{executionId, jdbcType=INTEGER},
PROC_INST_ID_ = #{processInstanceId, jdbcType=INTEGER},
ACTIVITY_ID_ = #{activityId, jdbcType=INTEGER},
CONFIGURATION_ = #{configuration, jdbcType=VARCHAR},
CREATED_ = #{created, jdbcType=TIMESTAMP},
PROC_DEF_ID_ = #{processDefinitionId, jdbcType=VARCHAR},
TENANT_ID_ = #{tenantId, jdbcType-VARCHAR}
</set>
where ID_= #{id, jdbcType=VARCHAR}
and REV_ = #{revision, jdbcType=INTEGER}
</update>
<!-- SIGNAL INSERT -->
<insert id="insertSignalEventSubscription" parameterType="org.activiti.engine.impl.persistence.entity.SignalEventSubscriptionEntity">
insert into ${prefix}ACT_RU_EVENT_SUBSCR (
ID_,
REV_,
EVENT_TYPE_,
EVENT_NAME_,
EXECUTION_ID_,
PROC_INST_ID_,
ACTIVITY_ID_,
CONFIGURATION_,
CREATED_,
PROC_DEF_ID_,
TENANT_ID_
)
values (#{id, jdbcType=VARCHAR},
1,
'signal',
#{eventName, jdbcType=VARCHAR},
#{executionId, jdbcType=VARCHAR},
#{processInstanceId, jdbcType=VARCHAR},
#{activityId, jdbcType=VARCHAR},
#{configuration, jdbcType=VARCHAR},
#{created, jdbcType=TIMESTAMP},
#{processDefinitionId, jdbcType=VARCHAR},
#{tenantId, jdbcType=VARCHAR}
)
</insert>
<!-- SIGNAL UPDATE -->
<update id="updateSignalEventSubscription" parameterType="org.activiti.engine.impl.persistence.entity.SignalEventSubscriptionEntity">
update ${prefix}ACT_RU_EVENT_SUBSCR
<set>
REV_ = #{revisionNext, jdbcType=INTEGER},
EVENT_NAME_ = #{eventName, jdbcType=INTEGER},
EXECUTION_ID_ = #{executionId, jdbcType=INTEGER},
PROC_INST_ID_ = #{processInstanceId, jdbcType=INTEGER},
ACTIVITY_ID_ = #{activityId, jdbcType=INTEGER},
CONFIGURATION_ = #{configuration, jdbcType=VARCHAR},
CREATED_ = #{created, jdbcType=TIMESTAMP},
TENANT_ID_ = #{tenantId, jdbcType=VARCHAR}
</set>
where ID_= #{id, jdbcType=VARCHAR}
and REV_ = #{revision, jdbcType=INTEGER}
</update>
<!-- Compensate INSERT -->
<insert id="insertCompensateEventSubscription" parameterType="org.activiti.engine.impl.persistence.entity.CompensateEventSubscriptionEntity">
insert into ${prefix}ACT_RU_EVENT_SUBSCR (
ID_,
REV_,
EVENT_TYPE_,
EVENT_NAME_,
EXECUTION_ID_,
PROC_INST_ID_,
ACTIVITY_ID_,
CONFIGURATION_,
CREATED_,
PROC_DEF_ID_,
TENANT_ID_
)
values (#{id, jdbcType=VARCHAR},
1,
'compensate',
#{eventName, jdbcType=VARCHAR},
#{executionId, jdbcType=VARCHAR},
#{processInstanceId, jdbcType=VARCHAR},
#{activityId, jdbcType=VARCHAR},
#{configuration, jdbcType=VARCHAR},
#{created, jdbcType=TIMESTAMP},
#{processDefinitionId, jdbcType=VARCHAR},
#{tenantId, jdbcType=VARCHAR}
)
</insert>
<!-- Compensate UPDATE -->
<update id="updateCompensateEventSubscription" parameterType="org.activiti.engine.impl.persistence.entity.CompensateEventSubscriptionEntity">
update ${prefix}ACT_RU_EVENT_SUBSCR
<set>
REV_ = #{revisionNext, jdbcType=INTEGER},
EVENT_NAME_ = #{eventName, jdbcType=INTEGER},
EXECUTION_ID_ = #{executionId, jdbcType=INTEGER},
PROC_INST_ID_ = #{processInstanceId, jdbcType=INTEGER},
ACTIVITY_ID_ = #{activityId, jdbcType=INTEGER},
CONFIGURATION_ = #{configuration, jdbcType=VARCHAR},
CREATED_ = #{created, jdbcType=TIMESTAMP},
TENANT_ID_ = #{tenantId, jdbcType=VARCHAR}
</set>
where ID_= #{id, jdbcType=VARCHAR}
and REV_ = #{revision, jdbcType=INTEGER}
</update>
<!-- tenantId update -->
<update id="updateTenantIdOfEventSubscriptions" parameterType="map">
update ${prefix}ACT_RU_EVENT_SUBSCR
<set>
TENANT_ID_ = #{newTenantId, jdbcType=VARCHAR}
</set>
where TENANT_ID_ = #{oldTenantId, jdbcType=VARCHAR}
</update>
</mapper>

View File

@ -0,0 +1,713 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.ExecutionEntity">
<!-- EXECUTION INSERT -->
<insert id="insertExecution" parameterType="org.activiti.engine.impl.persistence.entity.ExecutionEntity">
insert into ${prefix}ACT_RU_EXECUTION (ID_, REV_, PROC_INST_ID_, BUSINESS_KEY_, PROC_DEF_ID_, ACT_ID_, IS_ACTIVE_, IS_CONCURRENT_, IS_SCOPE_,IS_EVENT_SCOPE_, PARENT_ID_, SUPER_EXEC_, SUSPENSION_STATE_, CACHED_ENT_STATE_, TENANT_ID_, NAME_,PROC_TITLE,TOP_PROCESS_INSTANCE_ID_)
values (
#{id ,jdbcType=VARCHAR},
1,
#{processInstanceId, jdbcType=VARCHAR},
#{businessKey, jdbcType=VARCHAR},
#{processDefinitionId ,jdbcType=VARCHAR},
#{activityId ,jdbcType=VARCHAR},
#{isActive ,jdbcType=BOOLEAN},
#{isConcurrent ,jdbcType=BOOLEAN},
#{isScope ,jdbcType=BOOLEAN},
#{isEventScope ,jdbcType=BOOLEAN},
#{parentId, jdbcType=VARCHAR},
#{superExecutionId, jdbcType=VARCHAR},
#{suspensionState, jdbcType=INTEGER},
#{cachedEntityState, jdbcType=INTEGER},
#{tenantId, jdbcType=VARCHAR},
#{name, jdbcType=VARCHAR},
#{procTitle, jdbcType=VARCHAR},
#{topProcessInstanceId, jdbcType=VARCHAR}
)
</insert>
<!-- EXECUTION UPDATE -->
<update id="updateExecution" parameterType="org.activiti.engine.impl.persistence.entity.ExecutionEntity">
update ${prefix}ACT_RU_EXECUTION set
REV_ = #{revisionNext, jdbcType=INTEGER},
BUSINESS_KEY_ = #{businessKey, jdbcType=VARCHAR},
PROC_DEF_ID_ = #{processDefinitionId, jdbcType=VARCHAR},
ACT_ID_ = #{activityId, jdbcType=VARCHAR},
IS_ACTIVE_ = #{isActive, jdbcType=BOOLEAN},
IS_CONCURRENT_ = #{isConcurrent, jdbcType=BOOLEAN},
IS_SCOPE_ = #{isScope, jdbcType=BOOLEAN},
IS_EVENT_SCOPE_ = #{isEventScope, jdbcType=BOOLEAN},
PARENT_ID_ = #{parentId, jdbcType=VARCHAR},
SUPER_EXEC_ = #{superExecutionId, jdbcType=VARCHAR},
SUSPENSION_STATE_ = #{suspensionState, jdbcType=INTEGER},
CACHED_ENT_STATE_ = #{cachedEntityState, jdbcType=INTEGER},
NAME_ = #{name, jdbcType=VARCHAR}
where ID_ = #{id, jdbcType=VARCHAR}
and REV_ = #{revision, jdbcType=INTEGER}
</update>
<update id="updateExecutionTenantIdForDeployment" parameterType="java.util.Map">
update ${prefix}ACT_RU_EXECUTION set
TENANT_ID_ = #{tenantId, jdbcType=VARCHAR}
where
ID_ in (
SELECT E.ID_ from ${prefix}ACT_RU_EXECUTION E
inner join ${prefix}ACT_RE_PROCDEF P on E.PROC_DEF_ID_ = P.ID_
inner join ${prefix}ACT_RE_DEPLOYMENT D on P.DEPLOYMENT_ID_ = D.ID_
where D.ID_ = #{deploymentId, jdbcType=VARCHAR}
)
</update>
<!-- See http://stackoverflow.com/questions/4429319/you-cant-specify-target-table-for-update-in-from-clause
Tested this on MySQL 5.6: does NOT use a temporary table (so good, performance0 -->
<update id="updateExecutionTenantIdForDeployment_mysql" parameterType="java.util.Map">
update ${prefix}ACT_RU_EXECUTION set
TENANT_ID_ = #{tenantId, jdbcType=VARCHAR}
where
ID_ in (
SELECT tempExecution.tempId
FROM (
SELECT E.ID_ as tempId
FROM ${prefix}ACT_RU_EXECUTION E
inner join ${prefix}ACT_RE_PROCDEF P on E.PROC_DEF_ID_ = P.ID_
inner join ${prefix}ACT_RE_DEPLOYMENT D on P.DEPLOYMENT_ID_ = D.ID_
where D.ID_ = #{deploymentId, jdbcType=VARCHAR}
) AS tempExecution
)
</update>
<!-- EXECUTION DELETE -->
<delete id="deleteExecution" parameterType="org.activiti.engine.impl.persistence.entity.ExecutionEntity">
delete from ${prefix}ACT_RU_EXECUTION where ID_ = #{id} and REV_ = #{revision}
</delete>
<!-- EXECUTION RESULTMAP -->
<resultMap id="executionResultMap" type="org.activiti.engine.impl.persistence.entity.ExecutionEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="revision" column="REV_" jdbcType="INTEGER" />
<result property="processInstanceId" column="PROC_INST_ID_" jdbcType="VARCHAR" />
<result property="businessKey" column="BUSINESS_KEY_" jdbcType="VARCHAR" />
<result property="processDefinitionId" column="PROC_DEF_ID_" jdbcType="VARCHAR" />
<result property="activityId" column="ACT_ID_" jdbcType="VARCHAR" />
<result property="isActive" column="IS_ACTIVE_" jdbcType="BOOLEAN" />
<result property="isConcurrent" column="IS_CONCURRENT_" jdbcType="BOOLEAN" />
<result property="isScope" column="IS_SCOPE_" jdbcType="BOOLEAN" />
<result property="isEventScope" column="IS_EVENT_SCOPE_" jdbcType="BOOLEAN" />
<result property="parentId" column="PARENT_ID_" jdbcType="VARCHAR" />
<result property="superExecutionId" column="SUPER_EXEC_" jdbcType="VARCHAR" />
<result property="suspensionState" column="SUSPENSION_STATE_" jdbcType="INTEGER"/>
<result property="cachedEntityState" column="CACHED_ENT_STATE_" jdbcType="INTEGER"/>
<result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR" />
<result property="name" column="NAME_" jdbcType="VARCHAR" />
<!--extend table columns 2013/5/6 by lw start -->
<result property="procTitle" column="PROC_TIILE" jdbcType="VARCHAR" />
<result property="topProcessInstanceId" column="TOP_PROCESS_INSTANCE_ID_" jdbcType="VARCHAR" />
</resultMap>
<resultMap id="processInstanceResultMap" type="org.activiti.engine.impl.persistence.entity.ExecutionEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="revision" column="REV_" jdbcType="INTEGER" />
<result property="processInstanceId" column="PROC_INST_ID_" jdbcType="VARCHAR" />
<result property="businessKey" column="BUSINESS_KEY_" jdbcType="VARCHAR" />
<result property="processDefinitionId" column="PROC_DEF_ID_" jdbcType="VARCHAR" />
<result property="processDefinitionName" column="ProcessDefinitionName" jdbcType="VARCHAR" />
<result property="processDefinitionKey" column="ProcessDefinitionKey" jdbcType="VARCHAR" />
<result property="processDefinitionVersion" column="ProcessDefinitionVersion" jdbcType="INTEGER" />
<result property="deploymentId" column="DeploymentId" jdbcType="VARCHAR" />
<result property="activityId" column="ACT_ID_" jdbcType="VARCHAR" />
<result property="isActive" column="IS_ACTIVE_" jdbcType="BOOLEAN" />
<result property="isConcurrent" column="IS_CONCURRENT_" jdbcType="BOOLEAN" />
<result property="isScope" column="IS_SCOPE_" jdbcType="BOOLEAN" />
<result property="isEventScope" column="IS_EVENT_SCOPE_" jdbcType="BOOLEAN" />
<result property="parentId" column="PARENT_ID_" jdbcType="VARCHAR" />
<result property="superExecutionId" column="SUPER_EXEC_" jdbcType="VARCHAR" />
<result property="suspensionState" column="SUSPENSION_STATE_" jdbcType="INTEGER"/>
<result property="cachedEntityState" column="CACHED_ENT_STATE_" jdbcType="INTEGER"/>
<result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR" />
<result property="name" column="NAME_" jdbcType="VARCHAR" />
<!--extend table columns 2013/5/6 by lw start -->
<result property="procTitle" column="PROC_TIILE" jdbcType="VARCHAR" />
<result property="topProcessInstanceId" column="TOP_PROCESS_INSTANCE_ID_" jdbcType="VARCHAR" />
</resultMap>
<resultMap id="executionAndVariablesResultMap" type="org.activiti.engine.impl.persistence.entity.ExecutionEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="revision" column="REV_" jdbcType="INTEGER" />
<result property="processInstanceId" column="PROC_INST_ID_" jdbcType="VARCHAR" />
<result property="businessKey" column="BUSINESS_KEY_" jdbcType="VARCHAR" />
<result property="processDefinitionId" column="PROC_DEF_ID_" jdbcType="VARCHAR" />
<result property="activityId" column="ACT_ID_" jdbcType="VARCHAR" />
<result property="isActive" column="IS_ACTIVE_" jdbcType="BOOLEAN" />
<result property="isConcurrent" column="IS_CONCURRENT_" jdbcType="BOOLEAN" />
<result property="isScope" column="IS_SCOPE_" jdbcType="BOOLEAN" />
<result property="isEventScope" column="IS_EVENT_SCOPE_" jdbcType="BOOLEAN" />
<result property="parentId" column="PARENT_ID_" jdbcType="VARCHAR" />
<result property="superExecutionId" column="SUPER_EXEC_" jdbcType="VARCHAR" />
<result property="suspensionState" column="SUSPENSION_STATE_" jdbcType="INTEGER"/>
<result property="cachedEntityState" column="CACHED_ENT_STATE_" jdbcType="INTEGER"/>
<result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR" />
<result property="name" column="NAME_" jdbcType="VARCHAR" />
<!--extend table columns 2013/5/6 by lw start -->
<result property="procTitle" column="PROC_TIILE" jdbcType="VARCHAR" />
<result property="topProcessInstanceId" column="TOP_PROCESS_INSTANCE_ID_" jdbcType="VARCHAR" />
<collection property="queryVariables" column="EXECUTION_ID_" javaType="ArrayList" ofType="org.activiti.engine.impl.persistence.entity.VariableInstanceEntity">
<id property="id" column="VAR_ID_"/>
<result property="name" column="VAR_NAME_" javaType="String" jdbcType="VARCHAR" />
<result property="type" column="VAR_TYPE_" javaType="org.activiti.engine.impl.variable.VariableType" jdbcType="VARCHAR" />
<result property="revision" column="VAR_REV_" jdbcType="INTEGER" />
<result property="processInstanceId" column="VAR_PROC_INST_ID_" jdbcType="VARCHAR" />
<result property="executionId" column="VAR_EXECUTION_ID_" jdbcType="VARCHAR" />
<result property="taskId" column="VAR_TASK_ID_" jdbcType="VARCHAR" />
<result property="byteArrayRef" column="VAR_BYTEARRAY_ID_" typeHandler="ByteArrayRefTypeHandler"/>
<result property="doubleValue" column="VAR_DOUBLE_" jdbcType="DOUBLE" />
<result property="textValue" column="VAR_TEXT_" jdbcType="VARCHAR" />
<result property="textValue2" column="VAR_TEXT2_" jdbcType="VARCHAR" />
<result property="longValue" column="VAR_LONG_" jdbcType="BIGINT" />
</collection>
</resultMap>
<resultMap id="processInstanceAndVariablesResultMap" type="org.activiti.engine.impl.persistence.entity.ExecutionEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="revision" column="REV_" jdbcType="INTEGER" />
<result property="processInstanceId" column="PROC_INST_ID_" jdbcType="VARCHAR" />
<result property="businessKey" column="BUSINESS_KEY_" jdbcType="VARCHAR" />
<result property="processDefinitionId" column="PROC_DEF_ID_" jdbcType="VARCHAR" />
<result property="processDefinitionName" column="ProcessDefinitionName" jdbcType="VARCHAR" />
<result property="processDefinitionKey" column="ProcessDefinitionKey" jdbcType="VARCHAR" />
<result property="processDefinitionVersion" column="ProcessDefinitionVersion" jdbcType="INTEGER" />
<result property="deploymentId" column="DeploymentId" jdbcType="VARCHAR" />
<result property="activityId" column="ACT_ID_" jdbcType="VARCHAR" />
<result property="isActive" column="IS_ACTIVE_" jdbcType="BOOLEAN" />
<result property="isConcurrent" column="IS_CONCURRENT_" jdbcType="BOOLEAN" />
<result property="isScope" column="IS_SCOPE_" jdbcType="BOOLEAN" />
<result property="isEventScope" column="IS_EVENT_SCOPE_" jdbcType="BOOLEAN" />
<result property="parentId" column="PARENT_ID_" jdbcType="VARCHAR" />
<result property="superExecutionId" column="SUPER_EXEC_" jdbcType="VARCHAR" />
<result property="suspensionState" column="SUSPENSION_STATE_" jdbcType="INTEGER"/>
<result property="cachedEntityState" column="CACHED_ENT_STATE_" jdbcType="INTEGER"/>
<result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR" />
<result property="name" column="NAME_" jdbcType="VARCHAR" />
<!--extend table columns 2013/5/6 by lw start -->
<result property="procTitle" column="PROC_TIILE" jdbcType="VARCHAR" />
<result property="topProcessInstanceId" column="TOP_PROCESS_INSTANCE_ID_" jdbcType="VARCHAR" />
<collection property="queryVariables" column="EXECUTION_ID_" javaType="ArrayList" ofType="org.activiti.engine.impl.persistence.entity.VariableInstanceEntity">
<id property="id" column="VAR_ID_"/>
<result property="name" column="VAR_NAME_" javaType="String" jdbcType="VARCHAR" />
<result property="type" column="VAR_TYPE_" javaType="org.activiti.engine.impl.variable.VariableType" jdbcType="VARCHAR" />
<result property="revision" column="VAR_REV_" jdbcType="INTEGER" />
<result property="processInstanceId" column="VAR_PROC_INST_ID_" jdbcType="VARCHAR" />
<result property="executionId" column="VAR_EXECUTION_ID_" jdbcType="VARCHAR" />
<result property="taskId" column="VAR_TASK_ID_" jdbcType="VARCHAR" />
<result property="byteArrayRef" column="VAR_BYTEARRAY_ID_" typeHandler="ByteArrayRefTypeHandler"/>
<result property="doubleValue" column="VAR_DOUBLE_" jdbcType="DOUBLE" />
<result property="textValue" column="VAR_TEXT_" jdbcType="VARCHAR" />
<result property="textValue2" column="VAR_TEXT2_" jdbcType="VARCHAR" />
<result property="longValue" column="VAR_LONG_" jdbcType="BIGINT" />
</collection>
</resultMap>
<!-- EXECUTION SELECT -->
<select id="selectExecution" parameterType="string" resultMap="executionResultMap">
select * from ${prefix}ACT_RU_EXECUTION where ID_ = #{id}
</select>
<select id="selectExecutionsByParentExecutionId" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="executionResultMap">
select * from ${prefix}ACT_RU_EXECUTION
where PARENT_ID_ = #{parameter}
</select>
<select id="selectExecutionsByProcessInstanceId" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="executionResultMap">
select * from ${prefix}ACT_RU_EXECUTION
where PROC_INST_ID_ = #{parameter}
</select>
<select id="selectProcessInstanceIdsByProcessDefinitionId" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultType="string">
select ID_
from ${prefix}ACT_RU_EXECUTION
where PROC_DEF_ID_ = #{parameter} and PARENT_ID_ is null
</select>
<select id="selectExecutionsByQueryCriteria" parameterType="org.activiti.engine.impl.ExecutionQueryImpl" resultMap="executionResultMap">
${limitBefore}
select distinct RES.* ${limitBetween}, P.KEY_ as ProcessDefinitionKey, P.ID_ as ProcessDefinitionId
<include refid="selectExecutionsByQueryCriteriaSql"/>
${orderBy}
${limitAfter}
</select>
<select id="selectExecutionCountByQueryCriteria" parameterType="org.activiti.engine.impl.ExecutionQueryImpl" resultType="long">
select distinct count(RES.ID_)
<include refid="selectExecutionsByQueryCriteriaSql"/>
</select>
<!-- same as selectExecutionsByQueryCriteria, but with different parameterType -->
<select id="selectProcessInstanceByQueryCriteria" parameterType="org.activiti.engine.impl.ProcessInstanceQueryImpl" resultMap="processInstanceResultMap">
${limitBefore}
select distinct RES.* ${limitBetween}, P.KEY_ as ProcessDefinitionKey, P.ID_ as ProcessDefinitionId, P.NAME_ as ProcessDefinitionName, P.VERSION_ as ProcessDefinitionVersion, P.DEPLOYMENT_ID_ as DeploymentId
<include refid="selectExecutionsByQueryCriteriaSql"/>
${orderBy}
${limitAfter}
</select>
<select id="selectProcessInstanceCountByQueryCriteria" parameterType="org.activiti.engine.impl.ProcessInstanceQueryImpl" resultType="long">
select distinct count(RES.ID_)
<include refid="selectExecutionsByQueryCriteriaSql"/>
</select>
<sql id="selectExecutionsByQueryCriteriaSql">
from ${prefix}ACT_RU_EXECUTION RES
inner join ${prefix}ACT_RE_PROCDEF P on RES.PROC_DEF_ID_ = P.ID_
<include refid="commonSelectExecutionsByQueryCriteriaSql"/>
</sql>
<select id="selectProcessInstanceWithVariablesByQueryCriteria" parameterType="org.activiti.engine.impl.ProcessInstanceQueryImpl" resultMap="processInstanceAndVariablesResultMap">
${limitBefore}
select distinct RES.*, P.KEY_ as ProcessDefinitionKey, P.ID_ as ProcessDefinitionId, P.NAME_ as ProcessDefinitionName, P.VERSION_ as ProcessDefinitionVersion, P.DEPLOYMENT_ID_ as DeploymentId,
VAR.ID_ as VAR_ID_, VAR.NAME_ as VAR_NAME_, VAR.TYPE_ as VAR_TYPE_, VAR.REV_ as VAR_REV_,
VAR.PROC_INST_ID_ as VAR_PROC_INST_ID_, VAR.EXECUTION_ID_ as VAR_EXECUTION_ID_, VAR.TASK_ID_ as VAR_TASK_ID_,
VAR.BYTEARRAY_ID_ as VAR_BYTEARRAY_ID_, VAR.DOUBLE_ as VAR_DOUBLE_,
VAR.TEXT_ as VAR_TEXT_, VAR.TEXT2_ as VAR_TEXT2_, VAR.LONG_ as VAR_LONG_
${limitBetween}
<include refid="selectProcessInstanceWithVariablesByQueryCriteriaSql"/>
${orderBy}
${limitAfter}
</select>
<select id="selectProcessInstanceWithVariablesByQueryCriteria_mssql_or_db2" parameterType="org.activiti.engine.impl.ProcessInstanceQueryImpl" resultMap="processInstanceAndVariablesResultMap">
${limitBefore}
select distinct TEMPRES_ID_ as ID_, TEMPP_KEY_ as ProcessDefinitionKey, TEMPP_ID_ as ProcessDefinitionId, TEMPP_NAME_ as ProcessDefinitionName, TEMPP_VERSION_ as ProcessDefinitionVersion, TEMPP_DEPLOYMENT_ID_ as DeploymentId,
TEMPRES_REV_ as REV_, TEMPRES_ACT_ID_ as ACT_ID_,
TEMPRES_BUSINESS_KEY_ as BUSINESS_KEY_, TEMPRES_IS_ACTIVE_ as IS_ACTIVE_,
TEMPRES_IS_CONCURRENT_ as IS_CONCURRENT_, TEMPRES_IS_SCOPE_ as IS_SCOPE_,
TEMPRES_IS_EVENT_SCOPE_ as IS_EVENT_SCOPE_, TEMPRES_PARENT_ID_ as PARENT_ID_,
TEMPRES_PROC_INST_ID_ as PROC_INST_ID_, TEMPRES_SUPER_EXEC_ as SUPER_EXEC_,
TEMPRES_SUSPENSION_STATE_ as SUSPENSION_STATE_, TEMPRES_CACHED_ENT_STATE_ as CACHED_ENT_STATE_,
TEMPVAR_ID_ as VAR_ID_, TEMPVAR_NAME_ as VAR_NAME_, TEMPVAR_TYPE_ as VAR_TYPE_, TEMPVAR_REV_ as VAR_REV_,
TEMPVAR_PROC_INST_ID_ as VAR_PROC_INST_ID_, TEMPVAR_EXECUTION_ID_ as VAR_EXECUTION_ID_, TEMPVAR_TASK_ID_ as VAR_TASK_ID_,
TEMPVAR_BYTEARRAY_ID_ as VAR_BYTEARRAY_ID_, TEMPVAR_DOUBLE_ as VAR_DOUBLE_,
TEMPVAR_TEXT_ as VAR_TEXT_, TEMPVAR_TEXT2_ as VAR_TEXT2_, TEMPVAR_LONG_ as VAR_LONG_
${limitOuterJoinBetween}
RES.ID_ as TEMPRES_ID_, RES.REV_ as TEMPRES_REV_, P.KEY_ as TEMPP_KEY_, P.ID_ as TEMPP_ID_, P.NAME_ as TEMPP_NAME_, P.VERSION_ as TEMPP_VERSION_, P.DEPLOYMENT_ID_ as TEMPP_DEPLOYMENT_ID_,
RES.ACT_ID_ as TEMPRES_ACT_ID_, RES.PROC_INST_ID_ as TEMPRES_PROC_INST_ID_,
RES.BUSINESS_KEY_ as TEMPRES_BUSINESS_KEY_, RES.IS_ACTIVE_ as TEMPRES_IS_ACTIVE_,
RES.IS_CONCURRENT_ as TEMPRES_IS_CONCURRENT_, RES.IS_SCOPE_ as TEMPRES_IS_SCOPE_,
RES.IS_EVENT_SCOPE_ as TEMPRES_IS_EVENT_SCOPE_, RES.PARENT_ID_ as TEMPRES_PARENT_ID_,
RES.SUPER_EXEC_ as TEMPRES_SUPER_EXEC_, RES.SUSPENSION_STATE_ as TEMPRES_SUSPENSION_STATE_,
RES.CACHED_ENT_STATE_ as TEMPRES_CACHED_ENT_STATE_,
VAR.ID_ as TEMPVAR_ID_, VAR.NAME_ as TEMPVAR_NAME_, VAR.TYPE_ as TEMPVAR_TYPE_, VAR.REV_ as TEMPVAR_REV_,
VAR.PROC_INST_ID_ as TEMPVAR_PROC_INST_ID_, VAR.EXECUTION_ID_ as TEMPVAR_EXECUTION_ID_, VAR.TASK_ID_ as TEMPVAR_TASK_ID_,
VAR.BYTEARRAY_ID_ as TEMPVAR_BYTEARRAY_ID_, VAR.DOUBLE_ as TEMPVAR_DOUBLE_,
VAR.TEXT_ as TEMPVAR_TEXT_, VAR.TEXT2_ as TEMPVAR_TEXT2_, VAR.LONG_ as TEMPVAR_LONG_
<include refid="selectProcessInstanceWithVariablesByQueryCriteriaSql"/>
${orderBy}
${limitAfter}
</select>
<sql id="selectProcessInstanceWithVariablesByQueryCriteriaSql">
from ${prefix}ACT_RU_EXECUTION RES
inner join ${prefix}ACT_RE_PROCDEF P on RES.PROC_DEF_ID_ = P.ID_
<if test="includeProcessVariables">
left outer join ${prefix}ACT_RU_VARIABLE VAR ON RES.PROC_INST_ID_ = VAR.EXECUTION_ID_ and VAR.TASK_ID_ is null
</if>
<include refid="commonSelectExecutionsByQueryCriteriaSql"/>
</sql>
<sql id="commonSelectExecutionsByQueryCriteriaSql">
<foreach collection="queryVariableValues" index="index" item="queryVariableValue">
<choose>
<when test="queryVariableValue.local">
inner join ${prefix}ACT_RU_VARIABLE A${index} on RES.ID_ = A${index}.EXECUTION_ID_
</when>
<otherwise>
inner join ${prefix}ACT_RU_VARIABLE A${index} on RES.PROC_INST_ID_ = A${index}.PROC_INST_ID_
</otherwise>
</choose>
</foreach>
<if test="orQueryObject != null">
<foreach collection="orQueryObject.queryVariableValues" index="index" item="queryVariableValue">
left outer join ${prefix}ACT_RU_VARIABLE A_OR${index} on RES.PROC_INST_ID_ = A_OR${index}.PROC_INST_ID_
</foreach>
</if>
<if test="eventSubscriptions != null">
<foreach collection="eventSubscriptions" index="index" item="eventSubscriptionValue">
inner join ${prefix}ACT_RU_EVENT_SUBSCR EVT${index} on RES.ID_ = EVT${index}.EXECUTION_ID_
</foreach>
</if>
<if test="businessKey != null and includeChildExecutionsWithBusinessKeyQuery">
inner join ${prefix}ACT_RU_EXECUTION INST on RES.PROC_INST_ID_ = INST.ID_
</if>
<if test="deploymentId != null || (deploymentIds != null &amp;&amp; deploymentIds.size() &gt; 0) || (orQueryObject != null &amp;&amp; (orQueryObject.deploymentId != null || (orQueryObject.deploymentIds != null &amp;&amp; orQueryObject.deploymentIds.size() &gt; 0)))">
left outer join ${prefix}ACT_RE_PROCDEF DEPLOY_P ON RES.PROC_DEF_ID_ = DEPLOY_P.ID_
</if>
<where>
<if test="onlyProcessInstances">
RES.PARENT_ID_ is null
</if>
<if test="processDefinitionId != null">
and P.ID_ = #{processDefinitionId}
</if>
<if test="processDefinitionKey != null">
and P.KEY_ = #{processDefinitionKey}
</if>
<if test="processDefinitionName != null">
and P.NAME_ = #{processDefinitionName}
</if>
<if test="executionId != null">
and RES.ID_ = #{executionId}
</if>
<if test="processInstanceId != null">
and RES.PROC_INST_ID_ = #{processInstanceId}
</if>
<if test="processInstanceIds != null and !processInstanceIds.isEmpty()">
and RES.PROC_INST_ID_ in
<foreach item="item" index="index" collection="processInstanceIds" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="businessKey != null and !includeChildExecutionsWithBusinessKeyQuery">
and RES.BUSINESS_KEY_ = #{businessKey}
</if>
<if test="businessKey != null and includeChildExecutionsWithBusinessKeyQuery">
and INST.BUSINESS_KEY_ = #{businessKey}
</if>
<if test="activityId != null">
and RES.ACT_ID_ = #{activityId} and RES.IS_ACTIVE_ = #{isActive}
</if>
<if test="parentId != null">
and RES.PARENT_ID_ = #{parentId}
</if>
<if test="deploymentId != null">
and DEPLOY_P.DEPLOYMENT_ID_ = #{deploymentId}
</if>
<if test="deploymentIds != null &amp;&amp; deploymentIds.size() &gt; 0">
and DEPLOY_P.DEPLOYMENT_ID_ IN
<foreach item="deployment" index="index" collection="deploymentIds"
open="(" separator="," close=")">
#{deployment}
</foreach>
</if>
<if test="superProcessInstanceId != null">
<!-- A sub process instance is stored under a certain *execution*, potentially nested.
A sub process instance is NOT stored under the process instanc, hence the following: -->
and RES.SUPER_EXEC_ IN (select ID_ from ${prefix}ACT_RU_EXECUTION where PROC_INST_ID_ = #{superProcessInstanceId})
</if>
<if test="subProcessInstanceId != null">
and RES.ID_ = (select PROC_INST_ID_ from ${prefix}ACT_RU_EXECUTION where ID_ = (select SUPER_EXEC_ from ${prefix}ACT_RU_EXECUTION where ID_ = #{subProcessInstanceId}))
</if>
<if test="excludeSubprocesses">
and RES.SUPER_EXEC_ is null
</if>
<if test="suspensionState != null">
<if test="suspensionState.stateCode == 1">
and (RES.SUSPENSION_STATE_ = 1)
</if>
<if test="suspensionState.stateCode == 2">
and (RES.SUSPENSION_STATE_ = 2)
</if>
</if>
<if test="tenantId != null">
and RES.TENANT_ID_ = #{tenantId}
</if>
<if test="tenantIdLike != null">
and RES.TENANT_ID_ like #{tenantIdLike}
</if>
<if test="withoutTenantId">
and (RES.TENANT_ID_ = '' or RES.TENANT_ID_ is null)
</if>
<if test="name != null">
and RES.NAME_ = #{name}
</if>
<if test="nameLike != null">
and RES.NAME_ like #{nameLike}
</if>
<if test="nameLikeIgnoreCase != null">
and lower(RES.NAME_) like #{nameLikeIgnoreCase}
</if>
<if test="involvedUser != null">
and EXISTS(select ID_ from ${prefix}ACT_RU_IDENTITYLINK I where I.PROC_INST_ID_ = RES.ID_ and I.USER_ID_ = #{involvedUser})
</if>
<!-- PLEASE NOTE: If you change anything have a look into the HistoricVariableInstance & HistoricProcessInstance, the same query object is used there! -->
<foreach collection="queryVariableValues" index="index" item="queryVariableValue">
<if test="!queryVariableValue.local">
<!-- When process instance variable is queried for, only process variables are taken into account -->
and A${index}.EXECUTION_ID_ = A${index}.PROC_INST_ID_
</if>
<if test="queryVariableValue.name != null">
<!-- Match-all variable-names when name is null -->
and A${index}.NAME_= #{queryVariableValue.name}
</if>
<if test="!queryVariableValue.type.equals('null')">
<!-- When operator is not-equals or type of value is null, type doesn't matter! -->
and A${index}.TYPE_ = #{queryVariableValue.type}
</if>
<if test="queryVariableValue.textValue != null &amp;&amp; queryVariableValue.longValue == null &amp;&amp; queryVariableValue.doubleValue == null">
<choose>
<when test="queryVariableValue.operator.equals('EQUALS_IGNORE_CASE') || queryVariableValue.operator.equals('NOT_EQUALS_IGNORE_CASE')">
and lower(A${index}.TEXT_)
</when>
<otherwise>
and A${index}.TEXT_
</otherwise>
</choose>
<choose>
<when test="queryVariableValue.operator.equals('LIKE')">LIKE</when>
<otherwise><include refid="executionVariableOperator" /></otherwise>
</choose>
#{queryVariableValue.textValue}
</if>
<if test="queryVariableValue.textValue2 != null">
and A${index}.TEXT2_
<choose>
<when test="queryVariableValue.operator.equals('LIKE')">LIKE</when>
<otherwise><include refid="executionVariableOperator" /></otherwise>
</choose>
#{queryVariableValue.textValue2}
</if>
<if test="queryVariableValue.longValue != null">
and A${index}.LONG_
<include refid="executionVariableOperator" />
#{queryVariableValue.longValue}
</if>
<if test="queryVariableValue.doubleValue != null">
and A${index}.DOUBLE_
<include refid="executionVariableOperator" />
#{queryVariableValue.doubleValue}
</if>
<!-- Null variable type -->
<if test="queryVariableValue.textValue == null &amp;&amp; queryVariableValue.textValue2 == null &amp;&amp; queryVariableValue.longValue == null &amp;&amp; queryVariableValue.doubleValue == null">
<choose>
<when test="queryVariableValue.operator.equals('NOT_EQUALS')">
and (A${index}.TEXT_ is not null or A${index}.TEXT2_ is not null or A${index}.LONG_ is not null or A${index}.DOUBLE_ is not null or A${index}.BYTEARRAY_ID_ is not null)
</when>
<otherwise>
and A${index}.TEXT_ is null and A${index}.TEXT2_ is null and A${index}.LONG_ is null and A${index}.DOUBLE_ is null and A${index}.BYTEARRAY_ID_ is null
</otherwise>
</choose>
</if>
</foreach>
<!-- event subscriptions -->
<if test="eventSubscriptions != null">
<foreach collection="eventSubscriptions" index="index" item="eventSubscriptionValue">
and (EVT${index}.EVENT_TYPE_ = #{eventSubscriptionValue.eventType} and EVT${index}.EVENT_NAME_ = #{eventSubscriptionValue.eventName})
</foreach>
</if>
<if test="orQueryObject != null">
and
<trim prefix="(" prefixOverrides="OR" suffix=")">
<if test="orQueryObject.processDefinitionId != null">
P.ID_ = #{orQueryObject.processDefinitionId}
</if>
<if test="orQueryObject.processDefinitionKey != null">
or P.KEY_ = #{orQueryObject.processDefinitionKey}
</if>
<if test="orQueryObject.processDefinitionName != null">
or P.NAME_ = #{orQueryObject.processDefinitionName}
</if>
<if test="orQueryObject.executionId != null">
or RES.ID_ = #{orQueryObject.executionId}
</if>
<if test="orQueryObject.processInstanceId != null">
or RES.PROC_INST_ID_ = #{orQueryObject.processInstanceId}
</if>
<if test="orQueryObject.processInstanceIds != null and !orQueryObject.processInstanceIds.isEmpty()">
or RES.PROC_INST_ID_ in
<foreach item="item" index="index" collection="orQueryObject.processInstanceIds" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="orQueryObject.businessKey != null">
or RES.BUSINESS_KEY_ = #{orQueryObject.businessKey}
</if>
<if test="orQueryObject.activityId != null">
or (RES.ACT_ID_ = #{orQueryObject.activityId} and RES.IS_ACTIVE_ = #{isActive})
</if>
<if test="orQueryObject.parentId != null">
or RES.PARENT_ID_ = #{orQueryObject.parentId}
</if>
<if test="orQueryObject.deploymentId != null">
or DEPLOY_P.DEPLOYMENT_ID_ = #{orQueryObject.deploymentId}
</if>
<if test="orQueryObject.deploymentIds != null &amp;&amp; orQueryObject.deploymentIds.size() &gt; 0">
or DEPLOY_P.DEPLOYMENT_ID_ IN
<foreach item="deployment" index="index" collection="orQueryObject.deploymentIds"
open="(" separator="," close=")">
#{deployment}
</foreach>
</if>
<if test="orQueryObject.superProcessInstanceId != null">
<!-- A sub process instance is stored under a certain *execution*, potentially nested.
A sub process instance is NOT stored under the process instanc, hence the following: -->
or RES.SUPER_EXEC_ IN (select ID_ from ${prefix}ACT_RU_EXECUTION where PROC_INST_ID_ = #{orQueryObject.superProcessInstanceId})
</if>
<if test="orQueryObject.subProcessInstanceId != null">
or RES.ID_ = (select PROC_INST_ID_ from ${prefix}ACT_RU_EXECUTION where ID_ = (select SUPER_EXEC_ from ${prefix}ACT_RU_EXECUTION where ID_ = #{orQueryObject.subProcessInstanceId}))
</if>
<if test="orQueryObject.excludeSubprocesses">
or RES.SUPER_EXEC_ is null
</if>
<if test="orQueryObject.suspensionState != null">
<if test="orQueryObject.suspensionState.stateCode == 1">
or (RES.SUSPENSION_STATE_ = 1)
</if>
<if test="orQueryObject.suspensionState.stateCode == 2">
or (RES.SUSPENSION_STATE_ = 2)
</if>
</if>
<if test="orQueryObject.tenantId != null">
or RES.TENANT_ID_ = #{orQueryObject.tenantId}
</if>
<if test="orQueryObject.tenantIdLike != null">
or RES.TENANT_ID_ like #{orQueryObject.tenantIdLike}
</if>
<if test="orQueryObject.withoutTenantId">
or (RES.TENANT_ID_ = '' or RES.TENANT_ID_ is null)
</if>
<if test="orQueryObject.name != null">
or RES.NAME_ = #{orQueryObject.name}
</if>
<if test="orQueryObject.nameLike != null">
or RES.NAME_ like #{orQueryObject.nameLike}
</if>
<if test="orQueryObject.nameLikeIgnoreCase != null">
or lower(RES.NAME_) like #{orQueryObject.nameLikeIgnoreCase}
</if>
<if test="orQueryObject.involvedUser != null">
or EXISTS(select ID_ from ${prefix}ACT_RU_IDENTITYLINK I where I.PROC_INST_ID_ = RES.ID_ and I.USER_ID_ = #{orQueryObject.involvedUser})
</if>
<!-- PLEASE NOTE: If you change anything have a look into the HistoricVariableInstance & HistoricProcessInstance, the same query object is used there! -->
<foreach collection="orQueryObject.queryVariableValues" index="index" item="queryVariableValue">
or
<trim prefix="(" prefixOverrides="AND" suffix=")">
<if test="!queryVariableValue.local">
<!-- When process instance variable is queried for, only process variables are taken into account -->
and A_OR${index}.EXECUTION_ID_ = A_OR${index}.PROC_INST_ID_
</if>
<if test="queryVariableValue.name != null">
<!-- Match-all variable-names when name is null -->
and A_OR${index}.NAME_= #{queryVariableValue.name}
</if>
<if test="!queryVariableValue.type.equals('null')">
<!-- When operator is not-equals or type of value is null, type doesn't matter! -->
and A_OR${index}.TYPE_ = #{queryVariableValue.type}
</if>
<if test="queryVariableValue.textValue != null &amp;&amp; queryVariableValue.longValue == null &amp;&amp; queryVariableValue.doubleValue == null">
<choose>
<when test="queryVariableValue.operator.equals('EQUALS_IGNORE_CASE') || queryVariableValue.operator.equals('NOT_EQUALS_IGNORE_CASE')">
and lower(A_OR${index}.TEXT_)
</when>
<otherwise>
and A_OR${index}.TEXT_
</otherwise>
</choose>
<choose>
<when test="queryVariableValue.operator.equals('LIKE')">LIKE</when>
<otherwise><include refid="executionVariableOperator" /></otherwise>
</choose>
#{queryVariableValue.textValue}
</if>
<if test="queryVariableValue.textValue2 != null">
and A_OR${index}.TEXT2_
<choose>
<when test="queryVariableValue.operator.equals('LIKE')">LIKE</when>
<otherwise><include refid="executionVariableOperator" /></otherwise>
</choose>
#{queryVariableValue.textValue2}
</if>
<if test="queryVariableValue.longValue != null">
and A_OR${index}.LONG_
<include refid="executionVariableOperator" />
#{queryVariableValue.longValue}
</if>
<if test="queryVariableValue.doubleValue != null">
and A_OR${index}.DOUBLE_
<include refid="executionVariableOperator" />
#{queryVariableValue.doubleValue}
</if>
<!-- Null variable type -->
<if test="queryVariableValue.textValue == null &amp;&amp; queryVariableValue.textValue2 == null &amp;&amp; queryVariableValue.longValue == null &amp;&amp; queryVariableValue.doubleValue == null">
<choose>
<when test="queryVariableValue.operator.equals('NOT_EQUALS')">
and (A_OR${index}.TEXT_ is not null or A_OR${index}.TEXT2_ is not null or A_OR${index}.LONG_ is not null or A_OR${index}.DOUBLE_ is not null or A_OR${index}.BYTEARRAY_ID_ is not null)
</when>
<otherwise>
and A_OR${index}.TEXT_ is null and A_OR${index}.TEXT2_ is null and A_OR${index}.LONG_ is null and A_OR${index}.DOUBLE_ is null and A_OR${index}.BYTEARRAY_ID_ is null
</otherwise>
</choose>
</if>
</trim>
</foreach>
</trim>
</if>
</where>
</sql>
<sql id="executionVariableOperator">
<choose>
<when test="queryVariableValue.operator.equals('EQUALS')">=</when>
<when test="queryVariableValue.operator.equals('EQUALS_IGNORE_CASE')">=</when>
<when test="queryVariableValue.operator.equals('NOT_EQUALS')">&lt;&gt;</when>
<when test="queryVariableValue.operator.equals('NOT_EQUALS_IGNORE_CASE')">&lt;&gt;</when>
<when test="queryVariableValue.operator.equals('GREATER_THAN')">&gt;</when>
<when test="queryVariableValue.operator.equals('GREATER_THAN_OR_EQUAL')">&gt;=</when>
<when test="queryVariableValue.operator.equals('LESS_THAN')">&lt;</when>
<when test="queryVariableValue.operator.equals('LESS_THAN_OR_EQUAL')">&lt;=</when>
</choose>
</sql>
<select id="selectSubProcessInstanceBySuperExecutionId" parameterType="string" resultMap="executionResultMap">
select *
from ${prefix}ACT_RU_EXECUTION
where SUPER_EXEC_ = #{parameter}
</select>
<select id="selectExecutionByNativeQuery" parameterType="java.util.Map" resultMap="executionResultMap">
<if test="resultType == 'LIST_PAGE'">
${limitBefore}
</if>
${sql}
<if test="resultType == 'LIST_PAGE'">
${limitAfter}
</if>
</select>
<select id="selectExecutionByNativeQuery_mssql_or_db2" parameterType="java.util.Map" resultMap="executionResultMap">
<if test="resultType == 'LIST_PAGE'">
${limitBeforeNativeQuery}
</if>
${sql}
<if test="resultType == 'LIST_PAGE'">
${limitAfter}
</if>
</select>
<select id="selectExecutionCountByNativeQuery" parameterType="java.util.Map" resultType="long">
${sql}
</select>
<select id="getTopExecution" parameterType="org.activiti.engine.impl.ProcessInstanceQueryImpl" resultMap="executionResultMap">
select * from act_ru_execution e where e.parent_id_ =(select id_ from act_ru_execution where id_ =(select e.top_process_instance_id_ from act_ru_execution e where id_ = #{processInstanceId} )) limit 1
</select>
<select id="getParentExecution" parameterType="org.activiti.engine.impl.ProcessInstanceQueryImpl" resultMap="executionResultMap">
select * from t_wf_ru_execution where parent_id_ = (select id_ from t_wf_ru_execution where parent_id_ = #{processInstanceId})) limit 1
</select>
<!-- by lw -->
<select id="selectAllExecution" parameterType="org.activiti.engine.impl.ProcessInstanceQueryImpl" resultMap="executionResultMap">
select * from t_wf_ru_execution t where t.proc_inst_id_ in
(select p.proc_inst_id_ from t_wf_hi_procinst p where find_in_set(proc_inst_id_,
(select getprocchildlst(t.top_process_instance_id_) from t_wf_hi_procinst t where t.proc_inst_id_=#{processInstanceId} limit 1)
))
</select>
</mapper>

View File

@ -0,0 +1,134 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.GroupEntity">
<!-- GROUP INSERT -->
<insert id="insertGroup" parameterType="org.activiti.engine.impl.persistence.entity.GroupEntity">
insert into ${prefix}ACT_ID_GROUP (ID_, REV_, NAME_, TYPE_)
values (
#{id ,jdbcType=VARCHAR},
1,
#{name ,jdbcType=VARCHAR},
#{type ,jdbcType=VARCHAR}
)
</insert>
<!-- GROUP UPDATE -->
<update id="updateGroup" parameterType="org.activiti.engine.impl.persistence.entity.GroupEntity">
update ${prefix}ACT_ID_GROUP set
REV_ = #{revisionNext ,jdbcType=INTEGER},
NAME_ = #{name ,jdbcType=VARCHAR},
TYPE_ = #{type ,jdbcType=VARCHAR}
where ID_ = #{id}
and REV_ = #{revision}
</update>
<!-- GROUP DELETE -->
<delete id="deleteGroup" parameterType="org.activiti.engine.impl.persistence.entity.GroupEntity">
delete from ${prefix}ACT_ID_GROUP where ID_ = #{id} and REV_ = #{revision}
</delete>
<!-- GROUP RESULTMAP -->
<resultMap id="groupResultMap" type="org.activiti.engine.impl.persistence.entity.GroupEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="revision" column="REV_" jdbcType="INTEGER" />
<result property="name" column="NAME_" jdbcType="VARCHAR" />
<result property="type" column="TYPE_" jdbcType="VARCHAR" />
</resultMap>
<!-- GROUP SELECT -->
<select id="selectGroup" parameterType="string" resultMap="groupResultMap">
select * from ${prefix}ACT_ID_GROUP where ID_ = #{id}
</select>
<select id="selectGroupsByUserId" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="groupResultMap">
select g.*
from ${prefix}ACT_ID_GROUP g, ${prefix}ACT_ID_MEMBERSHIP membership
where g.ID_ = membership.GROUP_ID_
and membership.USER_ID_ = #{parameter}
</select>
<select id="selectGroupsByUserIdAndGroupType" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="groupResultMap">
select g.*
from ${prefix}ACT_ID_GROUP g, ${prefix}ACT_ID_MEMBERSHIP membership
where g.ID_ = membership.GROUP_ID_
and membership.USER_ID_ = #{parameter.userId}
<if test="groupType != null">
and g.TYPE_ = #{parameter.groupType}
</if>
</select>
<select id="selectGroupByQueryCriteria" parameterType="org.activiti.engine.impl.GroupQueryImpl" resultMap="groupResultMap">
${limitBefore}
select RES.* ${limitBetween}
<include refid="selectGroupByQueryCriteriaSql" />
${orderBy}
${limitAfter}
</select>
<select id="selectGroupCountByQueryCriteria" parameterType="org.activiti.engine.impl.GroupQueryImpl" resultType="long">
select count(RES.ID_)
<include refid="selectGroupByQueryCriteriaSql" />
</select>
<sql id="selectGroupByQueryCriteriaSql">
from ${prefix}ACT_ID_GROUP RES
<if test="userId != null">
inner join ${prefix}ACT_ID_MEMBERSHIP M on RES.ID_ = M.GROUP_ID_
inner join ${prefix}ACT_ID_USER U on M.USER_ID_ = U.ID_
</if>
<where>
<if test="id != null">
RES.ID_ = #{id}
</if>
<if test="name != null">
and RES.NAME_ = #{name}
</if>
<if test="nameLike != null">
and RES.NAME_ like #{nameLike}
</if>
<if test="type != null">
and RES.TYPE_ = #{type}
</if>
<if test="userId != null">
and U.ID_ = #{userId}
</if>
<if test="procDefId != null">
and exists (select ID_ from ${prefix}ACT_RU_IDENTITYLINK where PROC_DEF_ID_ = #{procDefId} and GROUP_ID_=RES.ID_ )
</if>
</where>
</sql>
<select id="selectGroupByNativeQuery" parameterType="java.util.Map" resultMap="groupResultMap">
<if test="resultType == 'LIST_PAGE'">
${limitBefore}
</if>
${sql}
<if test="resultType == 'LIST_PAGE'">
${limitAfter}
</if>
</select>
<select id="selectGroupByNativeQuery_mssql_or_db2" parameterType="java.util.Map" resultMap="groupResultMap">
<if test="resultType == 'LIST_PAGE'">
${limitBeforeNativeQuery}
</if>
${sql}
<if test="resultType == 'LIST_PAGE'">
${limitAfter}
</if>
</select>
<select id="selectGroupCountByNativeQuery" parameterType="java.util.Map" resultType="long">
${sql}
</select>
</mapper>

View File

@ -0,0 +1,218 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
~ Licensed 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.
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.HistoricActivityInstanceEntity">
<!-- HISTORIC ACTIVITY INSTANCE INSERT -->
<insert id="insertHistoricActivityInstance" parameterType="org.activiti.engine.impl.persistence.entity.HistoricActivityInstanceEntity">
insert into ${prefix}ACT_HI_ACTINST (
ID_,
PROC_DEF_ID_,
PROC_INST_ID_,
EXECUTION_ID_,
ACT_ID_,
TASK_ID_,
CALL_PROC_INST_ID_,
ACT_NAME_,
ACT_TYPE_,
ASSIGNEE_,
START_TIME_,
END_TIME_,
DURATION_,
TENANT_ID_,
SENDER,
PROC_TITLE,
PRE_ACT_ID,
PRE_ACT_NAME,
PRE_ACT_INST_ID,
SEND_USER_NAME,
SENDER_ORG_ID,SENDER_ORG_NAME,
ASSIGNEE_USER_NAME,ASSIGNEE_ORG_ID,ASSIGNEE_ORG_NAME,
PROC_DEF_NAME
) values (
#{id ,jdbcType=VARCHAR},
#{processDefinitionId, jdbcType=VARCHAR},
#{processInstanceId, jdbcType=VARCHAR},
#{executionId, jdbcType=VARCHAR},
#{activityId ,jdbcType=VARCHAR},
#{taskId ,jdbcType=VARCHAR},
#{calledProcessInstanceId ,jdbcType=VARCHAR},
#{activityName ,jdbcType=VARCHAR},
#{activityType ,jdbcType=VARCHAR},
#{assignee ,jdbcType=VARCHAR},
#{startTime, jdbcType=TIMESTAMP},
#{endTime, jdbcType=TIMESTAMP},
#{durationInMillis ,jdbcType=BIGINT},
#{tenantId, jdbcType=VARCHAR},
#{sender ,jdbcType=VARCHAR},
#{procTitle ,jdbcType=VARCHAR},
#{preActId ,jdbcType=VARCHAR},
#{preActName ,jdbcType=VARCHAR},
#{preActInstId ,jdbcType=VARCHAR},
#{sendUserName ,jdbcType=VARCHAR},
#{senderOrgId ,jdbcType=VARCHAR},
#{senderOrgName ,jdbcType=VARCHAR},
#{assigneeUserName, jdbcType=VARCHAR},#{assigneeOrgId, jdbcType=VARCHAR},
#{assigneeOrgName, jdbcType=VARCHAR},
#{processDefinitionName ,jdbcType=VARCHAR}
)
</insert>
<!-- HISTORIC ACTIVITY INSTANCE UPDATE -->
<update id="updateHistoricActivityInstance" parameterType="org.activiti.engine.impl.persistence.entity.HistoricActivityInstanceEntity">
update ${prefix}ACT_HI_ACTINST set
EXECUTION_ID_ = #{executionId, jdbcType=VARCHAR},
ASSIGNEE_ = #{assignee, jdbcType=VARCHAR},
END_TIME_ = #{endTime, jdbcType=TIMESTAMP},
DURATION_ = #{durationInMillis ,jdbcType=BIGINT}
where ID_ = #{id}
</update>
<!-- HISTORIC ACTIVITY INSTANCE DELETE -->
<delete id="deleteHistoricActivityInstancesByProcessInstanceId">
delete from ${prefix}ACT_HI_ACTINST where PROC_INST_ID_ = #{processInstanceId}
</delete>
<!-- HISTORIC ACTIVITY INSTANCE RESULT MAP -->
<resultMap id="historicActivityInstanceResultMap" type="org.activiti.engine.impl.persistence.entity.HistoricActivityInstanceEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="processDefinitionId" column="PROC_DEF_ID_" jdbcType="VARCHAR" />
<result property="processInstanceId" column="PROC_INST_ID_" jdbcType="VARCHAR" />
<result property="executionId" column="EXECUTION_ID_" jdbcType="VARCHAR" />
<result property="activityId" column="ACT_ID_" jdbcType="VARCHAR" />
<result property="taskId" column="TASK_ID_" jdbcType="VARCHAR" />
<result property="calledProcessInstanceId" column="CALL_PROC_INST_ID_" jdbcType="VARCHAR" />
<result property="activityName" column="ACT_NAME_" jdbcType="VARCHAR" />
<result property="activityType" column="ACT_TYPE_" jdbcType="VARCHAR" />
<result property="assignee" column="ASSIGNEE_" jdbcType="VARCHAR" />
<result property="startTime" column="START_TIME_" jdbcType="TIMESTAMP" />
<result property="endTime" column="END_TIME_" jdbcType="TIMESTAMP" />
<result property="durationInMillis" column="DURATION_" jdbcType="BIGINT" />
<result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR" />
<!--extend table columns 2013/5/6 by lw start -->
<result property="procTitle" column="PROC_TITLE" jdbcType="VARCHAR" />
<result property="sender" column="SENDER" jdbcType="VARCHAR" />
<result property="senderOrgId" column="SENDER_ORG_ID" jdbcType="VARCHAR" />
<result property="senderOrgName" column="SENDER_ORG_NAME" jdbcType="VARCHAR" />
<result property="preActId" column="PRE_ACT_ID" jdbcType="VARCHAR" />
<result property="preActName" column="PRE_ACT_NAME" jdbcType="VARCHAR" />
<result property="preActInstId" column="PRE_ACT_INST_ID" jdbcType="VARCHAR" />
<result property="sendUserName" column="SEND_USER_NAME" jdbcType="VARCHAR" />
<result property="processDefinitionName" column="PROC_DEF_NAME" jdbcType="VARCHAR" />
<result property="assigneeUserName" column="ASSIGNEE_USER_NAME" jdbcType="VARCHAR" />
<result property="assigneeOrgId" column="ASSIGNEE_ORG_ID" jdbcType="VARCHAR" />
<result property="assigneeOrgName" column="ASSIGNEE_ORG_NAME" jdbcType="VARCHAR" />
<!--extend table columns 2013/5/6 by lw end -->
</resultMap>
<!-- HISTORIC ACTIVITY INSTANCE SELECT -->
<select id="selectHistoricActivityInstance" resultMap="historicActivityInstanceResultMap">
select * from ${prefix}ACT_HI_ACTINST where ACT_ID_ = #{activityId} and PROC_INST_ID_ = #{processInstanceId}
</select>
<select id="selectHistoricActivityInstancesByQueryCriteria" parameterType="org.activiti.engine.impl.HistoricActivityInstanceQueryImpl" resultMap="historicActivityInstanceResultMap">
${limitBefore}
select RES.* ${limitBetween}
<include refid="selectHistoricActivityInstancesByQueryCriteriaSql"/>
${orderBy}
${limitAfter}
</select>
<select id="selectHistoricActivityInstanceCountByQueryCriteria" parameterType="org.activiti.engine.impl.HistoricActivityInstanceQueryImpl" resultType="long">
select count(RES.ID_)
<include refid="selectHistoricActivityInstancesByQueryCriteriaSql"/>
</select>
<sql id="selectHistoricActivityInstancesByQueryCriteriaSql">
from ${prefix}ACT_HI_ACTINST RES
<where>
<if test="processInstanceId != null">
RES.PROC_INST_ID_ = #{processInstanceId}
</if>
<if test="activityInstanceId != null">
and RES.ID_ = #{activityInstanceId}
</if>
<if test="taskId != null">
and RES.TASK_ID_ = #{taskId}
</if>
<if test="executionId != null">
and RES.EXECUTION_ID_ = #{executionId}
</if>
<if test="processDefinitionId != null">
and RES.PROC_DEF_ID_ = #{processDefinitionId}
</if>
<if test="activityId != null">
and RES.ACT_ID_ = #{activityId}
</if>
<if test="activityName != null">
and RES.ACT_NAME_ = #{activityName}
</if>
<if test="activityType != null">
and RES.ACT_TYPE_ = #{activityType}
</if>
<if test="assignee != null">
and RES.ASSIGNEE_ = #{assignee}
</if>
<if test="tenantId != null">
and RES.TENANT_ID_ = #{tenantId}
</if>
<if test="tenantIdLike != null">
and RES.TENANT_ID_ like #{tenantIdLike}
</if>
<if test="withoutTenantId">
and (RES.TENANT_ID_ = '' or RES.TENANT_ID_ is null)
</if>
<if test="unfinished">
and RES.END_TIME_ is null
</if>
<if test="finished">
and RES.END_TIME_ is not null
</if>
</where>
</sql>
<select id="selectHistoricActivityInstanceByNativeQuery" parameterType="java.util.Map" resultMap="historicActivityInstanceResultMap">
<if test="resultType == 'LIST_PAGE'">
${limitBefore}
</if>
${sql}
<if test="resultType == 'LIST_PAGE'">
${limitAfter}
</if>
</select>
<select id="selectHistoricActivityInstanceByNativeQuery_mssql_or_db2" parameterType="java.util.Map" resultMap="historicActivityInstanceResultMap">
<if test="resultType == 'LIST_PAGE'">
${limitBeforeNativeQuery}
</if>
${sql}
<if test="resultType == 'LIST_PAGE'">
${limitAfter}
</if>
</select>
<select id="selectHistoricActivityInstanceCountByNativeQuery" parameterType="java.util.Map" resultType="long">
${sql}
</select>
</mapper>

View File

@ -0,0 +1,182 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
~ Licensed 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.
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.HistoricDetailEntity">
<!-- HISTORIC DETAILS INSERT -->
<insert id="insertHistoricFormProperty" parameterType="org.activiti.engine.impl.persistence.entity.HistoricFormPropertyEntity">
insert into ${prefix}ACT_HI_DETAIL (ID_, TYPE_, PROC_INST_ID_, ACT_INST_ID_, EXECUTION_ID_, TASK_ID_, TIME_, NAME_, TEXT_)
values (
#{id, jdbcType=VARCHAR},
'FormProperty',
#{processInstanceId, jdbcType=VARCHAR},
#{activityInstanceId, jdbcType=VARCHAR},
#{executionId, jdbcType=VARCHAR},
#{taskId, jdbcType=VARCHAR},
#{time, jdbcType=TIMESTAMP},
#{propertyId, jdbcType=VARCHAR},
#{propertyValue, jdbcType=VARCHAR}
)
</insert>
<insert id="insertHistoricDetailVariableInstanceUpdate" parameterType="org.activiti.engine.impl.persistence.entity.HistoricDetailVariableInstanceUpdateEntity">
insert into ${prefix}ACT_HI_DETAIL (ID_, TYPE_, PROC_INST_ID_, EXECUTION_ID_, ACT_INST_ID_, TASK_ID_, NAME_, REV_, VAR_TYPE_, TIME_, BYTEARRAY_ID_, DOUBLE_, LONG_ , TEXT_, TEXT2_)
values (
#{id, jdbcType=VARCHAR},
'VariableUpdate',
#{processInstanceId, jdbcType=VARCHAR},
#{executionId, jdbcType=VARCHAR},
#{activityInstanceId, jdbcType=VARCHAR},
#{taskId, jdbcType=VARCHAR},
#{variableName, jdbcType=VARCHAR},
#{revision, jdbcType=VARCHAR},
#{variableType, jdbcType=VARCHAR},
#{time, jdbcType=TIMESTAMP},
#{byteArrayRef, typeHandler=ByteArrayRefTypeHandler},
#{doubleValue, jdbcType=DOUBLE},
#{longValue, jdbcType=BIGINT},
#{textValue, jdbcType=VARCHAR},
#{textValue2, jdbcType=VARCHAR}
)
</insert>
<!-- HISTORIC DETAILS DELETE -->
<delete id="deleteHistoricDetailAssignment">
delete from ${prefix}ACT_HI_DETAIL where ID_ = #{id}
</delete>
<delete id="deleteHistoricDetailTransitionInstance">
delete from ${prefix}ACT_HI_DETAIL where ID_ = #{id}
</delete>
<delete id="deleteHistoricDetailVariableInstanceUpdate">
delete from ${prefix}ACT_HI_DETAIL where ID_ = #{id}
</delete>
<delete id="deleteHistoricFormProperty">
delete from ${prefix}ACT_HI_DETAIL where ID_ = #{id}
</delete>
<!-- HISTORIC DETAILS RESULTMAP -->
<resultMap id="historicDetailResultMap" type="org.activiti.engine.impl.persistence.entity.HistoricDetailEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="processInstanceId" column="PROC_INST_ID_" jdbcType="VARCHAR" />
<result property="activityInstanceId" column="ACT_INST_ID_" jdbcType="VARCHAR" />
<result property="executionId" column="EXECUTION_ID_" jdbcType="VARCHAR" />
<result property="taskId" column="TASK_ID_" jdbcType="VARCHAR" />
<result property="time" column="TIME_" jdbcType="TIMESTAMP" />
<discriminator javaType="string" column="TYPE_">
<case value="VariableUpdate" resultMap="historicVariableUpdateResultMap"/>
<case value="FormProperty" resultMap="historicFormPropertyResultMap"/>
</discriminator>
</resultMap>
<resultMap id="historicVariableUpdateResultMap" extends="historicDetailResultMap" type="org.activiti.engine.impl.persistence.entity.HistoricDetailVariableInstanceUpdateEntity">
<result property="name" column="NAME_" javaType="String" jdbcType="VARCHAR" />
<result property="revision" column="REV_" jdbcType="INTEGER" />
<result property="variableType" column="VAR_TYPE_" javaType="org.activiti.engine.impl.variable.VariableType" jdbcType="VARCHAR"/>
<result property="activityId" column="ACTIVITY_ID_" jdbcType="VARCHAR" />
<result property="byteArrayRef" column="BYTEARRAY_ID_" typeHandler="ByteArrayRefTypeHandler" />
<result property="doubleValue" column="DOUBLE_" jdbcType="DOUBLE" />
<result property="textValue" column="TEXT_" jdbcType="VARCHAR" />
<result property="textValue2" column="TEXT2_" jdbcType="VARCHAR" />
<result property="longValue" column="LONG_" jdbcType="BIGINT" />
</resultMap>
<resultMap id="historicFormPropertyResultMap" extends="historicDetailResultMap" type="org.activiti.engine.impl.persistence.entity.HistoricFormPropertyEntity">
<result property="propertyId" column="NAME_" javaType="String" jdbcType="VARCHAR" />
<result property="propertyValue" column="TEXT_" javaType="String" jdbcType="VARCHAR"/>
</resultMap>
<!-- HISTORIC VARIABLE UPDATE SELECT -->
<select id="selectHistoricDetailsByQueryCriteria" parameterType="org.activiti.engine.impl.HistoricDetailQueryImpl" resultMap="historicDetailResultMap">
${limitBefore}
select RES.* ${limitBetween}
<include refid="selectHistoricDetailsByQueryCriteriaSql"/>
${orderBy}
${limitAfter}
</select>
<select id="selectHistoricDetailCountByQueryCriteria" parameterType="org.activiti.engine.impl.HistoricDetailQueryImpl" resultType="long">
select count(RES.ID_)
<include refid="selectHistoricDetailsByQueryCriteriaSql"/>
</select>
<sql id="selectHistoricDetailsByQueryCriteriaSql">
from ${prefix}ACT_HI_DETAIL RES
<where>
<if test="id != null">
RES.ID_ = #{id}
</if>
<if test="processInstanceId != null">
RES.PROC_INST_ID_ = #{processInstanceId}
</if>
<if test="executionId != null">
RES.EXECUTION_ID_ = #{executionId}
</if>
<if test="activityId != null">
and RES.ACT_INST_ID_ = #{activityId}
</if>
<if test="activityInstanceId != null">
and RES.ACT_INST_ID_ = #{activityInstanceId}
</if>
<choose>
<when test="taskId != null">
and RES.TASK_ID_ = #{taskId}
</when>
<otherwise>
<if test="excludeTaskRelated">
and RES.TASK_ID_ is null
</if>
</otherwise>
</choose>
<if test="type != null">
and RES.TYPE_ = #{type}
</if>
</where>
</sql>
<select id="selectHistoricDetailByNativeQuery" parameterType="java.util.Map" resultMap="historicDetailResultMap">
<if test="resultType == 'LIST_PAGE'">
${limitBefore}
</if>
${sql}
<if test="resultType == 'LIST_PAGE'">
${limitAfter}
</if>
</select>
<select id="selectHistoricDetailByNativeQuery_mssql_or_db2" parameterType="java.util.Map" resultMap="historicDetailResultMap">
<if test="resultType == 'LIST_PAGE'">
${limitBeforeNativeQuery}
</if>
${sql}
<if test="resultType == 'LIST_PAGE'">
${limitAfter}
</if>
</select>
<select id="selectHistoricDetailCountByNativeQuery" parameterType="java.util.Map" resultType="long">
${sql}
</select>
</mapper>

View File

@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
~ Licensed 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.
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.HistoricIdentityLinkEntity">
<!-- INSERT HISTORIC IDENTITY LINK -->
<insert id="insertHistoricIdentityLink" parameterType="org.activiti.engine.impl.persistence.entity.HistoricIdentityLinkEntity">
insert into ${prefix}ACT_HI_IDENTITYLINK (ID_, TYPE_, USER_ID_, GROUP_ID_, TASK_ID_, PROC_INST_ID_)
values (#{id, jdbcType=VARCHAR},
#{type, jdbcType=VARCHAR},
#{userId, jdbcType=VARCHAR},
#{groupId, jdbcType=VARCHAR},
#{taskId, jdbcType=VARCHAR},
#{processInstanceId, jdbcType=VARCHAR})
</insert>
<!-- HISTORIC IDENTITY LINK DELETE -->
<delete id="deleteHistoricIdentityLink" parameterType="string">
delete from ${prefix}ACT_HI_IDENTITYLINK where ID_ = #{id}
</delete>
<delete id="bulkDeleteHistoricIdentityLink" parameterType="java.util.Collection">
delete from ${prefix}ACT_HI_IDENTITYLINK where
<foreach item="identityLink" collection="list" index="index" separator=" or ">
ID_ = #{identityLink.id, jdbcType=VARCHAR}
</foreach>
</delete>
<!-- HISTORIC IDENTITY LINK RESULTMAP -->
<resultMap id="historicIdentityLinkResultMap" type="org.activiti.engine.impl.persistence.entity.HistoricIdentityLinkEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="type" column="TYPE_" jdbcType="VARCHAR" />
<result property="userId" column="USER_ID_" jdbcType="VARCHAR" />
<result property="groupId" column="GROUP_ID_" jdbcType="VARCHAR" />
<result property="taskId" column="TASK_ID_" jdbcType="VARCHAR" />
<result property="processInstanceId" column="PROC_INST_ID_" jdbcType="VARCHAR" />
</resultMap>
<!-- HISTORIC IDENTITY LINK SELECT -->
<select id="selectHistoricIdentityLink" parameterType="string" resultMap="historicIdentityLinkResultMap">
select * from ${prefix}ACT_HI_IDENTITYLINK where ID_ = #{id}
</select>
<select id="selectHistoricIdentityLinksByTask" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="historicIdentityLinkResultMap">
select * from ${prefix}ACT_HI_IDENTITYLINK where TASK_ID_ = #{parameter}
</select>
<select id="selectHistoricIdentityLinksByProcessInstance" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="historicIdentityLinkResultMap">
select * from ${prefix}ACT_HI_IDENTITYLINK where PROC_INST_ID_ = #{parameter}
</select>
<select id="selectIdentityLinks" resultMap="historicIdentityLinkResultMap">
select * from ${prefix}ACT_HI_IDENTITYLINK
</select>
<select id="selectHistoricIdentityLinkByTaskUserGroupAndType" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="historicIdentityLinkResultMap">
select *
from ${prefix}ACT_HI_IDENTITYLINK
where TASK_ID_ = #{parameter.taskId}
<if test="parameter.userId != null">
and USER_ID_ = #{parameter.userId}
</if>
<if test="parameter.groupId != null">
and GROUP_ID_ = #{parameter.groupId}
</if>
<if test="parameter.type != null">
and TYPE_ = #{parameter.type}
</if>
</select>
</mapper>

View File

@ -0,0 +1,659 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
~ Licensed 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.
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.HistoricProcessInstanceEntity">
<!-- HISTORIC PROCESS INSTANCE INSERT -->
<insert id="insertHistoricProcessInstance" parameterType="org.activiti.engine.impl.persistence.entity.HistoricProcessInstanceEntity">
insert into ${prefix}ACT_HI_PROCINST (
ID_,
PROC_INST_ID_,
BUSINESS_KEY_,
PROC_DEF_ID_,
START_TIME_,
END_TIME_,
DURATION_,
START_USER_ID_,
START_ACT_ID_,
END_ACT_ID_,
SUPER_PROCESS_INSTANCE_ID_,
DELETE_REASON_,
TENANT_ID_,
NAME_,
PROC_TITLE,
PROC_STATE,
PROC_DEF_NAME,
START_USER_NAME,
STARTER_ORG_ID,
STARTER_ORG_NAME,STARTER,TOP_PROCESS_INSTANCE_ID_
) values (
#{id ,jdbcType=VARCHAR},
#{processInstanceId, jdbcType=VARCHAR},
#{businessKey, jdbcType=VARCHAR},
#{processDefinitionId, jdbcType=VARCHAR},
#{startTime, jdbcType=TIMESTAMP},
#{endTime, jdbcType=TIMESTAMP},
#{durationInMillis ,jdbcType=BIGINT},
#{startUserId, jdbcType=VARCHAR},
#{startActivityId, jdbcType=VARCHAR},
#{endActivityId, jdbcType=VARCHAR},
#{superProcessInstanceId, jdbcType=VARCHAR},
#{deleteReason, jdbcType=VARCHAR},
#{tenantId, jdbcType=VARCHAR},
#{name, jdbcType=VARCHAR},
#{procTitle ,jdbcType=VARCHAR},
#{procState, jdbcType=INTEGER},
#{processDefinitionName ,jdbcType=VARCHAR},
#{sendUserName, jdbcType=VARCHAR},
#{senderOrgId, jdbcType=VARCHAR},
#{senderOrgName, jdbcType=VARCHAR},
#{starter, jdbcType=VARCHAR},
#{topProcessInstanceId, jdbcType=VARCHAR}
)
</insert>
<!-- HISTORIC PROCESS INSTANCE UPDATE -->
<update id="updateHistoricProcessInstance" parameterType="org.activiti.engine.impl.persistence.entity.HistoricProcessInstanceEntity">
update ${prefix}ACT_HI_PROCINST set
PROC_DEF_ID_ = #{processDefinitionId, jdbcType=VARCHAR},
BUSINESS_KEY_ = #{businessKey, jdbcType=VARCHAR},
START_TIME_ = #{startTime, jdbcType=TIMESTAMP},
END_TIME_ = #{endTime, jdbcType=TIMESTAMP},
DURATION_ = #{durationInMillis ,jdbcType=BIGINT},
END_ACT_ID_ = #{endActivityId, jdbcType=VARCHAR},
DELETE_REASON_ = #{deleteReason, jdbcType=VARCHAR},
NAME_ = #{name, jdbcType=VARCHAR},
PROC_STATE=#{procState, jdbcType=INTEGER}
where ID_ = #{id}
</update>
<!-- HISTORIC PROCESS INSTANCE DELETE -->
<delete id="deleteHistoricProcessInstance">
delete from ${prefix}ACT_HI_PROCINST where PROC_INST_ID_ = #{processInstanceId}
</delete>
<delete id="bulkDeleteHistoricProcessInstance" parameterType="java.util.Collection">
delete from ${prefix}ACT_HI_PROCINST where
<foreach item="procInst" collection="list" index="index" separator=" or ">
ID_ = #{procInst.id, jdbcType=VARCHAR}
</foreach>
</delete>
<!-- HISTORIC PROCESS INSTANCE RESULT MAP -->
<resultMap id="historicProcessInstanceResultMap" type="org.activiti.engine.impl.persistence.entity.HistoricProcessInstanceEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="processInstanceId" column="PROC_INST_ID_" jdbcType="VARCHAR" />
<result property="businessKey" column="BUSINESS_KEY_" jdbcType="VARCHAR"/>
<result property="processDefinitionId" column="PROC_DEF_ID_" jdbcType="VARCHAR" />
<result property="deploymentId" column="DeploymentId" jdbcType="VARCHAR" />
<result property="startTime" column="START_TIME_" jdbcType="TIMESTAMP" />
<result property="endTime" column="END_TIME_" jdbcType="TIMESTAMP" />
<result property="durationInMillis" column="DURATION_" jdbcType="BIGINT" />
<result property="startUserId" column="START_USER_ID_" jdbcType="VARCHAR" />
<result property="startActivityId" column="START_ACT_ID_" jdbcType="VARCHAR" />
<result property="endActivityId" column="END_ACT_ID_" jdbcType="VARCHAR" />
<result property="superProcessInstanceId" column="SUPER_PROCESS_INSTANCE_ID_" jdbcType="VARCHAR" />
<result property="deleteReason" column="DELETE_REASON_" jdbcType="VARCHAR" />
<result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR" />
<result property="name" column="NAME_" jdbcType="VARCHAR" />
<!--extend table columns 2013/5/6 by lw start -->
<result property="procTitle" column="PROC_TITLE" jdbcType="VARCHAR" />
<result property="procState" column="PROC_STATE" jdbcType="VARCHAR" />
<result property="processDefinitionName" column="PROC_DEF_NAME" jdbcType="VARCHAR" />
<result property="sendUserName" column="START_USER_NAME" jdbcType="VARCHAR" />
<result property="senderOrgId" column="STARTER_ORG_ID" jdbcType="VARCHAR" />
<result property="senderOrgName" column="STARTER_ORG_NAME" jdbcType="VARCHAR" />
<result property="starter" column="STARTER" jdbcType="VARCHAR" />
<result property="topProcessInstanceId" column="TOP_PROCESS_INSTANCE_ID_" jdbcType="VARCHAR" />
<!--extend table columns 2013/5/6 by lw end -->
</resultMap>
<resultMap id="historicProcessInstanceAndVariablesResultMap" type="org.activiti.engine.impl.persistence.entity.HistoricProcessInstanceEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="processInstanceId" column="PROC_INST_ID_" jdbcType="VARCHAR" />
<result property="businessKey" column="BUSINESS_KEY_" jdbcType="VARCHAR"/>
<result property="processDefinitionId" column="PROC_DEF_ID_" jdbcType="VARCHAR" />
<result property="startTime" column="START_TIME_" jdbcType="TIMESTAMP" />
<result property="endTime" column="END_TIME_" jdbcType="TIMESTAMP" />
<result property="durationInMillis" column="DURATION_" jdbcType="BIGINT" />
<result property="startUserId" column="START_USER_ID_" jdbcType="VARCHAR" />
<result property="startActivityId" column="START_ACT_ID_" jdbcType="VARCHAR" />
<result property="endActivityId" column="END_ACT_ID_" jdbcType="VARCHAR" />
<result property="superProcessInstanceId" column="SUPER_PROCESS_INSTANCE_ID_" jdbcType="VARCHAR" />
<result property="deleteReason" column="DELETE_REASON_" jdbcType="VARCHAR" />
<result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR" />
<result property="name" column="NAME_" jdbcType="VARCHAR" />
<!--extend table columns 2013/5/6 by lw start -->
<result property="procTitle" column="PROC_TITLE" jdbcType="VARCHAR" />
<result property="procState" column="PROC_STATE" jdbcType="VARCHAR" />
<result property="processDefinitionName" column="PROC_DEF_NAME" jdbcType="VARCHAR" />
<result property="sendUserName" column="START_USER_NAME" jdbcType="VARCHAR" />
<result property="senderOrgId" column="STARTER_ORG_ID" jdbcType="VARCHAR" />
<result property="senderOrgName" column="STARTER_ORG_NAME" jdbcType="VARCHAR" />
<result property="starter" column="STARTER" jdbcType="VARCHAR" />
<result property="topProcessInstanceId" column="TOP_PROCESS_INSTANCE_ID_" jdbcType="VARCHAR" />
<!--extend table columns 2013/5/6 by lw end -->
<collection property="queryVariables" column="EXECUTION_ID_" javaType="ArrayList" ofType="org.activiti.engine.impl.persistence.entity.HistoricVariableInstanceEntity">
<id property="id" column="VAR_ID_"/>
<result property="name" column="VAR_NAME_" javaType="String" jdbcType="VARCHAR" />
<result property="variableType" column="VAR_TYPE_" javaType="org.activiti.engine.impl.variable.VariableType" jdbcType="VARCHAR" />
<result property="revision" column="VAR_REV_" jdbcType="INTEGER" />
<result property="processInstanceId" column="VAR_PROC_INST_ID_" jdbcType="VARCHAR" />
<result property="executionId" column="VAR_EXECUTION_ID_" jdbcType="VARCHAR" />
<result property="taskId" column="VAR_TASK_ID_" jdbcType="VARCHAR" />
<result property="byteArrayRef" column="VAR_BYTEARRAY_ID_" typeHandler="ByteArrayRefTypeHandler"/>
<result property="doubleValue" column="VAR_DOUBLE_" jdbcType="DOUBLE" />
<result property="textValue" column="VAR_TEXT_" jdbcType="VARCHAR" />
<result property="textValue2" column="VAR_TEXT2_" jdbcType="VARCHAR" />
<result property="longValue" column="VAR_LONG_" jdbcType="BIGINT" />
</collection>
</resultMap>
<!-- HISTORIC PROCESS INSTANCE SELECT -->
<select id="selectHistoricProcessInstance" resultMap="historicProcessInstanceResultMap">
select * from ${prefix}ACT_HI_PROCINST where PROC_INST_ID_ = #{processInstanceId}
</select>
<select id="selectHistoricProcessInstanceIdsByProcessDefinitionId" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultType="string">
select ID_
from ${prefix}ACT_HI_PROCINST
where PROC_DEF_ID_ = #{parameter}
</select>
<select id="selectHistoricProcessInstancesByQueryCriteria" parameterType="org.activiti.engine.impl.HistoricProcessInstanceQueryImpl" resultMap="historicProcessInstanceResultMap">
${limitBefore}
select RES.* ${limitBetween}
<include refid="selectHistoricProcessInstancesByQueryCriteriaSql"/>
${orderBy}
${limitAfter}
</select>
<select id="selectHistoricProcessInstanceCountByQueryCriteria" parameterType="org.activiti.engine.impl.HistoricProcessInstanceQueryImpl" resultType="long">
select count(RES.ID_)
<include refid="selectHistoricProcessInstancesByQueryCriteriaSql"/>
</select>
<sql id="selectHistoricProcessInstancesByQueryCriteriaSql">
from ${prefix}ACT_HI_PROCINST RES
<include refid="commonSelectHistoricProcessInstancesByQueryCriteriaSql"/>
</sql>
<select id="selectHistoricProcessInstancesWithVariablesByQueryCriteria" parameterType="org.activiti.engine.impl.HistoricProcessInstanceQueryImpl" resultMap="historicProcessInstanceAndVariablesResultMap">
${limitBefore}
select distinct RES.*,
VAR.ID_ as VAR_ID_, VAR.NAME_ as VAR_NAME_, VAR.VAR_TYPE_ as VAR_TYPE_, VAR.REV_ as VAR_REV_,
VAR.PROC_INST_ID_ as VAR_PROC_INST_ID_, VAR.EXECUTION_ID_ as VAR_EXECUTION_ID_, VAR.TASK_ID_ as VAR_TASK_ID_,
VAR.BYTEARRAY_ID_ as VAR_BYTEARRAY_ID_, VAR.DOUBLE_ as VAR_DOUBLE_,
VAR.TEXT_ as VAR_TEXT_, VAR.TEXT2_ as VAR_TEXT2_, VAR.LAST_UPDATED_TIME_ as VAR_LAST_UPDATED_TIME_, VAR.LONG_ as VAR_LONG_
${limitBetween}
<include refid="selectHistoricProcessInstancesWithVariablesByQueryCriteriaSql"/>
${orderBy}
${limitAfter}
</select>
<select id="selectHistoricProcessInstancesWithVariablesByQueryCriteria_mssql_or_db2" parameterType="org.activiti.engine.impl.HistoricProcessInstanceQueryImpl" resultMap="historicProcessInstanceAndVariablesResultMap">
${limitBefore}
select distinct TEMPRES_ID_ as ID_,
TEMPRES_BUSINESS_KEY_ as BUSINESS_KEY_, TEMPRES_PROC_DEF_ID_ as PROC_DEF_ID_,
TEMPRES_START_TIME_ as START_TIME_, TEMPRES_END_TIME_ as END_TIME_,
TEMPRES_DURATION_ as DURATION_, TEMPRES_START_USER_ID_ as START_USER_ID_, TEMPRES_START_ACT_ID_ as START_ACT_ID_,
TEMPRES_END_ACT_ID_ as END_ACT_ID_, TEMPRES_SUPER_PROCESS_INSTANCE_ID_ as SUPER_PROCESS_INSTANCE_ID_,
TEMPRES_DELETE_REASON_ as DELETE_REASON_,
TEMPVAR_ID_ as VAR_ID_, TEMPVAR_NAME_ as VAR_NAME_, TEMPVAR_TYPE_ as VAR_TYPE_, TEMPVAR_REV_ as VAR_REV_,
TEMPVAR_PROC_INST_ID_ as VAR_PROC_INST_ID_, TEMPVAR_EXECUTION_ID_ as VAR_EXECUTION_ID_, TEMPVAR_TASK_ID_ as VAR_TASK_ID_,
TEMPVAR_BYTEARRAY_ID_ as VAR_BYTEARRAY_ID_, TEMPVAR_DOUBLE_ as VAR_DOUBLE_,
TEMPVAR_TEXT_ as VAR_TEXT_, TEMPVAR_TEXT2_ as VAR_TEXT2_, TEMPVAR_LAST_UPDATED_TIME_ as VAR_LAST_UPDATED_TIME_, TEMPVAR_LONG_ as VAR_LONG_
${limitOuterJoinBetween}
RES.ID_ as TEMPRES_ID_, RES.BUSINESS_KEY_ as TEMPRES_BUSINESS_KEY_,
RES.PROC_DEF_ID_ as TEMPRES_PROC_DEF_ID_, RES.PROC_INST_ID_ as TEMPRES_PROC_INST_ID_,
RES.START_TIME_ as TEMPRES_START_TIME_, RES.END_TIME_ as TEMPRES_END_TIME_,
RES.DURATION_ as TEMPRES_DURATION_, RES.START_USER_ID_ as TEMPRES_START_USER_ID_,
RES.START_ACT_ID_ as TEMPRES_START_ACT_ID_, RES.END_ACT_ID_ as TEMPRES_END_ACT_ID_,
RES.SUPER_PROCESS_INSTANCE_ID_ as TEMPRES_SUPER_PROCESS_INSTANCE_ID_, RES.DELETE_REASON_ as TEMPRES_DELETE_REASON_,
VAR.ID_ as TEMPVAR_ID_, VAR.NAME_ as TEMPVAR_NAME_, VAR.VAR_TYPE_ as TEMPVAR_TYPE_, VAR.REV_ as TEMPVAR_REV_,
VAR.PROC_INST_ID_ as TEMPVAR_PROC_INST_ID_, VAR.EXECUTION_ID_ as TEMPVAR_EXECUTION_ID_, VAR.TASK_ID_ as TEMPVAR_TASK_ID_,
VAR.BYTEARRAY_ID_ as TEMPVAR_BYTEARRAY_ID_, VAR.DOUBLE_ as TEMPVAR_DOUBLE_,
VAR.TEXT_ as TEMPVAR_TEXT_, VAR.TEXT2_ as TEMPVAR_TEXT2_, VAR.LAST_UPDATED_TIME_ as TEMPVAR_LAST_UPDATED_TIME_, VAR.LONG_ as TEMPVAR_LONG_
<include refid="selectHistoricProcessInstancesWithVariablesByQueryCriteriaSql"/>
${orderBy}
${limitAfter}
</select>
<sql id="selectHistoricProcessInstancesWithVariablesByQueryCriteriaSql">
from ${prefix}ACT_HI_PROCINST RES
<if test="includeProcessVariables">
left outer join ${prefix}ACT_HI_VARINST VAR ON RES.PROC_INST_ID_ = VAR.EXECUTION_ID_ and VAR.TASK_ID_ is null
</if>
<include refid="commonSelectHistoricProcessInstancesByQueryCriteriaSql"/>
</sql>
<sql id="commonSelectHistoricProcessInstancesByQueryCriteriaSql">
<if test="processKeyNotIn != null || processDefinitionKey != null || (orQueryObject != null &amp;&amp; (orQueryObject.processKeyNotIn != null || orQueryObject.processDefinitionKey != null))">
inner join ${prefix}ACT_RE_PROCDEF DEF on RES.PROC_DEF_ID_ = DEF.ID_
</if>
<foreach collection="queryVariableValues" index="index" item="queryVariableValue">
inner join ${prefix}ACT_HI_VARINST A${index} on RES.PROC_INST_ID_ = A${index}.PROC_INST_ID_
</foreach>
<if test="orQueryObject != null">
<foreach collection="orQueryObject.queryVariableValues" index="index" item="queryVariableValue">
left outer join ${prefix}ACT_HI_VARINST A_OR${index} on RES.PROC_INST_ID_ = A_OR${index}.PROC_INST_ID_
</foreach>
</if>
<if test="deploymentId != null || (deploymentIds != null &amp;&amp; deploymentIds.size() &gt; 0) || (orQueryObject != null &amp;&amp; (orQueryObject.deploymentId != null || (orQueryObject.deploymentIds != null &amp;&amp; orQueryObject.deploymentIds.size() &gt; 0)))">
left outer join ${prefix}ACT_RE_PROCDEF DEPLOY_P ON RES.PROC_DEF_ID_ = DEPLOY_P.ID_
</if>
<where>
<if test="processInstanceId != null">
RES.PROC_INST_ID_ = #{processInstanceId}
</if>
<if test="processInstanceIds != null and !processInstanceIds.isEmpty()">
and RES.PROC_INST_ID_ in
<foreach item="item" index="index" collection="processInstanceIds" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="processDefinitionId != null">
and RES.PROC_DEF_ID_ = #{processDefinitionId}
</if>
<if test="processDefinitionKey != null">
and DEF.KEY_ = #{processDefinitionKey}
</if>
<if test="processDefinitionName != null">
and RES.PROC_DEF_NAME like #{processDefinitionName}
</if>
<if test="businessKey != null">
and RES.BUSINESS_KEY_ = #{businessKey}
</if>
<if test="deploymentId != null">
and DEPLOY_P.DEPLOYMENT_ID_ = #{deploymentId}
</if>
<if test="deploymentIds != null &amp;&amp; deploymentIds.size() &gt; 0">
and DEPLOY_P.DEPLOYMENT_ID_ IN
<foreach item="deployment" index="index" collection="deploymentIds"
open="(" separator="," close=")">
#{deployment}
</foreach>
</if>
<if test="startedBefore != null">
and RES.START_TIME_ &lt;= #{startedBefore}
</if>
<if test="startedAfter != null">
and RES.START_TIME_ &gt;= #{startedAfter}
</if>
<if test="finishedBefore != null">
and RES.END_TIME_ &lt;= #{finishedBefore}
</if>
<if test="finishedAfter != null">
and RES.END_TIME_ &gt;= #{finishedAfter}
</if>
<if test="processKeyNotIn != null">
<foreach collection="processKeyNotIn" index="index" item="procDefKey">
and DEF.KEY_ not like #{procDefKey}
</foreach>
</if>
<if test="unfinished">
and RES.END_TIME_ IS NULL
</if>
<if test="finished">
and RES.END_TIME_ is not NULL
</if>
<if test="notDeleted">
and RES.DELETE_REASON_ IS NULL
</if>
<if test="deleted">
and RES.DELETE_REASON_ IS NOT NULL
</if>
<if test="involvedUser != null">
and (
exists(select LINK.USER_ID_ from ${prefix}ACT_HI_IDENTITYLINK LINK where USER_ID_ = #{involvedUser} and LINK.PROC_INST_ID_ = RES.ID_)
)
</if>
<if test="startedBy != null">
and RES.START_USER_ID_ = #{startedBy}
</if>
<if test="superProcessInstanceId != null">
and RES.SUPER_PROCESS_INSTANCE_ID_ = #{superProcessInstanceId}
</if>
<if test="excludeSubprocesses">
and RES.SUPER_PROCESS_INSTANCE_ID_ is null
</if>
<if test="tenantId != null">
and RES.TENANT_ID_ = #{tenantId}
</if>
<if test="tenantIdLike != null">
and RES.TENANT_ID_ like #{tenantIdLike}
</if>
<if test="withoutTenantId">
and (RES.TENANT_ID_ = '' or RES.TENANT_ID_ is null)
</if>
<if test="name != null">
and RES.NAME_ = #{name}
</if>
<if test="procTitle != null">
and RES.PROC_TITLE like #{procTitle}
</if>
<if test="procState != null">
and PROC_STATE = #{procState}
</if>
<if test="nameLike != null">
and RES.NAME_ like #{nameLike}
</if>
<if test="nameLikeIgnoreCase != null">
and lower(RES.NAME_) like #{nameLikeIgnoreCase}
</if>
<foreach collection="queryVariableValues" index="index" item="queryVariableValue">
<if test="queryVariableValue.name != null">
<!-- Match-all variable-names when name is null -->
and A${index}.NAME_= #{queryVariableValue.name}
</if>
<if test="!queryVariableValue.type.equals('null')">
<!-- When operator is not-equals or type of value is null, type doesn't matter! -->
and A${index}.VAR_TYPE_ = #{queryVariableValue.type}
</if>
<if test="queryVariableValue.textValue != null &amp;&amp; queryVariableValue.longValue == null &amp;&amp; queryVariableValue.doubleValue == null">
<choose>
<when test="queryVariableValue.operator.equals('EQUALS_IGNORE_CASE') || queryVariableValue.operator.equals('NOT_EQUALS_IGNORE_CASE')">
and lower(A${index}.TEXT_)
</when>
<otherwise>
and A${index}.TEXT_
</otherwise>
</choose>
<choose>
<when test="queryVariableValue.operator.equals('LIKE')">LIKE</when>
<otherwise><include refid="executionVariableOperator" /></otherwise>
</choose>
#{queryVariableValue.textValue}
</if>
<if test="queryVariableValue.textValue2 != null">
and A${index}.TEXT2_
<choose>
<when test="queryVariableValue.operator.equals('LIKE')">LIKE</when>
<otherwise><include refid="executionVariableOperator" /></otherwise>
</choose>
#{queryVariableValue.textValue2}
</if>
<if test="queryVariableValue.longValue != null">
and A${index}.LONG_
<include refid="executionVariableOperator" />
#{queryVariableValue.longValue}
</if>
<if test="queryVariableValue.doubleValue != null">
and A${index}.DOUBLE_
<include refid="executionVariableOperator" />
#{queryVariableValue.doubleValue}
</if>
<!-- Null variable type -->
<if test="queryVariableValue.textValue == null &amp;&amp; queryVariableValue.textValue2 == null &amp;&amp; queryVariableValue.longValue == null &amp;&amp; queryVariableValue.doubleValue == null">
<choose>
<when test="queryVariableValue.operator.equals('NOT_EQUALS')">
and (A${index}.TEXT_ is not null or A${index}.TEXT2_ is not null or A${index}.LONG_ is not null or A${index}.DOUBLE_ is not null or A${index}.BYTEARRAY_ID_ is not null)
</when>
<otherwise>
and A${index}.TEXT_ is null and A${index}.TEXT2_ is null and A${index}.LONG_ is null and A${index}.DOUBLE_ is null and A${index}.BYTEARRAY_ID_ is null
</otherwise>
</choose>
</if>
</foreach>
<if test="orQueryObject != null">
and
<trim prefix="(" prefixOverrides="OR" suffix=")">
<if test="orQueryObject.processInstanceId != null">
RES.PROC_INST_ID_ = #{orQueryObject.processInstanceId}
</if>
<if test="orQueryObject.processInstanceIds != null and !orQueryObject.processInstanceIds.isEmpty()">
or RES.PROC_INST_ID_ in
<foreach item="item" index="index" collection="orQueryObject.processInstanceIds" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="orQueryObject.processDefinitionId != null">
or RES.PROC_DEF_ID_ = #{orQueryObject.processDefinitionId}
</if>
<if test="orQueryObject.processDefinitionKey != null">
or DEF.KEY_ = #{orQueryObject.processDefinitionKey}
</if>
<if test="orQueryObject.businessKey != null">
or RES.BUSINESS_KEY_ = #{orQueryObject.businessKey}
</if>
<if test="orQueryObject.deploymentId != null">
or DEPLOY_P.DEPLOYMENT_ID_ = #{orQueryObject.deploymentId}
</if>
<if test="orQueryObject.deploymentIds != null &amp;&amp; orQueryObject.deploymentIds.size() &gt; 0">
or DEPLOY_P.DEPLOYMENT_ID_ IN
<foreach item="deployment" index="index" collection="orQueryObject.deploymentIds"
open="(" separator="," close=")">
#{deployment}
</foreach>
</if>
<if test="orQueryObject.startedBefore != null">
or RES.START_TIME_ &lt;= #{orQueryObject.startedBefore}
</if>
<if test="orQueryObject.startedAfter != null">
or RES.START_TIME_ &gt;= #{orQueryObject.startedAfter}
</if>
<if test="orQueryObject.finishedBefore != null">
or (RES.END_TIME_ is not NULL and RES.END_TIME_ &lt;= #{orQueryObject.finishedBefore})
</if>
<if test="orQueryObject.finishedAfter != null">
or (RES.END_TIME_ is not NULL and RES.END_TIME_ &gt;= #{orQueryObject.finishedAfter})
</if>
<if test="orQueryObject.processKeyNotIn != null">
or
<trim prefix="(" prefixOverrides="AND" suffix=")">
<foreach collection="orQueryObject.processKeyNotIn" index="index" item="procDefKey">
and DEF.KEY_ not like #{procDefKey}
</foreach>
</trim>
</if>
<if test="orQueryObject.unfinished">
or RES.END_TIME_ IS NULL
</if>
<if test="orQueryObject.finished">
or RES.END_TIME_ is not NULL
</if>
<if test="orQueryObject.notDeleted">
or RES.DELETE_REASON_ IS NULL
</if>
<if test="orQueryObject.deleted">
or RES.DELETE_REASON_ IS NOT NULL
</if>
<if test="orQueryObject.involvedUser != null">
or (
exists(select LINK.USER_ID_ from ${prefix}ACT_HI_IDENTITYLINK LINK where USER_ID_ = #{orQueryObject.involvedUser} and LINK.PROC_INST_ID_ = RES.ID_)
)
</if>
<if test="orQueryObject.startedBy != null">
or RES.START_USER_ID_ = #{orQueryObject.startedBy}
</if>
<if test="orQueryObject.superProcessInstanceId != null">
or RES.SUPER_PROCESS_INSTANCE_ID_ = #{orQueryObject.superProcessInstanceId}
</if>
<if test="orQueryObject.excludeSubprocesses">
or RES.SUPER_PROCESS_INSTANCE_ID_ is null
</if>
<if test="orQueryObject.tenantId != null">
or RES.TENANT_ID_ = #{orQueryObject.tenantId}
</if>
<if test="orQueryObject.tenantIdLike != null">
or RES.TENANT_ID_ like #{orQueryObject.tenantIdLike}
</if>
<if test="orQueryObject.withoutTenantId">
or (RES.TENANT_ID_ = '' or RES.TENANT_ID_ is null)
</if>
<if test="orQueryObject.name != null">
or RES.NAME_ = #{orQueryObject.name}
</if>
<if test="orQueryObject.nameLike != null">
or RES.NAME_ like #{orQueryObject.nameLike}
</if>
<if test="orQueryObject.nameLikeIgnoreCase != null">
or lower(RES.NAME_) like #{orQueryObject.nameLikeIgnoreCase}
</if>
<foreach collection="orQueryObject.queryVariableValues" index="index" item="queryVariableValue">
or
<trim prefix="(" prefixOverrides="AND" suffix=")">
<if test="queryVariableValue.name != null">
<!-- Match-all variable-names when name is null -->
and A_OR${index}.NAME_= #{queryVariableValue.name}
</if>
<if test="!queryVariableValue.type.equals('null')">
<!-- When operator is not-equals or type of value is null, type doesn't matter! -->
and A_OR${index}.VAR_TYPE_ = #{queryVariableValue.type}
</if>
<if test="queryVariableValue.textValue != null &amp;&amp; queryVariableValue.longValue == null &amp;&amp; queryVariableValue.doubleValue == null">
<choose>
<when test="queryVariableValue.operator.equals('EQUALS_IGNORE_CASE') || queryVariableValue.operator.equals('NOT_EQUALS_IGNORE_CASE')">
and lower(A_OR${index}.TEXT_)
</when>
<otherwise>
and A_OR${index}.TEXT_
</otherwise>
</choose>
<choose>
<when test="queryVariableValue.operator.equals('LIKE')">LIKE</when>
<otherwise><include refid="executionVariableOperator" /></otherwise>
</choose>
#{queryVariableValue.textValue}
</if>
<if test="queryVariableValue.textValue2 != null">
and A_OR${index}.TEXT2_
<choose>
<when test="queryVariableValue.operator.equals('LIKE')">LIKE</when>
<otherwise><include refid="executionVariableOperator" /></otherwise>
</choose>
#{queryVariableValue.textValue2}
</if>
<if test="queryVariableValue.longValue != null">
and A_OR${index}.LONG_
<include refid="executionVariableOperator" />
#{queryVariableValue.longValue}
</if>
<if test="queryVariableValue.doubleValue != null">
and A_OR${index}.DOUBLE_
<include refid="executionVariableOperator" />
#{queryVariableValue.doubleValue}
</if>
<!-- Null variable type -->
<if test="queryVariableValue.textValue == null &amp;&amp; queryVariableValue.textValue2 == null &amp;&amp; queryVariableValue.longValue == null &amp;&amp; queryVariableValue.doubleValue == null">
<choose>
<when test="queryVariableValue.operator.equals('NOT_EQUALS')">
and (A_OR${index}.TEXT_ is not null or A_OR${index}.TEXT2_ is not null or A_OR${index}.LONG_ is not null or A_OR${index}.DOUBLE_ is not null or A_OR${index}.BYTEARRAY_ID_ is not null)
</when>
<otherwise>
and A_OR${index}.TEXT_ is null and A_OR${index}.TEXT2_ is null and A_OR${index}.LONG_ is null and A_OR${index}.DOUBLE_ is null and A_OR${index}.BYTEARRAY_ID_ is null
</otherwise>
</choose>
</if>
</trim>
</foreach>
</trim>
</if>
</where>
</sql>
<sql id="executionVariableOperator">
<choose>
<when test="queryVariableValue.operator.equals('EQUALS')">=</when>
<when test="queryVariableValue.operator.equals('EQUALS_IGNORE_CASE')">=</when>
<when test="queryVariableValue.operator.equals('NOT_EQUALS')">&lt;&gt;</when>
<when test="queryVariableValue.operator.equals('NOT_EQUALS_IGNORE_CASE')">&lt;&gt;</when>
<when test="queryVariableValue.operator.equals('GREATER_THAN')">&gt;</when>
<when test="queryVariableValue.operator.equals('GREATER_THAN_OR_EQUAL')">&gt;=</when>
<when test="queryVariableValue.operator.equals('LESS_THAN')">&lt;</when>
<when test="queryVariableValue.operator.equals('LESS_THAN_OR_EQUAL')">&lt;=</when>
</choose>
</sql>
<select id="selectHistoricProcessInstanceByNativeQuery" parameterType="java.util.Map" resultMap="historicProcessInstanceResultMap">
<if test="resultType == 'LIST_PAGE'">
${limitBefore}
</if>
${sql}
<if test="resultType == 'LIST_PAGE'">
${limitAfter}
</if>
</select>
<select id="selectHistoricProcessInstanceByNativeQuery_mssql_or_db2" parameterType="java.util.Map" resultMap="historicProcessInstanceResultMap">
<if test="resultType == 'LIST_PAGE'">
${limitBeforeNativeQuery}
</if>
${sql}
<if test="resultType == 'LIST_PAGE'">
${limitAfter}
</if>
</select>
<select id="selectHistoricProcessInstanceCountByNativeQuery" parameterType="java.util.Map" resultType="long">
${sql}
</select>
<!-- by lw -->
<select id="getAllProcessInstance" parameterType="org.activiti.engine.impl.HistoricProcessInstanceQueryImpl" resultMap="historicProcessInstanceResultMap">
select
id_,
proc_inst_id_,
business_key_,
proc_def_id_,
start_time_,
end_time_,
duration_,
start_user_id_,
start_act_id_,
end_act_id_,
super_process_instance_id_,
delete_reason_,
tenant_id_,
name_,
proc_title,
proc_state,
proc_def_name,
starter_org_name,
starter_org_id,
starter,
top_process_instance_id_,
(
select
assignee_user_name
from
(
select
tk.assignee_user_name,
proc_inst_id_
from
ACT_HI_TASKINST tk
order by
tk.start_time_) tk
where
tk.proc_inst_id_ = p.id_
limit 1) as START_USER_NAME
from
ACT_HI_PROCINST p
where
FIND_IN_SET( proc_inst_id_, (select getprocchildlst(top_process_instance_id_) from ACT_HI_PROCINST t where t.proc_inst_id_ = #{processInstanceId}))
</select>
</mapper>

View File

@ -0,0 +1,916 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
~ Licensed 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.
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.HistoricTaskInstanceEntity">
<!-- HISTORIC TASK INSTANCE INSERT -->
<insert id="insertHistoricTaskInstance" parameterType="org.activiti.engine.impl.persistence.entity.HistoricTaskInstanceEntity">
insert into ${prefix}ACT_HI_TASKINST (
ID_,
PROC_DEF_ID_,
PROC_INST_ID_,
EXECUTION_ID_,
NAME_,
PARENT_TASK_ID_,
DESCRIPTION_,
OWNER_,
ASSIGNEE_,
START_TIME_,
CLAIM_TIME_,
END_TIME_,
DURATION_,
DELETE_REASON_,
TASK_DEF_KEY_,
FORM_KEY_,
PRIORITY_,
DUE_DATE_,
CATEGORY_,
TENANT_ID_,
PROC_TITLE,SENDER, PRE_TASK_DEF_KEY,PRE_TASK_DEF_NAME,PRE_TASK_ID,ACTION_TYPE, SEND_USER_NAME,SENDER_ORG_ID,SENDER_ORG_NAME,ASSIGNEE_USER_NAME,ASSIGNEE_ORG_ID,ASSIGNEE_ORG_NAME,ASSIGNEE_USER_ID,SEND_USER_ID,PROC_DEF_NAME,TOP_EXECUTION_ID_
) values (
#{id ,jdbcType=VARCHAR},
#{processDefinitionId, jdbcType=VARCHAR},
#{processInstanceId, jdbcType=VARCHAR},
#{executionId, jdbcType=VARCHAR},
#{name ,jdbcType=VARCHAR},
#{parentTaskId ,jdbcType=VARCHAR},
#{description ,jdbcType=VARCHAR},
#{owner ,jdbcType=VARCHAR},
#{assignee ,jdbcType=VARCHAR},
#{startTime, jdbcType=TIMESTAMP},
#{claimTime, jdbcType=TIMESTAMP},
#{endTime, jdbcType=TIMESTAMP},
#{durationInMillis ,jdbcType=BIGINT},
#{deleteReason ,jdbcType=VARCHAR},
#{taskDefinitionKey ,jdbcType=VARCHAR},
#{formKey ,jdbcType=VARCHAR},
#{priority, jdbcType=INTEGER},
#{dueDate, jdbcType=TIMESTAMP},
#{category, jdbcType=VARCHAR},
#{tenantId, jdbcType=VARCHAR},
#{procTitle, jdbcType=VARCHAR},
#{sender, jdbcType=VARCHAR},
#{preTaskDefKey, jdbcType=VARCHAR},
#{preTaskDefName, jdbcType=VARCHAR},
#{preTaskId, jdbcType=VARCHAR},
#{actionType, jdbcType=VARCHAR},
#{sendUserName ,jdbcType=VARCHAR},
#{senderOrgId ,jdbcType=VARCHAR},
#{senderOrgName ,jdbcType=VARCHAR},
#{assigneeUserName, jdbcType=VARCHAR},#{assigneeOrgId, jdbcType=VARCHAR},
#{assigneeOrgName, jdbcType=VARCHAR},
#{assigneeUserId, jdbcType=VARCHAR},
#{sendUserId, jdbcType=VARCHAR},
#{processDefinitionName ,jdbcType=VARCHAR}, #{topExecutionId, jdbcType=VARCHAR}
)
</insert>
<!-- HISTORIC TASK INSTANCE UPDATE -->
<update id="updateHistoricTaskInstance" parameterType="org.activiti.engine.impl.persistence.entity.HistoricTaskInstanceEntity">
update ${prefix}ACT_HI_TASKINST set
EXECUTION_ID_ = #{executionId, jdbcType=VARCHAR},
NAME_ = #{name, jdbcType=VARCHAR},
PARENT_TASK_ID_ = #{parentTaskId, jdbcType=VARCHAR},
DESCRIPTION_ = #{description, jdbcType=VARCHAR},
OWNER_ = #{owner, jdbcType=VARCHAR},
ASSIGNEE_ = #{assignee, jdbcType=VARCHAR},
CLAIM_TIME_ = #{claimTime, jdbcType=TIMESTAMP},
END_TIME_ = #{endTime, jdbcType=TIMESTAMP},
DURATION_ = #{durationInMillis ,jdbcType=BIGINT},
DELETE_REASON_ = #{deleteReason ,jdbcType=VARCHAR},
TASK_DEF_KEY_ = #{taskDefinitionKey ,jdbcType=VARCHAR},
FORM_KEY_ = #{formKey ,jdbcType=VARCHAR},
PRIORITY_ = #{priority, jdbcType=INTEGER},
DUE_DATE_ = #{dueDate, jdbcType=TIMESTAMP},
CATEGORY_ = #{category, jdbcType=VARCHAR},
ACTION_TYPE = #{actionType, jdbcType=VARCHAR},
ASSIGNEE_USER_NAME =#{assigneeUserName, jdbcType=VARCHAR},
ASSIGNEE_ORG_ID =#{assigneeOrgId, jdbcType=VARCHAR},
ASSIGNEE_ORG_NAME =#{assigneeOrgName, jdbcType=VARCHAR},
ASSIGNEE_USER_ID =#{assigneeUserId, jdbcType=VARCHAR}
where ID_ = #{id}
</update>
<!-- HISTORIC TASK INSTANCE DELETE -->
<delete id="deleteHistoricTaskInstance" parameterType="org.activiti.engine.impl.persistence.entity.HistoricTaskInstanceEntity">
delete from ${prefix}ACT_HI_TASKINST where ID_ = #{id}
</delete>
<delete id="bulkDeleteHistoricTaskInstance" parameterType="java.util.Collection">
delete from ${prefix}ACT_HI_TASKINST where
<foreach item="task" collection="list" index="index" separator=" or ">
ID_ = #{task.id, jdbcType=VARCHAR}
</foreach>
</delete>
<!-- HISTORIC TASK INSTANCE RESULT MAP -->
<resultMap id="historicTaskInstanceResultMap" type="org.activiti.engine.impl.persistence.entity.HistoricTaskInstanceEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="processDefinitionId" column="PROC_DEF_ID_" jdbcType="VARCHAR" />
<result property="processInstanceId" column="PROC_INST_ID_" jdbcType="VARCHAR" />
<result property="executionId" column="EXECUTION_ID_" jdbcType="VARCHAR" />
<result property="name" column="NAME_" jdbcType="VARCHAR" />
<result property="parentTaskId" column="PARENT_TASK_ID_" jdbcType="VARCHAR" />
<result property="description" column="DESCRIPTION_" jdbcType="VARCHAR" />
<result property="owner" column="OWNER_" jdbcType="VARCHAR" />
<result property="assignee" column="ASSIGNEE_" jdbcType="VARCHAR" />
<result property="startTime" column="START_TIME_" jdbcType="TIMESTAMP" />
<result property="claimTime" column="CLAIM_TIME_" jdbcType="TIMESTAMP" />
<result property="endTime" column="END_TIME_" jdbcType="TIMESTAMP" />
<result property="durationInMillis" column="DURATION_" jdbcType="BIGINT" />
<result property="deleteReason" column="DELETE_REASON_" jdbcType="VARCHAR" />
<result property="taskDefinitionKey" column="TASK_DEF_KEY_" jdbcType="VARCHAR" />
<result property="formKey" column="FORM_KEY_" jdbcType="VARCHAR" />
<result property="priority" column="PRIORITY_" jdbcType="INTEGER" />
<result property="dueDate" column="DUE_DATE_" jdbcType="TIMESTAMP" />
<result property="category" column="CATEGORY_" jdbcType="VARCHAR" />
<result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR" />
<!--extend table columns 2013/5/6 by lw start -->
<result property="procTitle" column="PROC_TITLE" jdbcType="VARCHAR" />
<result property="sender" column="SENDER" jdbcType="VARCHAR"/>
<result property="preTaskDefKey" column="PRE_TASK_DEF_KEY" jdbcType="VARCHAR" />
<result property="preTaskDefName" column="PRE_TASK_DEF_NAME" jdbcType="VARCHAR" />
<result property="preTaskId" column="PRE_TASK_ID" jdbcType="VARCHAR" />
<result property="actionType" column="ACTION_TYPE" jdbcType="VARCHAR" />
<result property="sendUserName" column="SEND_USER_NAME" jdbcType="VARCHAR" />
<result property="senderOrgId" column="SENDER_ORG_ID" jdbcType="VARCHAR" />
<result property="senderOrgName" column="SENDER_ORG_NAME" jdbcType="VARCHAR" />
<result property="assigneeUserName" column="ASSIGNEE_USER_NAME" jdbcType="VARCHAR" />
<result property="assigneeOrgId" column="ASSIGNEE_ORG_ID" jdbcType="VARCHAR" />
<result property="assigneeOrgName" column="ASSIGNEE_ORG_NAME" jdbcType="VARCHAR" />
<result property="sendUserId" column="SEND_USER_ID" jdbcType="VARCHAR" />
<result property="assigneeUserId" column="ASSIGNEE_USER_ID" jdbcType="VARCHAR" />
<result property="processDefinitionName" column="PROC_DEF_NAME" jdbcType="VARCHAR" />
<result property="topExecutionId" column="TOP_EXECUTION_ID_" jdbcType="VARCHAR" />
<!--extend table columns 2013/5/6 by lw end -->
</resultMap>
<resultMap id="historicTaskInstanceAndVariablesResultMap" type="org.activiti.engine.impl.persistence.entity.HistoricTaskInstanceEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="processDefinitionId" column="PROC_DEF_ID_" jdbcType="VARCHAR" />
<result property="processInstanceId" column="PROC_INST_ID_" jdbcType="VARCHAR" />
<result property="executionId" column="EXECUTION_ID_" jdbcType="VARCHAR" />
<result property="name" column="NAME_" jdbcType="VARCHAR" />
<result property="parentTaskId" column="PARENT_TASK_ID_" jdbcType="VARCHAR" />
<result property="description" column="DESCRIPTION_" jdbcType="VARCHAR" />
<result property="owner" column="OWNER_" jdbcType="VARCHAR" />
<result property="assignee" column="ASSIGNEE_" jdbcType="VARCHAR" />
<result property="startTime" column="START_TIME_" jdbcType="TIMESTAMP" />
<result property="claimTime" column="CLAIM_TIME_" jdbcType="TIMESTAMP" />
<result property="endTime" column="END_TIME_" jdbcType="TIMESTAMP" />
<result property="durationInMillis" column="DURATION_" jdbcType="BIGINT" />
<result property="deleteReason" column="DELETE_REASON_" jdbcType="VARCHAR" />
<result property="taskDefinitionKey" column="TASK_DEF_KEY_" jdbcType="VARCHAR" />
<result property="formKey" column="FORM_KEY_" jdbcType="VARCHAR" />
<result property="priority" column="PRIORITY_" jdbcType="INTEGER" />
<result property="dueDate" column="DUE_DATE_" jdbcType="TIMESTAMP" />
<result property="category" column="CATEGORY_" jdbcType="VARCHAR" />
<result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR" />
<!--extend table columns 2013/5/6 by lw start -->
<result property="procTitle" column="PROC_TITLE" jdbcType="VARCHAR" />
<result property="sender" column="SENDER" jdbcType="VARCHAR"/>
<result property="preTaskDefKey" column="PRE_TASK_DEF_KEY" jdbcType="VARCHAR" />
<result property="preTaskDefName" column="PRE_TASK_DEF_NAME" jdbcType="VARCHAR" />
<result property="preTaskId" column="PRE_TASK_ID" jdbcType="VARCHAR" />
<result property="actionType" column="ACTION_TYPE" jdbcType="VARCHAR" />
<result property="sendUserName" column="SEND_USER_NAME" jdbcType="VARCHAR" />
<result property="processDefinitionName" column="PROC_DEF_NAME" jdbcType="VARCHAR" />
<result property="assigneeUserName" column="ASSIGNEE_USER_NAME" jdbcType="VARCHAR" />
<result property="assigneeOrgId" column="ASSIGNEE_ORG_ID" jdbcType="VARCHAR" />
<result property="assigneeOrgName" column="ASSIGNEE_ORG_NAME" jdbcType="VARCHAR" />
<result property="senderOrgId" column="SENDER_ORG_ID" jdbcType="VARCHAR" />
<result property="senderOrgName" column="SENDER_ORG_NAME" jdbcType="VARCHAR" />
<result property="sendUserId" column="SEND_USER_ID" jdbcType="VARCHAR" />
<result property="assigneeUserId" column="ASSIGNEE_USER_ID" jdbcType="VARCHAR" />
<result property="topExecutionId" column="TOP_EXECUTION_ID_" jdbcType="VARCHAR" />
<!--extend table columns 2013/5/6 by lw end -->
<collection property="queryVariables" column="TASK_ID_" javaType="ArrayList" ofType="org.activiti.engine.impl.persistence.entity.HistoricVariableInstanceEntity">
<id property="id" column="VAR_ID_"/>
<result property="name" column="VAR_NAME_" javaType="String" jdbcType="VARCHAR" />
<result property="variableType" column="VAR_TYPE_" javaType="org.activiti.engine.impl.variable.VariableType" jdbcType="VARCHAR" />
<result property="revision" column="VAR_REV_" jdbcType="INTEGER" />
<result property="processInstanceId" column="VAR_PROC_INST_ID_" jdbcType="VARCHAR" />
<result property="executionId" column="VAR_EXECUTION_ID_" jdbcType="VARCHAR" />
<result property="taskId" column="VAR_TASK_ID_" jdbcType="VARCHAR" />
<result property="byteArrayRef" column="VAR_BYTEARRAY_ID_" typeHandler="ByteArrayRefTypeHandler"/>
<result property="doubleValue" column="VAR_DOUBLE_" jdbcType="DOUBLE" />
<result property="textValue" column="VAR_TEXT_" jdbcType="VARCHAR" />
<result property="textValue2" column="VAR_TEXT2_" jdbcType="VARCHAR" />
<result property="longValue" column="VAR_LONG_" jdbcType="BIGINT" />
</collection>
</resultMap>
<!-- HISTORIC TASK INSTANCE SELECT -->
<select id="selectHistoricTaskInstance" resultMap="historicTaskInstanceResultMap">
select * from ${prefix}ACT_HI_TASKINST where ID_ = #{historicTaskInstanceId}
</select>
<select id="selectHistoricTaskInstanceIdsByProcessInstanceId" resultType="string" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" >
select ID_
from ${prefix}ACT_HI_TASKINST
where PROC_INST_ID_ = #{parameter}
</select>
<select id="selectHistoricTaskInstancesByQueryCriteria" parameterType="org.activiti.engine.impl.HistoricTaskInstanceQueryImpl" resultMap="historicTaskInstanceResultMap">
${limitBefore}
select distinct RES.* ${limitBetween}
<include refid="selectHistoricTaskInstancesByQueryCriteriaSql"/>
${orderBy}
${limitAfter}
</select>
<select id="selectHistoricTaskInstanceCountByQueryCriteria" parameterType="org.activiti.engine.impl.HistoricTaskInstanceQueryImpl" resultType="long">
select count(RES.ID_)
<include refid="selectHistoricTaskInstancesByQueryCriteriaSql"/>
</select>
<sql id="selectHistoricTaskInstancesByQueryCriteriaSql">
from ${prefix}ACT_HI_TASKINST RES
<include refid="commonSelectHistoricTaskInstancesByQueryCriteriaSql"/>
</sql>
<select id="selectHistoricTaskInstancesWithVariablesByQueryCriteria" parameterType="org.activiti.engine.impl.HistoricTaskInstanceQueryImpl" resultMap="historicTaskInstanceAndVariablesResultMap">
${limitBefore}
select distinct RES.*,
VAR.ID_ as VAR_ID_, VAR.NAME_ as VAR_NAME_, VAR.VAR_TYPE_ as VAR_TYPE_, VAR.REV_ as VAR_REV_,
VAR.PROC_INST_ID_ as VAR_PROC_INST_ID_, VAR.EXECUTION_ID_ as VAR_EXECUTION_ID_, VAR.TASK_ID_ as VAR_TASK_ID_,
VAR.BYTEARRAY_ID_ as VAR_BYTEARRAY_ID_, VAR.DOUBLE_ as VAR_DOUBLE_,
VAR.TEXT_ as VAR_TEXT_, VAR.TEXT2_ as VAR_TEXT2_, VAR.LAST_UPDATED_TIME_ as VAR_LAST_UPDATED_TIME_, VAR.LONG_ as VAR_LONG_
${limitBetween}
<include refid="selectHistoricTaskInstancesWithVariablesByQueryCriteriaSql"/>
${orderBy}
${limitAfter}
</select>
<select id="selectHistoricTaskInstancesWithVariablesByQueryCriteria_mssql_or_db2" parameterType="org.activiti.engine.impl.HistoricTaskInstanceQueryImpl" resultMap="historicTaskInstanceAndVariablesResultMap">
${limitBefore}
select distinct TEMPRES_ID_ as ID_,
TEMPRES_PROC_DEF_ID_ as PROC_DEF_ID_, TEMPRES_PROC_INST_ID_ as PROC_INST_ID_, TEMPRES_EXECUTION_ID_ as EXECUTION_ID_,
TEMPRES_NAME_ as NAME_, TEMPRES_PARENT_TASK_ID_ as PARENT_TASK_ID_,
TEMPRES_DESCRIPTION_ as DESCRIPTION_, TEMPRES_OWNER_ as OWNER_, TEMPRES_ASSIGNEE_ as ASSIGNEE_,
TEMPRES_START_TIME_ as START_TIME_, TEMPRES_CLAIM_TIME_ as CLAIM_TIME_, TEMPRES_END_TIME_ as END_TIME_,
TEMPRES_DURATION_ as DURATION_, TEMPRES_TASK_DEF_KEY_ as TASK_DEF_KEY_, TEMPRES_FORM_KEY_ as FORM_KEY_,
TEMPRES_PRIORITY_ as PRIORITY_, TEMPRES_DUE_DATE_ as DUE_DATE_,
TEMPRES_DELETE_REASON_ as DELETE_REASON_,
TEMPVAR_ID_ as VAR_ID_, TEMPVAR_NAME_ as VAR_NAME_, TEMPVAR_TYPE_ as VAR_TYPE_, TEMPVAR_REV_ as VAR_REV_,
TEMPVAR_PROC_INST_ID_ as VAR_PROC_INST_ID_, TEMPVAR_EXECUTION_ID_ as VAR_EXECUTION_ID_, TEMPVAR_TASK_ID_ as VAR_TASK_ID_,
TEMPVAR_BYTEARRAY_ID_ as VAR_BYTEARRAY_ID_, TEMPVAR_DOUBLE_ as VAR_DOUBLE_,
TEMPVAR_TEXT_ as VAR_TEXT_, TEMPVAR_LAST_UPDATED_TIME_ as VAR_LAST_UPDATED_TIME_, TEMPVAR_TEXT2_ as VAR_TEXT2_, TEMPVAR_LONG_ as VAR_LONG_
${limitOuterJoinBetween}
RES.ID_ as TEMPRES_ID_, RES.PROC_DEF_ID_ as TEMPRES_PROC_DEF_ID_, RES.PROC_INST_ID_ as TEMPRES_PROC_INST_ID_,
RES.EXECUTION_ID_ as TEMPRES_EXECUTION_ID_, RES.NAME_ as TEMPRES_NAME_ , RES.PARENT_TASK_ID_ as TEMPRES_PARENT_TASK_ID_,
RES.DESCRIPTION_ as TEMPRES_DESCRIPTION_, RES.OWNER_ as TEMPRES_OWNER_, RES.ASSIGNEE_ as TEMPRES_ASSIGNEE_,
RES.START_TIME_ as TEMPRES_START_TIME_, RES.END_TIME_ as TEMPRES_END_TIME_, RES.CLAIM_TIME_ as TEMPRES_CLAIM_TIME_,
RES.DURATION_ as TEMPRES_DURATION_, RES.TASK_DEF_KEY_ as TEMPRES_TASK_DEF_KEY_,
RES.FORM_KEY_ as TEMPRES_FORM_KEY_, RES.PRIORITY_ as TEMPRES_PRIORITY_,
RES.DUE_DATE_ as TEMPRES_DUE_DATE_, RES.DELETE_REASON_ as TEMPRES_DELETE_REASON_,
VAR.ID_ as TEMPVAR_ID_, VAR.NAME_ as TEMPVAR_NAME_, VAR.VAR_TYPE_ as TEMPVAR_TYPE_, VAR.REV_ as TEMPVAR_REV_,
VAR.PROC_INST_ID_ as TEMPVAR_PROC_INST_ID_, VAR.EXECUTION_ID_ as TEMPVAR_EXECUTION_ID_, VAR.TASK_ID_ as TEMPVAR_TASK_ID_,
VAR.BYTEARRAY_ID_ as TEMPVAR_BYTEARRAY_ID_, VAR.DOUBLE_ as TEMPVAR_DOUBLE_,
VAR.TEXT_ as TEMPVAR_TEXT_, VAR.TEXT2_ as TEMPVAR_TEXT2_, VAR.LAST_UPDATED_TIME_ as TEMPVAR_LAST_UPDATED_TIME_, VAR.LONG_ as TEMPVAR_LONG_
<include refid="selectHistoricTaskInstancesWithVariablesByQueryCriteriaSql"/>
${orderBy}
${limitAfter}
</select>
<sql id="selectHistoricTaskInstancesWithVariablesByQueryCriteriaSql">
from ${prefix}ACT_HI_TASKINST RES
<choose>
<when test="includeTaskLocalVariables &amp;&amp; includeProcessVariables">
left outer join ${prefix}ACT_HI_VARINST VAR ON RES.ID_ = VAR.TASK_ID_ or RES.PROC_INST_ID_ = VAR.EXECUTION_ID_
</when>
<otherwise>
<if test="includeTaskLocalVariables">
left outer join ${prefix}ACT_HI_VARINST VAR ON RES.ID_ = VAR.TASK_ID_
</if>
<if test="includeProcessVariables">
left outer join ${prefix}ACT_HI_VARINST VAR ON RES.PROC_INST_ID_ = VAR.EXECUTION_ID_ and VAR.TASK_ID_ is null
</if>
</otherwise>
</choose>
<include refid="commonSelectHistoricTaskInstancesByQueryCriteriaSql"/>
</sql>
<sql id="commonSelectHistoricTaskInstancesByQueryCriteriaSql">
<if test="candidateUser != null || candidateGroups != null || (orQueryObject != null &amp;&amp; (orQueryObject.candidateUser != null || orQueryObject.candidateGroups != null))">
inner join ${prefix}ACT_HI_IDENTITYLINK HI on HI.TASK_ID_ = RES.ID_
</if>
<if test="processFinished || processUnfinished || processInstanceBusinessKey != null || processInstanceBusinessKeyLike != null || processInstanceBusinessKeyLikeIgnoreCase != null || (orQueryObject != null &amp;&amp; (orQueryObject.processFinished || orQueryObject.processUnfinished || orQueryObject.processInstanceBusinessKey != null || orQueryObject.processInstanceBusinessKeyLike != null || orQueryObject.processInstanceBusinessKeyLikeIgnoreCase != null))">
inner join ${prefix}ACT_HI_PROCINST HPI ON RES.PROC_INST_ID_ = HPI.ID_
</if>
<if test="processDefinitionKey != null || processDefinitionKeyLike != null || processDefinitionKeyLikeIgnoreCase != null || processDefinitionName != null || processDefinitionNameLike != null || (orQueryObject != null &amp;&amp; (orQueryObject.processDefinitionKey != null || orQueryObject.processDefinitionKeyLike != null || orQueryObject.processDefinitionKeyLikeIgnoreCase != null || orQueryObject.processDefinitionName != null || orQueryObject.processDefinitionNameLike != null))">
inner join ${prefix}ACT_RE_PROCDEF D on RES.PROC_DEF_ID_ = D.ID_
</if>
<if test="deploymentId != null || (deploymentIds != null &amp;&amp; deploymentIds.size() &gt; 0) || (orQueryObject != null &amp;&amp; (orQueryObject.deploymentId != null || (orQueryObject.deploymentIds != null &amp;&amp; orQueryObject.deploymentIds.size() &gt; 0)))">
left outer join ${prefix}ACT_RE_PROCDEF DEPLOY_P ON RES.PROC_DEF_ID_ = DEPLOY_P.ID_
</if>
<foreach collection="queryVariableValues" index="index" item="var">
<choose>
<when test="var.local">
inner join ${prefix}ACT_HI_VARINST A${index} on RES.ID_ = A${index}.TASK_ID_
</when>
<otherwise>
inner join ${prefix}ACT_HI_VARINST A${index} on RES.PROC_INST_ID_ = A${index}.PROC_INST_ID_
</otherwise>
</choose>
</foreach>
<if test="orQueryObject != null">
<foreach collection="orQueryObject.queryVariableValues" index="index" item="var">
<choose>
<when test="var.local">
left outer join ${prefix}ACT_HI_VARINST A_OR${index} on RES.ID_ = A_OR${index}.TASK_ID_
</when>
<otherwise>
left outer join ${prefix}ACT_HI_VARINST A_OR${index} on RES.PROC_INST_ID_ = A_OR${index}.PROC_INST_ID_
</otherwise>
</choose>
</foreach>
</if>
<where>
<if test="taskId != null">
RES.ID_ = #{taskId}
</if>
<if test="processDefinitionId != null">
and RES.PROC_DEF_ID_ = #{processDefinitionId}
</if>
<if test="processDefinitionKey != null">
and D.KEY_ = #{processDefinitionKey}
</if>
<if test="processDefinitionKeyLike != null">
and D.KEY_ like #{processDefinitionKeyLike}
</if>
<if test="processDefinitionKeyLikeIgnoreCase != null">
and lower(D.KEY_) like #{processDefinitionKeyLikeIgnoreCase}
</if>
<if test="processDefinitionName != null">
and D.NAME_ = #{processDefinitionName}
</if>
<if test="processDefinitionNameLike != null">
and D.NAME_ like #{processDefinitionNameLike}
</if>
<if test="deploymentId != null">
and DEPLOY_P.DEPLOYMENT_ID_ = #{deploymentId}
</if>
<if test="deploymentIds != null &amp;&amp; deploymentIds.size() &gt; 0">
and DEPLOY_P.DEPLOYMENT_ID_ IN
<foreach item="deployment" index="index" collection="deploymentIds"
open="(" separator="," close=")">
#{deployment}
</foreach>
</if>
<if test="processInstanceId != null">
and RES.PROC_INST_ID_ = #{processInstanceId}
</if>
<if test="processInstanceBusinessKey != null">
and HPI.BUSINESS_KEY_ = #{processInstanceBusinessKey}
</if>
<if test="processInstanceBusinessKeyLike != null">
and HPI.BUSINESS_KEY_ like #{processInstanceBusinessKeyLike}
</if>
<if test="processInstanceBusinessKeyLikeIgnoreCase != null">
and lower(HPI.BUSINESS_KEY_) like #{processInstanceBusinessKeyLikeIgnoreCase}
</if>
<if test="taskDefinitionKey != null">
and RES.TASK_DEF_KEY_ = #{taskDefinitionKey}
</if>
<if test="taskDefinitionKeyLike != null">
and RES.TASK_DEF_KEY_ like #{taskDefinitionKeyLike}
</if>
<if test="executionId != null">
and RES.EXECUTION_ID_ = #{executionId}
</if>
<if test="taskName != null">
and RES.NAME_ = #{taskName}
</if>
<if test="taskNameLike != null">
and RES.NAME_ like #{taskNameLike}
</if>
<if test="taskNameLikeIgnoreCase != null">
and lower(RES.NAME_) like #{taskNameLikeIgnoreCase}
</if>
<if test="taskNameList != null &amp;&amp; taskNameList.size() &gt; 0">
and RES.NAME_ IN
<foreach item="taskName" index="index" collection="taskNameList"
open="(" separator="," close=")">
#{taskName}
</foreach>
</if>
<if test="taskNameListIgnoreCase != null &amp;&amp; taskNameListIgnoreCase.size() &gt; 0">
and lower(RES.NAME_) IN
<foreach item="taskName" index="index" collection="taskNameListIgnoreCase"
open="(" separator="," close=")">
#{taskName}
</foreach>
</if>
<if test="taskParentTaskId != null">
and RES.PARENT_TASK_ID_ = #{taskParentTaskId}
</if>
<if test="taskDescription != null">
and RES.DESCRIPTION_ = #{taskDescription}
</if>
<if test="taskDescriptionLike != null">
and RES.DESCRIPTION_ like #{taskDescriptionLike}
</if>
<if test="taskDescriptionLikeIgnoreCase != null">
and lower(RES.DESCRIPTION_) like #{taskDescriptionLikeIgnoreCase}
</if>
<if test="taskDeleteReason != null">
and RES.DELETE_REASON_ = #{taskDeleteReason}
</if>
<if test="taskDeleteReasonLike != null">
and RES.DELETE_REASON_ like #{taskDeleteReasonLike}
</if>
<if test="taskOwner != null">
and RES.OWNER_ = #{taskOwner}
</if>
<if test="taskOwnerLike != null">
and RES.OWNER_ like #{taskOwnerLike}
</if>
<if test="taskOwnerLikeIgnoreCase != null">
and lower(RES.OWNER_) like #{taskOwnerLikeIgnoreCase}
</if>
<if test="taskAssignee != null">
and RES.ASSIGNEE_ = #{taskAssignee}
</if>
<if test="taskAssigneeLike != null">
and RES.ASSIGNEE_ like #{taskAssigneeLike}
</if>
<if test="taskAssigneeLikeIgnoreCase != null">
and lower(RES.ASSIGNEE_) like #{taskAssigneeLikeIgnoreCase}
</if>
<if test="taskPriority != null">
and RES.PRIORITY_ = #{taskPriority}
</if>
<if test="taskMinPriority != null">
and RES.PRIORITY_ &gt;= #{taskMinPriority}
</if>
<if test="taskMaxPriority != null">
and RES.PRIORITY_ &lt;= #{taskMaxPriority}
</if>
<if test="unfinished">
and RES.END_TIME_ is null
</if>
<if test="finished">
and RES.END_TIME_ is not null
</if>
<if test="processFinished">
and HPI.END_TIME_ is not null
</if>
<if test="processUnfinished">
and HPI.END_TIME_ is null
</if>
<if test="dueDate != null">
and RES.DUE_DATE_ = #{dueDate}
</if>
<if test="dueBefore != null">
and RES.DUE_DATE_ &lt; #{dueBefore}
</if>
<if test="dueAfter != null">
and RES.DUE_DATE_ &gt; #{dueAfter}
</if>
<if test="withoutDueDate">
and RES.DUE_DATE_ is null
</if>
<if test="creationDate != null">
and RES.START_TIME_ = #{creationDate}
</if>
<if test="creationBeforeDate != null">
and RES.START_TIME_ &lt; #{creationBeforeDate}
</if>
<if test="creationAfterDate != null">
and RES.START_TIME_ &gt; #{creationAfterDate}
</if>
<if test="completedDate != null">
and RES.END_TIME_ = #{completedDate}
</if>
<if test="completedBeforeDate != null">
and RES.END_TIME_ &lt; #{completedBeforeDate}
</if>
<if test="completedAfterDate != null">
and RES.END_TIME_ &gt; #{completedAfterDate}
</if>
<if test="category != null">
and RES.CATEGORY_ = #{category}
</if>
<if test="tenantId != null">
and RES.TENANT_ID_ = #{tenantId}
</if>
<if test="tenantIdLike != null">
and RES.TENANT_ID_ like #{tenantIdLike}
</if>
<if test="withoutTenantId">
and (RES.TENANT_ID_ = '' or RES.TENANT_ID_ is null)
</if>
<if test="candidateUser != null || candidateGroups != null">
and RES.ASSIGNEE_ is null
and HI.TYPE_ = 'candidate'
and
(
<if test="candidateUser != null">
HI.USER_ID_ = #{candidateUser}
</if>
<if test="candidateUser != null &amp;&amp; candidateGroups != null &amp;&amp; candidateGroups.size() &gt; 0">
or
</if>
<if test="candidateGroups != null &amp;&amp; candidateGroups.size() &gt; 0">
HI.GROUP_ID_ IN
<foreach item="group" index="index" collection="candidateGroups"
open="(" separator="," close=")">
#{group}
</foreach>
</if>
)
</if>
<if test="involvedUser != null">
and (
exists(select LINK.USER_ID_ from ${prefix}ACT_HI_IDENTITYLINK LINK where USER_ID_ = #{involvedUser} and LINK.TASK_ID_ = RES.ID_)
or RES.ASSIGNEE_ = #{involvedUser}
or RES.OWNER_ = #{involvedUser}
)
</if>
<foreach item="queryVar" collection="queryVariableValues" index="index">
<if test="!queryVar.local">
<!-- When process instance variable is queried for, taskId should be null -->
and A${index}.TASK_ID_ is null
</if>
<if test="queryVar.name != null">
<!-- Match-all variable-names when name is null -->
and A${index}.NAME_= #{queryVar.name}
</if>
<if test="!queryVar.type.equals('null')">
and A${index}.VAR_TYPE_ = #{queryVar.type}
</if>
<!-- Variable value -->
<if test="queryVar.textValue != null &amp;&amp; queryVar.longValue == null &amp;&amp; queryVar.doubleValue == null">
<choose>
<when test="queryVar.operator.equals('EQUALS_IGNORE_CASE') || queryVar.operator.equals('NOT_EQUALS_IGNORE_CASE')">
and lower(A${index}.TEXT_)
</when>
<otherwise>
and A${index}.TEXT_
</otherwise>
</choose>
<choose>
<when test="queryVar.operator.equals('LIKE')">LIKE</when>
<otherwise><include refid="executionVariableOperator" /></otherwise>
</choose>
#{queryVar.textValue}
</if>
<if test="queryVar.textValue2 != null">
and A${index}.TEXT2_
<choose>
<when test="queryVar.operator.equals('LIKE')">LIKE</when>
<otherwise><include refid="executionVariableOperator" /></otherwise>
</choose>
#{queryVar.textValue2}
</if>
<if test="queryVar.longValue != null">
and A${index}.LONG_
<include refid="executionVariableOperator" />
#{queryVar.longValue}
</if>
<if test="queryVar.doubleValue != null">
and A${index}.DOUBLE_
<include refid="executionVariableOperator" />
#{queryVar.doubleValue}
</if>
<!-- Null variable type -->
<if test="queryVar.textValue == null &amp;&amp; queryVar.textValue2 == null &amp;&amp; queryVar.longValue == null &amp;&amp; queryVar.doubleValue == null">
<choose>
<when test="queryVar.operator.equals('NOT_EQUALS')">
and (A${index}.TEXT_ is not null or A${index}.TEXT2_ is not null or A${index}.LONG_ is not null or A${index}.DOUBLE_ is not null or A${index}.BYTEARRAY_ID_ is not null)
</when>
<otherwise>
and A${index}.TEXT_ is null and A${index}.TEXT2_ is null and A${index}.LONG_ is null and A${index}.DOUBLE_ is null and A${index}.BYTEARRAY_ID_ is null
</otherwise>
</choose>
</if>
</foreach>
<if test="orQueryObject != null">
and
<trim prefix="(" prefixOverrides="OR" suffix=")">
<if test="orQueryObject.taskId != null">
RES.ID_ = #{orQueryObject.taskId}
</if>
<if test="orQueryObject.processDefinitionId != null">
or RES.PROC_DEF_ID_ = #{orQueryObject.processDefinitionId}
</if>
<if test="orQueryObject.processDefinitionKey != null">
or D.KEY_ = #{orQueryObject.processDefinitionKey}
</if>
<if test="orQueryObject.processDefinitionKeyLike != null">
or D.KEY_ like #{orQueryObject.processDefinitionKeyLike}
</if>
<if test="orQueryObject.processDefinitionKeyLikeIgnoreCase != null">
or lower(D.KEY_) like #{orQueryObject.processDefinitionKeyLikeIgnoreCase}
</if>
<if test="orQueryObject.processDefinitionName != null">
or D.NAME_ = #{orQueryObject.processDefinitionName}
</if>
<if test="orQueryObject.processDefinitionNameLike != null">
or D.NAME_ like #{orQueryObject.processDefinitionNameLike}
</if>
<if test="orQueryObject.deploymentId != null">
or DEPLOY_P.DEPLOYMENT_ID_ = #{orQueryObject.deploymentId}
</if>
<if test="orQueryObject.deploymentIds != null &amp;&amp; orQueryObject.deploymentIds.size() &gt; 0">
or DEPLOY_P.DEPLOYMENT_ID_ IN
<foreach item="deployment" index="index" collection="orQueryObject.deploymentIds"
open="(" separator="," close=")">
#{deployment}
</foreach>
</if>
<if test="orQueryObject.processInstanceId != null">
or RES.PROC_INST_ID_ = #{orQueryObject.processInstanceId}
</if>
<if test="orQueryObject.processInstanceBusinessKey != null">
or HPI.BUSINESS_KEY_ = #{orQueryObject.processInstanceBusinessKey}
</if>
<if test="orQueryObject.processInstanceBusinessKeyLike != null">
or HPI.BUSINESS_KEY_ like #{orQueryObject.processInstanceBusinessKeyLike}
</if>
<if test="orQueryObject.processInstanceBusinessKeyLikeIgnoreCase != null">
or lower(HPI.BUSINESS_KEY_) like #{orQueryObject.processInstanceBusinessKeyLikeIgnoreCase}
</if>
<if test="orQueryObject.taskDefinitionKey != null">
or RES.TASK_DEF_KEY_ = #{orQueryObject.taskDefinitionKey}
</if>
<if test="orQueryObject.taskDefinitionKeyLike != null">
or RES.TASK_DEF_KEY_ like #{orQueryObject.taskDefinitionKeyLike}
</if>
<if test="orQueryObject.executionId != null">
or RES.EXECUTION_ID_ = #{orQueryObject.executionId}
</if>
<if test="orQueryObject.taskName != null">
or RES.NAME_ = #{orQueryObject.taskName}
</if>
<if test="orQueryObject.taskNameLike != null">
or RES.NAME_ like #{orQueryObject.taskNameLike}
</if>
<if test="orQueryObject.taskNameLikeIgnoreCase != null">
or lower(RES.NAME_) like #{orQueryObject.taskNameLikeIgnoreCase}
</if>
<if test="orQueryObject.taskNameList != null &amp;&amp; orQueryObject.taskNameList.size() &gt; 0">
or RES.NAME_ IN
<foreach item="taskName" index="index" collection="orQueryObject.taskNameList"
open="(" separator="," close=")">
#{taskName}
</foreach>
</if>
<if test="orQueryObject.taskNameListIgnoreCase != null &amp;&amp; orQueryObject.taskNameListIgnoreCase.size() &gt; 0">
or lower(RES.NAME_) IN
<foreach item="taskName" index="index" collection="orQueryObject.taskNameListIgnoreCase"
open="(" separator="," close=")">
#{taskName}
</foreach>
</if>
<if test="orQueryObject.taskParentTaskId != null">
or RES.PARENT_TASK_ID_ = #{orQueryObject.taskParentTaskId}
</if>
<if test="orQueryObject.taskDescription != null">
or RES.DESCRIPTION_ = #{orQueryObject.taskDescription}
</if>
<if test="orQueryObject.taskDescriptionLike != null">
or RES.DESCRIPTION_ like #{orQueryObject.taskDescriptionLike}
</if>
<if test="orQueryObject.taskDescriptionLikeIgnoreCase != null">
or lower(RES.DESCRIPTION_) like #{orQueryObject.taskDescriptionLikeIgnoreCase}
</if>
<if test="orQueryObject.taskDeleteReason != null">
or RES.DELETE_REASON_ = #{orQueryObject.taskDeleteReason}
</if>
<if test="orQueryObject.taskDeleteReasonLike != null">
or RES.DELETE_REASON_ like #{orQueryObject.taskDeleteReasonLike}
</if>
<if test="orQueryObject.taskOwner != null">
or RES.OWNER_ = #{orQueryObject.taskOwner}
</if>
<if test="orQueryObject.taskOwnerLike != null">
or RES.OWNER_ like #{orQueryObject.taskOwnerLike}
</if>
<if test="orQueryObject.taskOwnerLikeIgnoreCase != null">
or lower(RES.OWNER_) like #{orQueryObject.taskOwnerLikeIgnoreCase}
</if>
<if test="orQueryObject.taskAssignee != null">
or RES.ASSIGNEE_ = #{orQueryObject.taskAssignee}
</if>
<if test="orQueryObject.taskAssigneeLike != null">
or RES.ASSIGNEE_ like #{orQueryObject.taskAssigneeLike}
</if>
<if test="orQueryObject.taskAssigneeLikeIgnoreCase != null">
or RES.ASSIGNEE_ like #{orQueryObject.taskAssigneeLikeIgnoreCase}
</if>
<if test="orQueryObject.taskPriority != null">
or RES.PRIORITY_ = #{orQueryObject.taskPriority}
</if>
<if test="orQueryObject.taskMinPriority != null">
or RES.PRIORITY_ &gt;= #{orQueryObject.taskMinPriority}
</if>
<if test="orQueryObject.taskMaxPriority != null">
or RES.PRIORITY_ &lt;= #{orQueryObject.taskMaxPriority}
</if>
<if test="orQueryObject.unfinished">
or RES.END_TIME_ is null
</if>
<if test="orQueryObject.finished">
or RES.END_TIME_ is not null
</if>
<if test="orQueryObject.processFinished">
or HPI.END_TIME_ is not null
</if>
<if test="orQueryObject.processUnfinished">
or HPI.END_TIME_ is null
</if>
<if test="orQueryObject.dueDate != null">
or RES.DUE_DATE_ = #{orQueryObject.dueDate}
</if>
<if test="orQueryObject.dueBefore != null">
or RES.DUE_DATE_ &lt; #{orQueryObject.dueBefore}
</if>
<if test="orQueryObject.dueAfter != null">
or RES.DUE_DATE_ &gt; #{orQueryObject.dueAfter}
</if>
<if test="orQueryObject.withoutDueDate">
or RES.DUE_DATE_ is null
</if>
<if test="orQueryObject.creationDate != null">
or RES.START_TIME_ = #{orQueryObject.creationDate}
</if>
<if test="orQueryObject.creationBeforeDate != null">
or RES.START_TIME_ &lt; #{orQueryObject.creationBeforeDate}
</if>
<if test="orQueryObject.creationAfterDate != null">
or RES.START_TIME_ &gt; #{orQueryObject.creationAfterDate}
</if>
<if test="orQueryObject.completedDate != null">
or RES.END_TIME_ = #{orQueryObject.completedDate}
</if>
<if test="orQueryObject.completedBeforeDate != null">
or RES.END_TIME_ &lt; #{orQueryObject.completedBeforeDate}
</if>
<if test="orQueryObject.completedAfterDate != null">
or RES.END_TIME_ &gt; #{orQueryObject.completedAfterDate}
</if>
<if test="orQueryObject.category != null">
or RES.CATEGORY_ = #{orQueryObject.category}
</if>
<if test="orQueryObject.tenantId != null">
or RES.TENANT_ID_ = #{orQueryObject.tenantId}
</if>
<if test="orQueryObject.tenantIdLike != null">
or RES.TENANT_ID_ like #{orQueryObject.tenantIdLike}
</if>
<if test="orQueryObject.withoutTenantId">
or (RES.TENANT_ID_ = '' or RES.TENANT_ID_ is null)
</if>
<if test="orQueryObject.candidateUser != null || orQueryObject.candidateGroups != null">
or (RES.ASSIGNEE_ is null
and HI.TYPE_ = 'candidate'
and
(
<if test="orQueryObject.candidateUser != null">
HI.USER_ID_ = #{orQueryObject.candidateUser}
</if>
<if test="orQueryObject.candidateUser != null &amp;&amp; orQueryObject.candidateGroups != null &amp;&amp; orQueryObject.candidateGroups.size() &gt; 0">
or
</if>
<if test="orQueryObject.candidateGroups != null &amp;&amp; orQueryObject.candidateGroups.size() &gt; 0">
HI.GROUP_ID_ IN
<foreach item="group" index="index" collection="orQueryObject.candidateGroups"
open="(" separator="," close=")">
#{group}
</foreach>
</if>
))
</if>
<if test="orQueryObject.involvedUser != null">
or (
exists(select LINK.USER_ID_ from ${prefix}ACT_HI_IDENTITYLINK LINK where USER_ID_ = #{orQueryObject.involvedUser} and LINK.TASK_ID_ = RES.ID_)
or RES.ASSIGNEE_ = #{orQueryObject.involvedUser}
or RES.OWNER_ = #{orQueryObject.involvedUser}
)
</if>
<foreach item="queryVar" collection="orQueryObject.queryVariableValues" index="index">
or
<trim prefix="(" prefixOverrides="AND" suffix=")">
<if test="!queryVar.local">
<!-- When process instance variable is queried for, taskId should be null -->
and A_OR${index}.TASK_ID_ is null
</if>
<if test="queryVar.name != null">
<!-- Match-all variable-names when name is null -->
and A_OR${index}.NAME_= #{queryVar.name}
</if>
<if test="!queryVar.type.equals('null')">
and A_OR${index}.VAR_TYPE_ = #{queryVar.type}
</if>
<!-- Variable value -->
<if test="queryVar.textValue != null &amp;&amp; queryVar.longValue == null &amp;&amp; queryVar.doubleValue == null">
<choose>
<when test="queryVar.operator.equals('EQUALS_IGNORE_CASE') || queryVar.operator.equals('NOT_EQUALS_IGNORE_CASE')">
and lower(A_OR${index}.TEXT_)
</when>
<otherwise>
and A_OR${index}.TEXT_
</otherwise>
</choose>
<choose>
<when test="queryVar.operator.equals('LIKE')">LIKE</when>
<otherwise><include refid="executionVariableOperator" /></otherwise>
</choose>
#{queryVar.textValue}
</if>
<if test="queryVar.textValue2 != null">
and A_OR${index}.TEXT2_
<choose>
<when test="queryVar.operator.equals('LIKE')">LIKE</when>
<otherwise><include refid="executionVariableOperator" /></otherwise>
</choose>
#{queryVar.textValue2}
</if>
<if test="queryVar.longValue != null">
and A_OR${index}.LONG_
<include refid="executionVariableOperator" />
#{queryVar.longValue}
</if>
<if test="queryVar.doubleValue != null">
and A_OR${index}.DOUBLE_
<include refid="executionVariableOperator" />
#{queryVar.doubleValue}
</if>
<!-- Null variable type -->
<if test="queryVar.textValue == null &amp;&amp; queryVar.textValue2 == null &amp;&amp; queryVar.longValue == null &amp;&amp; queryVar.doubleValue == null">
<choose>
<when test="queryVar.operator.equals('NOT_EQUALS')">
and (A_OR${index}.TEXT_ is not null or A_OR${index}.TEXT2_ is not null or A_OR${index}.LONG_ is not null or A_OR${index}.DOUBLE_ is not null or A_OR${index}.BYTEARRAY_ID_ is not null)
</when>
<otherwise>
and A_OR${index}.TEXT_ is null and A_OR${index}.TEXT2_ is null and A_OR${index}.LONG_ is null and A_OR${index}.DOUBLE_ is null and A_OR${index}.BYTEARRAY_ID_ is null
</otherwise>
</choose>
</if>
</trim>
</foreach>
</trim>
</if>
</where>
</sql>
<sql id="executionVariableOperator">
<choose>
<when test="queryVar.operator.equals('EQUALS')">=</when>
<when test="queryVar.operator.equals('EQUALS_IGNORE_CASE')">=</when>
<when test="queryVar.operator.equals('NOT_EQUALS')">&lt;&gt;</when>
<when test="queryVar.operator.equals('NOT_EQUALS_IGNORE_CASE')">&lt;&gt;</when>
<when test="queryVar.operator.equals('GREATER_THAN')">&gt;</when>
<when test="queryVar.operator.equals('GREATER_THAN_OR_EQUAL')">&gt;=</when>
<when test="queryVar.operator.equals('LESS_THAN')">&lt;</when>
<when test="queryVar.operator.equals('LESS_THAN_OR_EQUAL')">&lt;=</when>
</choose>
</sql>
<select id="selectHistoricTaskInstanceByNativeQuery" parameterType="java.util.Map" resultMap="historicTaskInstanceResultMap">
<if test="resultType == 'LIST_PAGE'">
${limitBefore}
</if>
${sql}
<if test="resultType == 'LIST_PAGE'">
${limitAfter}
</if>
</select>
<select id="selectHistoricTaskInstanceByNativeQuery_mssql_or_db2" parameterType="java.util.Map" resultMap="historicTaskInstanceResultMap">
<if test="resultType == 'LIST_PAGE'">
${limitBeforeNativeQuery}
</if>
${sql}
<if test="resultType == 'LIST_PAGE'">
${limitAfter}
</if>
</select>
<select id="selectHistoricTaskInstanceCountByNativeQuery" parameterType="java.util.Map" resultType="long">
${sql}
</select>
</mapper>

View File

@ -0,0 +1,218 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
~ Licensed 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.
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.HistoricVariableInstanceEntity">
<!-- HISTORIC PROCESS VARIABLE INSERT -->
<insert id="insertHistoricVariableInstance" parameterType="org.activiti.engine.impl.persistence.entity.HistoricVariableInstanceEntity">
insert into ${prefix}ACT_HI_VARINST (ID_, PROC_INST_ID_, EXECUTION_ID_, TASK_ID_, NAME_, REV_, VAR_TYPE_, BYTEARRAY_ID_, DOUBLE_, LONG_ , TEXT_, TEXT2_, CREATE_TIME_, LAST_UPDATED_TIME_)
values (
#{id, jdbcType=VARCHAR},
#{processInstanceId, jdbcType=VARCHAR},
#{executionId, jdbcType=VARCHAR},
#{taskId, jdbcType=VARCHAR},
#{variableName, jdbcType=VARCHAR},
#{revision, jdbcType=VARCHAR},
#{variableType, jdbcType=VARCHAR},
#{byteArrayRef, typeHandler=ByteArrayRefTypeHandler},
#{doubleValue, jdbcType=DOUBLE},
#{longValue, jdbcType=BIGINT},
#{textValue, jdbcType=VARCHAR},
#{textValue2, jdbcType=VARCHAR},
#{createTime, jdbcType=TIMESTAMP},
#{lastUpdatedTime, jdbcType=TIMESTAMP}
)
</insert>
<!-- HISTORIC PROCESS VARIABLE UPDATE -->
<update id="updateHistoricVariableInstance" parameterType="org.activiti.engine.impl.persistence.entity.HistoricVariableInstanceEntity">
update ${prefix}ACT_HI_VARINST set
REV_ = #{revisionNext, jdbcType=INTEGER},
BYTEARRAY_ID_ = #{byteArrayRef, typeHandler=ByteArrayRefTypeHandler},
DOUBLE_ = #{doubleValue, jdbcType=DOUBLE},
LONG_ = #{longValue, jdbcType=BIGINT},
TEXT_ = #{textValue, jdbcType=VARCHAR},
TEXT2_ = #{textValue2, jdbcType=VARCHAR},
VAR_TYPE_ = #{variableType, jdbcType=VARCHAR},
LAST_UPDATED_TIME_ = #{lastUpdatedTime, jdbcType=TIMESTAMP}
where ID_ = #{id, jdbcType=VARCHAR}
and REV_ = #{revision, jdbcType=INTEGER}
</update>
<!-- HISTORIC PROCESS VARIABLE DELETE -->
<delete id="deleteHistoricVariableInstance" parameterType="org.activiti.engine.impl.persistence.entity.HistoricVariableInstanceEntity">
delete from ${prefix}ACT_HI_VARINST where ID_ = #{id} and REV_ = #{revision}
</delete>
<delete id="bulkDeleteHistoricVariableInstance" parameterType="java.util.Collection">
delete from ${prefix}ACT_HI_VARINST where
<foreach item="variable" collection="list" index="index" separator=" or ">
ID_ = #{variable.id, jdbcType=VARCHAR}
</foreach>
</delete>
<!-- HISTORIC PROCESS VARIABLE RESULTMAP -->
<resultMap id="historicProcessVariableResultMap" type="org.activiti.engine.impl.persistence.entity.HistoricVariableInstanceEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="processInstanceId" column="PROC_INST_ID_" jdbcType="VARCHAR" />
<result property="executionId" column="EXECUTION_ID_" jdbcType="VARCHAR" />
<result property="taskId" column="TASK_ID_" jdbcType="VARCHAR" />
<result property="name" column="NAME_" javaType="String" jdbcType="VARCHAR" />
<result property="revision" column="REV_" jdbcType="INTEGER" />
<result property="variableType" column="VAR_TYPE_" javaType="org.activiti.engine.impl.variable.VariableType" jdbcType="VARCHAR"/>
<result property="byteArrayRef" column="BYTEARRAY_ID_" typeHandler="ByteArrayRefTypeHandler"/>
<result property="doubleValue" column="DOUBLE_" jdbcType="DOUBLE" />
<result property="textValue" column="TEXT_" jdbcType="VARCHAR" />
<result property="textValue2" column="TEXT2_" jdbcType="VARCHAR" />
<result property="longValue" column="LONG_" jdbcType="BIGINT" />
<result property="createTime" column="CREATE_TIME_" jdbcType="TIMESTAMP" />
<result property="lastUpdatedTime" column="LAST_UPDATED_TIME_" jdbcType="TIMESTAMP" />
</resultMap>
<!-- HISTORIC VARIABLE SELECT -->
<select id="selectHistoricVariableInstanceByQueryCriteria" parameterType="org.activiti.engine.impl.HistoricVariableInstanceQueryImpl" resultMap="historicProcessVariableResultMap">
${limitBefore}
select RES.* ${limitBetween}
<include refid="selectHistoricVariableInstanceByQueryCriteriaSql"/>
${orderBy}
${limitAfter}
</select>
<select id="selectHistoricVariableInstanceCountByQueryCriteria" parameterType="org.activiti.engine.impl.HistoricVariableInstanceQueryImpl" resultType="long">
select count(RES.ID_)
<include refid="selectHistoricVariableInstanceByQueryCriteriaSql"/>
</select>
<sql id="selectHistoricVariableInstanceByQueryCriteriaSql">
from ${prefix}ACT_HI_VARINST RES
<where>
<if test="id != null">
RES.ID_ = #{id}
</if>
<if test="processInstanceId != null">
RES.PROC_INST_ID_ = #{processInstanceId}
</if>
<!-- by lw -->
<if test="executionId!= null">
and RES.execution_id_ = #{executionId}
</if>
<if test="taskId != null">
and RES.TASK_ID_ = #{taskId}
</if>
<if test="excludeTaskRelated">
and RES.TASK_ID_ is NULL
</if>
<if test="variableName != null">
and RES.NAME_ = #{variableName}
</if>
<if test="variableNameLike != null">
and RES.NAME_ like #{variableNameLike}
</if>
<!-- PLEASE NOTE: If you change anything have a look into the Execution, the same query object is used there! -->
<if test="queryVariableValue != null" >
<if test="!queryVariableValue.type.equals('null')">
<!-- When operator is not-equals or type of value is null, type doesn't matter! -->
and RES.VAR_TYPE_ = #{queryVariableValue.type}
</if>
<if test="queryVariableValue.textValue != null &amp;&amp; queryVariableValue.longValue == null &amp;&amp; queryVariableValue.doubleValue == null">
and RES.TEXT_
<choose>
<when test="queryVariableValue.operator.equals('LIKE')">LIKE</when>
<otherwise><include refid="executionVariableOperator" /></otherwise>
</choose>
#{queryVariableValue.textValue}
</if>
<if test="queryVariableValue.textValue2 != null">
and RES.TEXT2_
<choose>
<when test="queryVariableValue.operator.equals('LIKE')">LIKE</when>
<otherwise><include refid="executionVariableOperator" /></otherwise>
</choose>
#{queryVariableValue.textValue2}
</if>
<if test="queryVariableValue.longValue != null">
and RES.LONG_
<include refid="executionVariableOperator" />
#{queryVariableValue.longValue}
</if>
<if test="queryVariableValue.doubleValue != null">
and RES.DOUBLE_
<include refid="executionVariableOperator" />
#{queryVariableValue.doubleValue}
</if>
<!-- Null variable type -->
<if test="queryVariableValue.textValue == null &amp;&amp; queryVariableValue.textValue2 == null &amp;&amp; queryVariableValue.longValue == null &amp;&amp; queryVariableValue.doubleValue == null">
<choose>
<when test="queryVariableValue.operator.equals('NOT_EQUALS')">
and (RES.TEXT_ is not null or RES.TEXT2_ is not null or RES.LONG_ is not null or RES.DOUBLE_ is not null or RES.BYTEARRAY_ID_ is not null)
</when>
<otherwise>
and RES.TEXT_ is null and RES.TEXT2_ is null and RES.LONG_ is null and RES.DOUBLE_ is null and RES.BYTEARRAY_ID_ is null
</otherwise>
</choose>
</if>
</if>
</where>
</sql>
<sql id="executionVariableOperator">
<choose>
<when test="queryVariableValue.operator.equals('EQUALS')">=</when>
<when test="queryVariableValue.operator.equals('NOT_EQUALS')">&lt;&gt;</when>
<when test="queryVariableValue.operator.equals('GREATER_THAN')">&gt;</when>
<when test="queryVariableValue.operator.equals('GREATER_THAN_OR_EQUAL')">&gt;=</when>
<when test="queryVariableValue.operator.equals('LESS_THAN')">&lt;</when>
<when test="queryVariableValue.operator.equals('LESS_THAN_OR_EQUAL')">&lt;=</when>
</choose>
</sql>
<select id="selectHistoricVariableInstanceByVariableInstanceId" resultMap="historicProcessVariableResultMap">
select * from ${prefix}ACT_HI_VARINST where ID_ = #{variableInstanceId}
</select>
<select id="selectHistoricVariableInstanceByNativeQuery" parameterType="java.util.Map" resultMap="historicProcessVariableResultMap">
<if test="resultType == 'LIST_PAGE'">
${limitBefore}
</if>
${sql}
<if test="resultType == 'LIST_PAGE'">
${limitAfter}
</if>
</select>
<select id="selectHistoricVariableInstanceByNativeQuery_mssql_or_db2" parameterType="java.util.Map" resultMap="historicProcessVariableResultMap">
<if test="resultType == 'LIST_PAGE'">
${limitBeforeNativeQuery}
</if>
${sql}
<if test="resultType == 'LIST_PAGE'">
${limitAfter}
</if>
</select>
<select id="selectHistoricVariableInstanceCountByNativeQuery" parameterType="java.util.Map" resultType="long">
${sql}
</select>
</mapper>

View File

@ -0,0 +1,135 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.IdentityInfoEntity">
<!-- INFO INSERT -->
<insert id="insertIdentityInfo" parameterType="org.activiti.engine.impl.persistence.entity.IdentityInfoEntity">
insert into ${prefix}ACT_ID_INFO (ID_, REV_, USER_ID_, TYPE_, KEY_, VALUE_, PASSWORD_, PARENT_ID_)
values (
#{id ,jdbcType=VARCHAR},
1,
#{userId ,jdbcType=VARCHAR},
#{type ,jdbcType=VARCHAR},
#{key ,jdbcType=VARCHAR},
#{value ,jdbcType=VARCHAR},
#{passwordBytes ,jdbcType=BLOB},
#{parentId ,jdbcType=VARCHAR}
)
</insert>
<insert id="insertIdentityInfo_postgres" parameterType="org.activiti.engine.impl.persistence.entity.IdentityInfoEntity">
insert into ${prefix}ACT_ID_INFO (ID_, REV_, USER_ID_, TYPE_, KEY_, VALUE_, PASSWORD_, PARENT_ID_)
values (
#{id ,jdbcType=VARCHAR},
1,
#{userId ,jdbcType=VARCHAR},
#{type ,jdbcType=VARCHAR},
#{key ,jdbcType=VARCHAR},
#{value ,jdbcType=VARCHAR},
#{passwordBytes ,jdbcType=BINARY},
#{parentId ,jdbcType=VARCHAR}
)
</insert>
<!-- INFO UPDATE -->
<update id="updateIdentityInfo" parameterType="org.activiti.engine.impl.persistence.entity.IdentityInfoEntity">
update ${prefix}ACT_ID_INFO
set REV_ = #{revisionNext ,jdbcType=INTEGER},
VALUE_ = #{value ,jdbcType=VARCHAR},
PASSWORD_ = #{passwordBytes ,jdbcType=BLOB}
where ID_ = #{id}
and REV_ = #{revision}
</update>
<update id="updateIdentityInfo_postgres" parameterType="org.activiti.engine.impl.persistence.entity.IdentityInfoEntity">
update ${prefix}ACT_ID_INFO
set REV_ = #{revisionNext ,jdbcType=INTEGER},
VALUE_ = #{value ,jdbcType=VARCHAR},
PASSWORD_ = #{passwordBytes ,jdbcType=BINARY}
where ID_ = #{id}
and REV_ = #{revision}
</update>
<!-- INFO DELETE -->
<delete id="deleteIdentityInfo" parameterType="org.activiti.engine.impl.persistence.entity.IdentityInfoEntity">
delete from ${prefix}ACT_ID_INFO
where ID_ = #{id} and REV_ = #{revision}
</delete>
<!-- INFO RESULTMAP -->
<resultMap id="identityInfoResultMap" type="org.activiti.engine.impl.persistence.entity.IdentityInfoEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="revision" column="REV_" jdbcType="INTEGER" />
<result property="userId" column="USER_ID_" jdbcType="VARCHAR" />
<result property="type" column="TYPE_" jdbcType="VARCHAR" />
<result property="key" column="KEY_" jdbcType="VARCHAR" />
<result property="value" column="VALUE_" jdbcType="VARCHAR" />
<result property="passwordBytes" column="PASSWORD_" jdbcType="BLOB" />
<result property="parentId" column="PARENT_ID_" jdbcType="VARCHAR" />
</resultMap>
<resultMap id="identityInfoResultMap_postgres" type="org.activiti.engine.impl.persistence.entity.IdentityInfoEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="revision" column="REV_" jdbcType="INTEGER" />
<result property="userId" column="USER_ID_" jdbcType="VARCHAR" />
<result property="type" column="TYPE_" jdbcType="VARCHAR" />
<result property="key" column="KEY_" jdbcType="VARCHAR" />
<result property="value" column="VALUE_" jdbcType="VARCHAR" />
<result property="passwordBytes" column="PASSWORD_" jdbcType="BINARY" />
<result property="parentId" column="PARENT_ID_" jdbcType="VARCHAR" />
</resultMap>
<!-- INFO SELECT -->
<select id="selectIdentityInfoById" parameterType="string" resultMap="identityInfoResultMap">
select * from ${prefix}ACT_ID_INFO where ID_ = #{id,jdbcType=VARCHAR}
</select>
<select id="selectIdentityInfoById_postgres" parameterType="string" resultMap="identityInfoResultMap_postgres">
select * from ${prefix}ACT_ID_INFO where ID_ = #{id,jdbcType=VARCHAR}
</select>
<select id="selectIdentityInfoByUserIdAndKey" parameterType="map" resultMap="identityInfoResultMap">
select * from ${prefix}ACT_ID_INFO
where USER_ID_ = #{userId,jdbcType=VARCHAR}
and KEY_ = #{key,jdbcType=VARCHAR}
and PARENT_ID_ is null
</select>
<select id="selectIdentityInfoByUserIdAndKey_postgres" parameterType="map" resultMap="identityInfoResultMap_postgres">
select * from ${prefix}ACT_ID_INFO
where USER_ID_ = #{userId,jdbcType=VARCHAR}
and KEY_ = #{key,jdbcType=VARCHAR}
and PARENT_ID_ is null
</select>
<select id="selectIdentityInfoKeysByUserIdAndType" parameterType="map" resultType="string">
select KEY_ from ${prefix}ACT_ID_INFO
where USER_ID_ = #{userId,jdbcType=VARCHAR}
and TYPE_ = #{type,jdbcType=VARCHAR}
and PARENT_ID_ is null
</select>
<select id="selectIdentityInfoByUserId" parameterType="string" resultMap="identityInfoResultMap">
select * from ${prefix}ACT_ID_INFO where USER_ID_ = #{parameter,jdbcType=VARCHAR}
</select>
<select id="selectIdentityInfoByUserId_postgres" parameterType="string" resultMap="identityInfoResultMap_postgres">
select * from ${prefix}ACT_ID_INFO where USER_ID_ = #{parameter,jdbcType=VARCHAR}
</select>
<select id="selectIdentityInfoDetails" parameterType="string" resultMap="identityInfoResultMap">
select * from ${prefix}ACT_ID_INFO where PARENT_ID_ = #{parameter,jdbcType=VARCHAR}
</select>
<select id="selectIdentityInfoDetails_postgres" parameterType="string" resultMap="identityInfoResultMap_postgres">
select * from ${prefix}ACT_ID_INFO where PARENT_ID_ = #{parameter,jdbcType=VARCHAR}
</select>
</mapper>

View File

@ -0,0 +1,128 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.IdentityLinkEntity">
<!-- INSERT IDENTITY LINK -->
<insert id="insertIdentityLink" parameterType="org.activiti.engine.impl.persistence.entity.IdentityLinkEntity">
insert into ${prefix}ACT_RU_IDENTITYLINK (ID_, REV_, TYPE_, USER_ID_, GROUP_ID_, TASK_ID_, PROC_INST_ID_,ORG_ID_, PROC_DEF_ID_)
values (#{id, jdbcType=VARCHAR},
1,
#{type, jdbcType=VARCHAR},
#{userId, jdbcType=VARCHAR},
#{groupId, jdbcType=VARCHAR},
#{taskId, jdbcType=VARCHAR},
#{processInstanceId, jdbcType=VARCHAR},
#{orgId, jdbcType=VARCHAR},
#{processDefId, jdbcType=VARCHAR})
</insert>
<!-- IDENTITY LINK DELETE -->
<delete id="deleteIdentityLink" parameterType="string">
delete from ${prefix}ACT_RU_IDENTITYLINK where ID_ = #{id}
</delete>
<delete id="bulkDeleteIdentityLink" parameterType="java.util.Collection">
delete from ${prefix}ACT_RU_IDENTITYLINK where
<foreach item="identityLink" collection="list" index="index" separator=" or ">
ID_ = #{identityLink.id, jdbcType=VARCHAR}
</foreach>
</delete>
<delete id="deleteIdentityLinkByProcDef" parameterType="string">
delete from ${prefix}ACT_RU_IDENTITYLINK where PROC_DEF_ID_ = #{id}
</delete>
<!-- IDENTITY LINK RESULTMAP -->
<resultMap id="identityLinkResultMap" type="org.activiti.engine.impl.persistence.entity.IdentityLinkEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="type" column="TYPE_" jdbcType="VARCHAR" />
<result property="userId" column="USER_ID_" jdbcType="VARCHAR" />
<result property="groupId" column="GROUP_ID_" jdbcType="VARCHAR" />
<result property="taskId" column="TASK_ID_" jdbcType="VARCHAR" />
<result property="processInstanceId" column="PROC_INST_ID_" jdbcType="VARCHAR" />
<result property="processDefId" column="PROC_DEF_ID_" jdbcType="VARCHAR" />
<!-- 2014-12-22 by lw -->
<result property="orgId" column="ORG_ID_" jdbcType="VARCHAR" />
</resultMap>
<!-- IDENTITY LINK SELECT -->
<select id="selectIdentityLink" parameterType="string" resultMap="identityLinkResultMap">
select * from ${prefix}ACT_RU_IDENTITYLINK where ID_ = #{id}
</select>
<select id="selectIdentityLinksByTask" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="identityLinkResultMap">
select * from ${prefix}ACT_RU_IDENTITYLINK where TASK_ID_ = #{parameter}
</select>
<select id="selectIdentityLinksByProcessInstance" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="identityLinkResultMap">
select * from ${prefix}ACT_RU_IDENTITYLINK where PROC_INST_ID_ = #{parameter}
</select>
<select id="selectIdentityLinksByProcessDefinition" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="identityLinkResultMap">
select * from ${prefix}ACT_RU_IDENTITYLINK where PROC_DEF_ID_ = #{parameter}
</select>
<select id="selectIdentityLinks" resultMap="identityLinkResultMap">
select * from ${prefix}ACT_RU_IDENTITYLINK
</select>
<select id="selectIdentityLinkByTaskUserGroupAndType" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="identityLinkResultMap">
select *
from ${prefix}ACT_RU_IDENTITYLINK
where TASK_ID_ = #{parameter.taskId}
<if test="parameter.userId != null">
and USER_ID_ = #{parameter.userId}
</if>
<if test="parameter.groupId != null">
and GROUP_ID_ = #{parameter.groupId}
</if>
<if test="parameter.type != null">
and TYPE_ = #{parameter.type}
</if>
<if test="parameter.orgId != null">
and ORG_ID_ = #{parameter.orgId}
</if>
</select>
<select id="selectIdentityLinkByProcessInstanceUserGroupAndType" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="identityLinkResultMap">
select *
from ${prefix}ACT_RU_IDENTITYLINK
where PROC_INST_ID_ = #{parameter.processInstanceId}
<if test="parameter.userId != null">
and USER_ID_ = #{parameter.userId}
</if>
<if test="parameter.groupId != null">
and GROUP_ID_ = #{parameter.groupId}
</if>
<if test="parameter.type != null">
and TYPE_ = #{parameter.type}
</if>
<if test="parameter.orgId != null">
and ORG_ID_ = #{parameter.orgId}
</if>
</select>
<select id="selectIdentityLinkByProcessDefinitionUserAndGroup" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="identityLinkResultMap">
select *
from ${prefix}ACT_RU_IDENTITYLINK
where PROC_DEF_ID_ = #{parameter.processDefinitionId}
<if test="parameter.userId != null">
and USER_ID_ = #{parameter.userId}
</if>
<if test="parameter.groupId != null">
and GROUP_ID_ = #{parameter.groupId}
</if>
<if test="parameter.orgId != null">
and ORG_ID_ = #{parameter.orgId}
</if>
</select>
</mapper>

View File

@ -0,0 +1,426 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.JobEntity">
<!-- JOB DELETE STATEMENTS-->
<delete id="deleteJob" parameterType="org.activiti.engine.impl.persistence.entity.JobEntity">
delete from ${prefix}ACT_RU_JOB where ID_ = #{id} and REV_ = #{revision}
</delete>
<delete id="bulkDeleteJob" parameterType="java.util.Collection">
delete from ${prefix}ACT_RU_JOB where
<foreach item="job" collection="list" index="index" separator=" or ">
ID_ = #{job.id, jdbcType=VARCHAR}
</foreach>
</delete>
<delete id="deleteTimer" parameterType="org.activiti.engine.impl.persistence.entity.JobEntity">
delete from ${prefix}ACT_RU_JOB where ID_ = #{id} and REV_ = #{revision}
</delete>
<delete id="bulkDeleteTimer" parameterType="java.util.Collection">
delete from ${prefix}ACT_RU_JOB where
<foreach item="job" collection="list" index="index" separator=" or ">
ID_ = #{job.id, jdbcType=VARCHAR}
</foreach>
</delete>
<delete id="deleteMessage" parameterType="org.activiti.engine.impl.persistence.entity.JobEntity">
delete from ${prefix}ACT_RU_JOB where ID_ = #{id} and REV_ = #{revision}
</delete>
<delete id="bulkDeleteMessage" parameterType="java.util.Collection">
delete from ${prefix}ACT_RU_JOB where
<foreach item="job" collection="list" index="index" separator=" or ">
ID_ = #{job.id, jdbcType=VARCHAR}
</foreach>
</delete>
<!-- JOB UPDATE STATEMENTS -->
<update id="updateJobTenantIdForDeployment" parameterType="java.util.Map">
update ${prefix}ACT_RU_JOB set
TENANT_ID_ = #{tenantId, jdbcType=VARCHAR}
where
ID_ in (
SELECT J.ID_ from ${prefix}ACT_RU_JOB J
inner join ${prefix}ACT_RE_PROCDEF P on J.PROC_DEF_ID_ = P.ID_
inner join ${prefix}ACT_RE_DEPLOYMENT D on P.DEPLOYMENT_ID_ = D.ID_
where D.ID_ = #{deploymentId, jdbcType=VARCHAR}
)
</update>
<update id="updateJobLockForAllJobs" parameterType="java.util.Map">
update ${prefix}ACT_RU_JOB set
LOCK_OWNER_ = #{lockOwner, jdbcType=VARCHAR},
LOCK_EXP_TIME_ = #{lockExpirationTime, jdbcType=TIMESTAMP}
where
(RETRIES_ &gt; 0)
and (DUEDATE_ is null or DUEDATE_ &lt;= #{dueDate, jdbcType=TIMESTAMP})
and (LOCK_OWNER_ is null)
<!-- and (
(EXECUTION_ID_ is null)
or
(PI.SUSPENSION_STATE_ = 1)
)
-->
</update>
<!-- See http://stackoverflow.com/questions/4429319/you-cant-specify-target-table-for-update-in-from-clause
Tested this on MySQL 5.6: does NOT use a temporary table (so good, performance) -->
<update id="updateJobTenantIdForDeployment_mysql" parameterType="java.util.Map">
update ${prefix}ACT_RU_JOB set
TENANT_ID_ = #{tenantId, jdbcType=VARCHAR}
where
ID_ in (
SELECT tempTask.tempId
FROM (
SELECT J.ID_ as tempId
FROM ${prefix}ACT_RU_JOB J
inner join ${prefix}ACT_RE_PROCDEF P on J.PROC_DEF_ID_ = P.ID_
inner join ${prefix}ACT_RE_DEPLOYMENT D on P.DEPLOYMENT_ID_ = D.ID_
where D.ID_ = #{deploymentId, jdbcType=VARCHAR}
) AS tempTask
)
</update>
<!-- JOB RESULTMAP (FOR TIMER AND MESSAGE) -->
<resultMap id="jobResultMap" type="org.activiti.engine.impl.persistence.entity.JobEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="revision" column="REV_" jdbcType="INTEGER" />
<result property="lockOwner" column="LOCK_OWNER_" jdbcType="VARCHAR" />
<result property="lockExpirationTime" column="LOCK_EXP_TIME_" jdbcType="TIMESTAMP" />
<result property="exclusive" column="EXCLUSIVE_" jdbcType="BOOLEAN" />
<result property="executionId" column="EXECUTION_ID_" jdbcType="VARCHAR" />
<result property="processInstanceId" column="PROCESS_INSTANCE_ID_" jdbcType="VARCHAR" />
<result property="processDefinitionId" column="PROC_DEF_ID_" jdbcType="VARCHAR" />
<result property="retries" column="RETRIES_" jdbcType="INTEGER" />
<result property="exceptionByteArrayRef" column="EXCEPTION_STACK_ID_" typeHandler="ByteArrayRefTypeHandler" />
<result property="exceptionMessage" column="EXCEPTION_MSG_" jdbcType="VARCHAR" />
<result property="jobHandlerType" column="HANDLER_TYPE_" jdbcType="VARCHAR" />
<result property="jobHandlerConfiguration" column="HANDLER_CFG_" jdbcType="VARCHAR" />
<result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR" />
<discriminator javaType="string" column="TYPE_">
<case value="message" resultMap="messageResultMap"/>
<case value="timer" resultMap="timerResultMap"/>
</discriminator>
</resultMap>
<resultMap id="messageResultMap" type="org.activiti.engine.impl.persistence.entity.MessageEntity" extends="jobResultMap"/>
<resultMap id="timerResultMap" type="org.activiti.engine.impl.persistence.entity.TimerEntity" extends="jobResultMap">
<result property="duedate" column="DUEDATE_" jdbcType="TIMESTAMP" />
<result property="repeat" column="REPEAT_" jdbcType="VARCHAR" />
</resultMap>
<!-- JOB SELECT (FOR TIMER AND MESSAGE) -->
<select id="selectJob" parameterType="string" resultMap="jobResultMap">
select * from ${prefix}ACT_RU_JOB where ID_ = #{id}
</select>
<select id="selectNextJobsToExecute" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="jobResultMap">
${limitBefore}
select
RES.* ${limitBetween}
from ${prefix}ACT_RU_JOB RES
LEFT OUTER JOIN ${prefix}ACT_RU_EXECUTION PI ON PI.ID_ = RES.PROCESS_INSTANCE_ID_
where (RES.RETRIES_ &gt; 0)
and (RES.DUEDATE_ is null or RES.DUEDATE_ &lt;= #{parameter, jdbcType=TIMESTAMP})
and (RES.LOCK_OWNER_ is null or RES.LOCK_EXP_TIME_ &lt;= #{parameter, jdbcType=TIMESTAMP})
and (
(RES.EXECUTION_ID_ is null)
or
(PI.SUSPENSION_STATE_ = 1)
)
${limitAfter}
</select>
<select id="selectJobsByLockOwner" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="jobResultMap">
${limitBefore}
select
RES.* ${limitBetween}
from ${prefix}ACT_RU_JOB RES
where (RES.LOCK_OWNER_ = #{parameter, jdbcType=VARCHAR})
order by ID_ <!-- Need to have some definitive ordering to have a correct check in place during job fetching -->
${limitAfter}
</select>
<select id="selectExclusiveJobsToExecute" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="jobResultMap">
${limitBefore}
select RES.* ${limitBetween}
from ${prefix}ACT_RU_JOB RES
where (RETRIES_ &gt; 0)
and (DUEDATE_ is null or DUEDATE_ &lt;= #{parameter.now, jdbcType=TIMESTAMP})
and (LOCK_OWNER_ is null or LOCK_EXP_TIME_ &lt;= #{parameter.now, jdbcType=TIMESTAMP})
and (EXCLUSIVE_ = TRUE)
and (PROCESS_INSTANCE_ID_ = #{parameter.pid})
${limitAfter}
</select>
<select id="selectExclusiveJobsToExecute_integerBoolean" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="jobResultMap">
${limitBefore}
select RES.* ${limitBetween}
from ${prefix}ACT_RU_JOB RES
where (RETRIES_ &gt; 0)
and (DUEDATE_ is null or DUEDATE_ &lt;= #{parameter.now, jdbcType=TIMESTAMP})
and (LOCK_OWNER_ is null or LOCK_EXP_TIME_ &lt;= #{parameter.now, jdbcType=TIMESTAMP})
and (EXCLUSIVE_ = 1)
and (PROCESS_INSTANCE_ID_ = #{parameter.pid})
${limitAfter}
</select>
<select id="selectJobsByConfiguration" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="jobResultMap">
select * from ${prefix}ACT_RU_JOB
where HANDLER_TYPE_ = #{parameter.handlerType}
and HANDLER_CFG_ = #{parameter.handlerConfiguration}
</select>
<select id="selectJobsByExecutionId" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="jobResultMap">
select *
from ${prefix}ACT_RU_JOB J
where J.EXECUTION_ID_ = #{parameter}
</select>
<select id="selectJobByQueryCriteria" parameterType="org.activiti.engine.impl.JobQueryImpl" resultMap="jobResultMap">
${limitBefore}
select RES.* ${limitBetween}
<include refid="selectJobByQueryCriteriaSql"/>
${orderBy}
${limitAfter}
</select>
<select id="selectJobCountByQueryCriteria" parameterType="org.activiti.engine.impl.JobQueryImpl" resultType="long">
select count(distinct RES.ID_)
<include refid="selectJobByQueryCriteriaSql"/>
</select>
<sql id="selectJobByQueryCriteriaSql">
from ${prefix}ACT_RU_JOB RES
<if test="executable">
LEFT OUTER JOIN ${prefix}ACT_RU_EXECUTION PI ON PI.ID_ = RES.PROCESS_INSTANCE_ID_
</if>
<where>
<if test="id != null">
RES.ID_ = #{id}
</if>
<if test="processInstanceId != null">
and RES.PROCESS_INSTANCE_ID_ = #{processInstanceId}
</if>
<if test="executionId != null">
and RES.EXECUTION_ID_ = #{executionId}
</if>
<if test="processDefinitionId != null">
and RES.PROC_DEF_ID_ = #{processDefinitionId}
</if>
<if test="retriesLeft">
and RES.RETRIES_ &gt; 0
</if>
<if test="executable">
and (RES.RETRIES_ &gt; 0)
and (RES.DUEDATE_ is null or RES.DUEDATE_ &lt;= #{now, jdbcType=TIMESTAMP})
and (
(RES.EXECUTION_ID_ is null)
or
(PI.SUSPENSION_STATE_ = 1)
)
</if>
<if test="onlyTimers">
and RES.TYPE_ = 'timer'
</if>
<if test="onlyMessages">
and RES.TYPE_ = 'message'
</if>
<if test="duedateHigherThan != null">
and RES.DUEDATE_ &gt; #{duedateHigherThan}
</if>
<if test="duedateLowerThan != null">
and RES.DUEDATE_ &lt; #{duedateLowerThan}
</if>
<if test="duedateHigherThanOrEqual != null">
and RES.DUEDATE_ &gt;= #{duedateHigherThanOrEqual}
</if>
<if test="duedateLowerThanOrEqual != null">
and RES.DUEDATE_ &lt;= #{duedateLowerThanOrEqual}
</if>
<if test="withException">
and (RES.EXCEPTION_MSG_ is not null or RES.EXCEPTION_STACK_ID_ is not null)
</if>
<if test="exceptionMessage">
and RES.EXCEPTION_MSG_ = #{exceptionMessage}
</if>
<if test="tenantId != null">
and RES.TENANT_ID_ = #{tenantId}
</if>
<if test="tenantIdLike != null">
and RES.TENANT_ID_ like #{tenantIdLike}
</if>
<if test="withoutTenantId">
and (RES.TENANT_ID_ = '' or RES.TENANT_ID_ is null)
</if>
</where>
</sql>
<!-- TIMER INSERT -->
<insert id="insertTimer" parameterType="org.activiti.engine.impl.persistence.entity.TimerEntity">
insert into ${prefix}ACT_RU_JOB (
ID_,
REV_,
TYPE_,
LOCK_OWNER_,
LOCK_EXP_TIME_,
EXCLUSIVE_,
EXECUTION_ID_,
PROCESS_INSTANCE_ID_,
PROC_DEF_ID_,
RETRIES_,
EXCEPTION_STACK_ID_,
EXCEPTION_MSG_,
DUEDATE_,
REPEAT_,
HANDLER_TYPE_,
HANDLER_CFG_,
TENANT_ID_)
values (#{id, jdbcType=VARCHAR},
1,
'timer',
#{lockOwner, jdbcType=VARCHAR},
#{lockExpirationTime, jdbcType=TIMESTAMP},
#{exclusive, jdbcType=BOOLEAN},
#{executionId, jdbcType=VARCHAR},
#{processInstanceId, jdbcType=VARCHAR},
#{processDefinitionId, jdbcType=VARCHAR},
#{retries, jdbcType=INTEGER},
#{exceptionByteArrayRef, typeHandler=ByteArrayRefTypeHandler},
#{exceptionMessage, jdbcType=VARCHAR},
#{duedate, jdbcType=TIMESTAMP},
#{repeat, jdbcType=VARCHAR},
#{jobHandlerType, jdbcType=VARCHAR},
#{jobHandlerConfiguration, jdbcType=VARCHAR},
#{tenantId, jdbcType=VARCHAR}
)
</insert>
<!-- TIMER UPDATE -->
<update id="updateTimer" parameterType="org.activiti.engine.impl.persistence.entity.TimerEntity">
update ${prefix}ACT_RU_JOB
<set>
REV_ = #{revisionNext, jdbcType=INTEGER},
LOCK_EXP_TIME_ = #{lockExpirationTime, jdbcType=TIMESTAMP},
LOCK_OWNER_ = #{lockOwner, jdbcType=VARCHAR},
RETRIES_ = #{retries, jdbcType=INTEGER},
EXCEPTION_STACK_ID_ = #{exceptionByteArrayRef, typeHandler=ByteArrayRefTypeHandler},
EXCEPTION_MSG_ = #{exceptionMessage, jdbcType=VARCHAR},
DUEDATE_ = #{duedate, jdbcType=TIMESTAMP}
</set>
where ID_= #{id, jdbcType=VARCHAR}
and REV_ = #{revision, jdbcType=INTEGER}
</update>
<!-- TIMER SELECT -->
<select id="selectUnlockedTimersByDuedate" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="jobResultMap">
select RES.*
from ${prefix}ACT_RU_JOB RES
LEFT OUTER JOIN ${prefix}ACT_RU_EXECUTION PI ON PI.ID_ = RES.PROCESS_INSTANCE_ID_
where (RES.TYPE_ = 'timer')
and (RES.DUEDATE_ &lt; #{parameter, jdbcType=TIMESTAMP})
and (RES.LOCK_OWNER_ is null or RES.LOCK_EXP_TIME_ &lt; #{parameter, jdbcType=TIMESTAMP})
and (RES.RETRIES_ &gt; 0)
and (
(RES.EXECUTION_ID_ is null)
or
(PI.SUSPENSION_STATE_ = 1)
)
order by DUEDATE_
</select>
<select id="selectUnlockedTimersByDuedate_oracle" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject"
resultMap="jobResultMap">
select RES.*
from ${prefix}ACT_RU_JOB RES
LEFT OUTER JOIN ${prefix}ACT_RU_EXECUTION PI ON PI.ID_ = RES.PROCESS_INSTANCE_ID_
where (RES.TYPE_ = 'timer')
and (RES.DUEDATE_ &lt; #{parameter, jdbcType=TIMESTAMP})
and (NVL(RES.LOCK_OWNER_, 'UNDEF')='UNDEF' OR RES.LOCK_EXP_TIME_ &lt; #{parameter, jdbcType=TIMESTAMP})
and (RES.RETRIES_ &gt; 0)
and (NVL(RES.EXECUTION_ID_ , 'UNDEF')='UNDEF' OR
exists (select 1 from ${prefix}ACT_RU_EXECUTION PI where PI.ID_ =
RES.PROCESS_INSTANCE_ID_ and PI.SUSPENSION_STATE_ = 1)
)
order by DUEDATE_
</select>
<select id="selectTimersByExecutionId" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="jobResultMap">
select *
from ${prefix}ACT_RU_JOB
where (RETRIES_ &gt; 0)
and (TYPE_ = 'timer')
and (EXECUTION_ID_ = #{parameter})
</select>
<!-- MESSAGE INSERT -->
<insert id="insertMessage" parameterType="org.activiti.engine.impl.persistence.entity.MessageEntity">
insert into ${prefix}ACT_RU_JOB (
ID_,
REV_,
TYPE_,
LOCK_OWNER_,
LOCK_EXP_TIME_,
EXCLUSIVE_,
EXECUTION_ID_,
PROCESS_INSTANCE_ID_,
PROC_DEF_ID_,
RETRIES_,
EXCEPTION_STACK_ID_,
EXCEPTION_MSG_,
HANDLER_TYPE_,
HANDLER_CFG_,
TENANT_ID_)
values (#{id, jdbcType=VARCHAR},
1,
'message',
#{lockOwner, jdbcType=VARCHAR},
#{lockExpirationTime, jdbcType=TIMESTAMP},
#{exclusive, jdbcType=BOOLEAN},
#{executionId, jdbcType=VARCHAR},
#{processInstanceId, jdbcType=VARCHAR},
#{processDefinitionId, jdbcType=VARCHAR},
#{retries, jdbcType=INTEGER},
#{exceptionByteArrayRef, typeHandler=ByteArrayRefTypeHandler},
#{exceptionMessage, jdbcType=VARCHAR},
#{jobHandlerType, jdbcType=VARCHAR},
#{jobHandlerConfiguration, jdbcType=VARCHAR},
#{tenantId, jdbcType=VARCHAR}
)
</insert>
<!-- MESSAGE UPDATE -->
<update id="updateMessage" parameterType="org.activiti.engine.impl.persistence.entity.MessageEntity">
update ${prefix}ACT_RU_JOB
<set>
REV_ = #{revisionNext, jdbcType=INTEGER},
LOCK_EXP_TIME_ = #{lockExpirationTime, jdbcType=TIMESTAMP},
LOCK_OWNER_ = #{lockOwner, jdbcType=VARCHAR},
RETRIES_ = #{retries, jdbcType=INTEGER},
EXCEPTION_STACK_ID_ = #{exceptionByteArrayRef, typeHandler=ByteArrayRefTypeHandler},
EXCEPTION_MSG_ = #{exceptionMessage, jdbcType=VARCHAR},
DUEDATE_ = #{duedate, jdbcType=TIMESTAMP}
</set>
where ID_= #{id, jdbcType=VARCHAR}
and REV_ = #{revision, jdbcType=INTEGER}
</update>
</mapper>

View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.MembershipRelation">
<!-- MEMBERSHIP INSERT -->
<insert id="insertMembership" parameterType="map">
insert into ${prefix}ACT_ID_MEMBERSHIP (USER_ID_, GROUP_ID_)
values (
#{userId ,jdbcType=VARCHAR},
#{groupId ,jdbcType=VARCHAR}
)
</insert>
<!-- MEMBERSHIP UPDATE -->
<!-- MEMBERSHIP DELETE -->
<delete id="deleteMembershipsByUserId" parameterType="string">
delete from ${prefix}ACT_ID_MEMBERSHIP
where USER_ID_ = #{userId}
</delete>
<delete id="deleteMembership" parameterType="map">
delete from ${prefix}ACT_ID_MEMBERSHIP
where USER_ID_ = #{userId}
and GROUP_ID_ = #{groupId}
</delete>
<!-- MEMBERSHIP RESULTMAP -->
<!-- MEMBERSHIP DELETE -->
<delete id="deleteMembershipsByGroupId" parameterType="string">
delete from ${prefix}ACT_ID_MEMBERSHIP
where GROUP_ID_ = #{groupId}
</delete>
</mapper>

View File

@ -0,0 +1,171 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.ModelEntity">
<!-- MODEL INSERT -->
<insert id="insertModel" parameterType="org.activiti.engine.impl.persistence.entity.ModelEntity">
insert into ${prefix}ACT_RE_MODEL(ID_, REV_, NAME_, KEY_, CATEGORY_, CREATE_TIME_, LAST_UPDATE_TIME_, VERSION_, META_INFO_, DEPLOYMENT_ID_, EDITOR_SOURCE_VALUE_ID_, EDITOR_SOURCE_EXTRA_VALUE_ID_, TENANT_ID_,MODEL_STATE)
values(#{id, jdbcType=VARCHAR},
1,
#{name, jdbcType=VARCHAR},
#{key, jdbcType=VARCHAR},
#{category, jdbcType=VARCHAR},
#{createTime, jdbcType=TIMESTAMP},
#{lastUpdateTime, jdbcType=TIMESTAMP},
#{version, jdbcType=INTEGER},
#{metaInfo, jdbcType=VARCHAR},
#{deploymentId, jdbcType=VARCHAR},
#{editorSourceValueId, jdbcType=VARCHAR},
#{editorSourceExtraValueId, jdbcType=VARCHAR},
#{tenantId, jdbcType=VARCHAR},#{modelState, jdbcType=VARCHAR})
</insert>
<!-- MODEL UPDATE -->
<update id="updateModel" parameterType="org.activiti.engine.impl.persistence.entity.ModelEntity">
update ${prefix}ACT_RE_MODEL set
REV_ = #{revisionNext, jdbcType=INTEGER},
NAME_ = #{name, jdbcType=VARCHAR},
KEY_ = #{key, jdbcType=VARCHAR},
CATEGORY_ = #{category, jdbcType=VARCHAR},
LAST_UPDATE_TIME_ = #{lastUpdateTime, jdbcType=VARCHAR},
VERSION_ = #{version, jdbcType=INTEGER},
META_INFO_ = #{metaInfo, jdbcType=VARCHAR},
DEPLOYMENT_ID_ = #{deploymentId, jdbcType=VARCHAR},
EDITOR_SOURCE_VALUE_ID_ = #{editorSourceValueId, jdbcType=VARCHAR},
EDITOR_SOURCE_EXTRA_VALUE_ID_ = #{editorSourceExtraValueId, jdbcType=VARCHAR},
TENANT_ID_ = #{tenantId, jdbcType=VARCHAR},
MODEL_STATE = #{modelState, jdbcType=VARCHAR}
where ID_ = #{id, jdbcType=VARCHAR} and REV_ = #{revision, jdbcType=INTEGER}
</update>
<!-- MODEL DELETE -->
<delete id="deleteModel" parameterType="org.activiti.engine.impl.persistence.entity.ModelEntity">
delete from ${prefix}ACT_RE_MODEL where ID_ = #{id} and REV_ = #{revision}
</delete>
<!-- MODEL RESULTMAP -->
<resultMap id="modelResultMap" type="org.activiti.engine.impl.persistence.entity.ModelEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="revision" column="REV_" jdbcType="INTEGER"/>
<result property="name" column="NAME_" jdbcType="VARCHAR" />
<result property="key" column="KEY_" jdbcType="VARCHAR" />
<result property="category" column="CATEGORY_" jdbcType="VARCHAR" />
<result property="createTime" column="CREATE_TIME_" jdbcType="TIMESTAMP"/>
<result property="lastUpdateTime" column="LAST_UPDATE_TIME_" jdbcType="TIMESTAMP"/>
<result property="version" column="VERSION_" jdbcType="INTEGER" />
<result property="metaInfo" column="META_INFO_" jdbcType="VARCHAR" />
<result property="deploymentId" column="DEPLOYMENT_ID_" jdbcType="VARCHAR" />
<result property="editorSourceValueId" column="EDITOR_SOURCE_VALUE_ID_" jdbcType="VARCHAR" />
<result property="editorSourceExtraValueId" column="EDITOR_SOURCE_EXTRA_VALUE_ID_" jdbcType="VARCHAR" />
<result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR" />
<!-- by lw -->
<result property="modelState" column="MODEL_STATE" jdbcType="VARCHAR" />
</resultMap>
<!-- MODEL SELECT -->
<select id="selectModelsByQueryCriteria" parameterType="org.activiti.engine.impl.ModelQueryImpl" resultMap="modelResultMap">
${limitBefore}
select distinct RES.* ${limitBetween}
<include refid="selectModelsByQueryCriteriaSql"/>
${orderBy}
${limitAfter}
</select>
<select id="selectModelCountByQueryCriteria" parameterType="org.activiti.engine.impl.ModelQueryImpl" resultType="long">
select count(distinct RES.ID_)
<include refid="selectModelsByQueryCriteriaSql"/>
</select>
<sql id="selectModelsByQueryCriteriaSql">
from ${prefix}ACT_RE_MODEL RES
<where>
<if test="id != null">
RES.ID_ = #{id}
</if>
<if test="name != null">
and RES.NAME_ = #{name}
</if>
<if test="nameLike != null">
and RES.NAME_ like #{nameLike}
</if>
<if test="key != null">
and RES.KEY_ like #{key}
</if>
<if test="category != null">
and RES.CATEGORY_ = #{category}
</if>
<if test="categoryLike != null">
and RES.CATEGORY_ like #{categoryLike}
</if>
<if test="categoryNotEquals != null">
and ( RES.CATEGORY_ &lt;&gt; #{categoryNotEquals} OR RES.CATEGORY_ is null )
</if>
<if test="version != null">
and RES.VERSION_ = #{version}
</if>
<if test="deploymentId != null">
and RES.DEPLOYMENT_ID_ = #{deploymentId}
</if>
<if test="notDeployed">
and RES.DEPLOYMENT_ID_ is null
</if>
<if test="deployed">
and RES.DEPLOYMENT_ID_ is not null
</if>
<if test="latest">
and RES.VERSION_ = (select max(VERSION_) from ${prefix}ACT_RE_MODEL where KEY_ = RES.KEY_)
</if>
<if test="tenantId != null">
and RES.TENANT_ID_ = #{tenantId}
</if>
<if test="tenantIdLike != null">
and RES.TENANT_ID_ like #{tenantIdLike}
</if>
<if test="withoutTenantId">
and (RES.TENANT_ID_ = '' or RES.TENANT_ID_ is null)
</if>
</where>
</sql>
<select id="selectModel" parameterType="string" resultMap="modelResultMap">
select * from ${prefix}ACT_RE_MODEL where ID_ = #{id}
</select>
<!-- mysql specific -->
<select id="selectModelCountByQueryCriteria_mysql" parameterType="org.activiti.engine.impl.ModelQueryImpl" resultType="long">
select distinct count(RES.ID_)
<include refid="selectModelsByQueryCriteriaSql"/>
</select>
<select id="selectModelByNativeQuery" parameterType="java.util.Map" resultMap="modelResultMap">
<if test="resultType == 'LIST_PAGE'">
${limitBefore}
</if>
${sql}
<if test="resultType == 'LIST_PAGE'">
${limitAfter}
</if>
</select>
<select id="selectModelByNativeQuery_mssql_or_db2" parameterType="java.util.Map" resultMap="modelResultMap">
<if test="resultType == 'LIST_PAGE'">
${limitBeforeNativeQuery}
</if>
${sql}
<if test="resultType == 'LIST_PAGE'">
${limitAfter}
</if>
</select>
<select id="selectModelCountByNativeQuery" parameterType="java.util.Map" resultType="long">
${sql}
</select>
</mapper>

View File

@ -0,0 +1,259 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity">
<!-- PROCESSDEFINITION INSERT -->
<insert id="insertProcessDefinition" parameterType="org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity">
insert into ${prefix}ACT_RE_PROCDEF(ID_, REV_, CATEGORY_, NAME_, KEY_, VERSION_, DEPLOYMENT_ID_, RESOURCE_NAME_, DGRM_RESOURCE_NAME_, DESCRIPTION_, HAS_START_FORM_KEY_, SUSPENSION_STATE_, TENANT_ID_)
values (#{id, jdbcType=VARCHAR},
1,
#{category, jdbcType=VARCHAR},
#{name, jdbcType=VARCHAR},
#{key, jdbcType=VARCHAR},
#{version, jdbcType=INTEGER},
#{deploymentId, jdbcType=VARCHAR},
#{resourceName, jdbcType=VARCHAR},
#{diagramResourceName, jdbcType=VARCHAR},
#{description, jdbcType=VARCHAR},
#{hasStartFormKey, jdbcType=BOOLEAN},
#{suspensionState, jdbcType=INTEGER},
#{tenantId, jdbcType=VARCHAR})
</insert>
<!-- PROCESSDEFINITION UPDATE -->
<update id="updateProcessDefinition" parameterType="org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity">
update ${prefix}ACT_RE_PROCDEF set
REV_ = #{revisionNext, jdbcType=INTEGER},
NAME_ = #{name, jdbcType=VARCHAR},
SUSPENSION_STATE_ = #{suspensionState, jdbcType=INTEGER},
CATEGORY_ = #{category, jdbcType=VARCHAR}
<if test="diagramResourceName != null">
,DGRM_RESOURCE_NAME_ = #{diagramResourceName}
</if>
where ID_ = #{id, jdbcType=VARCHAR}
and REV_ = #{revision, jdbcType=INTEGER}
</update>
<update id="updateProcessDefinitionTenantIdForDeploymentId" parameterType="java.util.Map">
update ${prefix}ACT_RE_PROCDEF set
TENANT_ID_ = #{tenantId, jdbcType=VARCHAR}
where
DEPLOYMENT_ID_ = #{deploymentId, jdbcType=VARCHAR}
</update>
<!-- PROCESSDEFINITION DELETE -->
<delete id="deleteProcessDefinitionsByDeploymentId" parameterType="string">
delete from ${prefix}ACT_RE_PROCDEF where DEPLOYMENT_ID_ = #{deploymenId}
</delete>
<!-- PROCESSDEFINITION RESULTMAP -->
<resultMap id="processDefinitionResultMap" type="org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="revision" column="REV_" />
<result property="category" column="CATEGORY_" />
<result property="name" column="NAME_" />
<result property="key" column="KEY_" jdbcType="VARCHAR" />
<result property="version" column="VERSION_" jdbcType="INTEGER"/>
<result property="deploymentId" column="DEPLOYMENT_ID_" jdbcType="VARCHAR"/>
<result property="resourceName" column="RESOURCE_NAME_" jdbcType="VARCHAR"/>
<result property="tenantId" column="TENANT_ID_" jdbcType="VARCHAR" />
<result property="diagramResourceName" column="DGRM_RESOURCE_NAME_" jdbcType="VARCHAR"/>
<result property="description" column="DESCRIPTION_" jdbcType="VARCHAR" />
<result property="hasStartFormKey" column="HAS_START_FORM_KEY_" jdbcType="BOOLEAN"/>
<result property="suspensionState" column="SUSPENSION_STATE_" jdbcType="INTEGER"/>
</resultMap>
<!-- PROCESSDEFINITION SELECT -->
<select id="selectProcessDefinition" parameterType="string" resultMap="processDefinitionResultMap">
select * from ${prefix}ACT_RE_PROCDEF where ID_ = #{processDefinitionId}
</select>
<select id="selectProcessDefinitionById" parameterType="string" resultMap="processDefinitionResultMap">
select * from ${prefix}ACT_RE_PROCDEF where ID_ = #{processDefinitionId}
</select>
<select id="selectProcessDefinitionsByQueryCriteria" parameterType="org.activiti.engine.impl.ProcessDefinitionQueryImpl" resultMap="processDefinitionResultMap">
${limitBefore}
select RES.* ${limitBetween}
<include refid="selectProcessDefinitionsByQueryCriteriaSql"/>
${orderBy}
${limitAfter}
</select>
<select id="selectProcessDefinitionCountByQueryCriteria" parameterType="org.activiti.engine.impl.ProcessDefinitionQueryImpl" resultType="long">
select count(RES.ID_)
<include refid="selectProcessDefinitionsByQueryCriteriaSql"/>
</select>
<sql id="selectProcessDefinitionsByQueryCriteriaSql">
from ${prefix}ACT_RE_PROCDEF RES
<if test="eventSubscriptionType != null">
inner join ${prefix}ACT_RU_EVENT_SUBSCR EVT on RES.ID_ = EVT.CONFIGURATION_
</if>
<where>
<if test="id != null">
RES.ID_ = #{id}
</if>
<if test="category != null">
and RES.CATEGORY_ = #{category}
</if>
<if test="categoryLike != null">
and RES.CATEGORY_ like #{categoryLike}
</if>
<if test="categoryNotEquals != null">
and ( RES.CATEGORY_ &lt;&gt; #{categoryNotEquals} OR RES.CATEGORY_ is null )
</if>
<if test="name != null">
and RES.NAME_ = #{name}
</if>
<if test="nameLike != null">
and RES.NAME_ like #{nameLike}
</if>
<if test="key != null">
and RES.KEY_ = #{key}
</if>
<if test="keyLike != null">
and RES.KEY_ like #{keyLike}
</if>
<if test="resourceName != null">
and RES.RESOURCE_NAME_ = #{resourceName}
</if>
<if test="resourceNameLike != null">
and RES.RESOURCE_NAME_ like #{resourceNameLike}
</if>
<if test="version != null">
and RES.VERSION_ = #{version}
</if>
<if test="deploymentId != null">
and RES.DEPLOYMENT_ID_ = #{deploymentId}
</if>
<if test="latest">
and RES.VERSION_ = (select max(VERSION_) from ${prefix}ACT_RE_PROCDEF where KEY_ = RES.KEY_
<if test="tenantId != null">
and TENANT_ID_ = #{tenantId}
</if>
<if test="tenantIdLike != null">
and TENANT_ID_ like #{tenantIdLike}
</if>
<if test="withoutTenantId">
and (TENANT_ID_ = '' or TENANT_ID_ is null)
</if>
)
</if>
<if test="suspensionState != null">
and (RES.SUSPENSION_STATE_ = #{suspensionState.stateCode})
</if>
<if test="tenantId != null">
and RES.TENANT_ID_ = #{tenantId}
</if>
<if test="tenantIdLike != null">
and RES.TENANT_ID_ like #{tenantIdLike}
</if>
<if test="withoutTenantId">
and (RES.TENANT_ID_ = '' or RES.TENANT_ID_ is null)
</if>
<if test="eventSubscriptionType != null">
and (EVT.EVENT_TYPE_ = #{eventSubscriptionType} and EVT.EVENT_NAME_ = #{eventSubscriptionName})
</if>
<if test="authorizationUserId != null">
AND (exists (select ID_ from ${prefix}ACT_RU_IDENTITYLINK IDN where IDN.PROC_DEF_ID_ = RES.ID_ and IDN.USER_ID_ = #{authorizationUserId})
<if test="authorizationGroups != null &amp;&amp; authorizationGroups.size() &gt; 0">
OR exists (select ID_ from ${prefix}ACT_RU_IDENTITYLINK IDN where IDN.PROC_DEF_ID_ = RES.ID_ and IDN.GROUP_ID_ IN
<foreach item="group" index="index" collection="authorizationGroups"
open="(" separator="," close=")">
#{group}
</foreach>
)
</if>
<!-- 2014-12-22 by lw -->
<if test="authorizationOrgs != null &amp;&amp; authorizationOrgs.size() &gt; 0">
OR exists (select ID_ from ${prefix}ACT_RU_IDENTITYLINK IDN where IDN.PROC_DEF_ID_ = RES.ID_ and IDN.ORG_ID_ IN
<foreach item="org" index="index" collection="authorizationOrgs"
open="(" separator="," close=")">
#{org}
</foreach>
)
</if>
)
</if>
</where>
</sql>
<select id="selectProcessDefinitionByDeploymentAndKey" parameterType="map" resultMap="processDefinitionResultMap">
select *
from ${prefix}ACT_RE_PROCDEF
where DEPLOYMENT_ID_ = #{deploymentId}
and KEY_ = #{processDefinitionKey}
and (TENANT_ID_ = '' or TENANT_ID_ is null)
</select>
<select id="selectProcessDefinitionByDeploymentAndKeyAndTenantId" parameterType="map" resultMap="processDefinitionResultMap">
select *
from ${prefix}ACT_RE_PROCDEF
where DEPLOYMENT_ID_ = #{deploymentId}
and KEY_ = #{processDefinitionKey}
and TENANT_ID_ = #{tenantId}
</select>
<select id="selectLatestProcessDefinitionByKey" parameterType="string" resultMap="processDefinitionResultMap">
select *
from ${prefix}ACT_RE_PROCDEF
where KEY_ = #{key} and
(TENANT_ID_ = '' or TENANT_ID_ is null) and
VERSION_ = (select max(VERSION_) from ${prefix}ACT_RE_PROCDEF where KEY_ = #{processDefinitionKey} and (TENANT_ID_ = '' or TENANT_ID_ is null))
</select>
<select id="selectLatestProcessDefinitionByKeyAndTenantId" parameterType="map" resultMap="processDefinitionResultMap">
select *
from ${prefix}ACT_RE_PROCDEF
where KEY_ = #{processDefinitionKey} and
TENANT_ID_ = #{tenantId} and
VERSION_ = (select max(VERSION_) from ${prefix}ACT_RE_PROCDEF where KEY_ = #{processDefinitionKey} and TENANT_ID_ = #{tenantId})
</select>
<!-- mysql specific sql -->
<select id="selectProcessDefinitionsByQueryCriteria_mysql" parameterType="org.activiti.engine.impl.ProcessDefinitionQueryImpl" resultMap="processDefinitionResultMap">
${limitBefore}
select distinct RES.* ${limitBetween}
<include refid="selectProcessDefinitionsByQueryCriteriaSql"/>
${orderBy}
${limitAfter}
</select>
<!-- mysql specific sql -->
<select id="selectProcessDefinitionCountByQueryCriteria_mysql" parameterType="org.activiti.engine.impl.ProcessDefinitionQueryImpl" resultType="long">
select distinct count(RES.ID_)
<include refid="selectProcessDefinitionsByQueryCriteriaSql"/>
</select>
<select id="selectProcessDefinitionByNativeQuery" parameterType="java.util.Map" resultMap="processDefinitionResultMap">
<if test="resultType == 'LIST_PAGE'">
${limitBefore}
</if>
${sql}
<if test="resultType == 'LIST_PAGE'">
${limitAfter}
</if>
</select>
<select id="selectProcessDefinitionByNativeQuery_mssql_or_db2" parameterType="java.util.Map" resultMap="processDefinitionResultMap">
<if test="resultType == 'LIST_PAGE'">
${limitBeforeNativeQuery}
</if>
${sql}
<if test="resultType == 'LIST_PAGE'">
${limitAfter}
</if>
</select>
<select id="selectProcessDefinitionCountByNativeQuery" parameterType="java.util.Map" resultType="long">
${sql}
</select>
</mapper>

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.PropertyEntity">
<!-- PROPERTY INSERT -->
<insert id="insertProperty" parameterType="org.activiti.engine.impl.persistence.entity.PropertyEntity">
insert into ${prefix}ACT_GE_PROPERTY (
NAME_,
VALUE_,
REV_
) values (
#{name ,jdbcType=VARCHAR},
#{value, jdbcType=VARCHAR},
1
)
</insert>
<!-- PROPERTY UPDATE -->
<update id="updateProperty" parameterType="org.activiti.engine.impl.persistence.entity.PropertyEntity">
update ${prefix}ACT_GE_PROPERTY
<set>
REV_ = #{revisionNext, jdbcType=INTEGER},
VALUE_ = #{value, jdbcType=VARCHAR}
</set>
where NAME_ = #{name, jdbcType=VARCHAR}
and REV_ = #{revision, jdbcType=INTEGER}
</update>
<!-- PROPERTY DELETE -->
<delete id="deleteProperty" parameterType="org.activiti.engine.impl.persistence.entity.PropertyEntity">
delete from ${prefix}ACT_GE_PROPERTY where NAME_ = #{propertyName} and REV_ = #{revision}
</delete>
<!-- PROPERTY SELECT -->
<resultMap id="propertyResultMap" type="org.activiti.engine.impl.persistence.entity.PropertyEntity">
<id property="name" column="NAME_" jdbcType="VARCHAR" />
<result property="value" column="VALUE_" jdbcType="VARCHAR" />
<result property="revision" column="REV_" jdbcType="INTEGER" />
</resultMap>
<select id="selectDbSchemaVersion" resultType="string">
select VALUE_ from ${prefix}ACT_GE_PROPERTY where NAME_ = 'schema.version'
</select>
<select id="selectProperty" parameterType="string" resultMap="propertyResultMap">
select * from ${prefix}ACT_GE_PROPERTY where NAME_ = #{name}
</select>
<select id="selectProperties" resultMap="propertyResultMap">
select * from ${prefix}ACT_GE_PROPERTY
</select>
</mapper>

View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.ResourceEntity">
<!-- RESOURCE INSERT -->
<insert id="insertResource" parameterType="org.activiti.engine.impl.persistence.entity.ResourceEntity">
insert into ${prefix}ACT_GE_BYTEARRAY(ID_, REV_, NAME_, BYTES_, DEPLOYMENT_ID_, GENERATED_)
values (#{id, jdbcType=VARCHAR}, 1, #{name, jdbcType=VARCHAR}, #{bytes, jdbcType=BLOB}, #{deploymentId, jdbcType=VARCHAR}, #{generated, jdbcType=BOOLEAN})
</insert>
<!-- RESOURCE UPDATE -->
<!-- RESOURCE DELETE -->
<delete id="deleteResourcesByDeploymentId" parameterType="string">
delete from ${prefix}ACT_GE_BYTEARRAY where DEPLOYMENT_ID_ = #{id}
</delete>
<!-- RESOURCE RESULTMAP -->
<resultMap id="resourceResultMap" type="org.activiti.engine.impl.persistence.entity.ResourceEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="name" column="NAME_" jdbcType="VARCHAR"/>
<result property="bytes" column="BYTES_" jdbcType="BLOB"/>
<result property="generated" column="GENERATED_" jdbcType="BOOLEAN"/>
</resultMap>
<!-- RESOURCE SELECT -->
<select id="selectResourceNamesByDeploymentId" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultType="string">
select NAME_ from ${prefix}ACT_GE_BYTEARRAY where DEPLOYMENT_ID_ = #{parameter} order by NAME_ asc
</select>
<select id="selectResourceByDeploymentIdAndResourceName" parameterType="map" resultMap="resourceResultMap">
select * from ${prefix}ACT_GE_BYTEARRAY
where DEPLOYMENT_ID_ = #{deploymentId}
AND NAME_ = #{resourceName}
</select>
<select id="selectResourcesByDeploymentId" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="resourceResultMap">
select * from ${prefix}ACT_GE_BYTEARRAY where DEPLOYMENT_ID_ = #{parameter} order by NAME_ asc
</select>
<!-- postgresql specific -->
<resultMap id="resourceResultMap_postgres" type="org.activiti.engine.impl.persistence.entity.ResourceEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="name" column="NAME_" jdbcType="VARCHAR"/>
<result property="bytes" column="BYTES_" jdbcType="BINARY"/>
<result property="generated" column="GENERATED_" jdbcType="BOOLEAN"/>
</resultMap>
<!-- postgresql specific -->
<select id="selectResourceByDeploymentIdAndResourceName_postgres" parameterType="map" resultMap="resourceResultMap_postgres">
select * from ${prefix}ACT_GE_BYTEARRAY
where DEPLOYMENT_ID_ = #{deploymentId}
AND NAME_ = #{resourceName}
</select>
<!-- postgresql specific -->
<select id="selectResourcesByDeploymentId_postgres" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="resourceResultMap_postgres">
select * from ${prefix}ACT_GE_BYTEARRAY where DEPLOYMENT_ID_ = #{parameter} order by NAME_ asc
</select>
</mapper>

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.TablePageMap">
<!-- The property passing doesn't seem to work with parameterType='string', so we are forced to use a map here -->
<select id="selectTableCount" parameterType="org.activiti.engine.impl.TablePageQueryImpl" resultType="long" >
select count(*) from ${tableName}
</select>
<select id="selectTableData" parameterType="org.activiti.engine.impl.TablePageQueryImpl" resultType="map">
select * from ${tableName}
<if test="order != null">
order by ${order}
</if>
</select>
</mapper>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,137 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.activiti.engine.impl.persistence.entity.UserEntity">
<!-- USER INSERT -->
<insert id="insertUser" parameterType="org.activiti.engine.impl.persistence.entity.UserEntity">
insert into ${prefix}ACT_ID_USER (ID_, REV_, FIRST_, LAST_, EMAIL_, PWD_)
values (
#{id ,jdbcType=VARCHAR},
1,
#{firstName ,jdbcType=VARCHAR},
#{lastName ,jdbcType=VARCHAR},
#{email ,jdbcType=VARCHAR},
#{password ,jdbcType=VARCHAR}
)
</insert>
<!-- USER UPDATE -->
<update id="updateUser" parameterType="org.activiti.engine.impl.persistence.entity.UserEntity">
update ${prefix}ACT_ID_USER set
REV_ = #{revisionNext ,jdbcType=INTEGER},
FIRST_ = #{firstName ,jdbcType=VARCHAR},
LAST_ = #{lastName ,jdbcType=VARCHAR},
EMAIL_ = #{email ,jdbcType=VARCHAR},
PWD_ = #{password ,jdbcType=VARCHAR},
PICTURE_ID_ = #{pictureByteArrayRef ,typeHandler=ByteArrayRefTypeHandler}
where ID_ = #{id}
and REV_ = #{revision}
</update>
<!-- USER DELETE -->
<delete id="deleteUser" parameterType="org.activiti.engine.impl.persistence.entity.UserEntity">
delete from ${prefix}ACT_ID_USER where ID_ = #{id} and REV_ = #{revision}
</delete>
<!-- USER RESULTMAP -->
<resultMap id="userResultMap" type="org.activiti.engine.impl.persistence.entity.UserEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="revision" column="REV_" jdbcType="INTEGER" />
<result property="firstName" column="FIRST_" jdbcType="VARCHAR" />
<result property="lastName" column="LAST_" jdbcType="VARCHAR" />
<result property="email" column="EMAIL_" jdbcType="VARCHAR" />
<result property="password" column="PWD_" jdbcType="VARCHAR" />
<result property="pictureByteArrayRef" column="PICTURE_ID_" typeHandler="ByteArrayRefTypeHandler" />
</resultMap>
<!-- USER SELECT -->
<select id="selectUserById" parameterType="string" resultMap="userResultMap">
select * from ${prefix}ACT_ID_USER where ID_ = #{id,jdbcType=VARCHAR}
</select>
<select id="selectUserByQueryCriteria" parameterType="org.activiti.engine.impl.UserQueryImpl" resultMap="userResultMap">
${limitBefore}
select RES.* ${limitBetween}
<include refid="selectUserByQueryCriteriaSql" />
${orderBy}
${limitAfter}
</select>
<select id="selectUserCountByQueryCriteria" parameterType="org.activiti.engine.impl.UserQueryImpl" resultType="long">
select count(RES.ID_)
<include refid="selectUserByQueryCriteriaSql" />
</select>
<sql id="selectUserByQueryCriteriaSql">
from ${prefix}ACT_ID_USER RES
<if test="groupId != null">
inner join ${prefix}ACT_ID_MEMBERSHIP M on RES.ID_ = M.USER_ID_
inner join ${prefix}ACT_ID_GROUP G on M.GROUP_ID_ = G.ID_
</if>
<where>
<if test="id != null">
RES.ID_ = #{id}
</if>
<if test="firstName != null">
and RES.FIRST_ = #{firstName}
</if>
<if test="firstNameLike != null">
and RES.FIRST_ like #{firstNameLike}
</if>
<if test="lastName != null">
and RES.LAST_ = #{lastName}
</if>
<if test="lastNameLike != null">
and RES.LAST_ like #{lastNameLike}
</if>
<if test="fullNameLike != null">
and (RES.FIRST_ like #{fullNameLike} or RES.LAST_ like #{fullNameLike})
</if>
<if test="email != null">
and RES.EMAIL_ = #{email}
</if>
<if test="emailLike != null">
and RES.EMAIL_ like #{emailLike}
</if>
<if test="groupId != null">
and G.ID_ = #{groupId}
</if>
<if test="procDefId != null">
and exists (select ID_ from ${prefix}ACT_RU_IDENTITYLINK where PROC_DEF_ID_ = #{procDefId} and USER_ID_=RES.ID_ )
</if>
</where>
</sql>
<select id="selectUserByNativeQuery" parameterType="java.util.Map" resultMap="userResultMap">
<if test="resultType == 'LIST_PAGE'">
${limitBefore}
</if>
${sql}
<if test="resultType == 'LIST_PAGE'">
${limitAfter}
</if>
</select>
<select id="selectUserByNativeQuery_mssql_or_db2" parameterType="java.util.Map" resultMap="userResultMap">
<if test="resultType == 'LIST_PAGE'">
${limitBeforeNativeQuery}
</if>
${sql}
<if test="resultType == 'LIST_PAGE'">
${limitAfter}
</if>
</select>
<select id="selectUserCountByNativeQuery" parameterType="java.util.Map" resultType="long">
${sql}
</select>
</mapper>

View File

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace="org.activiti.engine.impl.persistence.entity.VariableInstanceEntity">
<!-- VARIABLE INSTANCE INSERT -->
<insert id="insertVariableInstance"
parameterType="org.activiti.engine.impl.persistence.entity.VariableInstanceEntity">
insert into ${prefix}ACT_RU_VARIABLE (ID_, REV_,
TYPE_, NAME_, PROC_INST_ID_, EXECUTION_ID_, TASK_ID_, BYTEARRAY_ID_,
DOUBLE_, LONG_ , TEXT_, TEXT2_)
values (
#{id, jdbcType=VARCHAR},
1,
#{type, jdbcType=VARCHAR },
#{name, jdbcType=VARCHAR},
#{processInstanceId, jdbcType=VARCHAR},
#{executionId, jdbcType=VARCHAR},
#{taskId, jdbcType=VARCHAR},
#{byteArrayRef, typeHandler=ByteArrayRefTypeHandler},
#{doubleValue, jdbcType=DOUBLE},
#{longValue, jdbcType=BIGINT},
#{textValue, jdbcType=VARCHAR},
#{textValue2, jdbcType=VARCHAR}
)
</insert>
<!-- VARIABLE INSTANCE UPDATE -->
<update id="updateVariableInstance"
parameterType="org.activiti.engine.impl.persistence.entity.VariableInstanceEntity">
update ${prefix}ACT_RU_VARIABLE
set
REV_ = #{revisionNext, jdbcType=INTEGER},
EXECUTION_ID_ = #{executionId, jdbcType=VARCHAR},
BYTEARRAY_ID_ = #{byteArrayRef, typeHandler=ByteArrayRefTypeHandler},
TYPE_ = #{type, jdbcType=VARCHAR },
DOUBLE_ = #{doubleValue, jdbcType=DOUBLE},
LONG_ = #{longValue, jdbcType=BIGINT},
TEXT_ = #{textValue, jdbcType=VARCHAR},
TEXT2_ = #{textValue2, jdbcType=VARCHAR}
where ID_ = #{id, jdbcType=VARCHAR}
and REV_ = #{revision, jdbcType=INTEGER}
</update>
<!-- VARIABLE INSTANCE DELETE -->
<delete id="deleteVariableInstance"
parameterType="org.activiti.engine.impl.persistence.entity.VariableInstanceEntity">
delete from ${prefix}ACT_RU_VARIABLE where ID_ = #{id,
jdbcType=VARCHAR} and REV_ = #{revision}
</delete>
<delete id="bulkDeleteVariableInstance" parameterType="java.util.Collection">
delete from ${prefix}ACT_RU_VARIABLE where
<foreach item="variable" collection="list" index="index" separator=" or ">
ID_ = #{variable.id, jdbcType=VARCHAR}
</foreach>
</delete>
<!-- VARIABLE INSTANCE RESULTMAP -->
<resultMap id="variableInstanceResultMap" type="org.activiti.engine.impl.persistence.entity.VariableInstanceEntity">
<id property="id" column="ID_" jdbcType="VARCHAR" />
<result property="revision" column="REV_" jdbcType="INTEGER" />
<result property="type" column="TYPE_" javaType="org.activiti.engine.impl.variable.VariableType" jdbcType="VARCHAR" />
<result property="name" column="NAME_" javaType="String" jdbcType="VARCHAR" />
<result property="processInstanceId" column="PROC_INST_ID_" jdbcType="VARCHAR" />
<result property="executionId" column="EXECUTION_ID_" jdbcType="VARCHAR" />
<result property="taskId" column="TASK_ID_" jdbcType="VARCHAR" />
<result property="activityId" column="ACTIVITY_ID_" jdbcType="VARCHAR" />
<result property="isActive" column="IS_ACTIVE_" jdbcType="BOOLEAN" />
<result property="isConcurrencyScope" column="IS_CONCURRENCY_SCOPE_" jdbcType="BOOLEAN" />
<result property="byteArrayRef" column="BYTEARRAY_ID_" typeHandler="ByteArrayRefTypeHandler"/>
<result property="doubleValue" column="DOUBLE_" jdbcType="DOUBLE" />
<result property="textValue" column="TEXT_" jdbcType="VARCHAR" />
<result property="textValue2" column="TEXT2_" jdbcType="VARCHAR" />
<result property="longValue" column="LONG_" jdbcType="BIGINT" />
</resultMap>
<!-- VARIABLE INSTANCE SELECT -->
<select id="selectVariableInstance" parameterType="string"
resultMap="variableInstanceResultMap">
select * from ${prefix}ACT_RU_VARIABLE where ID_ = #{id, jdbcType=VARCHAR}
</select>
<select id="selectVariablesByExecutionId"
parameterType="org.activiti.engine.impl.db.ListQueryParameterObject"
resultMap="variableInstanceResultMap">
select * from ${prefix}ACT_RU_VARIABLE
where EXECUTION_ID_ = #{parameter, jdbcType=VARCHAR}
and TASK_ID_ is null
</select>
<select id="selectVariablesByTaskId"
parameterType="org.activiti.engine.impl.db.ListQueryParameterObject"
resultMap="variableInstanceResultMap">
select * from ${prefix}ACT_RU_VARIABLE where
TASK_ID_ =
#{parameter, jdbcType=VARCHAR}
</select>
</mapper>

View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="lazyLoadingEnabled" value="false" />
</settings>
<typeAliases>
<typeAlias type="org.activiti.engine.impl.persistence.ByteArrayRefTypeHandler" alias="ByteArrayRefTypeHandler"/>
</typeAliases>
<typeHandlers>
<typeHandler handler="ByteArrayRefTypeHandler"
javaType="org.activiti.engine.impl.persistence.entity.ByteArrayRef"
jdbcType="VARCHAR"/>
</typeHandlers>
<mappers>
<mapper resource="org/activiti/db/mapping/entity/Attachment.xml" />
<mapper resource="org/activiti/db/mapping/entity/ByteArray.xml" />
<mapper resource="org/activiti/db/mapping/entity/Comment.xml" />
<mapper resource="org/activiti/db/mapping/entity/Deployment.xml" />
<mapper resource="org/activiti/db/mapping/entity/Execution.xml" />
<mapper resource="org/activiti/db/mapping/entity/Group.xml" />
<mapper resource="org/activiti/db/mapping/entity/HistoricActivityInstance.xml" />
<mapper resource="org/activiti/db/mapping/entity/HistoricDetail.xml" />
<mapper resource="org/activiti/db/mapping/entity/HistoricProcessInstance.xml" />
<mapper resource="org/activiti/db/mapping/entity/HistoricVariableInstance.xml" />
<mapper resource="org/activiti/db/mapping/entity/HistoricTaskInstance.xml" />
<mapper resource="org/activiti/db/mapping/entity/HistoricIdentityLink.xml" />
<mapper resource="org/activiti/db/mapping/entity/IdentityInfo.xml" />
<mapper resource="org/activiti/db/mapping/entity/IdentityLink.xml" />
<mapper resource="org/activiti/db/mapping/entity/Job.xml" />
<mapper resource="org/activiti/db/mapping/entity/Membership.xml" />
<mapper resource="org/activiti/db/mapping/entity/Model.xml" />
<mapper resource="org/activiti/db/mapping/entity/ProcessDefinition.xml" />
<mapper resource="org/activiti/db/mapping/entity/Property.xml" />
<mapper resource="org/activiti/db/mapping/entity/Resource.xml" />
<mapper resource="org/activiti/db/mapping/entity/TableData.xml" />
<mapper resource="org/activiti/db/mapping/entity/Task.xml" />
<mapper resource="org/activiti/db/mapping/entity/User.xml" />
<mapper resource="org/activiti/db/mapping/entity/VariableInstance.xml" />
<mapper resource="org/activiti/db/mapping/entity/EventSubscription.xml" />
<mapper resource="org/activiti/db/mapping/entity/EventLogEntry.xml" />
</mappers>
</configuration>

View File

@ -0,0 +1,55 @@
alter table ACT_RE_DEPLOYMENT
add CATEGORY_ varchar(255);
alter table ACT_RE_PROCDEF
add DESCRIPTION_ varchar(4000);
alter table ACT_RU_TASK
add SUSPENSION_STATE_ integer;
Call Sysproc.admin_cmd ('REORG TABLE ACT_RU_TASK');
update ACT_RU_TASK set SUSPENSION_STATE_ = 1;
alter table ACT_RU_EXECUTION
add constraint ACT_FK_EXE_PROCDEF
foreign key (PROC_DEF_ID_)
references ACT_RE_PROCDEF (ID_);
create table ACT_RE_MODEL (
ID_ varchar(64) not null,
REV_ integer,
NAME_ varchar(255),
KEY_ varchar(255),
CATEGORY_ varchar(255),
CREATE_TIME_ timestamp,
LAST_UPDATE_TIME_ timestamp,
VERSION_ integer,
META_INFO_ varchar(4000),
DEPLOYMENT_ID_ varchar(64),
EDITOR_SOURCE_VALUE_ID_ varchar(64),
EDITOR_SOURCE_EXTRA_VALUE_ID_ varchar(64),
primary key (ID_)
);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_SOURCE
foreign key (EDITOR_SOURCE_VALUE_ID_)
references ACT_GE_BYTEARRAY (ID_);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_SOURCE_EXTRA
foreign key (EDITOR_SOURCE_EXTRA_VALUE_ID_)
references ACT_GE_BYTEARRAY (ID_);
alter table ACT_RE_MODEL
add constraint ACT_FK_MODEL_DEPLOYMENT
foreign key (DEPLOYMENT_ID_)
references ACT_RE_DEPLOYMENT (ID_);
delete from ACT_GE_PROPERTY where NAME_ = 'historyLevel';
alter table ACT_RU_JOB
add PROC_DEF_ID_ varchar(64);
update ACT_GE_PROPERTY set VALUE_ = '5.11' where NAME_ = 'schema.version';

View File

@ -0,0 +1,36 @@
create table ACT_HI_VARINST (
ID_ varchar(64) not null,
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
TASK_ID_ varchar(64),
NAME_ varchar(255) not null,
VAR_TYPE_ varchar(100),
REV_ integer,
BYTEARRAY_ID_ varchar(64),
DOUBLE_ double precision,
LONG_ bigint,
TEXT_ varchar(4000),
TEXT2_ varchar(4000),
primary key (ID_)
);
create index ACT_IDX_HI_PROCVAR_PROC_INST on ACT_HI_VARINST(PROC_INST_ID_);
create index ACT_IDX_HI_PROCVAR_NAME_TYPE on ACT_HI_VARINST(NAME_, VAR_TYPE_);
Call Sysproc.admin_cmd ('REORG TABLE ACT_HI_VARINST');
alter table ACT_HI_ACTINST
add TASK_ID_ varchar(64);
alter table ACT_HI_ACTINST
add CALL_PROC_INST_ID_ varchar(64);
alter table ACT_HI_DETAIL
alter column PROC_INST_ID_ DROP NOT NULL;
alter table ACT_HI_DETAIL
alter column EXECUTION_ID_ DROP NOT NULL;
Call Sysproc.admin_cmd ('REORG TABLE ACT_HI_DETAIL');
create index ACT_IDX_HI_ACT_INST_PROCINST on ACT_HI_ACTINST(PROC_INST_ID_, ACT_ID_);

View File

@ -0,0 +1,20 @@
alter table ACT_HI_TASKINST
add CLAIM_TIME_ timestamp;
alter table ACT_HI_TASKINST
add FORM_KEY_ varchar(255);
Call Sysproc.admin_cmd ('REORG TABLE ACT_HI_TASKINST');
alter table ACT_RU_IDENTITYLINK
add PROC_INST_ID_ varchar(64);
alter table ACT_RU_IDENTITYLINK
add constraint ACT_FK_IDL_PROCINST
foreign key (PROC_INST_ID_)
references ACT_RU_EXECUTION (ID_);
Call Sysproc.admin_cmd ('REORG TABLE ACT_RU_IDENTITYLINK');
create index ACT_IDX_HI_ACT_INST_EXEC on ACT_HI_ACTINST(EXECUTION_ID_, ACT_ID_);

View File

@ -0,0 +1,13 @@
create table ACT_HI_IDENTITYLINK (
ID_ varchar(64) not null,
GROUP_ID_ varchar(255),
TYPE_ varchar(255),
USER_ID_ varchar(255),
TASK_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
primary key (ID_)
);
create index ACT_IDX_HI_IDENT_LNK_USER on ACT_HI_IDENTITYLINK(USER_ID_);
create index ACT_IDX_HI_IDENT_LNK_TASK on ACT_HI_IDENTITYLINK(TASK_ID_);
create index ACT_IDX_HI_IDENT_LNK_PROCINST on ACT_HI_IDENTITYLINK(PROC_INST_ID_);

View File

@ -0,0 +1,62 @@
alter table ACT_RU_TASK
add CATEGORY_ varchar(255);
Call Sysproc.admin_cmd ('REORG TABLE ACT_RU_TASK');
drop index ACT_UNIQ_RU_BUS_KEY;
-- DB2 *cannot* drop columns. Yes, this is 2013.
-- This means that for DB2 the columns will remain as they are (they won't be used)
-- alter table ACT_RU_EXECUTION drop colum UNI_BUSINESS_KEY;
-- alter table ACT_RU_EXECUTION drop colum UNI_PROC_DEF_ID;
Call Sysproc.admin_cmd ('REORG TABLE ACT_RU_EXECUTION');
alter table ACT_RE_DEPLOYMENT
add TENANT_ID_ varchar(255) default '';
Call Sysproc.admin_cmd ('REORG TABLE ACT_RE_DEPLOYMENT');
alter table ACT_RE_PROCDEF
add TENANT_ID_ varchar(255) not null default '';
Call Sysproc.admin_cmd ('REORG TABLE ACT_RE_PROCDEF');
alter table ACT_RU_EXECUTION
add TENANT_ID_ varchar(255) default '';
Call Sysproc.admin_cmd ('REORG TABLE ACT_RU_EXECUTION');
alter table ACT_RU_TASK
add TENANT_ID_ varchar(255) default '';
Call Sysproc.admin_cmd ('REORG TABLE ACT_RU_TASK');
alter table ACT_RU_JOB
add TENANT_ID_ varchar(255) default '';
Call Sysproc.admin_cmd ('REORG TABLE ACT_RU_JOB');
alter table ACT_RE_MODEL
add TENANT_ID_ varchar(255) default '';
Call Sysproc.admin_cmd ('REORG TABLE ACT_RE_MODEL');
alter table ACT_RU_EVENT_SUBSCR
add TENANT_ID_ varchar(255) default '';
alter table ACT_RU_EVENT_SUBSCR
add PROC_DEF_ID_ varchar(64);
Call Sysproc.admin_cmd ('REORG TABLE ACT_RU_EVENT_SUBSCR');
alter table ACT_RE_PROCDEF
drop unique ACT_UNIQ_PROCDEF;
alter table ACT_RE_PROCDEF
add constraint ACT_UNIQ_PROCDEF
unique (KEY_,VERSION_, TENANT_ID_);
Call Sysproc.admin_cmd ('REORG TABLE ACT_RE_PROCDEF');
update ACT_GE_PROPERTY set VALUE_ = '5.15' where NAME_ = 'schema.version';

View File

@ -0,0 +1,38 @@
alter table ACT_HI_TASKINST
add CATEGORY_ varchar(255);
Call Sysproc.admin_cmd ('REORG TABLE ACT_HI_TASKINST');
drop index ACT_UNIQ_HI_BUS_KEY;
alter table ACT_HI_VARINST
add CREATE_TIME_ timestamp;
alter table ACT_HI_VARINST
add LAST_UPDATED_TIME_ timestamp;
-- DB2 *cannot* drop columns. Yes, this is 2013.
-- This means that for DB2 the columns will remain as they are (they won't be used)
-- alter table ACT_HI_PROCINST drop colum UNI_BUSINESS_KEY;
-- alter table ACT_HI_PROCINST drop colum UNI_PROC_DEF_ID;
-- Call Sysproc.admin_cmd ('REORG TABLE ACT_HI_PROCINST');
alter table ACT_HI_PROCINST
add TENANT_ID_ varchar(255) default '';
Call Sysproc.admin_cmd ('REORG TABLE ACT_HI_PROCINST');
alter table ACT_HI_ACTINST
add TENANT_ID_ varchar(255) default '';
Call Sysproc.admin_cmd ('REORG TABLE ACT_HI_ACTINST');
alter table ACT_HI_TASKINST
add TENANT_ID_ varchar(255) default '';
Call Sysproc.admin_cmd ('REORG TABLE ACT_HI_TASKINST');
alter table ACT_HI_ACTINST alter column ASSIGNEE_ SET DATA TYPE varchar(255);
Call Sysproc.admin_cmd ('REORG TABLE ACT_HI_ACTINST');

View File

@ -0,0 +1,2 @@
update ACT_GE_PROPERTY set VALUE_ = '5.15.1' where NAME_ = 'schema.version';

View File

@ -0,0 +1,28 @@
alter table ACT_RU_TASK
add FORM_KEY_ varchar(255);
Call Sysproc.admin_cmd ('REORG TABLE ACT_RU_TASK');
alter table ACT_RU_EXECUTION
add NAME_ varchar(255);
Call Sysproc.admin_cmd ('REORG TABLE ACT_RU_EXECUTION');
create table ACT_EVT_LOG (
LOG_NR_ bigint not null GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
TYPE_ varchar(64),
PROC_DEF_ID_ varchar(64),
PROC_INST_ID_ varchar(64),
EXECUTION_ID_ varchar(64),
TASK_ID_ varchar(64),
TIME_STAMP_ timestamp not null,
USER_ID_ varchar(255),
DATA_ BLOB,
LOCK_OWNER_ varchar(255),
LOCK_TIME_ timestamp,
IS_PROCESSED_ integer default 0,
primary key (LOG_NR_)
);
update ACT_GE_PROPERTY set VALUE_ = '5.16' where NAME_ = 'schema.version';

View File

@ -0,0 +1,4 @@
alter table ACT_HI_PROCINST
add NAME_ varchar(255);
Call Sysproc.admin_cmd ('REORG TABLE ACT_HI_PROCINST');

View File

@ -0,0 +1 @@
update ACT_GE_PROPERTY set VALUE_ = '5.16.1' where NAME_ = 'schema.version';

View File

@ -0,0 +1 @@
update ACT_GE_PROPERTY set VALUE_ = '5.16.2' where NAME_ = 'schema.version';

View File

@ -0,0 +1,3 @@
update ACT_GE_PROPERTY set VALUE_ = '5.16.4.0' where NAME_ = 'schema.version';
create index ACT_IDX_HI_PROCVAR_TASK_ID on ACT_HI_VARINST(TASK_ID_);

View File

@ -0,0 +1,8 @@
alter table ACT_RU_TASK
add OWNER_ varchar(64);
alter table ACT_RU_TASK
add DELEGATION_ varchar(64);
alter table ACT_RU_TASK
add DUE_DATE_ timestamp;

Some files were not shown because too many files have changed in this diff Show More