[Greater-commits] r3750 - branches/3.0.0-usf/GREAT-ER-DB/tools
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Fri Jul 29 10:47:21 CEST 2011
Author: aheinecke
Date: 2011-07-29 10:47:21 +0200 (Fri, 29 Jul 2011)
New Revision: 3750
Added:
branches/3.0.0-usf/GREAT-ER-DB/tools/create_usf_tables.sql
Log:
Add sql script to create the tables for the usf database api
Added: branches/3.0.0-usf/GREAT-ER-DB/tools/create_usf_tables.sql
===================================================================
--- branches/3.0.0-usf/GREAT-ER-DB/tools/create_usf_tables.sql 2011-07-29 08:18:06 UTC (rev 3749)
+++ branches/3.0.0-usf/GREAT-ER-DB/tools/create_usf_tables.sql 2011-07-29 08:47:21 UTC (rev 3750)
@@ -0,0 +1,1095 @@
+create temporary table pgdump_restore_path(p text);
+--
+-- NOTE:
+--
+-- File paths need to be edited. Search for $$PATH$$ and
+-- replace it with the path to the directory containing
+-- the extracted data files.
+--
+-- Edit the following to match the path where the
+-- tar archive has been extracted.
+--
+insert into pgdump_restore_path values('/tmp');
+
+--
+-- TOC Entry ID 2 (OID 4743732)
+--
+-- Name: group_seq Type: SEQUENCE Owner: greater
+--
+
+CREATE SEQUENCE "group_seq" start 1 increment 1 maxvalue 9223372036854775807 minvalue 1 cache 1;
+
+--
+-- TOC Entry ID 4 (OID 4743734)
+--
+-- Name: phrase_seq Type: SEQUENCE Owner: greater
+--
+
+CREATE SEQUENCE "phrase_seq" start 1 increment 1 maxvalue 9223372036854775807 minvalue 1 cache 1;
+
+--
+-- TOC Entry ID 6 (OID 4743736)
+--
+-- Name: bin_obj_seq Type: SEQUENCE Owner: greater
+--
+
+CREATE SEQUENCE "bin_obj_seq" start 1 increment 1 maxvalue 9223372036854775807 minvalue 1 cache 1;
+
+--
+-- TOC Entry ID 8 (OID 4743738)
+--
+-- Name: subst_seq Type: SEQUENCE Owner: greater
+--
+
+CREATE SEQUENCE "subst_seq" start 1 increment 1 maxvalue 9223372036854775807 minvalue 1 cache 1;
+
+--
+-- TOC Entry ID 10 (OID 4743740)
+--
+-- Name: subst_det_seq Type: SEQUENCE Owner: greater
+--
+
+CREATE SEQUENCE "subst_det_seq" start 1 increment 1 maxvalue 9223372036854775807 minvalue 1 cache 1;
+
+--
+-- TOC Entry ID 12 (OID 4743742)
+--
+-- Name: env_seq Type: SEQUENCE Owner: greater
+--
+
+CREATE SEQUENCE "env_seq" start 1 increment 1 maxvalue 9223372036854775807 minvalue 1 cache 1;
+
+--
+-- TOC Entry ID 14 (OID 4743744)
+--
+-- Name: env_det_seq Type: SEQUENCE Owner: greater
+--
+
+CREATE SEQUENCE "env_det_seq" start 1 increment 1 maxvalue 9223372036854775807 minvalue 1 cache 1;
+
+--
+-- TOC Entry ID 16 (OID 4743746)
+--
+-- Name: market_seq Type: SEQUENCE Owner: greater
+--
+
+CREATE SEQUENCE "market_seq" start 1 increment 1 maxvalue 9223372036854775807 minvalue 1 cache 1;
+
+--
+-- TOC Entry ID 18 (OID 4743748)
+--
+-- Name: mod_seq Type: SEQUENCE Owner: greater
+--
+
+CREATE SEQUENCE "mod_seq" start 1 increment 1 maxvalue 9223372036854775807 minvalue 1 cache 1;
+
+--
+-- TOC Entry ID 20 (OID 4743750)
+--
+-- Name: mod_det_seq Type: SEQUENCE Owner: greater
+--
+
+CREATE SEQUENCE "mod_det_seq" start 1 increment 1 maxvalue 9223372036854775807 minvalue 1 cache 1;
+
+--
+-- TOC Entry ID 22 (OID 4743752)
+--
+-- Name: res_seq Type: SEQUENCE Owner: greater
+--
+
+CREATE SEQUENCE "res_seq" start 1 increment 1 maxvalue 9223372036854775807 minvalue 1 cache 1;
+
+--
+-- TOC Entry ID 24 (OID 4743754)
+--
+-- Name: res_stretch_seq Type: SEQUENCE Owner: greater
+--
+
+CREATE SEQUENCE "res_stretch_seq" start 1 increment 1 maxvalue 9223372036854775807 minvalue 1 cache 1;
+
+--
+-- TOC Entry ID 26 (OID 4743756)
+--
+-- Name: res_disch_seq Type: SEQUENCE Owner: greater
+--
+
+CREATE SEQUENCE "res_disch_seq" start 1 increment 1 maxvalue 9223372036854775807 minvalue 1 cache 1;
+
+--
+-- TOC Entry ID 28 (OID 4743758)
+--
+-- Name: sess_seq Type: SEQUENCE Owner: greater
+--
+
+CREATE SEQUENCE "sess_seq" start 1 increment 1 maxvalue 9223372036854775807 minvalue 1 cache 1;
+
+--
+-- TOC Entry ID 30 (OID 4743760)
+--
+-- Name: sess_disch_seq Type: SEQUENCE Owner: greater
+--
+
+CREATE SEQUENCE "sess_disch_seq" start 1 increment 1 maxvalue 9223372036854775807 minvalue 1 cache 1;
+
+--
+-- TOC Entry ID 32 (OID 4743762)
+--
+-- Name: catch_seq Type: SEQUENCE Owner: greater
+--
+
+CREATE SEQUENCE "catch_seq" start 1 increment 1 maxvalue 9223372036854775807 minvalue 1 cache 1;
+
+--
+-- TOC Entry ID 35 (OID 4743764)
+--
+-- Name: bin_obj_search_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "bin_obj_search_tab" (
+ "bin_obj_id" numeric(26,0) NOT NULL,
+ "key_word" character varying(255) NOT NULL
+);
+
+--
+-- TOC Entry ID 36 (OID 4743768)
+--
+-- Name: bin_obj_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "bin_obj_tab" (
+ "bin_obj_id" numeric(26,0) DEFAULT nextval('BIN_OBJ_SEQ'::text) NOT NULL,
+ "object_id" numeric(26,0) NOT NULL,
+ "name" character varying(255) NOT NULL,
+ "user_id" character varying(30) NOT NULL,
+ "privs" numeric(1,0) NOT NULL,
+ "obj_type" character varying(30) NOT NULL,
+ "obj_sub_type" character varying(30) NOT NULL,
+ "file_type" character varying(3) NOT NULL,
+ "file_obj" oid NOT NULL,
+ "file_size" numeric(26,0) NOT NULL,
+ "remark" character varying(2000),
+ "cre_date" date NOT NULL,
+ "mod_date" date NOT NULL,
+ Constraint "bin_obj_u1_idx" Primary Key ("bin_obj_id")
+);
+
+--
+-- TOC Entry ID 88 (OID 4743776)
+--
+-- Name: "replace" (character varying,character varying,character varying) Type: FUNCTION Owner: greater
+--
+
+CREATE FUNCTION "replace" (character varying,character varying,character varying) RETURNS character varying AS '
+declare
+ string alias for $1;
+ sub alias for $2;
+ replacement alias for $3;
+ match integer;
+ end_before integer;
+ start_after integer;
+ string_replaced varchar;
+ string_remainder varchar;
+begin
+ string_remainder := string;
+ string_replaced := '''';
+ match := position(sub in string_remainder);
+
+ while match > 0 loop
+ end_before := match - 1;
+ start_after := match + length(sub);
+ string_replaced := string_replaced || substr(string_remainder, 1, end_before) || replacement;
+ string_remainder := substr(string_remainder, start_after);
+ match := position(sub in string_remainder);
+ end loop;
+ string_replaced := string_replaced || string_remainder;
+
+ return string_replaced;
+end;
+' LANGUAGE 'plpgsql';
+
+--
+-- TOC Entry ID 89 (OID 4743777)
+--
+-- Name: "bin_obj_procf" () Type: FUNCTION Owner: greater
+--
+
+CREATE FUNCTION "bin_obj_procf" () RETURNS TRIGGER AS '
+DECLARE
+ updateAction VARCHAR (10);
+ remarkString VARCHAR (2001);
+ separatorPos INT;
+BEGIN
+ updateAction := ''nothing'';
+
+ IF TG_OP=''UPDATE'' THEN
+ IF (OLD.REMARK IS NOT NULL OR NEW.REMARK IS NOT NULL) THEN
+ IF NEW.REMARK IS NULL OR LENGTH(NEW.REMARK) = 0 THEN
+ updateAction := ''delete'';
+ ELSIF OLD.REMARK IS NULL OR LENGTH(OLD.REMARK) = 0 THEN
+ updateAction := ''insert'';
+ ELSIF OLD.REMARK != NEW.REMARK THEN
+ updateAction := ''rebuild'';
+ END IF;
+ END IF;
+ END IF;
+ IF (TG_OP=''DELETE'' OR updateAction = ''delete'' OR updateAction = ''rebuild'') THEN
+ DELETE FROM BIN_OBJ_SEARCH_TAB WHERE BIN_OBJ_ID = OLD.BIN_OBJ_ID;
+ RETURN OLD;
+ END IF;
+ IF ((TG_OP=''INSERT'' AND NEW.REMARK IS NOT NULL) OR updateAction = ''insert'' OR updateAction = ''rebuild'') THEN
+ remarkString := NEW.REMARK;
+ remarkString := UPPER(remarkString);
+ remarkString := REPLACE(remarkString, chr(39), '''');
+ remarkString := REPLACE(remarkString, chr(96), '''');
+ remarkString := REPLACE(remarkString, chr(180), '''');
+ remarkString := REPLACE(remarkString, '' '', '';'');
+ remarkString := REPLACE(remarkString, '','', '';'');
+ remarkString := REPLACE(remarkString, ''.'', '';'');
+ remarkString := REPLACE(remarkString, '':'', '';'');
+ remarkString := REPLACE(remarkString, ''('', '';'');
+ remarkString := REPLACE(remarkString, '')'', '';'');
+ remarkString := LTRIM(remarkString, '';'');
+ remarkString := RTRIM(remarkString, '';'');
+ remarkString := remarkString || '';'';
+ WHILE (LENGTH(remarkString) > 0) LOOP
+ separatorPos := strpos(remarkString, '';'');
+ INSERT INTO BIN_OBJ_SEARCH_TAB
+ (BIN_OBJ_ID, KEY_WORD)
+ VALUES (NEW.BIN_OBJ_ID, substr(remarkString, 1, separatorPos - 1));
+ remarkString := substr(remarkString, separatorPos,
+ LENGTH (remarkString) - separatorPos + 1);
+ remarkString := LTRIM (remarkString, '';'');
+ END LOOP;
+ END IF;
+ RETURN NEW;
+END;
+' LANGUAGE 'plpgsql';
+
+--
+-- TOC Entry ID 37 (OID 4743779)
+--
+-- Name: group_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "group_tab" (
+ "group_id" numeric(26,0) DEFAULT nextval('GROUP_SEQ'::text) NOT NULL,
+ "name" character varying(255) NOT NULL,
+ "admin" character varying(1) NOT NULL,
+ "cre_date" date NOT NULL,
+ "mod_date" date NOT NULL,
+ "status" character varying(30),
+ "remark" character varying(2000),
+ Constraint "group_u1_idx" Primary Key ("group_id")
+);
+
+--
+-- TOC Entry ID 38 (OID 4743786)
+--
+-- Name: message_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "message_tab" (
+ "message_id" numeric(26,0) NOT NULL,
+ "language" character varying(1) NOT NULL,
+ "type" character varying(3) NOT NULL,
+ "message" character varying(255),
+ Constraint "message_u1_idx" Primary Key ("message_id")
+);
+
+--
+-- TOC Entry ID 39 (OID 4743790)
+--
+-- Name: phrase_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "phrase_tab" (
+ "phrase_id" numeric(26,0) DEFAULT nextval('PHRASE_SEQ'::text) NOT NULL,
+ "phrase_grp_id" numeric(26,0) NOT NULL,
+ "language" character varying(1) NOT NULL,
+ "sort" numeric(3,0) NOT NULL,
+ "value_pt" character varying(255),
+ "remark" character varying(2000),
+ Constraint "phrase_u1_idx" Primary Key ("phrase_id")
+);
+
+--
+-- TOC Entry ID 40 (OID 4743797)
+--
+-- Name: para_tree_def_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "para_tree_def_tab" (
+ "field_id" character varying(30) NOT NULL,
+ "block_id" character varying(30) NOT NULL,
+ "group_id" character varying(30) NOT NULL,
+ "obj_type" character varying(30) NOT NULL,
+ "var_type" character varying(30) NOT NULL,
+ "tree_level" numeric(1,0) NOT NULL,
+ "field_sort" numeric(3,0) NOT NULL,
+ "block_sort" numeric(3,0) NOT NULL,
+ "group_sort" numeric(3,0) NOT NULL,
+ "label" character varying(255),
+ "default_val" character varying(255),
+ "form_mask" character varying(255),
+ "unit" character varying(30),
+ "w_range" character varying(255),
+ "e_range" character varying(255),
+ "remark" character varying(2000),
+ Constraint "para_tree_u1_idx" Primary Key ("group_id", "block_id", "field_id")
+);
+
+--
+-- TOC Entry ID 41 (OID 4743804)
+--
+-- Name: user_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "user_tab" (
+ "user_id" character varying(30) NOT NULL,
+ "group_id" numeric(26,0) NOT NULL,
+ "cre_date" date NOT NULL,
+ "mod_date" date NOT NULL,
+ "status" character varying(30) NOT NULL,
+ "remark" character varying(2000),
+ Constraint "user_u1_idx" Primary Key ("user_id")
+);
+
+--
+-- TOC Entry ID 42 (OID 4743810)
+--
+-- Name: catch_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "catch_tab" (
+ "catch_id" numeric(26,0) DEFAULT nextval('CATCH_SEQ'::text) NOT NULL,
+ "user_id" character varying(30) NOT NULL,
+ "cre_date" date NOT NULL,
+ "mod_date" date NOT NULL,
+ "status" character varying(30),
+ "privs" numeric(1,0) NOT NULL,
+ "name" character varying(255),
+ "remark" character varying(2000),
+ Constraint "catch_u1_idx" Primary Key ("catch_id")
+);
+
+--
+-- TOC Entry ID 90 (OID 4743817)
+--
+-- Name: "catch_procf" () Type: FUNCTION Owner: greater
+--
+
+CREATE FUNCTION "catch_procf" () RETURNS TRIGGER AS '
+ BEGIN
+ IF TG_OP=''UPDATE'' THEN
+ IF OLD.CATCH_ID != NEW.CATCH_ID THEN
+ UPDATE BIN_OBJ_TAB
+ SET OBJECT_ID = NEW.CATCH_ID
+ WHERE OBJECT_ID = OLD.CATCH_ID
+ AND OBJ_TYPE = ''CATCHMENT'';
+ END IF;
+ END IF;
+ IF TG_OP=''DELETE'' THEN
+ DELETE FROM BIN_OBJ_TAB
+ WHERE OBJECT_ID = OLD.CATCH_ID
+ AND OBJ_TYPE = ''CATCHMENT'';
+ END IF;
+ RETURN NEW;
+ END;
+' LANGUAGE 'plpgsql';
+
+--
+-- TOC Entry ID 43 (OID 4743819)
+--
+-- Name: backgrd_join_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "backgrd_join_tab" (
+ "catch_id" numeric(26,0) NOT NULL,
+ "bin_obj_id" numeric(26,0) NOT NULL,
+ Constraint "backgrd_u1_idx" Primary Key ("catch_id", "bin_obj_id")
+);
+
+--
+-- TOC Entry ID 44 (OID 4743822)
+--
+-- Name: disch_class_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "disch_class_tab" (
+ "disch_class_id" numeric(26,0) NOT NULL,
+ "name" character varying(255),
+ "wwtp_type" character varying(255),
+ "capacity" character varying(40),
+ "aer_type" character varying(40),
+ "h_prim" character varying(40),
+ "v_overflow_prim" character varying(40),
+ "r_ss_prim_max" character varying(40),
+ "h_sec" character varying(40),
+ "v_overflow_sec" character varying(40),
+ "r_ss_sec_max" character varying(40),
+ "ss_ml" character varying(40),
+ "recycle" character varying(40),
+ "a_biomass" character varying(40),
+ "h_act_sludge" character varying(40),
+ "b_x" character varying(40),
+ "y" character varying(40),
+ "do_" character varying(40),
+ "f_aerobic" character varying(40),
+ "f_anoxic" character varying(40),
+ "f_anaerobic" character varying(40),
+ "eps_n" character varying(40),
+ "eps_dn" character varying(40),
+ "remark" character varying(2000),
+ Constraint "disch_class_u1_idx" Primary Key ("disch_class_id")
+);
+
+--
+-- TOC Entry ID 45 (OID 4743829)
+--
+-- Name: stretch_class_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "stretch_class_tab" (
+ "stretch_class_id" numeric(26,0) NOT NULL,
+ "name" character varying(255),
+ "ss_val" character varying(255),
+ "ss_dist" character varying(11),
+ "f_oc" character varying(40),
+ "ph_val" character varying(255),
+ "ph_dist" character varying(11),
+ "k_z" character varying(40),
+ "x" character varying(40),
+ "do_val" character varying(255),
+ "do_dist" character varying(11),
+ "temp_water_val" character varying(255),
+ "temp_water_dist" character varying(11),
+ "temp_air_val" character varying(255),
+ "temp_air_dist" character varying(11),
+ "v_sed" character varying(40),
+ "eps_sed" character varying(40),
+ "rho_sed" character varying(40),
+ "v_wind10_val" character varying(255),
+ "v_wind10_dist" character varying(11),
+ "remark" character varying(2000),
+ Constraint "stretch_class_u1_idx" Primary Key ("stretch_class_id")
+);
+
+--
+-- TOC Entry ID 46 (OID 4743836)
+--
+-- Name: subst_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "subst_tab" (
+ "subst_id" numeric(26,0) DEFAULT nextval('SUBST_SEQ'::text) NOT NULL,
+ "name" character varying(255) NOT NULL,
+ "user_id" character varying(30) NOT NULL,
+ "cre_date" date NOT NULL,
+ "mod_date" date NOT NULL,
+ "status" character varying(30) NOT NULL,
+ "privs" numeric(1,0) NOT NULL,
+ "is_templ" character varying(1) NOT NULL,
+ "remark" character varying(2000),
+ Constraint "subst_u1_idx" Primary Key ("subst_id")
+);
+
+--
+-- TOC Entry ID 47 (OID 4743843)
+--
+-- Name: subst_det_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "subst_det_tab" (
+ "subst_det_id" numeric(26,0) DEFAULT nextval('SUBST_DET_SEQ'::text) NOT NULL,
+ "subst_id" numeric(26,0) NOT NULL,
+ "field_id" character varying(30) NOT NULL,
+ "block_id" character varying(30) NOT NULL,
+ "block_recno" numeric(3,0) NOT NULL,
+ "value_sdt" character varying(255),
+ "dist_type" character varying(11),
+ "remark" character varying(2000),
+ Constraint "subst_det_u1_idx" Primary Key ("subst_det_id")
+);
+
+--
+-- TOC Entry ID 48 (OID 4743850)
+--
+-- Name: env_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "env_tab" (
+ "env_id" numeric(26,0) DEFAULT nextval('ENV_SEQ'::text) NOT NULL,
+ "name" character varying(255) NOT NULL,
+ "user_id" character varying(30) NOT NULL,
+ "cre_date" date NOT NULL,
+ "mod_date" date NOT NULL,
+ "status" character varying(30) NOT NULL,
+ "privs" numeric(1,0) NOT NULL,
+ "is_templ" character varying(1) NOT NULL,
+ "remark" character varying(2000),
+ Constraint "env_u1_idx" Primary Key ("env_id")
+);
+
+--
+-- TOC Entry ID 49 (OID 4743857)
+--
+-- Name: env_det_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "env_det_tab" (
+ "env_det_id" numeric(26,0) DEFAULT nextval('ENV_DET_SEQ'::text) NOT NULL,
+ "env_id" numeric(26,0) NOT NULL,
+ "field_id" character varying(30) NOT NULL,
+ "block_id" character varying(30) NOT NULL,
+ "block_recno" numeric(3,0) NOT NULL,
+ "value_edt" character varying(255),
+ "dist_type" character varying(11),
+ "remark" character varying(2000),
+ Constraint "env_det_u1_idx" Primary Key ("env_det_id")
+);
+
+--
+-- TOC Entry ID 50 (OID 4743864)
+--
+-- Name: stretch_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "stretch_tab" (
+ "stretch_id" numeric(26,0) NOT NULL,
+ "catch_id" numeric(26,0) NOT NULL,
+ "stretch_class_id" numeric(26,0) NOT NULL,
+ "up1_id" numeric(26,0),
+ "up2_id" numeric(26,0),
+ "down1_id" numeric(26,0),
+ "down2_id" numeric(26,0),
+ "name" character varying(255),
+ "type" character varying(11) NOT NULL,
+ "q_val" character varying(255) NOT NULL,
+ "q_dist" character varying(11),
+ "v_val" character varying(255) NOT NULL,
+ "v_dist" character varying(11),
+ "l" character varying(40) NOT NULL,
+ "d_val" character varying(255) NOT NULL,
+ "d_dist" character varying(11),
+ Constraint "stretch_u1_idx" Primary Key ("catch_id", "stretch_id")
+);
+
+--
+-- TOC Entry ID 51 (OID 4743871)
+--
+-- Name: disch_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "disch_tab" (
+ "disch_id" numeric(26,0) NOT NULL,
+ "stretch_id" numeric(26,0) NOT NULL,
+ "catch_id" numeric(26,0) NOT NULL,
+ "disch_class_id" numeric(26,0) NOT NULL,
+ "name" character varying(255),
+ "pop" character varying(40),
+ "dwf" character varying(40),
+ "flow_val" character varying(255),
+ "flow_dist" character varying(11),
+ "flow_dom" character varying(40),
+ "flow_nondom" character varying(40),
+ "flow_runoff" character varying(40),
+ "treated" character varying(40),
+ "r_wwtp" character varying(40),
+ "remark" character varying(2000),
+ Constraint "disch_u1_idx" Primary Key ("catch_id", "disch_id")
+);
+
+--
+-- TOC Entry ID 52 (OID 4743878)
+--
+-- Name: market_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "market_tab" (
+ "market_id" numeric(26,0) DEFAULT nextval('MARKET_SEQ'::text) NOT NULL,
+ "disch_id" numeric(26,0) NOT NULL,
+ "catch_id" numeric(26,0) NOT NULL,
+ "name" character varying(255) NOT NULL,
+ "user_id" character varying(30) NOT NULL,
+ "cre_date" date NOT NULL,
+ "mod_date" date NOT NULL,
+ "status" character varying(30) NOT NULL,
+ "privs" numeric(1,0) NOT NULL,
+ "consumption" character varying(40),
+ "flux_nondom" character varying(40),
+ "flux_runoff" character varying(40),
+ "remark" character varying(2000),
+ Constraint "market_u1_idx" Primary Key ("catch_id", "disch_id", "market_id")
+);
+
+--
+-- TOC Entry ID 53 (OID 4743884)
+--
+-- Name: mod_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "mod_tab" (
+ "mod_id" numeric(26,0) DEFAULT nextval('MOD_SEQ'::text) NOT NULL,
+ "name" character varying(255) NOT NULL,
+ "user_id" character varying(30) NOT NULL,
+ "cre_date" date NOT NULL,
+ "mod_date" date NOT NULL,
+ "status" character varying(30) NOT NULL,
+ "privs" numeric(1,0) NOT NULL,
+ "remark" character varying(2000),
+ Constraint "mod_u1_idx" Primary Key ("mod_id")
+);
+
+--
+-- TOC Entry ID 54 (OID 4743891)
+--
+-- Name: mod_det_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "mod_det_tab" (
+ "mod_det_id" numeric(26,0) DEFAULT nextval('MOD_DET_SEQ'::text) NOT NULL,
+ "mod_id" numeric(26,0) NOT NULL,
+ "field_id" character varying(30) NOT NULL,
+ "block_id" character varying(30) NOT NULL,
+ "block_recno" numeric(3,0) NOT NULL,
+ "value_mdt" character varying(255),
+ "dist_type" character varying(11),
+ "remark" character varying(2000),
+ Constraint "mod_det_u1_idx" Primary Key ("mod_det_id")
+);
+
+--
+-- TOC Entry ID 55 (OID 4743898)
+--
+-- Name: res_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "res_tab" (
+ "res_id" numeric(26,0) DEFAULT nextval('RES_SEQ'::text) NOT NULL,
+ "river_factor" character varying(40) NOT NULL,
+ "river_unit" character varying(255) NOT NULL,
+ "stp_factor" character varying(40) NOT NULL,
+ "stp_unit" character varying(255) NOT NULL,
+ "pec_initial" character varying(2000) NOT NULL,
+ "pec_catch" character varying(2000) NOT NULL,
+ "remark" character varying(2000),
+ Constraint "res_u1_idx" Primary Key ("res_id")
+);
+
+--
+-- TOC Entry ID 91 (OID 4743904)
+--
+-- Name: "res_procf" () Type: FUNCTION Owner: greater
+--
+
+CREATE FUNCTION "res_procf" () RETURNS TRIGGER AS '
+BEGIN
+ IF TG_OP=''UPDATE'' THEN
+ IF OLD.RES_ID != NEW.RES_ID THEN
+ UPDATE BIN_OBJ_TAB
+ SET OBJECT_ID = NEW.RES_ID
+ WHERE OBJECT_ID = OLD.RES_ID
+ AND OBJ_TYPE = ''RESULT''
+ AND ( OBJ_SUB_TYPE = ''DISCH''
+ OR OBJ_SUB_TYPE = ''STRETCH'');
+ END IF;
+ END IF;
+ IF TG_OP=''DELETE'' THEN
+ DELETE FROM BIN_OBJ_TAB
+ WHERE OBJECT_ID = OLD.RES_ID
+ AND OBJ_TYPE = ''RESULT''
+ AND ( OBJ_SUB_TYPE = ''DISCH''
+ OR OBJ_SUB_TYPE = ''STRETCH'');
+ END IF;
+ RETURN NEW;
+END;
+' LANGUAGE 'plpgsql';
+
+--
+-- TOC Entry ID 56 (OID 4743906)
+--
+-- Name: res_disch_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "res_disch_tab" (
+ "res_disch_id" numeric(26,0) DEFAULT nextval('RES_DISCH_SEQ'::text) NOT NULL,
+ "res_id" numeric(26,0) NOT NULL,
+ "disch_id" numeric(26,0) NOT NULL,
+ "field_id" character varying(30) NOT NULL,
+ "block_id" character varying(30) NOT NULL,
+ "block_recno" numeric(3,0) NOT NULL,
+ "value_rdt" character varying(255),
+ "dist_type" character varying(11),
+ "remark" character varying(2000),
+ Constraint "res_disch_u1_idx" Primary Key ("res_disch_id")
+);
+
+--
+-- TOC Entry ID 57 (OID 4743913)
+--
+-- Name: res_stretch_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "res_stretch_tab" (
+ "res_stretch_id" numeric(26,0) DEFAULT nextval('RES_STRETCH_SEQ'::text) NOT NULL,
+ "res_id" numeric(26,0) NOT NULL,
+ "stretch_id" numeric(26,0) NOT NULL,
+ "field_id" character varying(30) NOT NULL,
+ "block_id" character varying(30) NOT NULL,
+ "block_recno" numeric(3,0) NOT NULL,
+ "value_rst" character varying(255),
+ "dist_type" character varying(11),
+ "remark" character varying(2000),
+ Constraint "res_stretch_u1_idx" Primary Key ("res_stretch_id")
+);
+
+--
+-- TOC Entry ID 58 (OID 4743920)
+--
+-- Name: sess_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "sess_tab" (
+ "sess_id" numeric(26,0) DEFAULT nextval('SESS_SEQ'::text) NOT NULL,
+ "catch_id" numeric(26,0),
+ "subst_id" numeric(26,0),
+ "env_id" numeric(26,0),
+ "market_id" numeric(26,0),
+ "mod_id" numeric(26,0),
+ "res_id" numeric(26,0),
+ "name" character varying(255) NOT NULL,
+ "user_id" character varying(30) NOT NULL,
+ "cre_date" date NOT NULL,
+ "mod_date" date NOT NULL,
+ "status" character varying(30) NOT NULL,
+ "privs" numeric(1,0) NOT NULL,
+ "is_temp_sess" character varying(1) NOT NULL,
+ "temp_sess_src_id" numeric(26,0),
+ "temp_sess_db_sid" oid,
+ "remark" character varying(2000),
+ "sess_disch_id" numeric(26,0),
+ Constraint "sess_u1_idx" Primary Key ("sess_id")
+);
+
+--
+-- TOC Entry ID 59 (OID 4743930)
+--
+-- Name: sess_disch_tab Type: TABLE Owner: greater
+--
+
+CREATE TABLE "sess_disch_tab" (
+ "sess_disch_id" numeric(26,0) DEFAULT nextval('SESS_DISCH_SEQ'::text) NOT NULL,
+ "disch_id" numeric(26,0) NOT NULL,
+ "stretch_id" numeric(26,0) NOT NULL,
+ "catch_id" numeric(26,0) NOT NULL,
+ "disch_class_id" numeric(26,0) NOT NULL,
+ "name" character varying(255) NOT NULL,
+ "user_id" character varying(30) NOT NULL,
+ "cre_date" date NOT NULL,
+ "mod_date" date NOT NULL,
+ "status" character varying(30) NOT NULL,
+ "privs" numeric(1,0) NOT NULL,
+ "pop" character varying(40),
+ "dwf" character varying(40),
+ "flow_val" character varying(255),
+ "flow_dist" character varying(11),
+ "flow_dom" character varying(40),
+ "flow_nondom" character varying(40),
+ "flow_runoff" character varying(40),
+ "treated" character varying(40),
+ "r_wwtp" character varying(40),
+ "remark" character varying(2000),
+ Constraint "sess_disch_u1_idx" Primary Key ("catch_id", "disch_id", "sess_disch_id")
+);
+
+--
+-- TOC Entry ID 92 (OID 4743937)
+--
+-- Name: "instr" (character varying,character varying) Type: FUNCTION Owner: greater
+--
+
+CREATE FUNCTION "instr" (character varying,character varying) RETURNS integer AS '
+ DECLARE
+ pos integer;
+ BEGIN
+ pos:= instr($1,$2,1);
+ RETURN pos;
+ END;
+ ' LANGUAGE 'plpgsql';
+
+--
+-- TOC Entry ID 93 (OID 4743938)
+--
+-- Name: "instr" (character varying,character varying,integer) Type: FUNCTION Owner: greater
+--
+
+CREATE FUNCTION "instr" (character varying,character varying,integer) RETURNS integer AS '
+ DECLARE
+ string ALIAS FOR $1;
+ string_to_search ALIAS FOR $2;
+ beg_index ALIAS FOR $3;
+ pos integer NOT NULL DEFAULT 0;
+ temp_str VARCHAR;
+ beg INTEGER;
+ length INTEGER;
+ ss_length INTEGER;
+ BEGIN
+ IF beg_index > 0 THEN
+
+ temp_str := substring(string FROM beg_index);
+ pos := position(string_to_search IN temp_str);
+
+ IF pos = 0 THEN
+ RETURN 0;
+ ELSE
+ RETURN pos + beg_index - 1;
+ END IF;
+ ELSE
+ ss_length := char_length(string_to_search);
+ length := char_length(string);
+ beg := length + beg_index - ss_length + 2;
+
+ WHILE beg > 0 LOOP
+ temp_str := substring(string FROM beg FOR ss_length);
+ pos := position(string_to_search IN temp_str);
+
+ IF pos > 0 THEN
+ RETURN beg;
+ END IF;
+
+ beg := beg - 1;
+ END LOOP;
+ RETURN 0;
+ END IF;
+ END;
+ ' LANGUAGE 'plpgsql';
+
+--
+-- TOC Entry ID 94 (OID 4743939)
+--
+-- Name: "instr" (character varying,character varying,integer,integer) Type: FUNCTION Owner: greater
+--
+
+CREATE FUNCTION "instr" (character varying,character varying,integer,integer) RETURNS integer AS '
+ DECLARE
+ string ALIAS FOR $1;
+ string_to_search ALIAS FOR $2;
+ beg_index ALIAS FOR $3;
+ occur_index ALIAS FOR $4;
+ pos integer NOT NULL DEFAULT 0;
+ occur_number INTEGER NOT NULL DEFAULT 0;
+ temp_str VARCHAR;
+ beg INTEGER;
+ i INTEGER;
+ length INTEGER;
+ ss_length INTEGER;
+ BEGIN
+ IF beg_index > 0 THEN
+ beg := beg_index;
+ temp_str := substring(string FROM beg_index);
+
+ FOR i IN 1..occur_index LOOP
+ pos := position(string_to_search IN temp_str);
+
+ IF i = 1 THEN
+ beg := beg + pos - 1;
+ ELSE
+ beg := beg + pos;
+ END IF;
+
+ temp_str := substring(string FROM beg + 1);
+ END LOOP;
+
+ IF pos = 0 THEN
+ RETURN 0;
+ ELSE
+ RETURN beg;
+ END IF;
+ ELSE
+ ss_length := char_length(string_to_search);
+ length := char_length(string);
+ beg := length + beg_index - ss_length + 2;
+
+ WHILE beg > 0 LOOP
+ temp_str := substring(string FROM beg FOR ss_length);
+ pos := position(string_to_search IN temp_str);
+
+ IF pos > 0 THEN
+ occur_number := occur_number + 1;
+
+ IF occur_number = occur_index THEN
+ RETURN beg;
+ END IF;
+ END IF;
+
+ beg := beg - 1;
+ END LOOP;
+
+ RETURN 0;
+ END IF;
+ END;
+ ' LANGUAGE 'plpgsql';
+
+--
+-- TOC Entry ID 95 (OID 4743940)
+--
+-- Name: "dbms_init_seq" () Type: FUNCTION Owner: greater
+--
+
+CREATE FUNCTION "dbms_init_seq" () RETURNS integer AS '
+ DECLARE
+ v_diff NUMERIC(26); -- tmp Variables
+ v_curr NUMERIC(26);
+ v_max NUMERIC(26);
+ BEGIN -- get max id of table
+ -- and current seq value (csv)
+ SELECT coalesce(MAX(ENV_DET_ID),1) INTO v_max FROM ENV_DET_TAB;
+ SELECT nextval(''ENV_DET_SEQ'') INTO v_curr;
+
+ IF v_max >= v_curr THEN -- if csv lower than max id
+ v_diff := v_max - v_curr; -- set seq to first possible val
+ SELECT setval(''ENV_DET_SEQ'',v_diff + 1);
+ END IF;
+
+ SELECT coalesce(MAX(BIN_OBJ_ID),1) INTO v_max FROM BIN_OBJ_TAB;
+ SELECT nextval(''BIN_OBJ_SEQ'') INTO v_curr;
+
+ IF v_max >= v_curr THEN -- if csv lower than max id
+ v_diff := v_max - v_curr; -- set seq to first possible val
+ SELECT setval(''BIN_OBJ_SEQ'',v_diff + 1);
+ END IF;
+
+ SELECT coalesce(MAX(ENV_ID),1) INTO v_max FROM ENV_TAB;
+ SELECT nextval(''ENV_SEQ'') INTO v_curr;
+
+ IF v_max >= v_curr THEN -- if csv lower than max id
+ v_diff := v_max - v_curr; -- set seq to first possible val
+ SELECT setval(''ENV_SEQ'',v_diff + 1);
+ END IF;
+
+ SELECT coalesce(MAX(GROUP_ID),1) INTO v_max FROM GROUP_TAB;
+ SELECT nextval(''GROUP_SEQ'') INTO v_curr;
+
+ IF v_max >= v_curr THEN -- if csv lower than max id
+ v_diff := v_max - v_curr; -- set seq to first possible val
+ SELECT setval(''GROUP_SEQ'',v_diff + 1);
+ END IF;
+
+ SELECT coalesce(MAX(MARKET_ID),1) INTO v_max FROM MARKET_TAB;
+ SELECT nextval(''MARKET_SEQ'') INTO v_curr;
+
+ IF v_max >= v_curr THEN -- if csv lower than max id
+ v_diff := v_max - v_curr; -- set seq to first possible val
+ SELECT setval(''MARKET_SEQ'',v_diff + 1);
+ END IF;
+
+ SELECT coalesce(MAX(MOD_DET_ID),1) INTO v_max FROM MOD_DET_TAB;
+ SELECT nextval(''MOD_DET_SEQ'') INTO v_curr;
+
+ IF v_max >= v_curr THEN -- if csv lower than max id
+ v_diff := v_max - v_curr; -- set seq to first possible val
+ SELECT setval(''MOD_DET_SEQ'',v_diff + 1);
+ END IF;
+
+ SELECT coalesce(MAX(MOD_ID),1) INTO v_max FROM MOD_TAB;
+ SELECT nextval(''MOD_SEQ'') INTO v_curr;
+
+ IF v_max >= v_curr THEN -- if csv lower than max id
+ v_diff := v_max - v_curr; -- set seq to first possible val
+ SELECT setval(''MOD_SEQ'',v_diff + 1);
+ END IF;
+
+ SELECT coalesce(MAX(PHRASE_ID),1) INTO v_max FROM PHRASE_TAB;
+ SELECT nextval(''PHRASE_SEQ'') INTO v_curr;
+
+ IF v_max >= v_curr THEN -- if csv lower than max id
+ v_diff := v_max - v_curr; -- set seq to first possible val
+ SELECT setval(''PHRASE_SEQ'',v_diff + 1);
+ END IF;
+
+ SELECT coalesce(MAX(CATCH_ID),1) INTO v_max FROM CATCH_TAB;
+ SELECT nextval(''CATCH_SEQ'') INTO v_curr;
+
+ IF v_max >= v_curr THEN -- if csv lower than max id
+ v_diff := v_max - v_curr; -- set seq to first possible val
+ SELECT setval(''CATCH_SEQ'',v_diff + 1);
+ END IF;
+
+ SELECT coalesce(MAX(RES_DISCH_ID),1) INTO v_max FROM RES_DISCH_TAB;
+ SELECT nextval(''RES_DISCH_SEQ'') INTO v_curr;
+
+ IF v_max >= v_curr THEN -- if csv lower than max id
+ v_diff := v_max - v_curr; -- set seq to first possible val
+ SELECT setval(''RES_DISCH_SEQ'',v_diff + 1);
+ END IF;
+
+ SELECT coalesce(MAX(RES_ID),1) INTO v_max FROM RES_TAB;
+ SELECT nextval(''RES_SEQ'') INTO v_curr;
+
+ IF v_max >= v_curr THEN -- if csv lower than max id
+ v_diff := v_max - v_curr; -- set seq to first possible val
+ SELECT setval(''RES_SEQ'',v_diff + 1);
+ END IF;
+
+ SELECT coalesce(MAX(SUBST_DET_ID),1) INTO v_max FROM SUBST_DET_TAB;
+ SELECT nextval(''SUBST_DET_SEQ'') INTO v_curr;
+
+ IF v_max >= v_curr THEN -- if csv lower than max id
+ v_diff := v_max - v_curr; -- set seq to first possible val
+ SELECT setval(''SUBST_DET_SEQ'',v_diff + 1);
+ END IF;
+
+ SELECT coalesce(MAX(SUBST_ID),1) INTO v_max FROM SUBST_TAB;
+ SELECT nextval(''SUBST_SEQ'') INTO v_curr;
+
+ IF v_max >= v_curr THEN -- if csv lower than max id
+ v_diff := v_max - v_curr; -- set seq to first possible val
+ SELECT setval(''SUBST_SEQ'',v_diff + 1);
+ END IF;
+
+ SELECT coalesce(MAX(SESS_DISCH_ID),1) INTO v_max FROM SESS_DISCH_TAB;
+ SELECT nextval(''SESS_DISCH_SEQ'') INTO v_curr;
+
+ IF v_max >= v_curr THEN -- if csv lower than max id
+ v_diff := v_max - v_curr; -- set seq to first possible val
+ SELECT setval(''SESS_DISCH_SEQ'',v_diff + 1);
+ END IF;
+
+ SELECT coalesce(MAX(SESS_ID),1) INTO v_max FROM SESS_TAB;
+ SELECT nextval(''SESS_SEQ'') INTO v_curr;
+
+ IF v_max >= v_curr THEN -- if csv lower than max id
+ v_diff := v_max - v_curr; -- set seq to first possible val
+ SELECT setval(''SESS_SEQ'',v_diff + 1);
+ END IF;
+
+ SELECT coalesce(MAX(RES_STRETCH_ID),1) INTO v_max FROM RES_STRETCH_TAB;
+ SELECT nextval(''RES_STRETCH_SEQ'') INTO v_curr;
+
+ IF v_max >= v_curr THEN -- if csv lower than max id
+ v_diff := v_max - v_curr; -- set seq to first possible val
+ SELECT setval(''RES_STRETCH_SEQ'',v_diff + 1);
+ END IF;
+ RETURN 1;
+ END;
+' LANGUAGE 'plpgsql';
+
+--
+-- TOC Entry ID 96 (OID 4743941)
+--
+-- Name: "pg_decode" (numeric,numeric,numeric,numeric) Type: FUNCTION Owner: greater
+--
+
+CREATE FUNCTION "pg_decode" (numeric,numeric,numeric,numeric) RETURNS numeric AS '
+DECLARE
+ output_value numeric;
+BEGIN
+ SELECT CASE WHEN $1=$2 THEN $3
+ ELSE $4
+ END
+ INTO output_value;
+ return output_value;
+END;
+' LANGUAGE 'plpgsql';
+
+
More information about the Greater-commits
mailing list