/*==============================================================*/
/* DBMS name:      MySQL 5.0                                    */
/* Created on:     2006-9-1 13:26:32                            */
/*==============================================================*/


drop table if exists ACLENTRIES_2;

drop table if exists ACLS_2;

drop table if exists ACLS_WITH_RESOURCE_1;

drop table if exists ALIASES_1;

drop table if exists CATALOGVERSION_2;

drop table if exists COMPLETEDPUBLISHTABLE_2;

drop table if exists COMPLETEDRESULTTABLE_3;

drop table if exists COMPLETEDTABLE_4;

drop table if exists DRESULT_2;

drop table if exists DYNAMICRESULT_1;

drop table if exists EXTENDACLENTRIES_2;

drop table if exists FOLDERS_3;

drop table if exists GROUPPROFILES_1;

drop table if exists GROUPS_1;

drop table if exists GUPROFILES_1;

drop table if exists NODES_3;

drop table if exists REPORTVERSION_2;

drop table if exists RESOURCEMAP_1;

drop table if exists RESOURCENODES_3;

drop table if exists RESULTVERSION_2;

drop table if exists RESULT_2;

drop table if exists RGPROFILES_1;

drop table if exists ROLEPROFILES_2;

drop table if exists ROLES_2;

drop table if exists SCHDLASTEXETIME_1;

drop table if exists TBL_IDGENRATOR_JINFONET;

drop table if exists TRIGGERS_1;

drop table if exists UPDATEDETAILS_1;

drop table if exists USERPROFILES_2;

drop table if exists USERS_3;

drop table if exists VERSIONNODES_2;

drop table if exists TASKCONTEXT;

drop table if exists  DYNAMICNODE_2;

/*==============================================================*/
/* Table: ACLENTRIES_2                                          */
/*==============================================================*/
create table ACLENTRIES_2
(
   ENTRY_ID             INTEGER not null,
   ACL_ID               INTEGER not null,
   PRINCIPAL_TYPE       TINYINT not null,
   PRINCIPAL_NAME       VARCHAR(64) not null,
   IS_POSITIVE          BIT not null,
   PERMISSIONS          INTEGER not null,
   primary key (ENTRY_ID)
);

/*==============================================================*/
/* Table: ACLS_2                                                */
/*==============================================================*/
create table ACLS_2
(
   ID                   INTEGER not null,
   NAME                 VARCHAR(64) not null,
   CREATE_NAME          VARCHAR(32) not null,
   CREATE_TIME          BIGINT,
   primary key (ID)
);

/*==============================================================*/
/* Table: ACLS_WITH_RESOURCE_1                                  */
/*==============================================================*/
create table ACLS_WITH_RESOURCE_1
(
   ID                   INTEGER not null,
   RESOURCE_PATH        VARCHAR(255) not null,
   VERSION_NUMBER       INTEGER not null,
   ACL_NAME             VARCHAR(64) not null,
   CREATE_NAME          VARCHAR(32) not null,
   CREATE_TIME          BIGINT,
   primary key (ID)
);

/*==============================================================*/
/* Table: ALIASES_1                                             */
/*==============================================================*/
create table ALIASES_1
(
   ID                   INTEGER not null,
   PRINCIPAL_NAME       VARCHAR(128) not null,
   PRINCIPAL_TYPE       TINYINT not null,
   ALIAS_NAME           VARCHAR(255) not null,
   PARENT_NAME          VARCHAR(255),
   MAP_RESOURCE         VARCHAR(255) not null,
   HIDDEN               BIT not null,
   UNIQUE               (ID)
);

/*==============================================================*/
/* Table: CATALOGVERSION_2                                      */
/*==============================================================*/
create table CATALOGVERSION_2
(
   VERSIONNUMBER        INTEGER not null,
   VERSIONNAME          VARCHAR(128),
   RESOURCEID           INTEGER not null,
   CREATOR              VARCHAR(128),
   CREATEDTIME          BIGINT not null,
   MODIFIER             VARCHAR(128),
   MODIFIEDTIME         BIGINT not null,
   CATALOGFILE          VARCHAR(128) not null,
   ID                   BIGINT not null,
   UNIQUE               (ID)
);

/*==============================================================*/
/* Table: COMPLETEDPUBLISHTABLE_2                               */
/*==============================================================*/
create table COMPLETEDPUBLISHTABLE_2
(
   ID                   INTEGER not null,
   RECORDID             VARCHAR(40) not null,
   SHEETNAME            VARCHAR(255) not null,
   DISPLAYNAME          VARCHAR(255),
   PUB_TYPE             VARCHAR(64) not null
);

/*==============================================================*/
/* Table: COMPLETEDRESULTTABLE_3                                */
/*==============================================================*/
create table COMPLETEDRESULTTABLE_3
(
   PUBLISHID            INTEGER not null,
   RECORDID             VARCHAR(40) not null,
   PUB_TYPE             VARCHAR(128) not null,
   STATUS               INTEGER not null,
   DETAIL               VARCHAR(255) not null
);

/*==============================================================*/
/* Table: COMPLETEDTABLE_4                                      */
/*==============================================================*/
create table COMPLETEDTABLE_4
(
   ID                   INTEGER not null,
   RECORDID             VARCHAR(128),
   TASKID               VARCHAR(128) not null,
   TASKCLASS            VARCHAR(255) not null,
   CATFILE              VARCHAR(255),
   RPTFILE              VARCHAR(255),
   PARAMFILE            VARCHAR(255),
   RESULTFILE           VARCHAR(255),
   ERROR                VARCHAR(255),
   ENGMSG               VARCHAR(255),
   SUBMITTER            VARCHAR(128),
   COMPLETEDTIME        BIGINT,
   FORMATEXISTS         INTEGER,
   FORMATSUCCESSFUL     INTEGER,
   VERSIONID            INTEGER,
   LAUNCHTYPE           INTEGER,
   ISSUCCESSFUL         BIT not null,
   TASKNAME             VARCHAR(128),
   ISMISSED             BIT not null,
   SCHEDULETRIGGER      VARCHAR(80),
   CONDITIONSLOGIC      VARCHAR(16),
   REPORTNAMES          VARCHAR(255)
);

/*==============================================================*/
/* Table: DRESULT_2                                             */
/*==============================================================*/
create table DRESULT_2
(
   REPORTSET            VARCHAR(128),
   VERSIONNUMBER        BIGINT not null,
   REPORT               VARCHAR(128) not null,
   REPORTDISPLAYNAME    VARCHAR(128),
   RESULT               VARCHAR(128) not null,
   VIEWEDFORMATS        BIGINT,
   PLSRESULTFMTS        BIGINT,
   SECCONSTRAINTFMTS    BIGINT
);

/*==============================================================*/
/* Table: DYNAMICNODE_2                                         */
/*==============================================================*/
create table DYNAMICNODE_2
(
   NAME                 VARCHAR(128) not null,
   ROOT                 VARCHAR(128) not null,
   REALPATH             VARCHAR(255) not null,
   NODETYPE             TINYINT not null,
   ENABLEARCHIVEPOLICY  BIT not null,
   DELETED              BIT not null,
   ACLID                INTEGER,
   DESCRIPTION          VARCHAR(255),
   MAXVERSIONAMOUNT     INTEGER,
   ENABLELINKEDCAT      BIT, 
   LINKEDCAT            VARCHAR(255), 
   USEINHERITED         BIT
);

/*==============================================================*/
/* Table: DYNAMICRESULT_1                                       */
/*==============================================================*/
create table DYNAMICRESULT_1
(
   ID                   INTEGER not null,
   REPORTNAME           VARCHAR(128) not null,
   VERSIONNUMBER        INTEGER not null,
   CREATOR              VARCHAR(128) not null,
   CREATEDTIME          BIGINT not null,
   CATALOGVERNUM        INTEGER not null,
   CATALOGRESNUM        INTEGER not null,
   REPORTVERNUM         INTEGER not null,
   REPORTRESNUM         INTEGER not null,
   PARAMFILE            VARCHAR(128),
   RESULTFILE           VARCHAR(128) not null,
   RESULTFMTS           BIGINT not null,
   LAUNCHTYPE           INTEGER not null,
   TASKID               VARCHAR(128),
   EXPIRATIONTIME       BIGINT not null,
   EXPIRE               BIT not null,
   EXPIRATIONMETHOD     INTEGER,
   REPORTAMOUNT         INTEGER
);

/*==============================================================*/
/* Table: EXTENDACLENTRIES_2                                    */
/*==============================================================*/
create table EXTENDACLENTRIES_2
(
   PRINCIPAL_NAME       VARCHAR(64) not null,
   PRINCIPAL_TYPE       TINYINT not null,
   PERMISSIONS          INTEGER not null,
   UNIQUE               (PRINCIPAL_NAME,PRINCIPAL_TYPE)
);

/*==============================================================*/
/* Table: FOLDERS_3                                             */
/*==============================================================*/
create table FOLDERS_3
(
   ID                   INTEGER not null,
   REALPATH             VARCHAR(255),
   OWNERNAME            VARCHAR(32),
   MAXVERSIONAMOUNT     INTEGER not null,
   ARCHIVENEWVERSION    BIT not null,
   ENABLEARCHIVEPOLICY  BIT not null,
   IS_SHARED            BIT not null,
   ENABLEDYNAMICRESOURCE BIT not null
);

/*==============================================================*/
/* Table: GROUPPROFILES_1                                       */
/*==============================================================*/
create table GROUPPROFILES_1
(
   GROUP_NAME           VARCHAR(32),
   SUB_GROUP_NAME       VARCHAR(32)
);

/*==============================================================*/
/* Table: GROUPS_1                                              */
/*==============================================================*/
create table GROUPS_1
(
   NAME                 VARCHAR(32) not null,
   BUILDIN              BIT not null,
   DESCRIPTION          VARCHAR(32),
   GROUP_TYPE           INTEGER not null,
   primary key (NAME)
);

/*==============================================================*/
/* Table: GUPROFILES_1                                          */
/*==============================================================*/
create table GUPROFILES_1
(
   GROUP_NAME           VARCHAR(32),
   USER_NAME            VARCHAR(32)
);

/*==============================================================*/
/* Table: NODES_3                                               */
/*==============================================================*/
create table NODES_3
(
   ID                   INTEGER not null,
   NAME                 VARCHAR(64) not null,
   CREATORNAME          VARCHAR(32) not null,
   CREATETIME           BIGINT not null,
   PARENTID             INTEGER not null,
   NODETYPE             TINYINT not null,
   ACLID                INTEGER,
   DESCRIPTION          VARCHAR(255), 
   ENABLELINKEDCAT      BIT, 
   LINKEDCAT            VARCHAR(255), 
   USEINHERITED         BIT
);

/*==============================================================*/
/* Table: REPORTVERSION_2                                       */
/*==============================================================*/
create table REPORTVERSION_2
(
   VERSIONNUMBER        INTEGER not null,
   VERSIONNAME          VARCHAR(128),
   RESOURCEID           INTEGER not null,
   CREATOR              VARCHAR(128),
   CREATETIME           BIGINT not null,
   MODIFIER             VARCHAR(128),
   MODIFIEDTIME         BIGINT not null,
   REPORTFILE           VARCHAR(128) not null,
   ID                   BIGINT not null,
   UNIQUE               (RESOURCEID,ID)
);

/*==============================================================*/
/* Table: RESOURCEMAP_1                                         */
/*==============================================================*/
create table RESOURCEMAP_1
(
   RESOURCEID           INTEGER not null,
   RESOURCENAME         VARCHAR(128) not null,
   RESOURCETYPE         TINYINT not null
);

/*==============================================================*/
/* Table: RESOURCENODES_3                                       */
/*==============================================================*/
create table RESOURCENODES_3
(
   ID                   INTEGER not null,
   RESOURCETYPE         TINYINT not null,
   REALPATH             VARCHAR(255),
   MAXVERSIONAMOUNT     INTEGER not null,
   ARCHIVENEWVERSION    BIT not null,
   ENABLEARCHIVEPOLICY  BIT not null,
   PROFILENAME             VARCHAR(255)
);

/*==============================================================*/
/* Table: RESULTVERSION_2                                       */
/*==============================================================*/
create table RESULTVERSION_2
(
   ID                   BIGINT not null,
   VERSIONNUMBER        INTEGER not null,
   VERSIONNAME          VARCHAR(128) not null,
   RESOURCEID           INTEGER not null,
   CREATOR              VARCHAR(128),
   CREATEDTIME          BIGINT not null,
   MODIFIER             VARCHAR(128),
   MODIFIEDTIME         BIGINT not null,
   CATALOGVERNUM        INTEGER not null,
   CATALOGRESNUM        INTEGER not null,
   REPORTVERNUM         INTEGER not null,
   REPORTRESNUM         INTEGER not null,
   PARAMFILE            VARCHAR(128),
   RESULTFILE           VARCHAR(128) not null,
   RESULTFMTS           BIGINT not null,
   LAUNCHTYPE           INTEGER not null,
   TASKID               VARCHAR(128),
   EXPIRATIONTIME       BIGINT not null,
   EXPIRE               BIT not null,
   EXPIREATIONMETHOD    INTEGER,
   SPECIFIEDFOLDER      VARCHAR(128),
   REPORTAMOUNT         INTEGER,
   UNIQUE               (ID,RESOURCEID)
);

/*==============================================================*/
/* Table: RESULT_2                                              */
/*==============================================================*/
create table RESULT_2
(
   RESOURCEID           BIGINT not null,
   VERSIONNUMBER        BIGINT not null,
   REPORT               VARCHAR(128) not null,
   REPORTDISPLAYNAME    VARCHAR(128),
   RESULT               VARCHAR(128) not null,
   VIEWEDFORMATS        BIGINT,
   PLSRESULTFMTS        BIGINT,
   SECCONSTRAINTFMTS    BIGINT
);

/*==============================================================*/
/* Table: RGPROFILES_1                                          */
/*==============================================================*/
create table RGPROFILES_1
(
   ROLE_NAME            VARCHAR(32),
   GROUP_NAME           VARCHAR(32)
);

/*==============================================================*/
/* Table: ROLEPROFILES_2                                        */
/*==============================================================*/
create table ROLEPROFILES_2
(
   ROLE_NAME            VARCHAR(32),
   SUB_ROLE_NAME        VARCHAR(32)
);

/*==============================================================*/
/* Table: ROLES_2                                               */
/*==============================================================*/
create table ROLES_2
(
   NAME                 VARCHAR(32) not null,
   BUILDIN              BIT not null,
   DESCRIPTION          VARCHAR(32),
   ROLE_TYPE            INTEGER not null,
   primary key (NAME)
);

/*==============================================================*/
/* Table: SCHDLASTEXETIME_1                                     */
/*==============================================================*/
create table SCHDLASTEXETIME_1
(
   TASKID               VARCHAR(40) not null,
   LASTEXETIME          BIGINT not null
);

/*==============================================================*/
/* Table: TBL_IDGENRATOR_JINFONET                               */
/*==============================================================*/
create table TBL_IDGENRATOR_JINFONET
(
   TF_NAME              VARCHAR(64) not null,
   NEXT_ID              INTEGER not null,
   primary key (TF_NAME)
);

/*==============================================================*/
/* Table: TRIGGERS_1                                            */
/*==============================================================*/
create table TRIGGERS_1
(
   TRIGGER_NAME         VARCHAR(80) not null,
   DESCRIPTION          VARCHAR(255),
   TRIGGER_TYPE         TINYINT not null,
   TRIGGER_STATE        BIT not null,
   PREV_FIRE_TIME       BIGINT,
   NEXT_FIRE_TIME       BIGINT,
   primary key (TRIGGER_NAME)
);

/*==============================================================*/
/* Table: UPDATEDETAILS_1                                       */
/*==============================================================*/
create table UPDATEDETAILS_1
(
   UPDATE_ITEM          VARCHAR(32) not null,
   UPDATE_STATE         BIT not null,
   primary key (UPDATE_ITEM)
);

/*==============================================================*/
/* Table: USERPROFILES_2                                        */
/*==============================================================*/
create table USERPROFILES_2
(
   USER_NAME            VARCHAR(32),
   ROLE_NAME            VARCHAR(32)
);

/*==============================================================*/
/* Table: USERS_3                                               */
/*==============================================================*/
create table USERS_3
(
   NAME                 VARCHAR(32) not null,
   FULL_NAME            VARCHAR(128),
   DESCRIPTION          VARCHAR(128),
   EMAIL                VARCHAR(128),
   CREATE_TIME          BIGINT not null,
   USER_PSWD            VARCHAR(128),
   BUILDIN              BIT not null,
   ENABLE               BIT not null,
   MIN_PS_LENGTH        INTEGER,
   LAST_MODIFY_TIME     BIGINT,
   NEVER_EXPIRE         BIT not null,
   EXPIRE_TIME          INTEGER,
   ACCOUNT_DISABLE      BIT not null,
   ACCESS_EVENT_SUC     BIT not null,
   ACCESS_EVENT_FAIL    BIT not null,
   MANAGEMENT_EVENT_SUC BIT not null,
   MANAGEMENT_EVENT_FAIL BIT not null,
   NO_AUDIT             BIT not null,
   AUTH_TYPE            INTEGER not null,
   LDAP_TYPE            INTEGER,
   primary key (NAME)
);

/*==============================================================*/
/* Table: VERSIONNODES_2                                        */
/*==============================================================*/
create table VERSIONNODES_2
(
   ID                   INTEGER not null,
   RESOURCEID           INTEGER not null,
   VERSIONNUMBER        INTEGER not null,
   EXPIRATIONTIME       BIGINT not null
);


/*==============================================================*/
/* Table: TASKCONTEXT                                           */
/* FOR PROFILING                                                */
/*==============================================================*/
CREATE TABLE TASKCONTEXT 
(
	ID 						INTEGER NOT NULL,
	VS_RPT_NAME 			VARCHAR(255),
	VI_TSK_TYPE 			INTEGER,
	VI_TSK_STATUS 			INTEGER,
	TS_TSK_SUBMIT 			TIMESTAMP,
	TS_ENG_START 			TIMESTAMP,
	TS_ENG_EXITS 			TIMESTAMP,
	TS_TSK_COMPLETE 		TIMESTAMP,
	TC_TSK_TOTAL 			BIGINT,
	TC_TSK_WAITED 			BIGINT,
	TC_ENG_TOTAL 			BIGINT,
	TC_ENG_LOAD 			BIGINT,
	TC_ENG_EXPORT 			BIGINT,
	TC_ENG_OTHER 			BIGINT,
	TC_TSK_OTHER 			BIGINT,
	NC_RPT_PAGES 			BIGINT,
	NC_RPT_FORMATS 			BIGINT,
	NC_ENG_CONCURRENT 		BIGINT,
	NC_QUE_LENGTH 			BIGINT, 
	PRIMARY KEY(ID)
);


/*==============================================================*/
/* INIT DATA  			                                        */
/*==============================================================*/
INSERT INTO TBL_IDGENRATOR_JINFONET (TF_NAME,NEXT_ID) VALUES ('NODES_3_ID',0);
INSERT INTO TBL_IDGENRATOR_JINFONET (TF_NAME,NEXT_ID) VALUES ('CATALOGVERSION_2_ID',0);
INSERT INTO TBL_IDGENRATOR_JINFONET (TF_NAME,NEXT_ID) VALUES ('REPORTVERSION_2_ID',0);
INSERT INTO TBL_IDGENRATOR_JINFONET (TF_NAME,NEXT_ID) VALUES ('RESULTVERSION_2_ID',0);
INSERT INTO TBL_IDGENRATOR_JINFONET (TF_NAME,NEXT_ID) VALUES ('ACLS_2_ID',0);
INSERT INTO TBL_IDGENRATOR_JINFONET (TF_NAME,NEXT_ID) VALUES ('ACLENTRIES_2_ENTRY_ID',0);
INSERT INTO TBL_IDGENRATOR_JINFONET (TF_NAME,NEXT_ID) VALUES ('COMPLETEDTABLE_4_ID',0);
INSERT INTO TBL_IDGENRATOR_JINFONET (TF_NAME,NEXT_ID) VALUES ('ACLS_WITH_RESOURCE_1_ID',0);

