diff --git a/doc/specs.md b/doc/specs.md index e1209f531fe629248f40e588b95a3526b8bae15c..2fbd59bf03a465ac85175b2ea3b7c40cdb69a52d 100644 --- a/doc/specs.md +++ b/doc/specs.md @@ -99,7 +99,7 @@ Le formulaire est disposé de la sorte : Général * Nom : texte avec espaces, accents etc. à afficher sur l'interface * Source de donnée : non modifiable -* wms_id : (non visible) texte sans accents ni espaces généré automatiquement [Nom]_[id] +* flux_id : (non visible) texte sans accents ni espaces généré automatiquement [Nom]_[id] * Source : liste déroulante avec possibilité d'ajout * Interrogeable (oui/non) @@ -118,7 +118,6 @@ Fonctionnalités d'interrogation * Mode de recherche * Disponible en sélection cartographique (Oui/Non) * Buffer de sélection - * Champ à afficher pour la sélection multiple * Disponible en tableau attributaire (Oui/Non) * Liste des clés/valeurs à afficher sur le tableau attributaire * Disponible en saisie @@ -129,6 +128,7 @@ Fonctionnalités d'interrogation * Édition multiple (Oui/Non) * Clonnable (Oui/Non) * Édition automatique (Oui/Non) +* Champ à afficher pour la sélection multiple #### 2.2.2. Section symbologie @@ -143,10 +143,12 @@ Les champs sont les suivants * Couleur du texte * Épaisseur de contour : 0 par défaut * Couleur de contour + * Opacité * Géométrie (Oui/Non) * Épaisseur/Taille * Couleur de fond * Couleur de contour + * Opacité * Icones ???? diff --git a/mcd/vmap_2019.dbm b/mcd/vmap_2019.dbm new file mode 100644 index 0000000000000000000000000000000000000000..0b4a07a26be160423eea72469e9a56c5ffc4eb82 --- /dev/null +++ b/mcd/vmap_2019.dbm @@ -0,0 +1,6184 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +CAUTION: Do not modify this file unless you know what you are doing. + Unexpected results may occur if the code is changed deliberately. +--> +<dbmodel pgmodeler-ver="0.9.2" last-position="3392,0" last-zoom="1" max-obj-count="288" + default-schema="public" default-owner="postgres"> +<role name="admin" + createrole="true" + inherit="true" + login="true" + encrypted="true" + password="********"> +</role> + +<role name="u_vitis" + createrole="true" + inherit="true" + login="true" + encrypted="true" + password="********"> + <roles names="postgres" role-type="member" /> +</role> + +<role name="u_scheduler" + inherit="true" + login="true" + encrypted="true" + password="********"> +</role> + +<role name="gtf_scheduler" + inherit="true" + encrypted="true" + password="********"> + <roles names="u_scheduler" role-type="member" /> +</role> + +<role name="armand" + createrole="true" + inherit="true" + login="true" + encrypted="true" + password="********"> +</role> + +<role name="test" + inherit="true" + login="true" + encrypted="true" + password="********"> +</role> + +<role name="extraction_admin" + inherit="true" + encrypted="true" + password="********"> + <roles names="armand" role-type="member" /> +</role> + +<role name="eclairage_user" + inherit="true" + encrypted="true" + password="********"> + <roles names="armand" role-type="member" /> +</role> + +<role name="eclairage_admin" + inherit="true" + encrypted="true" + password="********"> + <roles names="armand" role-type="member" /> +</role> + +<role name="extraction" + inherit="true" + login="true" + encrypted="true" + password="********"> +</role> + +<role name="test_user" + inherit="true" + login="true" + encrypted="true" + password="********"> +</role> + +<role name="test_user2" + inherit="true" + login="true" + encrypted="true" + password="********"> +</role> + +<role name="test_user3" + inherit="true" + login="true" + encrypted="true" + password="********"> +</role> + +<role name="vitis_domain_10" + inherit="true" + encrypted="true" + password="********"> +</role> + +<role name="vmap_admin" + inherit="true" + encrypted="true" + password="********"> + <roles names="admin" role-type="member" /> +</role> + +<role name="vm4ms_admin" + inherit="true" + encrypted="true" + password="********"> + <roles names="admin" role-type="member" /> +</role> + +<role name="u_vmap_public_data" + inherit="true" + login="true" + encrypted="true" + password="********"> +</role> + +<role name="vmap_cadastre_user" + inherit="true" + encrypted="true" + password="********"> + <roles names="admin" role-type="member" /> +</role> + +<role name="vmap_cadastre_light_user" + inherit="true" + encrypted="true" + password="********"> +</role> + +<role name="vmap_cadastre_medium_user" + inherit="true" + encrypted="true" + password="********"> +</role> + +<role name="anc_admin" + inherit="true" + encrypted="true" + password="********"> +</role> + +<role name="anc_user" + inherit="true" + encrypted="true" + password="********"> +</role> + +<role name="vmap_anomalies_admin" + inherit="true" + encrypted="true" + password="********"> + <roles names="admin" role-type="member" /> +</role> + +<role name="vmap_anomalies_user" + inherit="true" + encrypted="true" + password="********"> + <roles names="admin" role-type="member" /> +</role> + +<role name="vmap_anomalies_light_user" + inherit="true" + encrypted="true" + password="********"> + <roles names="admin" role-type="member" /> +</role> + +<role name="vitis_admin" + createrole="true" + inherit="true" + encrypted="true" + password="********"> + <roles names="admin,u_vitis,armand" role-type="member" /> +</role> + +<role name="vitis_shared" + inherit="true" + encrypted="true" + password="********"> + <roles names="armand" role-type="member" /> +</role> + +<role name="gtf_author" + inherit="true" + encrypted="true" + password="********"> + <roles names="armand" role-type="member" /> +</role> + +<role name="gtf_admin" + createrole="true" + inherit="true" + encrypted="true" + password="********"> + <roles names="armand" role-type="member" /> +</role> + +<role name="extraction_user" + inherit="true" + encrypted="true" + password="********"> + <roles names="armand,extraction" role-type="member" /> +</role> + +<role name="vmap_user" + inherit="true" + encrypted="true" + password="********"> + <roles names="admin,vmap_admin" role-type="member" /> +</role> + +<role name="vmap_public_data_reader" + inherit="true" + encrypted="true" + password="********"> + <roles names="vmap_user,u_vmap_public_data" role-type="member" /> +</role> + +<role name="vitis_user" + inherit="true" + encrypted="true" + password="********"> + <roles names="admin,u_vitis,vitis_admin,armand,extraction,test_user,test_user2,test_user3" role-type="member" /> +</role> + +<database name="vmap" encoding="UTF8" lc-collate="C" lc-ctype="fr_FR.UTF-8" is-template="false" allow-conns="true"> + <role name="u_vitis"/> + <tablespace name="pg_default"/> +</database> + +<schema name="public" layer="0" rect-visible="true" fill-color="#e1e1e1" sql-disabled="true"> +</schema> + +<schema name="s_vitis" layer="0" rect-visible="true" fill-color="#5f6d17"> + <role name="u_vitis"/> +</schema> + +<function name="create_role_if_not_exists" + window-func="false" + returns-setof="false" + behavior-type="CALLED ON NULL INPUT" + function-type="VOLATILE" + security-type="SECURITY INVOKER" + execution-cost="100" + row-amount="0"> + <schema name="s_vitis"/> + <role name="postgres"/> + <language name="plpgsql" sql-disabled="true"/> + <return-type> + <type name="text" length="1"/> + </return-type> + <parameter name="rolename"> + <type name="name" length="0"/> + </parameter> + <parameter name="rights"> + <type name="text" length="0"/> + </parameter> + <definition><![CDATA[ BEGIN IF NOT EXISTS (SELECT * FROM pg_roles WHERE rolname = rolename) THEN EXECUTE 'CREATE ROLE ' || rolename|| ' ' || rights; RETURN 'CREATE ROLE'; ELSE RETURN format('ROLE ''%I'' ALREADY EXISTS', rolename); END IF; END; ]]></definition> +</function> + +<function name="f_add_col" + window-func="false" + returns-setof="false" + behavior-type="CALLED ON NULL INPUT" + function-type="VOLATILE" + security-type="SECURITY INVOKER" + execution-cost="100" + row-amount="0"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <language name="plpgsql" sql-disabled="true"/> + <return-type> + <type name="boolean" length="1"/> + </return-type> + <parameter name="_tbl" in="true"> + <type name="regclass" length="0"/> + </parameter> + <parameter name="_col" in="true"> + <type name="text" length="0"/> + </parameter> + <parameter name="_type" in="true"> + <type name="regtype" length="0"/> + </parameter> + <parameter name="success" out="true"> + <type name="boolean" length="0"/> + </parameter> + <definition><![CDATA[ BEGIN IF EXISTS (SELECT 1 FROM pg_attribute WHERE attrelid = _tbl AND attname = _col AND NOT attisdropped) THEN success := FALSE; ELSE EXECUTE 'ALTER TABLE ' || _tbl || ' ADD COLUMN ' || quote_ident(_col) || ' ' || _type; success := TRUE; END IF; END ]]></definition> +</function> + +<function name="f_add_unique_index" + window-func="false" + returns-setof="false" + behavior-type="CALLED ON NULL INPUT" + function-type="VOLATILE" + security-type="SECURITY INVOKER" + execution-cost="100" + row-amount="0"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <language name="plpgsql" sql-disabled="true"/> + <return-type> + <type name="boolean" length="1"/> + </return-type> + <parameter name="_schema" in="true"> + <type name="text" length="0"/> + </parameter> + <parameter name="_table" in="true"> + <type name="text" length="0"/> + </parameter> + <parameter name="_col" in="true"> + <type name="text" length="0"/> + </parameter> + <parameter name="_name" in="true"> + <type name="text" length="0"/> + </parameter> + <parameter name="success" out="true"> + <type name="boolean" length="0"/> + </parameter> + <definition><![CDATA[ BEGIN IF EXISTS (SELECT 1 FROM pg_class c JOIN pg_namespace n ON n.oid = c.relnamespace WHERE c.relname = _name AND n.nspname = _schema ) THEN success := FALSE; ELSE EXECUTE ' CREATE UNIQUE INDEX ' || _name || ' ON ' || _schema || '.' || _table || ' (lower(' || _col || '));' ; success := TRUE; END IF; END ]]></definition> +</function> + +<function name="s2hms" + window-func="false" + returns-setof="false" + behavior-type="CALLED ON NULL INPUT" + function-type="VOLATILE" + security-type="SECURITY INVOKER" + execution-cost="100" + row-amount="0"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <language name="plpgsql" sql-disabled="true"/> + <return-type> + <type name="character varying" length="1"/> + </return-type> + <parameter name="_param1"> + <type name="integer" length="0"/> + </parameter> + <definition><![CDATA[ declare nDureeSeconde ALIAS for $1; sDureeChaine varchar(10) ; nHeures int ; nMinutes int ; nSecondes int ; nHeures2 varchar(2) ; nMinutes2 varchar(2) ; nSecondes2 varchar(2) ; BEGIN nHeures := nDureeSeconde / 3600 ; nMinutes := (nDureeSeconde %% 3600) / 60 ; nSecondes := nDureeSeconde %% 60 ; if nHeures < 10 then nHeures2:= 0 || cast(nHeures as text) ; else nHeures2:= cast(nHeures as text) ; end if; if nMinutes < 10 then nMinutes2:= 0 || cast(nMinutes as text) ; else nMinutes2:= cast(nMinutes as text) ; end if; if nSecondes < 10 then nSecondes2:= 0 || cast(nSecondes as text) ; else nSecondes2:= cast(nSecondes as text) ; end if; sDureeChaine := nHeures2 || ':' || nMinutes2 || ':' || nSecondes2; RETURN sDureeChaine; END; ]]></definition> +</function> + +<sequence name="seq_common" cycle="false" start="1" increment="1" min-value="1" max-value="9223372036854775807" cache="1"> + <schema name="s_vitis"/> + <role name="u_vitis"/> +</sequence> + +<table name="vm_translation" layer="0" collapse-mode="2" max-obj-count="3"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="400" y="60"/> + <column name="translation_id" not-null="true"> + <type name="character varying" length="60"/> + </column> + <column name="lang" not-null="true"> + <type name="character varying" length="2"/> + </column> + <column name="translation"> + <type name="text" length="0"/> + </column> + <constraint name="pk_vm_translation" type="pk-constr" table="s_vitis.vm_translation"> + <columns names="translation_id,lang" ref-type="src-columns"/> + </constraint> +</table> + +<table name="group" layer="0" collapse-mode="2" max-obj-count="2"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <comment><![CDATA[User group having the same access rights to workspaces and inboxes]]></comment> + <position x="740" y="60"/> + <column name="group_id" not-null="true" sequence="s_vitis.seq_common"> + <type name="integer" length="0"/> + </column> + <column name="name"> + <type name="character varying" length="50"/> + </column> + <constraint name="pk_group_id" type="pk-constr" table="s_vitis."group""> + <columns names="group_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="user_group" layer="0" collapse-mode="2" max-obj-count="3"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="1020" y="60"/> + <column name="user_id"> + <type name="integer" length="0"/> + </column> + <column name="group_id"> + <type name="integer" length="0"/> + </column> + <constraint name="pk_user_group" type="uq-constr" table="s_vitis.user_group"> + <columns names="group_id,user_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="user" layer="0" collapse-mode="2" max-obj-count="20"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="60" y="60"/> + <column name="user_id" not-null="true" sequence="s_vitis.seq_common"> + <type name="integer" length="0"/> + </column> + <column name="login"> + <type name="character varying" length="50"/> + </column> + <column name="name"> + <type name="character varying" length="80"/> + </column> + <column name="ip_constraint"> + <type name="character varying" length="255"/> + </column> + <column name="email"> + <type name="character varying" length="100"/> + </column> + <column name="company"> + <type name="character varying" length="80"/> + </column> + <column name="department"> + <type name="character varying" length="80"/> + </column> + <column name="last_connection"> + <type name="timestamp with time zone" length="0" with-timezone="true"/> + </column> + <column name="domain_id"> + <type name="integer" length="0"/> + </column> + <column name="restriction"> + <type name="text" length="0"/> + </column> + <column name="dataencrypt" default-value="false"> + <type name="boolean" length="0"/> + </column> + <column name="secretkey"> + <type name="character varying" length="100"/> + </column> + <column name="billinggroup_id"> + <type name="integer" length="0"/> + </column> + <column name="timezone_id" not-null="true" default-value="'Europe/Paris'"> + <type name="character varying" length="40"/> + </column> + <column name="formatdate_id" default-value="'YYYY-MM-DDT'"> + <type name="character varying" length="11"/> + </column> + <column name="phone"> + <type name="character varying" length="50"/> + </column> + <column name="acceptnotification" default-value="false"> + <type name="boolean" length="0"/> + </column> + <constraint name="pk_user_id" type="pk-constr" table="s_vitis."user""> + <columns names="user_id" ref-type="src-columns"/> + </constraint> + <constraint name="uk_user_login" type="uq-constr" table="s_vitis."user""> + <columns names="login" ref-type="src-columns"/> + </constraint> + <constraint name="check_u_vitis" type="ck-constr" table="s_vitis."user""> + <expression><![CDATA[((name)::text <> 'u_vitis'::text)]]></expression> + </constraint> + <constraint name="check_postgres" type="ck-constr" table="s_vitis."user""> + <expression><![CDATA[((name)::text <> 'postgres'::text)]]></expression> + </constraint> +</table> + +<table name="domain" layer="0" collapse-mode="2" max-obj-count="18"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <comment><![CDATA[Ms Active Directory domain]]></comment> + <position x="1300" y="60"/> + <column name="domain_id" not-null="true"> + <type name="integer" length="0"/> + </column> + <column name="domain"> + <type name="character varying" length="50"/> + </column> + <column name="alias"> + <type name="character varying" length="50"/> + </column> + <column name="server"> + <type name="character varying" length="100"/> + </column> + <column name="port"> + <type name="integer" length="0"/> + </column> + <column name="dn_search_user"> + <type name="character varying" length="255"/> + <comment><![CDATA[Distinguished Name for users root node ]]></comment> + </column> + <column name="filter_user"> + <type name="character varying" length="100"/> + </column> + <column name="dn_search_group"> + <type name="character varying" length="255"/> + <comment><![CDATA[Distinguished Name for groups root node ]]></comment> + </column> + <column name="filter_group"> + <type name="character varying" length="100"/> + </column> + <column name="login"> + <type name="character varying" length="50"/> + </column> + <column name="password"> + <type name="character varying" length="255"/> + </column> + <column name="type"> + <type name="character varying" length="10"/> + </column> + <column name="verify_rights" default-value="true"> + <type name="boolean" length="0"/> + </column> + <column name="checkcert" default-value="true"> + <type name="boolean" length="0"/> + </column> + <column name="encrypttype"> + <type name="character varying" length="10"/> + </column> + <constraint name="pk_domain_id" type="pk-constr" table="s_vitis.domain"> + <columns names="domain_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="privileges" layer="0" collapse-mode="2" max-obj-count="2"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="60" y="540"/> + <column name="rolname" not-null="true"> + <type name="character varying" length="100"/> + </column> + <column name="description"> + <type name="text" length="0"/> + </column> + <constraint name="pk_privileges" type="pk-constr" table="s_vitis.privileges"> + <columns names="rolname" ref-type="src-columns"/> + </constraint> +</table> + +<sequence name="seq_translation" cycle="false" start="1" increment="1" min-value="1" max-value="9223372036854775807" cache="1"> + <schema name="s_vitis"/> + <role name="u_vitis"/> +</sequence> + +<sequence name="seq_vm" cycle="false" start="1" increment="1" min-value="1" max-value="9223372036854775807" cache="1"> + <schema name="s_vitis"/> + <role name="u_vitis"/> +</sequence> + +<view name="v_group" layer="0" collapse-mode="2" max-obj-count="3"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="60" y="1520"/> + <reference> + <expression><![CDATA[ SELECT + CASE + WHEN (user_group.nb_members IS NULL) THEN (0)::bigint + ELSE user_group.nb_members + END AS nb_members, + "group".group_id, + "group".name + FROM (s_vitis."group" + LEFT JOIN ( SELECT count(*) AS nb_members, + user_group_1.group_id + FROM s_vitis.user_group user_group_1 + GROUP BY user_group_1.group_id) user_group ON (("group".group_id = user_group.group_id)));]]></expression> + <column name="nb_members"> + <type name="bigint" length="0"/> + </column> + <column name="group_id"> + <type name="integer" length="0"/> + </column> + <column name="name"> + <type name="character varying" length="50"/> + </column> + <reftable name="s_vitis."group""/> + <reftable name="s_vitis.user_group"/> + </reference> +</view> + +<relationship name="rel_v_group_group" type="reltv" layer="0" + custom-color="#95c96f" + src-table="s_vitis.v_group" + dst-table="s_vitis."group"" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_group_user_group" type="reltv" layer="0" + custom-color="#c4da46" + src-table="s_vitis.v_group" + dst-table="s_vitis.user_group" + src-required="false" dst-required="false"/> + +<table name="vm_application_module" layer="0" collapse-mode="2" max-obj-count="3"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="380" y="540"/> + <column name="application_name" not-null="true"> + <type name="character varying" length="100"/> + </column> + <column name="module_name" not-null="true"> + <type name="character varying" length="50"/> + </column> + <constraint name="fk_application_module_name" type="pk-constr" table="s_vitis.vm_application_module"> + <columns names="application_name,module_name" ref-type="src-columns"/> + </constraint> +</table> + +<table name="vm_mode" layer="0" collapse-mode="2" max-obj-count="2"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="760" y="540"/> + <column name="mode_id" not-null="true"> + <type name="character varying" length="100"/> + </column> + <column name="module_id"> + <type name="character varying" length="50"/> + </column> + <constraint name="pk_vm_mode" type="pk-constr" table="s_vitis.vm_mode"> + <columns names="mode_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="vm_mode_rolname" layer="0" collapse-mode="2" max-obj-count="3"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="1080" y="540"/> + <column name="index"> + <type name="integer" length="0"/> + </column> + <column name="mode_id" not-null="true"> + <type name="character varying" length="100"/> + </column> + <column name="rolname" not-null="true"> + <type name="character varying" length="100"/> + </column> + <constraint name="pk_vm_mode_rolname" type="pk-constr" table="s_vitis.vm_mode_rolname"> + <columns names="rolname,mode_id" ref-type="src-columns"/> + </constraint> +</table> + +<view name="v_mode" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="380" y="1520"/> + <reference> + <expression><![CDATA[ SELECT DISTINCT vm_mode.mode_id, + vm_application_module.application_name, + vm_mode_rolname.index, + vm_application_module.module_name + FROM ((((s_vitis.vm_mode + LEFT JOIN s_vitis.vm_application_module ON (((vm_mode.module_id)::text = (vm_application_module.module_name)::text))) + LEFT JOIN s_vitis.vm_mode_rolname ON (((vm_mode.mode_id)::text = (vm_mode_rolname.mode_id)::text))) + JOIN pg_group ON ((pg_group.groname = (vm_mode_rolname.rolname)::name))) + JOIN pg_user ON (((pg_user.usesysid = ANY (pg_group.grolist)) AND ((pg_user.usename)::text = ("current_user"())::text))));]]></expression> + <column name="mode_id"> + <type name="character varying" length="100"/> + </column> + <column name="application_name"> + <type name="character varying" length="100"/> + </column> + <column name="index"> + <type name="integer" length="0"/> + </column> + <column name="module_name"> + <type name="character varying" length="50"/> + </column> + <reftable name="s_vitis.vm_application_module"/> + <reftable name="s_vitis.vm_mode"/> + <reftable name="s_vitis.vm_mode_rolname"/> + </reference> +</view> + +<relationship name="rel_v_mode_vm_application_module" type="reltv" layer="0" + custom-color="#bf4838" + src-table="s_vitis.v_mode" + dst-table="s_vitis.vm_application_module" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_mode_vm_mode" type="reltv" layer="0" + custom-color="#2e5b68" + src-table="s_vitis.v_mode" + dst-table="s_vitis.vm_mode" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_mode_vm_mode_rolname" type="reltv" layer="0" + custom-color="#e03619" + src-table="s_vitis.v_mode" + dst-table="s_vitis.vm_mode_rolname" + src-required="false" dst-required="false"/> + +<view name="v_ra_members_group" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="680" y="1520"/> + <reference> + <expression><![CDATA[ SELECT count(*) AS nb_members, + user_group.group_id + FROM s_vitis.user_group + GROUP BY user_group.group_id;]]></expression> + <column name="nb_members"> + <type name="bigint" length="0"/> + </column> + <column name="group_id"> + <type name="integer" length="0"/> + </column> + <reftable name="s_vitis.user_group"/> + </reference> +</view> + +<relationship name="rel_v_ra_members_group_user_group" type="reltv" layer="0" + custom-color="#eb3a4a" + src-table="s_vitis.v_ra_members_group" + dst-table="s_vitis.user_group" + src-required="false" dst-required="false"/> + +<table name="vm_section" layer="0" collapse-mode="2" max-obj-count="10"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="1400" y="540"/> + <column name="section_id" not-null="true" sequence="s_vitis.seq_vm"> + <type name="integer" length="0"/> + </column> + <column name="label_id"> + <type name="character varying" length="60"/> + </column> + <column name="name"> + <type name="character varying" length="50"/> + </column> + <column name="index"> + <type name="integer" length="0"/> + </column> + <column name="event"> + <type name="text" length="0"/> + </column> + <column name="tab_id"> + <type name="integer" length="0"/> + </column> + <column name="template"> + <type name="character varying" length="100"/> + </column> + <column name="ressource_id"> + <type name="character varying" length="100"/> + </column> + <column name="module"> + <type name="character varying" length="100"/> + </column> + <constraint name="pk_vm_section" type="pk-constr" table="s_vitis.vm_section"> + <columns names="section_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="vm_tab" layer="0" collapse-mode="2" max-obj-count="13"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="60" y="820"/> + <column name="tab_id" not-null="true" sequence="s_vitis.seq_vm"> + <type name="integer" length="0"/> + </column> + <column name="event" not-null="true"> + <type name="character varying" length="255"/> + </column> + <column name="index" not-null="true" default-value="0"> + <type name="integer" length="0"/> + </column> + <column name="mode_id" not-null="true"> + <type name="character varying" length="100"/> + </column> + <column name="label_id" not-null="true"> + <type name="character varying" length="60"/> + </column> + <column name="ressource_id"> + <type name="character varying" length="100"/> + </column> + <column name="edit_column"> + <type name="character varying" length="255"/> + </column> + <column name="show_column"> + <type name="character varying" length="255"/> + </column> + <column name="sorted_by"> + <type name="character varying" length="100"/> + </column> + <column name="sorted_dir" default-value="'ASC'"> + <type name="character varying" length="4"/> + </column> + <column name="name"> + <type name="character varying" length="100"/> + </column> + <constraint name="pk_tab_id" type="pk-constr" table="s_vitis.vm_tab"> + <columns names="tab_id" ref-type="src-columns"/> + </constraint> + <constraint name="uk_vm_tab_name" type="uq-constr" table="s_vitis.vm_tab"> + <columns names="name" ref-type="src-columns"/> + </constraint> +</table> + +<view name="v_section" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="900" y="1520"/> + <reference> + <expression><![CDATA[ SELECT vm_section.tab_id, + vm_section.section_id, + vm_section.event, + vm_section.index, + vm_translation.translation AS label, + vm_translation.lang, + vm_section.name, + vm_section.template, + vm_section.ressource_id, + vm_section.module AS module_name, + vm_tab.name AS tab_name, + vm_tab.mode_id + FROM ((s_vitis.vm_section + LEFT JOIN s_vitis.vm_translation ON (((vm_section.label_id)::text = (vm_translation.translation_id)::text))) + LEFT JOIN s_vitis.vm_tab ON (((vm_section.tab_id)::text = (vm_tab.tab_id)::text)));]]></expression> + <column name="tab_id"> + <type name="integer" length="0"/> + </column> + <column name="section_id"> + <type name="integer" length="0"/> + </column> + <column name="event"> + <type name="text" length="0"/> + </column> + <column name="index"> + <type name="integer" length="0"/> + </column> + <column name="label"> + <type name="text" length="0"/> + </column> + <column name="lang"> + <type name="character varying" length="2"/> + </column> + <column name="name"> + <type name="character varying" length="50"/> + </column> + <column name="template"> + <type name="character varying" length="100"/> + </column> + <column name="ressource_id"> + <type name="character varying" length="100"/> + </column> + <column name="module_name"> + <type name="character varying" length="100"/> + </column> + <column name="tab_name"> + <type name="character varying" length="100"/> + </column> + <column name="mode_id"> + <type name="character varying" length="100"/> + </column> + <reftable name="s_vitis.vm_translation"/> + <reftable name="s_vitis.vm_section"/> + <reftable name="s_vitis.vm_tab"/> + </reference> +</view> + +<relationship name="rel_v_section_vm_translation" type="reltv" layer="0" + custom-color="#789785" + src-table="s_vitis.v_section" + dst-table="s_vitis.vm_translation" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_section_vm_section" type="reltv" layer="0" + custom-color="#9b883e" + src-table="s_vitis.v_section" + dst-table="s_vitis.vm_section" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_section_vm_tab" type="reltv" layer="0" + custom-color="#537d73" + src-table="s_vitis.v_section" + dst-table="s_vitis.vm_tab" + src-required="false" dst-required="false"/> + +<view name="v_tab" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="1200" y="1520"/> + <reference> + <expression><![CDATA[ SELECT vm_tab.tab_id, + vm_tab.event, + vm_tab.index, + vm_tab.mode_id, + vm_translation.translation AS label, + vm_translation.lang, + vm_tab.ressource_id, + vm_tab.edit_column, + vm_tab.show_column, + vm_tab.sorted_by, + vm_tab.sorted_dir, + vm_tab.name + FROM (s_vitis.vm_tab + LEFT JOIN s_vitis.vm_translation ON (((vm_tab.label_id)::text = (vm_translation.translation_id)::text)));]]></expression> + <column name="tab_id"> + <type name="integer" length="0"/> + </column> + <column name="event"> + <type name="character varying" length="255"/> + </column> + <column name="index"> + <type name="integer" length="0"/> + </column> + <column name="mode_id"> + <type name="character varying" length="100"/> + </column> + <column name="label"> + <type name="text" length="0"/> + </column> + <column name="lang"> + <type name="character varying" length="2"/> + </column> + <column name="ressource_id"> + <type name="character varying" length="100"/> + </column> + <column name="edit_column"> + <type name="character varying" length="255"/> + </column> + <column name="show_column"> + <type name="character varying" length="255"/> + </column> + <column name="sorted_by"> + <type name="character varying" length="100"/> + </column> + <column name="sorted_dir"> + <type name="character varying" length="4"/> + </column> + <column name="name"> + <type name="character varying" length="100"/> + </column> + <reftable name="s_vitis.vm_translation"/> + <reftable name="s_vitis.vm_tab"/> + </reference> +</view> + +<relationship name="rel_v_tab_vm_translation" type="reltv" layer="0" + custom-color="#bd8f9b" + src-table="s_vitis.v_tab" + dst-table="s_vitis.vm_translation" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_tab_vm_tab" type="reltv" layer="0" + custom-color="#3621c8" + src-table="s_vitis.v_tab" + dst-table="s_vitis.vm_tab" + src-required="false" dst-required="false"/> + +<view name="v_user_group" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="60" y="1780"/> + <reference> + <expression><![CDATA[ SELECT user_group.group_id, + user_group.user_id + FROM ((s_vitis.user_group + LEFT JOIN s_vitis."user" ON ((user_group.user_id = "user".user_id))) + LEFT JOIN s_vitis."group" ON (("group".group_id = user_group.group_id))) + WHERE ((("user".login)::name)::text = ("current_user"())::text);]]></expression> + <column name="group_id"> + <type name="integer" length="0"/> + </column> + <column name="user_id"> + <type name="integer" length="0"/> + </column> + <reftable name="s_vitis."user""/> + <reftable name="s_vitis."group""/> + <reftable name="s_vitis.user_group"/> + </reference> +</view> + +<relationship name="rel_v_user_group_user" type="reltv" layer="0" + custom-color="#628a83" + src-table="s_vitis.v_user_group" + dst-table="s_vitis."user"" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_user_group_group" type="reltv" layer="0" + custom-color="#f35067" + src-table="s_vitis.v_user_group" + dst-table="s_vitis."group"" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_user_group_user_group" type="reltv" layer="0" + custom-color="#6c7bf1" + src-table="s_vitis.v_user_group" + dst-table="s_vitis.user_group" + src-required="false" dst-required="false"/> + +<table name="version" layer="0" collapse-mode="2" max-obj-count="4"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="400" y="820"/> + <column name="version" not-null="true"> + <type name="character varying" length="100"/> + </column> + <column name="build" not-null="true"> + <type name="integer" length="0"/> + </column> + <column name="date" not-null="true"> + <type name="timestamp with time zone" length="0" with-timezone="true"/> + </column> + <column name="active"> + <type name="boolean" length="0"/> + </column> + <constraint name="pk_version" type="pk-constr" table="s_vitis.version"> + <columns names="version" ref-type="src-columns"/> + </constraint> +</table> + +<table name="vm_application" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="720" y="820"/> + <column name="name" not-null="true"> + <type name="character varying" length="100"/> + </column> + <constraint name="pk_name" type="pk-constr" table="s_vitis.vm_application"> + <columns names="name" ref-type="src-columns"/> + </constraint> +</table> + +<table name="vm_module" layer="0" collapse-mode="2" max-obj-count="6"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="1020" y="820"/> + <column name="module_id" not-null="true"> + <type name="character varying" length="50"/> + </column> + <column name="description"> + <type name="text" length="0"/> + </column> + <column name="version" not-null="true"> + <type name="character varying" length="50"/> + </column> + <column name="label"> + <type name="character varying" length="50"/> + </column> + <column name="type"> + <type name="character varying" length="3"/> + </column> + <constraint name="pk_vm_module" type="pk-constr" table="s_vitis.vm_module"> + <columns names="module_id" ref-type="src-columns"/> + </constraint> + <constraint name="uk_label" type="uq-constr" table="s_vitis.vm_module"> + <columns names="label" ref-type="src-columns"/> + </constraint> +</table> + +<table name="vm_string" layer="0" collapse-mode="2" max-obj-count="2"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="1340" y="820"/> + <column name="string"> + <type name="text" length="0"/> + </column> + <column name="string_id" not-null="true"> + <type name="character varying" length="60"/> + </column> + <constraint name="pk_string_id" type="pk-constr" table="s_vitis.vm_string"> + <columns names="string_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="vm_table_button" layer="0" collapse-mode="2" max-obj-count="7"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="60" y="1140"/> + <column name="button_class"> + <type name="character varying" length="50"/> + </column> + <column name="table_button_id" not-null="true" sequence="s_vitis.seq_vm"> + <type name="integer" length="0"/> + </column> + <column name="event" not-null="true"> + <type name="character varying" length="100"/> + </column> + <column name="label_id"> + <type name="character varying" length="60"/> + </column> + <column name="ressource_id"> + <type name="character varying" length="100"/> + </column> + <column name="tab_id"> + <type name="integer" length="0"/> + </column> + <constraint name="pk_table_button_id" type="pk-constr" table="s_vitis.vm_table_button"> + <columns names="table_button_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="vm_table_field" layer="0" collapse-mode="2" max-obj-count="14"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="400" y="1140"/> + <column name="table_field_id" not-null="true" sequence="s_vitis.seq_vm"> + <type name="integer" length="0"/> + </column> + <column name="name" not-null="true"> + <type name="character varying" length="200"/> + </column> + <column name="sortable" default-value="true"> + <type name="boolean" length="0"/> + </column> + <column name="resizeable" default-value="false"> + <type name="boolean" length="0"/> + </column> + <column name="index"> + <type name="integer" length="0"/> + </column> + <column name="width"> + <type name="integer" length="0"/> + </column> + <column name="align" not-null="true" default-value="'left'"> + <type name="character varying" length="6"/> + </column> + <column name="label_id"> + <type name="character varying" length="60"/> + </column> + <column name="module"> + <type name="character varying" length="50"/> + </column> + <column name="ressource_id"> + <type name="character varying" length="100"/> + </column> + <column name="template"> + <type name="character varying" length="255"/> + </column> + <column name="tab_id"> + <type name="integer" length="0"/> + </column> + <constraint name="pk_table_field_id" type="pk-constr" table="s_vitis.vm_table_field"> + <columns names="table_field_id" ref-type="src-columns"/> + </constraint> +</table> + +<index name="fki_login" table="s_vitis."user"" + concurrent="false" unique="false" fast-update="false" buffering="false" + index-type="btree" factor="90"> + <idxelement use-sorting="false"> + <column name="login"/> + </idxelement> +</index> + +<index name="fki_user_restriction" table="s_vitis."user"" + concurrent="false" unique="false" fast-update="false" buffering="false" + index-type="btree" factor="90"> + <idxelement use-sorting="false"> + <column name="restriction"/> + </idxelement> +</index> + +<index name="uk_domain" table="s_vitis.domain" + concurrent="false" unique="true" fast-update="false" buffering="false" + index-type="btree" factor="90"> + <idxelement use-sorting="false"> + <expression><![CDATA[lower((domain)::text)]]></expression> + </idxelement> +</index> + +<index name="uk_login" table="s_vitis."user"" + concurrent="false" unique="true" fast-update="false" buffering="false" + index-type="btree" factor="90"> + <idxelement use-sorting="false"> + <expression><![CDATA[lower((login)::text)]]></expression> + </idxelement> +</index> + +<index name="uk_mode_id" table="s_vitis.vm_mode_rolname" + concurrent="false" unique="true" fast-update="false" buffering="false" + index-type="btree" factor="90"> + <idxelement use-sorting="false"> + <column name="rolname"/> + </idxelement> + <idxelement use-sorting="false"> + <expression><![CDATA[lower((mode_id)::text)]]></expression> + </idxelement> +</index> + +<index name="uk_name_group" table="s_vitis."group"" + concurrent="false" unique="true" fast-update="false" buffering="false" + index-type="btree" factor="90"> + <idxelement use-sorting="false"> + <expression><![CDATA[lower((name)::text)]]></expression> + </idxelement> +</index> + +<rule name="delete_v_group" event-type="ON DELETE" exec-type="INSTEAD" + table="s_vitis.v_group"> + <commands><![CDATA[DELETE FROM s_vitis."group" + WHERE ("group".group_id = old.group_id)]]></commands> +</rule> + +<rule name="delete_v_user_group" event-type="ON DELETE" exec-type="INSTEAD" + table="s_vitis.v_user_group"> + <commands><![CDATA[DELETE FROM s_vitis.user_group + WHERE (user_group.group_id = old.group_id)]]></commands> +</rule> + +<rule name="insert_v_group" event-type="ON INSERT" exec-type="INSTEAD" + table="s_vitis.v_group"> + <commands><![CDATA[INSERT INTO s_vitis."group" (group_id, name) + VALUES (new.group_id, new.name)]]></commands> +</rule> + +<rule name="update_v_group" event-type="ON UPDATE" exec-type="INSTEAD" + table="s_vitis.v_group"> + <commands><![CDATA[UPDATE s_vitis."group" SET name = new.name + WHERE ("group".group_id = new.group_id)]]></commands> +</rule> + +<function name="insertjointure" + window-func="false" + returns-setof="false" + behavior-type="CALLED ON NULL INPUT" + function-type="VOLATILE" + security-type="SECURITY INVOKER" + execution-cost="100" + row-amount="0"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <language name="plpgsql" sql-disabled="true"/> + <return-type> + <type name="void" length="1"/> + </return-type> + <parameter name="arrayjointure"> + <type name="text" length="0"/> + </parameter> + <parameter name="value1"> + <type name="character varying" length="0"/> + </parameter> + <parameter name="tableschema"> + <type name="character varying" length="0"/> + </parameter> + <parameter name="jointuretable"> + <type name="character varying" length="0"/> + </parameter> + <parameter name="key1"> + <type name="character varying" length="0"/> + </parameter> + <parameter name="key2"> + <type name="character varying" length="0"/> + </parameter> + <definition><![CDATA[ DECLARE item varchar(255); request text; BEGIN FOREACH item IN ARRAY string_to_array(arrayJointure, '|') LOOP request = 'INSERT INTO '|| tableSchema ||'.'|| jointureTable ||' ('|| key1 ||', '|| key2 ||')VALUES('; IF pg_typeof(value1)::text = 'integer' THEN request = request || value1 || ', '; ELSE request = request || '''' || value1 || ''', '; END IF; IF pg_typeof(item)::text = 'integer' THEN request = request || item || ');'; ELSE request = request || '''' || item || ''');'; END IF; EXECUTE request; END LOOP; RETURN; END ]]></definition> +</function> + +<function name="wabinsertstate" + window-func="false" + returns-setof="false" + behavior-type="CALLED ON NULL INPUT" + function-type="VOLATILE" + security-type="SECURITY INVOKER" + execution-cost="100" + row-amount="0"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <language name="plpgsql" sql-disabled="true"/> + <return-type> + <type name="void" length="1"/> + </return-type> + <parameter name="schemametier"> + <type name="character varying" length="0"/> + </parameter> + <parameter name="tablestatus"> + <type name="character varying" length="0"/> + </parameter> + <parameter name="statusname"> + <type name="character varying" length="0"/> + </parameter> + <parameter name="progress"> + <type name="integer" length="0"/> + </parameter> + <definition><![CDATA[ DECLARE request text; rowData integer; Id integer; BEGIN EXECUTE 'SELECT status_id FROM ' || schemaMetier || '.' || tableStatus || ' WHERE name = '''||statusName||''';' INTO rowData; IF rowData IS NOT NULL THEN RAISE NOTICE '%', rowData;request = 'UPDATE ' || schemaMetier || '.' || tableStatus || ' SET progress = '|| progress ||' WHERE name = '''||statusName||''';'; ELSE EXECUTE 'SELECT MAX(status_id) FROM '||schemaMetier||'.'||tableStatus|| ';' INTO Id; IF Id IS NOT NULL THEN RAISE NOTICE '%', Id; Id:= Id + 1; else Id:=1; RAISE NOTICE '%', Id;end if;request = 'INSERT INTO ' || schemaMetier || '.' || tableStatus || ' (status_id, name, progress) VALUES (' || Id || ',''' || statusName|| ''', ' || progress || ');'; END IF; RAISE NOTICE '%', request;EXECUTE request; RETURN; END ]]></definition> +</function> + +<sequence name="feature_style_feature_style_id_seq" cycle="false" start="1" increment="1" min-value="1" max-value="2147483647" cache="1"> + <schema name="s_vitis"/> + <role name="u_vitis"/> +</sequence> + +<table name="feature_style" layer="0" collapse-mode="2" max-obj-count="21"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="740" y="1140"/> + <column name="feature_style_id" not-null="true" sequence="s_vitis.feature_style_feature_style_id_seq"> + <type name="integer" length="0"/> + </column> + <column name="draw_color"> + <type name="character varying" length="50"/> + </column> + <column name="draw_outline_color"> + <type name="character varying" length="50"/> + </column> + <column name="draw_size"> + <type name="character varying" length="50"/> + </column> + <column name="draw_dash"> + <type name="character varying" length="50"/> + </column> + <column name="draw_symbol"> + <type name="character varying" length="50"/> + </column> + <column name="text_font"> + <type name="character varying" length="50"/> + </column> + <column name="text_color"> + <type name="character varying" length="50"/> + </column> + <column name="text_outline_color"> + <type name="character varying" length="50"/> + </column> + <column name="text_size"> + <type name="character varying" length="50"/> + </column> + <column name="text_outline_size"> + <type name="character varying" length="50"/> + </column> + <column name="text_offset_x"> + <type name="character varying" length="50"/> + </column> + <column name="text_offset_y"> + <type name="character varying" length="50"/> + </column> + <column name="text_rotation"> + <type name="character varying" length="50"/> + </column> + <column name="text_text"> + <type name="character varying" length="255"/> + </column> + <column name="feature_type"> + <type name="character varying" length="255"/> + </column> + <column name="image"> + <type name="text" length="0"/> + </column> + <column name="draw_rotation"> + <type name="character varying" length="50"/> + </column> + <constraint name="feature_style_pkey" type="pk-constr" table="s_vitis.feature_style"> + <columns names="feature_style_id" ref-type="src-columns"/> + </constraint> +</table> + +<function name="is_vitis_admin" + window-func="false" + returns-setof="false" + behavior-type="CALLED ON NULL INPUT" + function-type="VOLATILE" + security-type="SECURITY INVOKER" + execution-cost="100" + row-amount="0"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <language name="plpgsql" sql-disabled="true"/> + <return-type> + <type name="boolean" length="1"/> + </return-type> + <definition><![CDATA[ declare total boolean; BEGIN SELECT(SELECT count(*) FROM information_schema.applicable_roles WHERE role_name='vitis_admin') > 0 INTO total; RETURN total; END; ]]></definition> +</function> + +<view name="v_user_group_by_rights" layer="0" collapse-mode="2" max-obj-count="2"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="320" y="1780"/> + <reference> + <expression><![CDATA[ SELECT user_group.user_id, + user_group.group_id + FROM ((s_vitis.user_group + LEFT JOIN s_vitis."user" ON ((user_group.user_id = "user".user_id))) + LEFT JOIN s_vitis."group" ON (("group".group_id = user_group.group_id))) + WHERE (((("user".login)::name)::text = ("current_user"())::text) OR s_vitis.is_vitis_admin());]]></expression> + <column name="user_id"> + <type name="integer" length="0"/> + </column> + <column name="group_id"> + <type name="integer" length="0"/> + </column> + <reftable name="s_vitis."user""/> + <reftable name="s_vitis."group""/> + <reftable name="s_vitis.user_group"/> + </reference> +</view> + +<relationship name="rel_v_user_group_by_rights_user" type="reltv" layer="0" + custom-color="#5aa55d" + src-table="s_vitis.v_user_group_by_rights" + dst-table="s_vitis."user"" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_user_group_by_rights_group" type="reltv" layer="0" + custom-color="#c1c4f2" + src-table="s_vitis.v_user_group_by_rights" + dst-table="s_vitis."group"" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_user_group_by_rights_user_group" type="reltv" layer="0" + custom-color="#4df4cb" + src-table="s_vitis.v_user_group_by_rights" + dst-table="s_vitis.user_group" + src-required="false" dst-required="false"/> + +<rule name="update_v_user_group_by_rights" event-type="ON DELETE" exec-type="INSTEAD" + table="s_vitis.v_user_group_by_rights"> + <commands><![CDATA[DELETE FROM s_vitis.user_group + WHERE ((user_group.group_id = old.group_id) AND (user_group.user_id = old.user_id))]]></commands> +</rule> + +<rule name="insert_v_user_group_by_rights" event-type="ON INSERT" exec-type="INSTEAD" + table="s_vitis.v_user_group_by_rights"> + <commands><![CDATA[INSERT INTO s_vitis.user_group (user_id, group_id) + VALUES (new.user_id, new.group_id)]]></commands> +</rule> + +<function name="insert_author_date" + window-func="false" + returns-setof="false" + behavior-type="CALLED ON NULL INPUT" + function-type="VOLATILE" + security-type="SECURITY INVOKER" + execution-cost="100" + row-amount="0"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <language name="plpgsql" sql-disabled="true"/> + <return-type> + <type name="trigger" length="1"/> + </return-type> + <definition><![CDATA[ BEGIN NEW.author = current_user; NEW.create_date = now(); RETURN NEW; END; ]]></definition> +</function> + +<function name="update_modifier_date" + window-func="false" + returns-setof="false" + behavior-type="CALLED ON NULL INPUT" + function-type="VOLATILE" + security-type="SECURITY INVOKER" + execution-cost="100" + row-amount="0"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <language name="plpgsql" sql-disabled="true"/> + <return-type> + <type name="trigger" length="1"/> + </return-type> + <definition><![CDATA[ BEGIN NEW.modifier = current_user; NEW.update_date = now(); RETURN NEW; END;]]></definition> +</function> + +<index name="index_vm_translation_lang" table="s_vitis.vm_translation" + concurrent="false" unique="false" fast-update="false" buffering="false" + index-type="btree" factor="90"> + <idxelement use-sorting="false"> + <column name="lang"/> + </idxelement> +</index> + +<index name="index_vm_translation" table="s_vitis.vm_translation" + concurrent="false" unique="false" fast-update="false" buffering="false" + index-type="btree" factor="90"> + <idxelement use-sorting="false"> + <column name="translation_id"/> + </idxelement> +</index> + +<sequence name="billinggroup_billinggroup_id_seq" cycle="false" start="1" increment="1" min-value="1" max-value="2147483647" cache="1"> + <schema name="s_vitis"/> + <role name="u_vitis"/> +</sequence> + +<table name="billinggroup" layer="0" collapse-mode="2" max-obj-count="3"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="1060" y="1140"/> + <column name="billinggroup_id" not-null="true" sequence="s_vitis.billinggroup_billinggroup_id_seq"> + <type name="integer" length="0"/> + </column> + <column name="billinggroup" not-null="true"> + <type name="character varying" length="50"/> + </column> + <column name="description"> + <type name="text" length="0"/> + </column> + <constraint name="pk_billinggroup_id" type="pk-constr" table="s_vitis.billinggroup"> + <columns names="billinggroup_id" ref-type="src-columns"/> + </constraint> +</table> + +<view name="v_billinggroup" layer="0" collapse-mode="2" max-obj-count="3"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="640" y="1780"/> + <reference> + <expression><![CDATA[ SELECT billinggroup.billinggroup_id, + billinggroup.billinggroup, + billinggroup.description + FROM s_vitis.billinggroup;]]></expression> + <column name="billinggroup_id"> + <type name="integer" length="0"/> + </column> + <column name="billinggroup"> + <type name="character varying" length="50"/> + </column> + <column name="description"> + <type name="text" length="0"/> + </column> + <reftable name="s_vitis.billinggroup"/> + </reference> +</view> + +<relationship name="rel_v_billinggroup_billinggroup" type="reltv" layer="0" + custom-color="#7742e2" + src-table="s_vitis.v_billinggroup" + dst-table="s_vitis.billinggroup" + src-required="false" dst-required="false"/> + +<rule name="delete_v_billinggroup" event-type="ON DELETE" exec-type="INSTEAD" + table="s_vitis.v_billinggroup"> + <commands><![CDATA[DELETE FROM s_vitis.billinggroup + WHERE (billinggroup.billinggroup_id = old.billinggroup_id)]]></commands> +</rule> + +<rule name="insert_v_billinggroup" event-type="ON INSERT" exec-type="INSTEAD" + table="s_vitis.v_billinggroup"> + <commands><![CDATA[INSERT INTO s_vitis.billinggroup (billinggroup_id, billinggroup, description) + VALUES (new.billinggroup_id, new.billinggroup, new.description)]]></commands> +</rule> + +<rule name="update_v_billinggroup" event-type="ON UPDATE" exec-type="INSTEAD" + table="s_vitis.v_billinggroup"> + <commands><![CDATA[UPDATE s_vitis.billinggroup SET billinggroup = new.billinggroup, description = new.description + WHERE (billinggroup.billinggroup_id = new.billinggroup_id)]]></commands> +</rule> + +<table name="rt_formatdate" layer="0" collapse-mode="2" max-obj-count="2"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="1400" y="1140"/> + <column name="formatdate_id" not-null="true"> + <type name="character varying" length="11"/> + </column> + <column name="formatdate"> + <type name="character varying" length="100"/> + </column> + <constraint name="pk_formatdate_id" type="pk-constr" table="s_vitis.rt_formatdate"> + <columns names="formatdate_id" ref-type="src-columns"/> + </constraint> +</table> + +<view name="v_user" layer="0" collapse-mode="2" max-obj-count="3"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <position x="1000" y="1780"/> + <reference> + <expression><![CDATA[ SELECT "user".user_id, + "user".login, + "user".name, + "user".email, + "user".company, + "user".department, + "user".ip_constraint, + domain.domain, + "user".domain_id, + "user".last_connection, + "user".restriction, + CASE + WHEN ((array_to_string(ARRAY( SELECT pg_group.groname + FROM (pg_group + JOIN pg_roles ON ((pg_roles.oid = ANY (pg_group.grolist)))) + WHERE ((("user".login)::name = pg_roles.rolname) AND ((pg_group.groname = 'vitis_admin'::name) OR (pg_group.groname = 'vitis_user'::name)))), '|'::text) = 'vitis_user|vitis_admin'::text) OR (array_to_string(ARRAY( SELECT pg_group.groname + FROM (pg_group + JOIN pg_roles ON ((pg_roles.oid = ANY (pg_group.grolist)))) + WHERE ((("user".login)::name = pg_roles.rolname) AND ((pg_group.groname = 'vitis_admin'::name) OR (pg_group.groname = 'vitis_user'::name)))), '|'::text) = 'vitis_admin|vitis_user'::text)) THEN 'admin'::text + WHEN (array_to_string(ARRAY( SELECT pg_group.groname + FROM (pg_group + JOIN pg_roles ON ((pg_roles.oid = ANY (pg_group.grolist)))) + WHERE ((("user".login)::name = pg_roles.rolname) AND ((pg_group.groname = 'vitis_admin'::name) OR (pg_group.groname = 'vitis_user'::name)))), '|'::text) = 'vitis_user'::text) THEN 'user'::text + ELSE ''::text + END AS role, + "user".dataencrypt, + "user".secretkey, + "user".billinggroup_id, + billinggroup.billinggroup, + "user".phone, + "user".acceptnotification, + "user".timezone_id, + "user".formatdate_id, + rt_formatdate.formatdate + FROM (((s_vitis."user" + LEFT JOIN s_vitis.domain ON (("user".domain_id = domain.domain_id))) + LEFT JOIN s_vitis.billinggroup ON (("user".billinggroup_id = billinggroup.billinggroup_id))) + LEFT JOIN s_vitis.rt_formatdate ON ((("user".formatdate_id)::text = (rt_formatdate.formatdate_id)::text))) + WHERE ((("user".login)::name = "current_user"()) OR s_vitis.is_vitis_admin());]]></expression> + <column name="user_id"> + <type name="integer" length="0"/> + </column> + <column name="login"> + <type name="character varying" length="50"/> + </column> + <column name="name"> + <type name="character varying" length="80"/> + </column> + <column name="email"> + <type name="character varying" length="100"/> + </column> + <column name="company"> + <type name="character varying" length="80"/> + </column> + <column name="department"> + <type name="character varying" length="80"/> + </column> + <column name="ip_constraint"> + <type name="character varying" length="255"/> + </column> + <column name="domain"> + <type name="character varying" length="50"/> + </column> + <column name="domain_id"> + <type name="integer" length="0"/> + </column> + <column name="last_connection"> + <type name="timestamp with time zone" length="0" with-timezone="true"/> + </column> + <column name="restriction"> + <type name="text" length="0"/> + </column> + <column name="role"> + <type name="text" length="0"/> + </column> + <column name="dataencrypt"> + <type name="boolean" length="0"/> + </column> + <column name="secretkey"> + <type name="character varying" length="100"/> + </column> + <column name="billinggroup_id"> + <type name="integer" length="0"/> + </column> + <column name="billinggroup"> + <type name="character varying" length="50"/> + </column> + <column name="phone"> + <type name="character varying" length="50"/> + </column> + <column name="acceptnotification"> + <type name="boolean" length="0"/> + </column> + <column name="timezone_id"> + <type name="character varying" length="40"/> + </column> + <column name="formatdate_id"> + <type name="character varying" length="11"/> + </column> + <column name="formatdate"> + <type name="character varying" length="100"/> + </column> + <reftable name="s_vitis."user""/> + <reftable name="s_vitis.domain"/> + <reftable name="s_vitis.billinggroup"/> + <reftable name="s_vitis.rt_formatdate"/> + </reference> +</view> + +<relationship name="rel_v_user_user" type="reltv" layer="0" + custom-color="#3d0668" + src-table="s_vitis.v_user" + dst-table="s_vitis."user"" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_user_domain" type="reltv" layer="0" + custom-color="#16b69b" + src-table="s_vitis.v_user" + dst-table="s_vitis.domain" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_user_billinggroup" type="reltv" layer="0" + custom-color="#3784c0" + src-table="s_vitis.v_user" + dst-table="s_vitis.billinggroup" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_user_rt_formatdate" type="reltv" layer="0" + custom-color="#b77859" + src-table="s_vitis.v_user" + dst-table="s_vitis.rt_formatdate" + src-required="false" dst-required="false"/> + +<rule name="delete_v_user" event-type="ON DELETE" exec-type="INSTEAD" + table="s_vitis.v_user"> + <commands><![CDATA[DELETE FROM s_vitis."user" + WHERE ("user".user_id = old.user_id)]]></commands> +</rule> + +<rule name="insert_v_user" event-type="ON INSERT" exec-type="INSTEAD" + table="s_vitis.v_user"> + <commands><![CDATA[INSERT INTO s_vitis."user" (user_id, login, domain_id, name, email, company, department, ip_constraint, restriction, dataencrypt, secretkey, billinggroup_id, phone, acceptnotification, timezone_id, formatdate_id) + VALUES (new.user_id, new.login, new.domain_id, new.name, new.email, new.company, new.department, new.ip_constraint, new.restriction, new.dataencrypt, new.secretkey, new.billinggroup_id, new.phone, new.acceptnotification, new.timezone_id, new.formatdate_id)]]></commands> +</rule> + +<rule name="update_v_user" event-type="ON UPDATE" exec-type="INSTEAD" + table="s_vitis.v_user"> + <commands><![CDATA[( UPDATE s_vitis."user" SET name = new.name, email = new.email, company = new.company, department = new.department, last_connection = new.last_connection, phone = new.phone, acceptnotification = new.acceptnotification, dataencrypt = new.dataencrypt, secretkey = new.secretkey, timezone_id = new.timezone_id, formatdate_id = new.formatdate_id + WHERE ((NOT s_vitis.is_vitis_admin()) AND ((new.login)::name = "current_user"()) AND ("user".user_id = ( SELECT user_1.user_id + FROM s_vitis."user" user_1 + WHERE ((user_1.login)::name = "current_user"())))); + UPDATE s_vitis."user" SET name = new.name, email = new.email, company = new.company, department = new.department, ip_constraint = new.ip_constraint, domain_id = new.domain_id, last_connection = new.last_connection, restriction = new.restriction, dataencrypt = new.dataencrypt, secretkey = new.secretkey, billinggroup_id = new.billinggroup_id, phone = new.phone, acceptnotification = new.acceptnotification, timezone_id = new.timezone_id, formatdate_id = new.formatdate_id + WHERE (s_vitis.is_vitis_admin() AND ("user".user_id = new.user_id)); +)]]></commands> +</rule> + +<function name="format_date" + window-func="false" + returns-setof="false" + behavior-type="CALLED ON NULL INPUT" + function-type="VOLATILE" + security-type="SECURITY INVOKER" + execution-cost="100" + row-amount="0"> + <schema name="s_vitis"/> + <role name="u_vitis"/> + <language name="plpgsql" sql-disabled="true"/> + <return-type> + <type name="text" length="1"/> + </return-type> + <parameter name="input_date"> + <type name="timestamp" length="0"/> + </parameter> + <definition><![CDATA[ BEGIN RETURN to_char(input_date, (SELECT formatdate_id || ' HH24:MI:SS' as "formatdate" from s_vitis.user WHERE login = "current_user"())); END; ]]></definition> +</function> + +<extension name="postgis" cur-version="3.0.0"> + <schema name="public"/> + <comment><![CDATA[PostGIS geometry, geography, and raster spatial types and functions]]></comment> +</extension> + +<schema name="s_vmap" layer="0" rect-visible="true" fill-color="#6b17e2"> + <role name="u_vitis"/> +</schema> + +<sequence name="seq_common" cycle="false" start="1" increment="1" min-value="1" max-value="9223372036854775807" cache="1"> + <schema name="s_vmap"/> + <role name="u_vitis"/> +</sequence> + +<table name="version" layer="0" collapse-mode="2" max-obj-count="4"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="1740" y="60"/> + <column name="version" not-null="true"> + <type name="character varying" length="100"/> + </column> + <column name="build" not-null="true"> + <type name="integer" length="0"/> + </column> + <column name="date" not-null="true"> + <type name="timestamp with time zone" length="0" with-timezone="true"/> + </column> + <column name="active"> + <type name="boolean" length="0"/> + </column> + <constraint name="pk_version" type="pk-constr" table="s_vmap.version"> + <columns names="version" ref-type="src-columns"/> + </constraint> +</table> + +<table name="rt_service_type" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="2060" y="60"/> + <column name="service_type_id" not-null="true"> + <type name="character varying" length="30"/> + <comment><![CDATA[tilewms, bing, osm etc...]]></comment> + </column> + <constraint name="rt_service_type_pkey" type="pk-constr" table="s_vmap.rt_service_type"> + <columns names="service_type_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="service" layer="0" collapse-mode="2" max-obj-count="20"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="2400" y="60"/> + <column name="service_id" not-null="true" sequence="s_vmap.seq_common"> + <type name="integer" length="0"/> + <comment><![CDATA[service name]]></comment> + </column> + <column name="service_type_id" not-null="true"> + <type name="character varying" length="30"/> + <comment><![CDATA[tilewms, bing, osm etc...]]></comment> + </column> + <column name="name"> + <type name="character varying" length="100"/> + </column> + <column name="description"> + <type name="text" length="0"/> + <comment><![CDATA[service description]]></comment> + </column> + <column name="url"> + <type name="text" length="0"/> + <comment><![CDATA[service url]]></comment> + </column> + <column name="key"> + <type name="character varying" length="255"/> + <comment><![CDATA[service key (bing maps, geoportail etc..)]]></comment> + </column> + <column name="service_type_version"> + <type name="character varying" length="20"/> + <comment><![CDATA[wms version (ex: "1.1.0")]]></comment> + </column> + <column name="thumbnail"> + <type name="text" length="0"/> + </column> + <column name="lang"> + <type name="character varying" length="100"/> + </column> + <column name="imagery"> + <type name="character varying" length="100"/> + </column> + <column name="service_type_type"> + <type name="character varying" length="30"/> + </column> + <column name="service_options"> + <type name="text" length="0"/> + </column> + <column name="service_vm4ms"> + <type name="boolean" length="0"/> + </column> + <column name="service_login"> + <type name="character varying" length="100"/> + </column> + <column name="service_password"> + <type name="character varying" length="100"/> + </column> + <column name="xyz_min_zoom"> + <type name="integer" length="0"/> + </column> + <column name="xyz_max_zoom"> + <type name="integer" length="0"/> + </column> + <constraint name="service_pkey" type="pk-constr" table="s_vmap.service"> + <columns names="service_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="rt_crs" layer="0" collapse-mode="2" max-obj-count="2"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="2760" y="60"/> + <column name="crs_id" not-null="true"> + <type name="character varying" length="20"/> + <comment><![CDATA[EPSG system code (ex EPSG:2154)]]></comment> + </column> + <column name="name"> + <type name="character varying" length="100"/> + <comment><![CDATA[name of the projection system (ex: lambert 93)]]></comment> + </column> + <constraint name="rt_crs_pkey" type="pk-constr" table="s_vmap.rt_crs"> + <columns names="crs_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="layertheme" layer="0" collapse-mode="2" max-obj-count="3"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="3040" y="60"/> + <column name="layertheme_id" not-null="true" sequence="s_vmap.seq_common"> + <type name="integer" length="0"/> + <comment><![CDATA[theme name]]></comment> + </column> + <column name="name"> + <type name="character varying" length="100"/> + </column> + <column name="description"> + <type name="text" length="0"/> + <comment><![CDATA[theme description]]></comment> + </column> + <constraint name="theme_pkey" type="pk-constr" table="s_vmap.layertheme"> + <columns names="layertheme_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="map_group" layer="0" collapse-mode="2" max-obj-count="3"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="1740" y="440"/> + <column name="map_id" not-null="true"> + <type name="integer" length="0"/> + </column> + <column name="group_id" not-null="true"> + <type name="integer" length="0"/> + </column> + <constraint name="map_group_pkey" type="pk-constr" table="s_vmap.map_group"> + <columns names="map_id,group_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="map_layer" layer="0" collapse-mode="2" max-obj-count="6"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="2040" y="440"/> + <column name="map_id" not-null="true"> + <type name="integer" length="0"/> + </column> + <column name="layer_id" not-null="true"> + <type name="integer" length="0"/> + </column> + <column name="layer_index" default-value="0"> + <type name="integer" length="0"/> + <comment><![CDATA[Allows to manage the layer order in to the map]]></comment> + </column> + <column name="layer_visible" default-value="true"> + <type name="boolean" length="0"/> + <comment><![CDATA[Allows to manage the visibility of the layer in to the map]]></comment> + </column> + <column name="layer_opacity" default-value="100"> + <type name="integer" length="0"/> + <comment><![CDATA[Allows to manage the opacity of the layer in to the map]]></comment> + </column> + <constraint name="map_layer_pkey" type="pk-constr" table="s_vmap.map_layer"> + <columns names="map_id,layer_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="layer" layer="0" collapse-mode="2" max-obj-count="20"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="2320" y="440"/> + <column name="layer_id" not-null="true" sequence="s_vmap.seq_common"> + <type name="integer" length="0"/> + <comment><![CDATA[layer name]]></comment> + </column> + <column name="layertheme_id"> + <type name="integer" length="0"/> + <comment><![CDATA[theme id]]></comment> + </column> + <column name="service_id" not-null="true"> + <type name="integer" length="0"/> + <comment><![CDATA[service name]]></comment> + </column> + <column name="name"> + <type name="character varying" length="100"/> + </column> + <column name="description"> + <type name="text" length="0"/> + <comment><![CDATA[layer description]]></comment> + </column> + <column name="layer_list"> + <type name="text" length="0"/> + <comment><![CDATA[wms, bing etc.. layer list, can be multiple for wms services only (ex: "zone_activite_audelor,za_terrain_audelor")]]></comment> + </column> + <column name="crs_list"> + <type name="text" length="0"/> + <comment><![CDATA[getCapabilities CRS (ex: "EPSG:2154|EPSG:3857|CRS:84"). Available coordinates systems for the layer]]></comment> + </column> + <column name="bo_id"> + <type name="character varying" length="100"/> + <comment><![CDATA[DEPRECATED]]></comment> + </column> + <column name="is_dynamic"> + <type name="boolean" length="0"/> + <comment><![CDATA[true to avoid caches]]></comment> + </column> + <column name="is_filtered"> + <type name="boolean" length="0"/> + <comment><![CDATA[true to use layer filter]]></comment> + </column> + <column name="matrix_set"> + <type name="character varying" length="255"/> + </column> + <column name="layer_style"> + <type name="character varying" length="255"/> + </column> + <column name="layer_format"> + <type name="character varying" length="30"/> + </column> + <column name="layer_options"> + <type name="text" length="0"/> + </column> + <column name="is_bo_filtered"> + <type name="boolean" length="0"/> + </column> + <column name="is_queryable_getfeatureinfo"> + <type name="boolean" length="0"/> + </column> + <column name="is_dynamic_legend"> + <type name="boolean" length="0"/> + </column> + <constraint name="layer_pkey" type="pk-constr" table="s_vmap.layer"> + <columns names="layer_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="event" layer="0" collapse-mode="2" max-obj-count="2"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="2680" y="440"/> + <column name="event_id" not-null="true"> + <type name="character varying" length="50"/> + </column> + <column name="description"> + <type name="text" length="0"/> + </column> + <constraint name="event_pkey" type="pk-constr" table="s_vmap.event"> + <columns names="event_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="layer_event" layer="0" collapse-mode="2" max-obj-count="3"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="2980" y="440"/> + <column name="layer_id" not-null="true"> + <type name="integer" length="0"/> + </column> + <column name="event_id" not-null="true"> + <type name="character varying" length="50"/> + </column> + <constraint name="layer_event_pkey" type="pk-constr" table="s_vmap.layer_event"> + <columns names="layer_id,event_id" ref-type="src-columns"/> + </constraint> +</table> + +<sequence name="maptheme_maptheme_id_seq" cycle="false" start="1" increment="1" min-value="1" max-value="2147483647" cache="1"> + <schema name="s_vmap"/> + <role name="u_vitis"/> +</sequence> + +<table name="maptheme" layer="0" collapse-mode="2" max-obj-count="3"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="1740" y="820"/> + <column name="maptheme_id" not-null="true" sequence="s_vmap.maptheme_maptheme_id_seq"> + <type name="integer" length="0"/> + </column> + <column name="name"> + <type name="character varying" length="100"/> + <comment><![CDATA[theme name]]></comment> + </column> + <column name="description"> + <type name="text" length="0"/> + <comment><![CDATA[theme description]]></comment> + </column> + <constraint name="maptheme_pkey" type="pk-constr" table="s_vmap.maptheme"> + <columns names="maptheme_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="map" layer="0" collapse-mode="2" max-obj-count="9"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="2040" y="820"/> + <column name="map_id" not-null="true" sequence="s_vmap.seq_common"> + <type name="integer" length="0"/> + <comment><![CDATA[map name]]></comment> + </column> + <column name="crs_id" not-null="true"> + <type name="character varying" length="20"/> + <comment><![CDATA[EPSG system code (ex EPSG:2154)]]></comment> + </column> + <column name="name" not-null="true"> + <type name="character varying" length="100"/> + </column> + <column name="description"> + <type name="text" length="0"/> + <comment><![CDATA[map description]]></comment> + </column> + <column name="extent" not-null="true"> + <type name="character varying" length="225"/> + <comment><![CDATA[extent of the map]]></comment> + </column> + <column name="catalog_index"> + <type name="integer" length="0"/> + <comment><![CDATA[index in the catalog]]></comment> + </column> + <column name="thumbnail"> + <type name="text" length="0"/> + </column> + <column name="maptheme_id"> + <type name="integer" length="0"/> + <comment><![CDATA[theme]]></comment> + </column> + <constraint name="map_pkey" type="pk-constr" table="s_vmap.map"> + <columns names="map_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="module" layer="0" collapse-mode="2" max-obj-count="6"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <comment><![CDATA[La gestion des droits sur chacun des modules se fait grâce aux privilèges.Les privilèges sont les roles groupes de Postgres]]></comment> + <position x="2380" y="820"/> + <column name="module_id" not-null="true"> + <type name="character varying" length="50"/> + </column> + <column name="description"> + <type name="text" length="0"/> + </column> + <column name="label"> + <type name="character varying" length="50"/> + </column> + <column name="rolname" not-null="true"> + <type name="character varying" length="100"/> + </column> + <column name="rolname_list"> + <type name="character varying" length="255"/> + </column> + <constraint name="module_pkey" type="pk-constr" table="s_vmap.module"> + <columns names="module_id" ref-type="src-columns"/> + </constraint> +</table> + +<sequence name="printtemplate_printtemplate_id_seq" cycle="false" start="1" increment="1" min-value="1" max-value="2147483647" cache="1"> + <schema name="s_vmap"/> + <role name="u_vitis"/> +</sequence> + +<table name="printtemplate" layer="0" collapse-mode="2" max-obj-count="12"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="2720" y="820"/> + <column name="printtemplate_id" not-null="true" sequence="s_vmap.printtemplate_printtemplate_id_seq"> + <type name="integer" length="0"/> + </column> + <column name="name" not-null="true"> + <type name="character varying" length="100"/> + </column> + <column name="rt_format_id" not-null="true"> + <type name="character varying" length="2"/> + </column> + <column name="rt_orientation_id" not-null="true"> + <type name="character varying" length="8"/> + </column> + <column name="definition" not-null="true"> + <type name="text" length="0"/> + </column> + <column name="outputformats_id" not-null="true"> + <type name="character varying" length="255"/> + </column> + <column name="sql"> + <type name="text" length="0"/> + </column> + <column name="ressource_id"> + <type name="character varying" length="100"/> + </column> + <column name="business_object_id"> + <type name="character varying" length="100"/> + </column> + <column name="printtemplate_order"> + <type name="integer" length="0"/> + </column> + <constraint name="printtemplate_pkey" type="pk-constr" table="s_vmap.printtemplate"> + <columns names="printtemplate_id" ref-type="src-columns"/> + </constraint> + <constraint name="printtemplate_name_key" type="uq-constr" table="s_vmap.printtemplate"> + <columns names="name" ref-type="src-columns"/> + </constraint> +</table> + +<table name="printtemplate_group" layer="0" collapse-mode="2" max-obj-count="3"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="3100" y="820"/> + <column name="printtemplate_id" not-null="true"> + <type name="integer" length="0"/> + </column> + <column name="group_id" not-null="true"> + <type name="integer" length="0"/> + </column> + <constraint name="printtemplate_group_pkey" type="pk-constr" table="s_vmap.printtemplate_group"> + <columns names="printtemplate_id,group_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="rt_format" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="1740" y="1140"/> + <column name="rt_format_id" not-null="true"> + <type name="character varying" length="2"/> + </column> + <constraint name="rt_format_pkey" type="pk-constr" table="s_vmap.rt_format"> + <columns names="rt_format_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="rt_orientation" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="2060" y="1140"/> + <column name="rt_orientation_id" not-null="true"> + <type name="character varying" length="8"/> + </column> + <constraint name="rt_orientation_pkey" type="pk-constr" table="s_vmap.rt_orientation"> + <columns names="rt_orientation_id" ref-type="src-columns"/> + </constraint> +</table> + +<sequence name="printparameter_printparameter_id_seq" cycle="false" start="1" increment="1" min-value="1" max-value="2147483647" cache="1"> + <schema name="s_vmap"/> + <role name="u_vitis"/> +</sequence> + +<table name="printparameter" layer="0" collapse-mode="2" max-obj-count="8"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="2400" y="1140"/> + <column name="printparameter_id" not-null="true" sequence="s_vmap.printparameter_printparameter_id_seq"> + <type name="integer" length="0"/> + </column> + <column name="printtemplate_id" not-null="true"> + <type name="integer" length="0"/> + </column> + <column name="name" not-null="true"> + <type name="character varying" length="100"/> + </column> + <column name="editable"> + <type name="boolean" length="0"/> + </column> + <column name="label"> + <type name="character varying" length="100"/> + </column> + <column name="placeholder"> + <type name="text" length="0"/> + </column> + <column name="defaultvalue"> + <type name="text" length="0"/> + </column> + <constraint name="printparameter_pkey" type="pk-constr" table="s_vmap.printparameter"> + <columns names="printparameter_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="rt_outputformats" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="2760" y="1140"/> + <column name="outputformats_id" not-null="true"> + <type name="character varying" length="255"/> + </column> + <constraint name="rt_outputformats_pkey" type="pk-constr" table="s_vmap.rt_outputformats"> + <columns names="outputformats_id" ref-type="src-columns"/> + </constraint> +</table> + +<sequence name="printstyle_printstyle_id_seq" cycle="false" start="1" increment="1" min-value="1" max-value="2147483647" cache="1"> + <schema name="s_vmap"/> + <role name="u_vitis"/> +</sequence> + +<table name="printstyle" layer="0" collapse-mode="2" max-obj-count="3"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="3120" y="1140"/> + <column name="printstyle_id" not-null="true" sequence="s_vmap.printstyle_printstyle_id_seq"> + <type name="integer" length="0"/> + </column> + <column name="name" not-null="true"> + <type name="character varying" length="100"/> + </column> + <column name="definition"> + <type name="text" length="0"/> + </column> + <constraint name="printstyle_pkey" type="pk-constr" table="s_vmap.printstyle"> + <columns names="printstyle_id" ref-type="src-columns"/> + </constraint> + <constraint name="printstyle_name_key" type="uq-constr" table="s_vmap.printstyle"> + <columns names="name" ref-type="src-columns"/> + </constraint> +</table> + +<table name="user_printstyle" layer="0" collapse-mode="2" max-obj-count="3"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="1740" y="1360"/> + <column name="printstyle_id" not-null="true"> + <type name="integer" length="0"/> + </column> + <column name="user_id" not-null="true"> + <type name="integer" length="0"/> + </column> + <constraint name="user_printstyle_pkey" type="pk-constr" table="s_vmap.user_printstyle"> + <columns names="printstyle_id,user_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="business_object" layer="0" collapse-mode="2" max-obj-count="40"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <comment><![CDATA[contains the parameters of elements to show when making a layer query]]></comment> + <position x="2040" y="1360"/> + <column name="business_object_id" not-null="true"> + <type name="character varying" length="100"/> + <comment><![CDATA[ex: "veremes_cadastre_commune"]]></comment> + </column> + <column name="title"> + <type name="character varying" length="100"/> + </column> + <column name="id_field"> + <type name="character varying" length="30"/> + <comment><![CDATA[unique id field of the table]]></comment> + </column> + <column name="database"> + <type name="character varying" length="30"/> + <comment><![CDATA[database where find the data of the business object]]></comment> + </column> + <column name="schema"> + <type name="character varying" length="30"/> + <comment><![CDATA[schema where find the data of the business object]]></comment> + </column> + <column name="table"> + <type name="character varying" length="63"/> + <comment><![CDATA[table where find the data of the business object]]></comment> + </column> + <column name="sql_summary"> + <type name="text" length="0"/> + <comment><![CDATA[sql request to get the infos showed on first (example popup)]]></comment> + </column> + <column name="sql_list"> + <type name="text" length="0"/> + <comment><![CDATA[sql request to get the infos to show on detail mode]]></comment> + </column> + <column name="sorted_by"> + <type name="character varying" length="100"/> + <comment><![CDATA[sorted_by sql attr]]></comment> + </column> + <column name="geom_column"> + <type name="character varying" length="30"/> + <comment><![CDATA[column witch contains the geometry of the BO]]></comment> + </column> + <column name="search_field"> + <type name="character varying" length="50"/> + </column> + <column name="result_field"> + <type name="character varying" length="50"/> + </column> + <column name="search_use_strict"> + <type name="character varying" length="30"/> + </column> + <column name="event_id"> + <type name="character varying" length="50"/> + </column> + <column name="index"> + <type name="integer" length="0"/> + </column> + <column name="add_form_size"> + <type name="integer" length="0"/> + </column> + <column name="edit_form_size"> + <type name="integer" length="0"/> + </column> + <column name="display_form_size"> + <type name="integer" length="0"/> + </column> + <column name="selection_buffer"> + <type name="double precision" length="0"/> + </column> + <column name="formtitle"> + <type name="character varying" length="255"/> + </column> + <column name="summarytitle"> + <type name="character varying" length="255"/> + </column> + <column name="max_edition_scale"> + <type name="numeric" length="255" precision="0"/> + </column> + <column name="min_edition_scale"> + <type name="character varying" length="255"/> + </column> + <column name="enable_selection"> + <type name="boolean" length="0"/> + </column> + <column name="enable_location"> + <type name="boolean" length="0"/> + </column> + <column name="location_placeholder"> + <type name="character varying" length="100"/> + </column> + <column name="enable_clone"> + <type name="boolean" length="0"/> + </column> + <column name="enable_automatically_edit"> + <type name="boolean" length="0"/> + </column> + <column name="enable_multi_edit"> + <type name="boolean" length="0"/> + </column> + <column name="multipopup_field"> + <type name="character varying" length="100"/> + </column> + <column name="table_header"> + <type name="text" length="0"/> + </column> + <column name="enable_requester"> + <type name="boolean" length="0"/> + </column> + <column name="enable_geom_selection"> + <type name="boolean" length="0"/> + </column> + <column name="enable_geom_updater"> + <type name="boolean" length="0"/> + </column> + <constraint name="business_object_pkey" type="pk-constr" table="s_vmap.business_object"> + <columns names="business_object_id" ref-type="src-columns"/> + </constraint> +</table> + +<view name="v_map" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="1740" y="1960"/> + <reference> + <expression><![CDATA[ SELECT maptheme.name AS theme_name, + maptheme.description AS theme_description, + rt_crs.name AS crs_name, + map.map_id, + map.crs_id, + map.name, + map.description, + map.extent, + map.catalog_index, + map.thumbnail, + map.maptheme_id + FROM ((s_vmap.maptheme + RIGHT JOIN s_vmap.map ON ((maptheme.maptheme_id = map.maptheme_id))) + JOIN s_vmap.rt_crs ON (((map.crs_id)::text = (rt_crs.crs_id)::text)));]]></expression> + <column name="theme_name"> + <type name="character varying" length="100"/> + </column> + <column name="theme_description"> + <type name="text" length="0"/> + </column> + <column name="crs_name"> + <type name="character varying" length="100"/> + </column> + <column name="map_id"> + <type name="integer" length="0"/> + </column> + <column name="crs_id"> + <type name="character varying" length="20"/> + </column> + <column name="name"> + <type name="character varying" length="100"/> + </column> + <column name="description"> + <type name="text" length="0"/> + </column> + <column name="extent"> + <type name="character varying" length="225"/> + </column> + <column name="catalog_index"> + <type name="integer" length="0"/> + </column> + <column name="thumbnail"> + <type name="text" length="0"/> + </column> + <column name="maptheme_id"> + <type name="integer" length="0"/> + </column> + <reftable name="s_vmap.rt_crs"/> + <reftable name="s_vmap.maptheme"/> + <reftable name="s_vmap.map"/> + </reference> +</view> + +<relationship name="rel_v_map_rt_crs" type="reltv" layer="0" + custom-color="#a337b1" + src-table="s_vmap.v_map" + dst-table="s_vmap.rt_crs" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_map_maptheme" type="reltv" layer="0" + custom-color="#b9b29a" + src-table="s_vmap.v_map" + dst-table="s_vmap.maptheme" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_map_map" type="reltv" layer="0" + custom-color="#97846c" + src-table="s_vmap.v_map" + dst-table="s_vmap.map" + src-required="false" dst-required="false"/> + +<index name="rt_crs_name" table="s_vmap.rt_crs" + concurrent="false" unique="true" fast-update="false" buffering="false" + index-type="btree" factor="90"> + <idxelement use-sorting="false"> + <column name="name"/> + </idxelement> +</index> + +<view name="v_print_parameter" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="2060" y="1960"/> + <reference> + <expression><![CDATA[ SELECT printparameter.printparameter_id, + printparameter.printtemplate_id, + printparameter.name, + printparameter.editable, + printparameter.label, + printparameter.placeholder, + printparameter.defaultvalue, + printtemplate.name AS print_template + FROM (s_vmap.printparameter + LEFT JOIN s_vmap.printtemplate ON ((printparameter.printtemplate_id = printtemplate.printtemplate_id)));]]></expression> + <column name="printparameter_id"> + <type name="integer" length="0"/> + </column> + <column name="printtemplate_id"> + <type name="integer" length="0"/> + </column> + <column name="name"> + <type name="character varying" length="100"/> + </column> + <column name="editable"> + <type name="boolean" length="0"/> + </column> + <column name="label"> + <type name="character varying" length="100"/> + </column> + <column name="placeholder"> + <type name="text" length="0"/> + </column> + <column name="defaultvalue"> + <type name="text" length="0"/> + </column> + <column name="print_template"> + <type name="character varying" length="100"/> + </column> + <reftable name="s_vmap.printtemplate"/> + <reftable name="s_vmap.printparameter"/> + </reference> +</view> + +<relationship name="rel_v_print_parameter_printtemplate" type="reltv" layer="0" + custom-color="#ec882c" + src-table="s_vmap.v_print_parameter" + dst-table="s_vmap.printtemplate" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_print_parameter_printparameter" type="reltv" layer="0" + custom-color="#4403ce" + src-table="s_vmap.v_print_parameter" + dst-table="s_vmap.printparameter" + src-required="false" dst-required="false"/> + +<view name="v_user_printstyle" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="2380" y="1960"/> + <reference> + <expression><![CDATA[ SELECT printstyle.printstyle_id, + printstyle.name, + printstyle.definition + FROM s_vmap.printstyle + WHERE (printstyle.printstyle_id IN ( SELECT user_printstyle.printstyle_id + FROM s_vmap.user_printstyle + WHERE (user_printstyle.user_id = ( SELECT "user".user_id + FROM s_vitis."user" + WHERE (("user".login)::text = CURRENT_USER)))));]]></expression> + <column name="printstyle_id"> + <type name="integer" length="0"/> + </column> + <column name="name"> + <type name="character varying" length="100"/> + </column> + <column name="definition"> + <type name="text" length="0"/> + </column> + <reftable name="s_vitis."user""/> + <reftable name="s_vmap.printstyle"/> + <reftable name="s_vmap.user_printstyle"/> + </reference> +</view> + +<relationship name="rel_v_user_printstyle_user" type="reltv" layer="0" + custom-color="#5b3a88" + src-table="s_vmap.v_user_printstyle" + dst-table="s_vitis."user"" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_user_printstyle_printstyle" type="reltv" layer="0" + custom-color="#e45682" + src-table="s_vmap.v_user_printstyle" + dst-table="s_vmap.printstyle" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_user_printstyle_user_printstyle" type="reltv" layer="0" + custom-color="#a17870" + src-table="s_vmap.v_user_printstyle" + dst-table="s_vmap.user_printstyle" + src-required="false" dst-required="false"/> + +<sequence name="printreport_printreport_id_seq" cycle="false" start="1" increment="1" min-value="1" max-value="2147483647" cache="1"> + <schema name="s_vmap"/> + <role name="u_vitis"/> +</sequence> + +<table name="printreport" layer="0" collapse-mode="2" max-obj-count="12"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="2420" y="1360"/> + <column name="printreport_id" not-null="true" sequence="s_vmap.printreport_printreport_id_seq"> + <type name="integer" length="0"/> + </column> + <column name="name" not-null="true"> + <type name="character varying" length="100"/> + </column> + <column name="rt_format_id" not-null="true"> + <type name="character varying" length="2"/> + </column> + <column name="rt_orientation_id" not-null="true"> + <type name="character varying" length="8"/> + </column> + <column name="outputformats_id" not-null="true"> + <type name="character varying" length="255"/> + </column> + <column name="business_object_id" not-null="true"> + <type name="character varying" length="100"/> + </column> + <column name="htmldefinition" not-null="true"> + <type name="text" length="0"/> + </column> + <column name="jsonobjects" not-null="true"> + <type name="text" length="0"/> + </column> + <column name="multiobject" not-null="true"> + <type name="boolean" length="0"/> + </column> + <column name="active_style"> + <type name="boolean" length="0"/> + </column> + <constraint name="printreport_pkey" type="pk-constr" table="s_vmap.printreport"> + <columns names="printreport_id" ref-type="src-columns"/> + </constraint> + <constraint name="printreport_name_key" type="uq-constr" table="s_vmap.printreport"> + <columns names="name" ref-type="src-columns"/> + </constraint> +</table> + +<view name="v_printreport" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="2660" y="1960"/> + <reference> + <expression><![CDATA[ SELECT printreport.printreport_id, + printreport.name, + printreport.rt_format_id, + printreport.rt_orientation_id, + printreport.outputformats_id, + printreport.business_object_id, + printreport.htmldefinition, + printreport.jsonobjects, + printreport.multiobject, + business_object.title AS business_object_title, + business_object.id_field AS business_object_id_field, + business_object.database AS business_object_database, + business_object.schema AS business_object_schema, + business_object."table" AS business_object_table, + business_object.geom_column AS business_object_geom_column, + printreport.active_style + FROM ((((s_vmap.business_object + JOIN s_vmap.printreport ON (((business_object.business_object_id)::text = (printreport.business_object_id)::text))) + JOIN s_vmap.rt_orientation ON (((printreport.rt_orientation_id)::text = (rt_orientation.rt_orientation_id)::text))) + JOIN s_vmap.rt_format ON (((printreport.rt_format_id)::text = (rt_format.rt_format_id)::text))) + JOIN s_vmap.rt_outputformats ON (((printreport.outputformats_id)::text = (rt_outputformats.outputformats_id)::text)));]]></expression> + <column name="printreport_id"> + <type name="integer" length="0"/> + </column> + <column name="name"> + <type name="character varying" length="100"/> + </column> + <column name="rt_format_id"> + <type name="character varying" length="2"/> + </column> + <column name="rt_orientation_id"> + <type name="character varying" length="8"/> + </column> + <column name="outputformats_id"> + <type name="character varying" length="255"/> + </column> + <column name="business_object_id"> + <type name="character varying" length="100"/> + </column> + <column name="htmldefinition"> + <type name="text" length="0"/> + </column> + <column name="jsonobjects"> + <type name="text" length="0"/> + </column> + <column name="multiobject"> + <type name="boolean" length="0"/> + </column> + <column name="business_object_title"> + <type name="character varying" length="100"/> + </column> + <column name="business_object_id_field"> + <type name="character varying" length="30"/> + </column> + <column name="business_object_database"> + <type name="character varying" length="30"/> + </column> + <column name="business_object_schema"> + <type name="character varying" length="30"/> + </column> + <column name="business_object_table"> + <type name="character varying" length="63"/> + </column> + <column name="business_object_geom_column"> + <type name="character varying" length="30"/> + </column> + <column name="active_style"> + <type name="boolean" length="0"/> + </column> + <reftable name="s_vmap.rt_format"/> + <reftable name="s_vmap.rt_orientation"/> + <reftable name="s_vmap.rt_outputformats"/> + <reftable name="s_vmap.business_object"/> + <reftable name="s_vmap.printreport"/> + </reference> +</view> + +<relationship name="rel_v_printreport_rt_format" type="reltv" layer="0" + custom-color="#3b7a73" + src-table="s_vmap.v_printreport" + dst-table="s_vmap.rt_format" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_printreport_rt_orientation" type="reltv" layer="0" + custom-color="#c4812d" + src-table="s_vmap.v_printreport" + dst-table="s_vmap.rt_orientation" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_printreport_rt_outputformats" type="reltv" layer="0" + custom-color="#d2cbb8" + src-table="s_vmap.v_printreport" + dst-table="s_vmap.rt_outputformats" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_printreport_business_object" type="reltv" layer="0" + custom-color="#cc53db" + src-table="s_vmap.v_printreport" + dst-table="s_vmap.business_object" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_printreport_printreport" type="reltv" layer="0" + custom-color="#7c1cc3" + src-table="s_vmap.v_printreport" + dst-table="s_vmap.printreport" + src-required="false" dst-required="false"/> + +<table name="layer_businessobject" layer="0" collapse-mode="2" max-obj-count="3"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="2800" y="1360"/> + <column name="layer_id" not-null="true"> + <type name="integer" length="0"/> + </column> + <column name="business_object_id" not-null="true"> + <type name="character varying" length="100"/> + </column> + <constraint name="layer_businessobject_pkey" type="pk-constr" table="s_vmap.layer_businessobject"> + <columns names="layer_id,business_object_id" ref-type="src-columns"/> + </constraint> +</table> + +<view name="v_layer" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="3040" y="1960"/> + <reference> + <expression><![CDATA[ SELECT layer.layer_id, + layer.layertheme_id, + layer.service_id, + layer.name, + layer.description, + layer.layer_list, + layer.crs_list, + layer.is_dynamic, + layer.is_filtered, + layer.matrix_set, + layer.layer_style, + layer.layer_format, + layer.layer_options, + layertheme.name AS theme_name, + service.name AS service_name, + service.service_type_id, + service.url AS service_url, + service.key AS service_key, + service.service_type_version, + service.thumbnail AS service_thumbnail, + service.lang AS service_lang, + service.imagery AS service_imagery, + service.service_type_type, + service.service_options, + string_agg(DISTINCT (layer_businessobject.business_object_id)::text, '|'::text) AS bo_id_list, + service.service_login, + service.service_password, + layer.is_bo_filtered, + service.service_vm4ms, + layer.is_queryable_getfeatureinfo, + layer.is_dynamic_legend, + string_agg(DISTINCT (map.name)::text, ' / '::text) AS maps, + service.xyz_min_zoom AS service_xyz_min_zoom, + service.xyz_max_zoom AS service_xyz_max_zoom + FROM ((((((s_vmap.layer + LEFT JOIN s_vmap.layer_businessobject ON ((layer.layer_id = layer_businessobject.layer_id))) + LEFT JOIN s_vmap.business_object ON (((layer_businessobject.business_object_id)::text = (business_object.business_object_id)::text))) + LEFT JOIN s_vmap.layertheme ON ((layer.layertheme_id = layertheme.layertheme_id))) + LEFT JOIN s_vmap.map_layer ON ((layer.layer_id = map_layer.layer_id))) + LEFT JOIN s_vmap.map ON ((map_layer.map_id = map.map_id))) + JOIN s_vmap.service ON ((layer.service_id = service.service_id))) + GROUP BY layer.layer_id, layertheme.name, service.name, service.service_type_id, service.url, service.key, service.service_type_version, service.thumbnail, service.lang, service.imagery, service.service_type_type, service.service_options, service.service_login, service.service_password, service.service_vm4ms, service.xyz_min_zoom, service.xyz_max_zoom;]]></expression> + <column name="layer_id"> + <type name="integer" length="0"/> + </column> + <column name="layertheme_id"> + <type name="integer" length="0"/> + </column> + <column name="service_id"> + <type name="integer" length="0"/> + </column> + <column name="name"> + <type name="character varying" length="100"/> + </column> + <column name="description"> + <type name="text" length="0"/> + </column> + <column name="layer_list"> + <type name="text" length="0"/> + </column> + <column name="crs_list"> + <type name="text" length="0"/> + </column> + <column name="is_dynamic"> + <type name="boolean" length="0"/> + </column> + <column name="is_filtered"> + <type name="boolean" length="0"/> + </column> + <column name="matrix_set"> + <type name="character varying" length="255"/> + </column> + <column name="layer_style"> + <type name="character varying" length="255"/> + </column> + <column name="layer_format"> + <type name="character varying" length="30"/> + </column> + <column name="layer_options"> + <type name="text" length="0"/> + </column> + <column name="theme_name"> + <type name="character varying" length="100"/> + </column> + <column name="service_name"> + <type name="character varying" length="100"/> + </column> + <column name="service_type_id"> + <type name="character varying" length="30"/> + </column> + <column name="service_url"> + <type name="text" length="0"/> + </column> + <column name="service_key"> + <type name="character varying" length="255"/> + </column> + <column name="service_type_version"> + <type name="character varying" length="20"/> + </column> + <column name="service_thumbnail"> + <type name="text" length="0"/> + </column> + <column name="service_lang"> + <type name="character varying" length="100"/> + </column> + <column name="service_imagery"> + <type name="character varying" length="100"/> + </column> + <column name="service_type_type"> + <type name="character varying" length="30"/> + </column> + <column name="service_options"> + <type name="text" length="0"/> + </column> + <column name="bo_id_list"> + <type name="text" length="0"/> + </column> + <column name="service_login"> + <type name="character varying" length="100"/> + </column> + <column name="service_password"> + <type name="character varying" length="100"/> + </column> + <column name="is_bo_filtered"> + <type name="boolean" length="0"/> + </column> + <column name="service_vm4ms"> + <type name="boolean" length="0"/> + </column> + <column name="is_queryable_getfeatureinfo"> + <type name="boolean" length="0"/> + </column> + <column name="is_dynamic_legend"> + <type name="boolean" length="0"/> + </column> + <column name="maps"> + <type name="text" length="0"/> + </column> + <column name="service_xyz_min_zoom"> + <type name="integer" length="0"/> + </column> + <column name="service_xyz_max_zoom"> + <type name="integer" length="0"/> + </column> + <reftable name="s_vmap.service"/> + <reftable name="s_vmap.layertheme"/> + <reftable name="s_vmap.map_layer"/> + <reftable name="s_vmap.layer"/> + <reftable name="s_vmap.map"/> + <reftable name="s_vmap.business_object"/> + <reftable name="s_vmap.layer_businessobject"/> + </reference> +</view> + +<relationship name="rel_v_layer_service" type="reltv" layer="0" + custom-color="#6f6ff0" + src-table="s_vmap.v_layer" + dst-table="s_vmap.service" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_layer_layertheme" type="reltv" layer="0" + custom-color="#31b9da" + src-table="s_vmap.v_layer" + dst-table="s_vmap.layertheme" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_layer_map_layer" type="reltv" layer="0" + custom-color="#e0805a" + src-table="s_vmap.v_layer" + dst-table="s_vmap.map_layer" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_layer_layer" type="reltv" layer="0" + custom-color="#f42aeb" + src-table="s_vmap.v_layer" + dst-table="s_vmap.layer" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_layer_map" type="reltv" layer="0" + custom-color="#0606a0" + src-table="s_vmap.v_layer" + dst-table="s_vmap.map" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_layer_business_object" type="reltv" layer="0" + custom-color="#ba564e" + src-table="s_vmap.v_layer" + dst-table="s_vmap.business_object" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_layer_layer_businessobject" type="reltv" layer="0" + custom-color="#ec5d04" + src-table="s_vmap.v_layer" + dst-table="s_vmap.layer_businessobject" + src-required="false" dst-required="false"/> + +<view name="v_map_layer" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="1740" y="2540"/> + <reference> + <expression><![CDATA[ SELECT v_layer.layer_id, + v_layer.name, + v_layer.theme_name, + map_layer.layer_visible, + map_layer.map_id, + map_layer.layer_index, + map_layer.layer_opacity, + v_layer.layertheme_id, + v_layer.service_id + FROM s_vmap.v_layer, + s_vmap.map_layer + WHERE (v_layer.layer_id = map_layer.layer_id);]]></expression> + <column name="layer_id"> + <type name="integer" length="0"/> + </column> + <column name="name"> + <type name="character varying" length="100"/> + </column> + <column name="theme_name"> + <type name="character varying" length="100"/> + </column> + <column name="layer_visible"> + <type name="boolean" length="0"/> + </column> + <column name="map_id"> + <type name="integer" length="0"/> + </column> + <column name="layer_index"> + <type name="integer" length="0"/> + </column> + <column name="layer_opacity"> + <type name="integer" length="0"/> + </column> + <column name="layertheme_id"> + <type name="integer" length="0"/> + </column> + <column name="service_id"> + <type name="integer" length="0"/> + </column> + <reftable name="s_vmap.map_layer"/> + </reference> +</view> + +<relationship name="rel_v_map_layer_map_layer" type="reltv" layer="0" + custom-color="#1c91d7" + src-table="s_vmap.v_map_layer" + dst-table="s_vmap.map_layer" + src-required="false" dst-required="false"/> + +<view name="v_template" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="2040" y="2540"/> + <reference> + <expression><![CDATA[ SELECT printtemplate.printtemplate_id, + printtemplate.name, + printtemplate.rt_format_id, + printtemplate.rt_orientation_id, + printtemplate.definition, + printtemplate.outputformats_id, + printtemplate.sql, + printtemplate.ressource_id, + printtemplate.business_object_id, + business_object.title AS business_object, + printtemplate.printtemplate_order + FROM (s_vmap.printtemplate + LEFT JOIN s_vmap.business_object ON (((printtemplate.business_object_id)::text = (business_object.business_object_id)::text)));]]></expression> + <column name="printtemplate_id"> + <type name="integer" length="0"/> + </column> + <column name="name"> + <type name="character varying" length="100"/> + </column> + <column name="rt_format_id"> + <type name="character varying" length="2"/> + </column> + <column name="rt_orientation_id"> + <type name="character varying" length="8"/> + </column> + <column name="definition"> + <type name="text" length="0"/> + </column> + <column name="outputformats_id"> + <type name="character varying" length="255"/> + </column> + <column name="sql"> + <type name="text" length="0"/> + </column> + <column name="ressource_id"> + <type name="character varying" length="100"/> + </column> + <column name="business_object_id"> + <type name="character varying" length="100"/> + </column> + <column name="business_object"> + <type name="character varying" length="100"/> + </column> + <column name="printtemplate_order"> + <type name="integer" length="0"/> + </column> + <reftable name="s_vmap.printtemplate"/> + <reftable name="s_vmap.business_object"/> + </reference> +</view> + +<relationship name="rel_v_template_printtemplate" type="reltv" layer="0" + custom-color="#bf72ae" + src-table="s_vmap.v_template" + dst-table="s_vmap.printtemplate" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_template_business_object" type="reltv" layer="0" + custom-color="#705071" + src-table="s_vmap.v_template" + dst-table="s_vmap.business_object" + src-required="false" dst-required="false"/> + +<view name="v_user_template" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="2360" y="2540"/> + <reference> + <expression><![CDATA[ SELECT DISTINCT printtemplate.printtemplate_id, + printtemplate.name, + printtemplate.rt_format_id, + printtemplate.rt_orientation_id, + printtemplate.definition, + printtemplate.outputformats_id, + printtemplate.sql, + printtemplate.ressource_id, + printtemplate.business_object_id, + business_object.title AS business_object, + printtemplate_group.group_id, + printtemplate.printtemplate_order + FROM ((s_vmap.printtemplate + LEFT JOIN s_vmap.printtemplate_group ON ((printtemplate.printtemplate_id = printtemplate_group.printtemplate_id))) + LEFT JOIN s_vmap.business_object ON (((printtemplate.business_object_id)::text = (business_object.business_object_id)::text)));]]></expression> + <column name="printtemplate_id"> + <type name="integer" length="0"/> + </column> + <column name="name"> + <type name="character varying" length="100"/> + </column> + <column name="rt_format_id"> + <type name="character varying" length="2"/> + </column> + <column name="rt_orientation_id"> + <type name="character varying" length="8"/> + </column> + <column name="definition"> + <type name="text" length="0"/> + </column> + <column name="outputformats_id"> + <type name="character varying" length="255"/> + </column> + <column name="sql"> + <type name="text" length="0"/> + </column> + <column name="ressource_id"> + <type name="character varying" length="100"/> + </column> + <column name="business_object_id"> + <type name="character varying" length="100"/> + </column> + <column name="business_object"> + <type name="character varying" length="100"/> + </column> + <column name="group_id"> + <type name="integer" length="0"/> + </column> + <column name="printtemplate_order"> + <type name="integer" length="0"/> + </column> + <reftable name="s_vmap.printtemplate"/> + <reftable name="s_vmap.printtemplate_group"/> + <reftable name="s_vmap.business_object"/> + </reference> +</view> + +<relationship name="rel_v_user_template_printtemplate" type="reltv" layer="0" + custom-color="#a40be9" + src-table="s_vmap.v_user_template" + dst-table="s_vmap.printtemplate" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_user_template_printtemplate_group" type="reltv" layer="0" + custom-color="#400d37" + src-table="s_vmap.v_user_template" + dst-table="s_vmap.printtemplate_group" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_user_template_business_object" type="reltv" layer="0" + custom-color="#1606b9" + src-table="s_vmap.v_user_template" + dst-table="s_vmap.business_object" + src-required="false" dst-required="false"/> + +<index name="layer_name" table="s_vmap.layer" + concurrent="false" unique="false" fast-update="false" buffering="false" + index-type="btree" factor="90"> + <idxelement use-sorting="false"> + <column name="name"/> + </idxelement> +</index> + +<index name="service_name" table="s_vmap.service" + concurrent="false" unique="false" fast-update="false" buffering="false" + index-type="btree" factor="90"> + <idxelement use-sorting="false"> + <column name="name"/> + </idxelement> +</index> + +<index name="map_name" table="s_vmap.map" + concurrent="false" unique="false" fast-update="false" buffering="false" + index-type="btree" factor="90"> + <idxelement use-sorting="false"> + <column name="name"/> + </idxelement> +</index> + +<index name="maptheme_name" table="s_vmap.maptheme" + concurrent="false" unique="false" fast-update="false" buffering="false" + index-type="btree" factor="90"> + <idxelement use-sorting="false"> + <column name="name"/> + </idxelement> +</index> + +<index name="theme_name" table="s_vmap.layertheme" + concurrent="false" unique="false" fast-update="false" buffering="false" + index-type="btree" factor="90"> + <idxelement use-sorting="false"> + <column name="name"/> + </idxelement> +</index> + +<table name="user_defaultmap" layer="0" collapse-mode="2" max-obj-count="3"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="3200" y="1360"/> + <column name="user_id" not-null="true"> + <type name="integer" length="0"/> + </column> + <column name="map_id"> + <type name="integer" length="0"/> + </column> + <column name="extent"> + <type name="character varying" length="225"/> + </column> + <constraint name="user_defaultmap_pkey" type="pk-constr" table="s_vmap.user_defaultmap"> + <columns names="user_id" ref-type="src-columns"/> + </constraint> +</table> + +<view name="v_user_defaultmap" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vmap"/> + <role name="u_vitis"/> + <position x="2680" y="2540"/> + <reference> + <expression><![CDATA[ SELECT user_defaultmap.map_id, + user_defaultmap.user_id, + user_defaultmap.extent + FROM s_vmap.user_defaultmap + WHERE (user_defaultmap.user_id = ( SELECT "user".user_id + FROM s_vitis."user" + WHERE (("user".login)::name = CURRENT_USER)));]]></expression> + <column name="map_id"> + <type name="integer" length="0"/> + </column> + <column name="user_id"> + <type name="integer" length="0"/> + </column> + <column name="extent"> + <type name="character varying" length="225"/> + </column> + <reftable name="s_vitis."user""/> + <reftable name="s_vmap.user_defaultmap"/> + </reference> +</view> + +<relationship name="rel_v_user_defaultmap_user" type="reltv" layer="0" + custom-color="#a9f432" + src-table="s_vmap.v_user_defaultmap" + dst-table="s_vitis."user"" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_user_defaultmap_user_defaultmap" type="reltv" layer="0" + custom-color="#800113" + src-table="s_vmap.v_user_defaultmap" + dst-table="s_vmap.user_defaultmap" + src-required="false" dst-required="false"/> + +<schema name="s_vm4ms" layer="0" rect-visible="true" fill-color="#2f2377"> + <role name="u_vitis"/> +</schema> + +<sequence name="seq_common" cycle="false" start="1" increment="1" min-value="1" max-value="9223372036854775807" cache="1"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> +</sequence> + +<table name="connection" layer="0" collapse-mode="2" max-obj-count="9"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="3520" y="60"/> + <column name="connection_id" not-null="true" sequence="s_vm4ms.seq_common"> + <type name="integer" length="0"/> + </column> + <column name="name" not-null="true"> + <type name="character varying" length="50"/> + </column> + <column name="private" not-null="true" default-value="false"> + <type name="boolean" length="0"/> + </column> + <column name="server"> + <type name="character varying" length="100"/> + </column> + <column name="port"> + <type name="integer" length="0"/> + </column> + <column name="database"> + <type name="character varying" length="50"/> + </column> + <column name="user"> + <type name="character varying" length="50"/> + </column> + <column name="password"> + <type name="character varying" length="64"/> + </column> + <constraint name="connection_name_key" type="uq-constr" table="s_vm4ms.connection"> + <columns names="name" ref-type="src-columns"/> + </constraint> + <constraint name="connection_pkey" type="pk-constr" table="s_vm4ms.connection"> + <columns names="connection_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="coordsys" layer="0" collapse-mode="2" max-obj-count="6"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="3860" y="60"/> + <column name="coordsys_id" not-null="true"> + <type name="integer" length="0"/> + </column> + <column name="definition"> + <type name="text" length="0"/> + </column> + <column name="label"> + <type name="character varying" length="100"/> + </column> + <column name="epsg"> + <type name="character varying" length="20"/> + </column> + <column name="epsg_definition"> + <type name="text" length="0"/> + </column> + <constraint name="coordsys_pkey" type="pk-constr" table="s_vm4ms.coordsys"> + <columns names="coordsys_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="ms_layer" layer="0" collapse-mode="2" max-obj-count="19"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="4160" y="60"/> + <column name="ms_layer_id" not-null="true" sequence="s_vm4ms.seq_common"> + <type name="integer" length="0"/> + </column> + <column name="name" not-null="true"> + <type name="character varying" length="100"/> + <comment><![CDATA[Contient uniquement des caractères simples (sans accent), sans espace. le caractère _ est autorisé. Champ non modifiable. Ce champ est construit automatiquement lors de la saisie de title mais il est modifiable en mode insertion.]]></comment> + </column> + <column name="title" not-null="true"> + <type name="text" length="0"/> + <comment><![CDATA[Nom en clair de la couche avec espaces et accents si nécéssaire. Toujours modifiable.]]></comment> + </column> + <column name="coordsys_id"> + <type name="integer" length="0"/> + </column> + <column name="source_id"> + <type name="integer" length="0"/> + </column> + <column name="connection_id"> + <type name="integer" length="0"/> + </column> + <column name="tableschema"> + <type name="character varying" length="50"/> + </column> + <column name="tablename"> + <type name="character varying" length="64"/> + </column> + <column name="tableidfield"> + <type name="character varying" length="50"/> + </column> + <column name="definition"> + <type name="text" length="0"/> + </column> + <column name="active" not-null="true" default-value="true"> + <type name="boolean" length="0"/> + </column> + <column name="opacity"> + <type name="integer" length="0"/> + </column> + <column name="ms_layertype_id" not-null="true"> + <type name="character varying" length="20"/> + </column> + <column name="datemaj" not-null="true" default-value="now()"> + <type name="timestamp" length="0"/> + </column> + <column name="definitiontmp"> + <type name="text" length="0"/> + </column> + <column name="metadata_id"> + <type name="integer" length="0"/> + </column> + <constraint name="layer_pkey" type="pk-constr" table="s_vm4ms.ms_layer"> + <columns names="ms_layer_id" ref-type="src-columns"/> + </constraint> + <constraint name="uk_name" type="uq-constr" table="s_vm4ms.ms_layer"> + <columns names="name" ref-type="src-columns"/> + </constraint> +</table> + +<table name="ms_layertype" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="4520" y="60"/> + <column name="ms_layertype_id" not-null="true"> + <type name="character varying" length="20"/> + <comment><![CDATA[Valeurs : POINT, LINE, POLYGON, RASTER...]]></comment> + </column> + <constraint name="layertype_pkey" type="pk-constr" table="s_vm4ms.ms_layertype"> + <columns names="ms_layertype_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="msdebuglevel" layer="0" collapse-mode="2" max-obj-count="2"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="4860" y="60"/> + <column name="msdebuglevel_id" not-null="true"> + <type name="integer" length="0"/> + </column> + <column name="label_id" not-null="true"> + <type name="character varying" length="60"/> + </column> + <constraint name="msdebuglevel_pkey" type="pk-constr" table="s_vm4ms.msdebuglevel"> + <columns names="msdebuglevel_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="source" layer="0" collapse-mode="2" max-obj-count="2"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="3520" y="480"/> + <column name="source_id" not-null="true" sequence="s_vm4ms.seq_common"> + <type name="integer" length="0"/> + </column> + <column name="name" not-null="true"> + <type name="character varying" length="100"/> + </column> + <constraint name="source_name_key" type="uq-constr" table="s_vm4ms.source"> + <columns names="name" ref-type="src-columns"/> + </constraint> + <constraint name="source_pkey" type="pk-constr" table="s_vm4ms.source"> + <columns names="source_id" ref-type="src-columns"/> + </constraint> +</table> + +<view name="v_msdebuglevel" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="3860" y="680"/> + <reference> + <expression><![CDATA[ SELECT msdebuglevel.msdebuglevel_id, + msdebuglevel.label_id, + vm_translation.translation, + vm_translation.lang + FROM (s_vm4ms.msdebuglevel + LEFT JOIN s_vitis.vm_translation ON (((vm_translation.translation_id)::text = (msdebuglevel.label_id)::text)));]]></expression> + <column name="msdebuglevel_id"> + <type name="integer" length="0"/> + </column> + <column name="label_id"> + <type name="character varying" length="60"/> + </column> + <column name="translation"> + <type name="text" length="0"/> + </column> + <column name="lang"> + <type name="character varying" length="2"/> + </column> + <reftable name="s_vitis.vm_translation"/> + <reftable name="s_vm4ms.msdebuglevel"/> + </reference> +</view> + +<relationship name="rel_v_msdebuglevel_vm_translation" type="reltv" layer="0" + custom-color="#60c3f4" + src-table="s_vm4ms.v_msdebuglevel" + dst-table="s_vitis.vm_translation" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_msdebuglevel_msdebuglevel" type="reltv" layer="0" + custom-color="#470eab" + src-table="s_vm4ms.v_msdebuglevel" + dst-table="s_vm4ms.msdebuglevel" + src-required="false" dst-required="false"/> + +<table name="web" layer="0" collapse-mode="2" max-obj-count="3"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="3860" y="480"/> + <column name="web_id" not-null="true" sequence="s_vm4ms.seq_common"> + <type name="integer" length="0"/> + </column> + <column name="name" not-null="true"> + <type name="character varying" length="20"/> + </column> + <column name="definition"> + <type name="text" length="0"/> + </column> + <constraint name="web_name_key" type="uq-constr" table="s_vm4ms.web"> + <columns names="name" ref-type="src-columns"/> + </constraint> + <constraint name="web_pkey" type="pk-constr" table="s_vm4ms.web"> + <columns names="web_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="wmsservice" layer="0" collapse-mode="2" max-obj-count="6"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="4180" y="480"/> + <column name="wmsservice_id" not-null="true"> + <type name="character varying" length="100"/> + <comment><![CDATA[Contient uniquement des caractères simples (sans accent), sans espace. le caractère _ est autorisé. Champ non modifiable. Si le flux est de type privé wmsservice vaut "private".]]></comment> + </column> + <column name="description"> + <type name="text" length="0"/> + </column> + <column name="definition"> + <type name="text" length="0"/> + </column> + <column name="web_id"> + <type name="integer" length="0"/> + </column> + <column name="msdebuglevel_id"> + <type name="integer" length="0"/> + </column> + <constraint name="wmsservice_pkey" type="pk-constr" table="s_vm4ms.wmsservice"> + <columns names="wmsservice_id" ref-type="src-columns"/> + </constraint> +</table> + +<view name="v_private_wms_service" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="4160" y="680"/> + <reference> + <expression><![CDATA[ SELECT wmsservice.wmsservice_id, + wmsservice.description, + wmsservice.definition, + wmsservice.web_id, + web.name AS web_name, + wmsservice.msdebuglevel_id + FROM (s_vm4ms.wmsservice + LEFT JOIN s_vm4ms.web ON ((web.web_id = wmsservice.web_id))) + WHERE ((wmsservice.wmsservice_id)::text = 'private'::text);]]></expression> + <column name="wmsservice_id"> + <type name="character varying" length="100"/> + </column> + <column name="description"> + <type name="text" length="0"/> + </column> + <column name="definition"> + <type name="text" length="0"/> + </column> + <column name="web_id"> + <type name="integer" length="0"/> + </column> + <column name="web_name"> + <type name="character varying" length="20"/> + </column> + <column name="msdebuglevel_id"> + <type name="integer" length="0"/> + </column> + <reftable name="s_vm4ms.web"/> + <reftable name="s_vm4ms.wmsservice"/> + </reference> +</view> + +<relationship name="rel_v_private_wms_service_web" type="reltv" layer="0" + custom-color="#92aea0" + src-table="s_vm4ms.v_private_wms_service" + dst-table="s_vm4ms.web" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_private_wms_service_wmsservice" type="reltv" layer="0" + custom-color="#51f2b3" + src-table="s_vm4ms.v_private_wms_service" + dst-table="s_vm4ms.wmsservice" + src-required="false" dst-required="false"/> + +<view name="v_public_wms_service" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="4460" y="680"/> + <reference> + <expression><![CDATA[ SELECT wmsservice.wmsservice_id, + wmsservice.description, + wmsservice.definition, + wmsservice.web_id, + web.name AS web_name, + wmsservice.msdebuglevel_id + FROM (s_vm4ms.wmsservice + LEFT JOIN s_vm4ms.web ON ((web.web_id = wmsservice.web_id))) + WHERE ((wmsservice.wmsservice_id)::text <> 'private'::text);]]></expression> + <column name="wmsservice_id"> + <type name="character varying" length="100"/> + </column> + <column name="description"> + <type name="text" length="0"/> + </column> + <column name="definition"> + <type name="text" length="0"/> + </column> + <column name="web_id"> + <type name="integer" length="0"/> + </column> + <column name="web_name"> + <type name="character varying" length="20"/> + </column> + <column name="msdebuglevel_id"> + <type name="integer" length="0"/> + </column> + <reftable name="s_vm4ms.web"/> + <reftable name="s_vm4ms.wmsservice"/> + </reference> +</view> + +<relationship name="rel_v_public_wms_service_web" type="reltv" layer="0" + custom-color="#b3de13" + src-table="s_vm4ms.v_public_wms_service" + dst-table="s_vm4ms.web" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_public_wms_service_wmsservice" type="reltv" layer="0" + custom-color="#e26aa2" + src-table="s_vm4ms.v_public_wms_service" + dst-table="s_vm4ms.wmsservice" + src-required="false" dst-required="false"/> + +<table name="wmsservice_ms_layer" layer="0" collapse-mode="2" max-obj-count="4"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="4520" y="480"/> + <column name="wmsservice_ms_layer_id" not-null="true" sequence="s_vm4ms.seq_common"> + <type name="integer" length="0"/> + </column> + <column name="wmsservice_id" not-null="true"> + <type name="character varying" length="100"/> + </column> + <column name="ms_layer_id" not-null="true"> + <type name="integer" length="0"/> + </column> + <constraint name="uk_wmsservice_layer" type="uq-constr" table="s_vm4ms.wmsservice_ms_layer"> + <columns names="wmsservice_id,ms_layer_id" ref-type="src-columns"/> + </constraint> + <constraint name="wmsservice_layer_pkey" type="pk-constr" table="s_vm4ms.wmsservice_ms_layer"> + <columns names="wmsservice_ms_layer_id" ref-type="src-columns"/> + </constraint> +</table> + +<view name="v_public_wms_service_layers" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="4760" y="680"/> + <reference> + <expression><![CDATA[ SELECT wmsservice_layer.wmsservice_id, + wmsservice_layer.ms_layer_id AS layer_id, + layer.name, + layer.title, + layer.active, + layer.opacity, + COALESCE(connection.private, false) AS "coalesce" + FROM ((s_vm4ms.wmsservice_ms_layer wmsservice_layer + LEFT JOIN s_vm4ms.ms_layer layer ON ((layer.ms_layer_id = wmsservice_layer.ms_layer_id))) + LEFT JOIN s_vm4ms.connection ON ((connection.connection_id = layer.connection_id))) + WHERE ((connection.private = false) OR (connection.private IS NULL));]]></expression> + <column name="wmsservice_id"> + <type name="character varying" length="100"/> + </column> + <column name="layer_id"> + <type name="integer" length="0"/> + </column> + <column name="name"> + <type name="character varying" length="100"/> + </column> + <column name="title"> + <type name="text" length="0"/> + </column> + <column name="active"> + <type name="boolean" length="0"/> + </column> + <column name="opacity"> + <type name="integer" length="0"/> + </column> + <column name="coalesce"> + <type name="boolean" length="0"/> + </column> + <reftable name="s_vm4ms.connection"/> + <reftable name="s_vm4ms.ms_layer"/> + <reftable name="s_vm4ms.wmsservice_ms_layer"/> + </reference> +</view> + +<relationship name="rel_v_public_wms_service_layers_connection" type="reltv" layer="0" + custom-color="#d5c3d7" + src-table="s_vm4ms.v_public_wms_service_layers" + dst-table="s_vm4ms.connection" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_public_wms_service_layers_ms_layer" type="reltv" layer="0" + custom-color="#c3895e" + src-table="s_vm4ms.v_public_wms_service_layers" + dst-table="s_vm4ms.ms_layer" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_public_wms_service_layers_wmsservice_ms_layer" type="reltv" layer="0" + custom-color="#7e6fbe" + src-table="s_vm4ms.v_public_wms_service_layers" + dst-table="s_vm4ms.wmsservice_ms_layer" + src-required="false" dst-required="false"/> + +<view name="v_public_wms_service_ms_layer" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="3520" y="880"/> + <reference> + <expression><![CDATA[ SELECT wmsservice_ms_layer.wmsservice_id, + wmsservice_ms_layer.ms_layer_id, + ms_layer.name, + ms_layer.title, + ms_layer.active, + ms_layer.opacity, + COALESCE(connection.private, false) AS "coalesce" + FROM ((s_vm4ms.wmsservice_ms_layer + LEFT JOIN s_vm4ms.ms_layer ON ((ms_layer.ms_layer_id = wmsservice_ms_layer.ms_layer_id))) + LEFT JOIN s_vm4ms.connection ON ((connection.connection_id = ms_layer.connection_id))) + WHERE ((connection.private = false) OR (connection.private IS NULL));]]></expression> + <column name="wmsservice_id"> + <type name="character varying" length="100"/> + </column> + <column name="ms_layer_id"> + <type name="integer" length="0"/> + </column> + <column name="name"> + <type name="character varying" length="100"/> + </column> + <column name="title"> + <type name="text" length="0"/> + </column> + <column name="active"> + <type name="boolean" length="0"/> + </column> + <column name="opacity"> + <type name="integer" length="0"/> + </column> + <column name="coalesce"> + <type name="boolean" length="0"/> + </column> + <reftable name="s_vm4ms.connection"/> + <reftable name="s_vm4ms.ms_layer"/> + <reftable name="s_vm4ms.wmsservice_ms_layer"/> + </reference> +</view> + +<relationship name="rel_v_public_wms_service_ms_layer_connection" type="reltv" layer="0" + custom-color="#4116ee" + src-table="s_vm4ms.v_public_wms_service_ms_layer" + dst-table="s_vm4ms.connection" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_public_wms_service_ms_layer_ms_layer" type="reltv" layer="0" + custom-color="#438de0" + src-table="s_vm4ms.v_public_wms_service_ms_layer" + dst-table="s_vm4ms.ms_layer" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_public_wms_service_ms_layer_wmsservice_ms_layer" type="reltv" layer="0" + custom-color="#c3bad1" + src-table="s_vm4ms.v_public_wms_service_ms_layer" + dst-table="s_vm4ms.wmsservice_ms_layer" + src-required="false" dst-required="false"/> + +<view name="v_wms_service" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="3820" y="880"/> + <reference> + <expression><![CDATA[ SELECT wmsservice.wmsservice_id, + wmsservice.description, + wmsservice.definition, + wmsservice.web_id, + web.name AS web_name, + wmsservice.msdebuglevel_id + FROM (s_vm4ms.wmsservice + LEFT JOIN s_vm4ms.web ON ((web.web_id = wmsservice.web_id)));]]></expression> + <column name="wmsservice_id"> + <type name="character varying" length="100"/> + </column> + <column name="description"> + <type name="text" length="0"/> + </column> + <column name="definition"> + <type name="text" length="0"/> + </column> + <column name="web_id"> + <type name="integer" length="0"/> + </column> + <column name="web_name"> + <type name="character varying" length="20"/> + </column> + <column name="msdebuglevel_id"> + <type name="integer" length="0"/> + </column> + <reftable name="s_vm4ms.web"/> + <reftable name="s_vm4ms.wmsservice"/> + </reference> +</view> + +<relationship name="rel_v_wms_service_web" type="reltv" layer="0" + custom-color="#0ce640" + src-table="s_vm4ms.v_wms_service" + dst-table="s_vm4ms.web" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_wms_service_wmsservice" type="reltv" layer="0" + custom-color="#bc6dd9" + src-table="s_vm4ms.v_wms_service" + dst-table="s_vm4ms.wmsservice" + src-required="false" dst-required="false"/> + +<view name="v_wms_service_layers" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="4120" y="880"/> + <reference> + <expression><![CDATA[ SELECT wmsservice_layer.wmsservice_id, + wmsservice_layer.ms_layer_id AS layer_id, + layer.name, + layer.title, + layer.active, + layer.opacity, + connection.private + FROM ((s_vm4ms.wmsservice_ms_layer wmsservice_layer + LEFT JOIN s_vm4ms.ms_layer layer ON ((layer.ms_layer_id = wmsservice_layer.ms_layer_id))) + LEFT JOIN s_vm4ms.connection ON ((connection.connection_id = layer.connection_id)));]]></expression> + <column name="wmsservice_id"> + <type name="character varying" length="100"/> + </column> + <column name="layer_id"> + <type name="integer" length="0"/> + </column> + <column name="name"> + <type name="character varying" length="100"/> + </column> + <column name="title"> + <type name="text" length="0"/> + </column> + <column name="active"> + <type name="boolean" length="0"/> + </column> + <column name="opacity"> + <type name="integer" length="0"/> + </column> + <column name="private"> + <type name="boolean" length="0"/> + </column> + <reftable name="s_vm4ms.connection"/> + <reftable name="s_vm4ms.ms_layer"/> + <reftable name="s_vm4ms.wmsservice_ms_layer"/> + </reference> +</view> + +<relationship name="rel_v_wms_service_layers_connection" type="reltv" layer="0" + custom-color="#985ed7" + src-table="s_vm4ms.v_wms_service_layers" + dst-table="s_vm4ms.connection" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_wms_service_layers_ms_layer" type="reltv" layer="0" + custom-color="#a3e902" + src-table="s_vm4ms.v_wms_service_layers" + dst-table="s_vm4ms.ms_layer" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_wms_service_layers_wmsservice_ms_layer" type="reltv" layer="0" + custom-color="#a36d29" + src-table="s_vm4ms.v_wms_service_layers" + dst-table="s_vm4ms.wmsservice_ms_layer" + src-required="false" dst-required="false"/> + +<view name="v_wms_service_ms_layer" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="4420" y="880"/> + <reference> + <expression><![CDATA[ SELECT wmsservice_ms_layer.wmsservice_id, + wmsservice_ms_layer.ms_layer_id, + ms_layer.name, + ms_layer.title, + ms_layer.active, + ms_layer.opacity, + connection.private + FROM ((s_vm4ms.wmsservice_ms_layer + LEFT JOIN s_vm4ms.ms_layer ON ((ms_layer.ms_layer_id = wmsservice_ms_layer.ms_layer_id))) + LEFT JOIN s_vm4ms.connection ON ((connection.connection_id = ms_layer.connection_id)));]]></expression> + <column name="wmsservice_id"> + <type name="character varying" length="100"/> + </column> + <column name="ms_layer_id"> + <type name="integer" length="0"/> + </column> + <column name="name"> + <type name="character varying" length="100"/> + </column> + <column name="title"> + <type name="text" length="0"/> + </column> + <column name="active"> + <type name="boolean" length="0"/> + </column> + <column name="opacity"> + <type name="integer" length="0"/> + </column> + <column name="private"> + <type name="boolean" length="0"/> + </column> + <reftable name="s_vm4ms.connection"/> + <reftable name="s_vm4ms.ms_layer"/> + <reftable name="s_vm4ms.wmsservice_ms_layer"/> + </reference> +</view> + +<relationship name="rel_v_wms_service_ms_layer_connection" type="reltv" layer="0" + custom-color="#2b50c0" + src-table="s_vm4ms.v_wms_service_ms_layer" + dst-table="s_vm4ms.connection" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_wms_service_ms_layer_ms_layer" type="reltv" layer="0" + custom-color="#b0bc74" + src-table="s_vm4ms.v_wms_service_ms_layer" + dst-table="s_vm4ms.ms_layer" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_wms_service_ms_layer_wmsservice_ms_layer" type="reltv" layer="0" + custom-color="#526463" + src-table="s_vm4ms.v_wms_service_ms_layer" + dst-table="s_vm4ms.wmsservice_ms_layer" + src-required="false" dst-required="false"/> + +<table name="version" layer="0" collapse-mode="2" max-obj-count="4"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="4940" y="480"/> + <column name="version" not-null="true"> + <type name="character varying" length="100"/> + </column> + <column name="build" not-null="true"> + <type name="integer" length="0"/> + </column> + <column name="date" not-null="true"> + <type name="timestamp with time zone" length="0" with-timezone="true"/> + </column> + <column name="active"> + <type name="boolean" length="0"/> + </column> + <constraint name="pk_version" type="pk-constr" table="s_vm4ms.version"> + <columns names="version" ref-type="src-columns"/> + </constraint> +</table> + +<table name="metadata" layer="0" collapse-mode="2" max-obj-count="3"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="3520" y="680"/> + <column name="metadata_id" not-null="true" sequence="s_vm4ms.seq_common"> + <type name="integer" length="0"/> + </column> + <column name="name" not-null="true"> + <type name="character varying" length="50"/> + </column> + <column name="definition"> + <type name="text" length="0"/> + </column> + <constraint name="metadata_pkey" type="pk-constr" table="s_vm4ms.metadata"> + <columns names="metadata_id" ref-type="src-columns"/> + </constraint> + <constraint name="metadata_name_key" type="uq-constr" table="s_vm4ms.metadata"> + <columns names="name" ref-type="src-columns"/> + </constraint> +</table> + +<view name="v_ms_layer" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="4720" y="880"/> + <reference> + <expression><![CDATA[ SELECT ms_layer.ms_layer_id, + ms_layer.name, + ms_layer.title, + ms_layer.coordsys_id, + coordsys.label AS coordsys_label, + ms_layer.source_id, + ms_layer.connection_id, + ms_layer.tableschema, + ms_layer.tablename, + ms_layer.tableidfield, + ms_layer.definition, + ms_layer.active, + ms_layer.opacity, + ms_layer.ms_layertype_id, + COALESCE(connection.private, false) AS private_connection, + connection.name AS connection_label, + source.name AS source_label, + ms_layer.definitiontmp, + ms_layer.metadata_id + FROM (((s_vm4ms.ms_layer + LEFT JOIN s_vm4ms.connection ON ((connection.connection_id = ms_layer.connection_id))) + LEFT JOIN s_vm4ms.source ON ((source.source_id = ms_layer.source_id))) + LEFT JOIN s_vm4ms.coordsys ON ((coordsys.coordsys_id = ms_layer.coordsys_id)));]]></expression> + <column name="ms_layer_id"> + <type name="integer" length="0"/> + </column> + <column name="name"> + <type name="character varying" length="100"/> + </column> + <column name="title"> + <type name="text" length="0"/> + </column> + <column name="coordsys_id"> + <type name="integer" length="0"/> + </column> + <column name="coordsys_label"> + <type name="character varying" length="100"/> + </column> + <column name="source_id"> + <type name="integer" length="0"/> + </column> + <column name="connection_id"> + <type name="integer" length="0"/> + </column> + <column name="tableschema"> + <type name="character varying" length="50"/> + </column> + <column name="tablename"> + <type name="character varying" length="64"/> + </column> + <column name="tableidfield"> + <type name="character varying" length="50"/> + </column> + <column name="definition"> + <type name="text" length="0"/> + </column> + <column name="active"> + <type name="boolean" length="0"/> + </column> + <column name="opacity"> + <type name="integer" length="0"/> + </column> + <column name="ms_layertype_id"> + <type name="character varying" length="20"/> + </column> + <column name="private_connection"> + <type name="boolean" length="0"/> + </column> + <column name="connection_label"> + <type name="character varying" length="50"/> + </column> + <column name="source_label"> + <type name="character varying" length="100"/> + </column> + <column name="definitiontmp"> + <type name="text" length="0"/> + </column> + <column name="metadata_id"> + <type name="integer" length="0"/> + </column> + <reftable name="s_vm4ms.connection"/> + <reftable name="s_vm4ms.coordsys"/> + <reftable name="s_vm4ms.ms_layer"/> + <reftable name="s_vm4ms.source"/> + </reference> +</view> + +<relationship name="rel_v_ms_layer_connection" type="reltv" layer="0" + custom-color="#68c4cd" + src-table="s_vm4ms.v_ms_layer" + dst-table="s_vm4ms.connection" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_ms_layer_coordsys" type="reltv" layer="0" + custom-color="#a78f75" + src-table="s_vm4ms.v_ms_layer" + dst-table="s_vm4ms.coordsys" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_ms_layer_ms_layer" type="reltv" layer="0" + custom-color="#c69a88" + src-table="s_vm4ms.v_ms_layer" + dst-table="s_vm4ms.ms_layer" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_ms_layer_source" type="reltv" layer="0" + custom-color="#310475" + src-table="s_vm4ms.v_ms_layer" + dst-table="s_vm4ms.source" + src-required="false" dst-required="false"/> + +<view name="v_private_ms_layer" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="3520" y="1240"/> + <reference> + <expression><![CDATA[ SELECT ms_layer.ms_layer_id, + ms_layer.name, + ms_layer.title, + ms_layer.coordsys_id, + ms_layer.source_id, + ms_layer.connection_id, + ms_layer.tableschema, + ms_layer.tablename, + ms_layer.tableidfield, + ms_layer.definition, + ms_layer.active, + ms_layer.opacity, + ms_layer.ms_layertype_id, + connection.private AS private_connection, + 'private'::text AS wmsservice_id + FROM (s_vm4ms.ms_layer + LEFT JOIN s_vm4ms.connection ON ((connection.connection_id = ms_layer.connection_id))) + WHERE (connection.private = true);]]></expression> + <column name="ms_layer_id"> + <type name="integer" length="0"/> + </column> + <column name="name"> + <type name="character varying" length="100"/> + </column> + <column name="title"> + <type name="text" length="0"/> + </column> + <column name="coordsys_id"> + <type name="integer" length="0"/> + </column> + <column name="source_id"> + <type name="integer" length="0"/> + </column> + <column name="connection_id"> + <type name="integer" length="0"/> + </column> + <column name="tableschema"> + <type name="character varying" length="50"/> + </column> + <column name="tablename"> + <type name="character varying" length="64"/> + </column> + <column name="tableidfield"> + <type name="character varying" length="50"/> + </column> + <column name="definition"> + <type name="text" length="0"/> + </column> + <column name="active"> + <type name="boolean" length="0"/> + </column> + <column name="opacity"> + <type name="integer" length="0"/> + </column> + <column name="ms_layertype_id"> + <type name="character varying" length="20"/> + </column> + <column name="private_connection"> + <type name="boolean" length="0"/> + </column> + <column name="wmsservice_id"> + <type name="text" length="0"/> + </column> + <reftable name="s_vm4ms.connection"/> + <reftable name="s_vm4ms.ms_layer"/> + </reference> +</view> + +<relationship name="rel_v_private_ms_layer_connection" type="reltv" layer="0" + custom-color="#7085cd" + src-table="s_vm4ms.v_private_ms_layer" + dst-table="s_vm4ms.connection" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_private_ms_layer_ms_layer" type="reltv" layer="0" + custom-color="#dd8360" + src-table="s_vm4ms.v_private_ms_layer" + dst-table="s_vm4ms.ms_layer" + src-required="false" dst-required="false"/> + +<view name="v_public_ms_layer" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="3840" y="1240"/> + <reference> + <expression><![CDATA[ SELECT ms_layer.ms_layer_id, + ms_layer.name, + ms_layer.title, + ms_layer.coordsys_id, + ms_layer.source_id, + ms_layer.connection_id, + ms_layer.tableschema, + ms_layer.tablename, + ms_layer.tableidfield, + ms_layer.definition, + ms_layer.active, + ms_layer.opacity, + ms_layer.ms_layertype_id, + COALESCE(connection.private, false) AS private_connection + FROM (s_vm4ms.ms_layer + LEFT JOIN s_vm4ms.connection ON ((connection.connection_id = ms_layer.connection_id))) + WHERE ((connection.private = false) OR (connection.private IS NULL));]]></expression> + <column name="ms_layer_id"> + <type name="integer" length="0"/> + </column> + <column name="name"> + <type name="character varying" length="100"/> + </column> + <column name="title"> + <type name="text" length="0"/> + </column> + <column name="coordsys_id"> + <type name="integer" length="0"/> + </column> + <column name="source_id"> + <type name="integer" length="0"/> + </column> + <column name="connection_id"> + <type name="integer" length="0"/> + </column> + <column name="tableschema"> + <type name="character varying" length="50"/> + </column> + <column name="tablename"> + <type name="character varying" length="64"/> + </column> + <column name="tableidfield"> + <type name="character varying" length="50"/> + </column> + <column name="definition"> + <type name="text" length="0"/> + </column> + <column name="active"> + <type name="boolean" length="0"/> + </column> + <column name="opacity"> + <type name="integer" length="0"/> + </column> + <column name="ms_layertype_id"> + <type name="character varying" length="20"/> + </column> + <column name="private_connection"> + <type name="boolean" length="0"/> + </column> + <reftable name="s_vm4ms.connection"/> + <reftable name="s_vm4ms.ms_layer"/> + </reference> +</view> + +<relationship name="rel_v_public_ms_layer_connection" type="reltv" layer="0" + custom-color="#402399" + src-table="s_vm4ms.v_public_ms_layer" + dst-table="s_vm4ms.connection" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_public_ms_layer_ms_layer" type="reltv" layer="0" + custom-color="#141867" + src-table="s_vm4ms.v_public_ms_layer" + dst-table="s_vm4ms.ms_layer" + src-required="false" dst-required="false"/> + +<view name="v_ms_layer_name" layer="0" collapse-mode="2" max-obj-count="1"> + <schema name="s_vm4ms"/> + <role name="u_vitis"/> + <position x="4160" y="1240"/> + <reference> + <expression><![CDATA[ SELECT ms_layer.ms_layer_id, + ms_layer.name, + ms_layer.title, + source.name AS source_label + FROM (s_vm4ms.ms_layer + LEFT JOIN s_vm4ms.source ON ((source.source_id = ms_layer.source_id)));]]></expression> + <column name="ms_layer_id"> + <type name="integer" length="0"/> + </column> + <column name="name"> + <type name="character varying" length="100"/> + </column> + <column name="title"> + <type name="text" length="0"/> + </column> + <column name="source_label"> + <type name="character varying" length="100"/> + </column> + <reftable name="s_vm4ms.ms_layer"/> + <reftable name="s_vm4ms.source"/> + </reference> +</view> + +<relationship name="rel_v_ms_layer_name_ms_layer" type="reltv" layer="0" + custom-color="#f68448" + src-table="s_vm4ms.v_ms_layer_name" + dst-table="s_vm4ms.ms_layer" + src-required="false" dst-required="false"/> + +<relationship name="rel_v_ms_layer_name_source" type="reltv" layer="0" + custom-color="#58f953" + src-table="s_vm4ms.v_ms_layer_name" + dst-table="s_vm4ms.source" + src-required="false" dst-required="false"/> + +<constraint name="fk_domain_id" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="CASCADE" del-action="CASCADE" ref-table="s_vitis.domain" table="s_vitis."user""> + <columns names="domain_id" ref-type="src-columns"/> + <columns names="domain_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_billinggroup_id" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vitis.billinggroup" table="s_vitis."user""> + <columns names="billinggroup_id" ref-type="src-columns"/> + <columns names="billinggroup_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_formatdate_id" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vitis.rt_formatdate" table="s_vitis."user""> + <columns names="formatdate_id" ref-type="src-columns"/> + <columns names="formatdate_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_string_id_translation" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="CASCADE" ref-table="s_vitis.vm_string" table="s_vitis.vm_translation"> + <columns names="translation_id" ref-type="src-columns"/> + <columns names="string_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_group_id_user" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="CASCADE" ref-table="s_vitis."group"" table="s_vitis.user_group"> + <columns names="group_id" ref-type="src-columns"/> + <columns names="group_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_user_id_group" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="CASCADE" ref-table="s_vitis."user"" table="s_vitis.user_group"> + <columns names="user_id" ref-type="src-columns"/> + <columns names="user_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_application_name" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="CASCADE" del-action="CASCADE" ref-table="s_vitis.vm_application" table="s_vitis.vm_application_module"> + <columns names="application_name" ref-type="src-columns"/> + <columns names="name" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_module_name" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="CASCADE" del-action="CASCADE" ref-table="s_vitis.vm_module" table="s_vitis.vm_application_module"> + <columns names="module_name" ref-type="src-columns"/> + <columns names="module_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_module_id" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="CASCADE" ref-table="s_vitis.vm_module" table="s_vitis.vm_mode"> + <columns names="module_id" ref-type="src-columns"/> + <columns names="module_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_mode_id" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="CASCADE" ref-table="s_vitis.vm_mode" table="s_vitis.vm_mode_rolname"> + <columns names="mode_id" ref-type="src-columns"/> + <columns names="mode_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_rolname" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="CASCADE" ref-table="s_vitis.privileges" table="s_vitis.vm_mode_rolname"> + <columns names="rolname" ref-type="src-columns"/> + <columns names="rolname" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_string_section" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vitis.vm_string" table="s_vitis.vm_section"> + <columns names="label_id" ref-type="src-columns"/> + <columns names="string_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_vm_tab_section" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vitis.vm_tab" table="s_vitis.vm_section"> + <columns names="tab_id" ref-type="src-columns"/> + <columns names="tab_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_module_vm_section" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vitis.vm_module" table="s_vitis.vm_section"> + <columns names="module" ref-type="src-columns"/> + <columns names="module_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_mode_id_tab" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="CASCADE" ref-table="s_vitis.vm_mode" table="s_vitis.vm_tab"> + <columns names="mode_id" ref-type="src-columns"/> + <columns names="mode_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_string_id_tab" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vitis.vm_string" table="s_vitis.vm_tab"> + <columns names="label_id" ref-type="src-columns"/> + <columns names="string_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_label_id_button" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vitis.vm_string" table="s_vitis.vm_table_button"> + <columns names="label_id" ref-type="src-columns"/> + <columns names="string_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_vm_tab_button" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vitis.vm_tab" table="s_vitis.vm_table_button"> + <columns names="tab_id" ref-type="src-columns"/> + <columns names="tab_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_label_id" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vitis.vm_string" table="s_vitis.vm_table_field"> + <columns names="label_id" ref-type="src-columns"/> + <columns names="string_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_vm_tab_button" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vitis.vm_tab" table="s_vitis.vm_table_field"> + <columns names="tab_id" ref-type="src-columns"/> + <columns names="tab_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_rt_service_service_type" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="CASCADE" del-action="RESTRICT" ref-table="s_vmap.rt_service_type" table="s_vmap.service"> + <columns names="service_type_id" ref-type="src-columns"/> + <columns names="service_type_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_map_group_group" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="CASCADE" del-action="CASCADE" ref-table="s_vitis."group"" table="s_vmap.map_group"> + <columns names="group_id" ref-type="src-columns"/> + <columns names="group_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_map_group_map" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="CASCADE" del-action="CASCADE" ref-table="s_vmap.map" table="s_vmap.map_group"> + <columns names="map_id" ref-type="src-columns"/> + <columns names="map_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_map_layer_layer" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="CASCADE" del-action="CASCADE" ref-table="s_vmap.layer" table="s_vmap.map_layer"> + <columns names="layer_id" ref-type="src-columns"/> + <columns names="layer_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_map_layer_map" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="CASCADE" del-action="CASCADE" ref-table="s_vmap.map" table="s_vmap.map_layer"> + <columns names="map_id" ref-type="src-columns"/> + <columns names="map_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_layer_service" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="CASCADE" del-action="RESTRICT" ref-table="s_vmap.service" table="s_vmap.layer"> + <columns names="service_id" ref-type="src-columns"/> + <columns names="service_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fklayer_even735484" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.layer" table="s_vmap.layer_event"> + <columns names="layer_id" ref-type="src-columns"/> + <columns names="layer_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fklayer_even639107" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.event" table="s_vmap.layer_event"> + <columns names="event_id" ref-type="src-columns"/> + <columns names="event_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_map_rt_crs" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="CASCADE" del-action="RESTRICT" ref-table="s_vmap.rt_crs" table="s_vmap.map"> + <columns names="crs_id" ref-type="src-columns"/> + <columns names="crs_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_map_maptheme" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="CASCADE" del-action="RESTRICT" ref-table="s_vmap.maptheme" table="s_vmap.map"> + <columns names="maptheme_id" ref-type="src-columns"/> + <columns names="maptheme_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_module_privilege" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="CASCADE" del-action="CASCADE" ref-table="s_vitis.privileges" table="s_vmap.module"> + <columns names="rolname" ref-type="src-columns"/> + <columns names="rolname" ref-type="dst-columns"/> +</constraint> + +<constraint name="fkprinttempl680758" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.rt_format" table="s_vmap.printtemplate"> + <columns names="rt_format_id" ref-type="src-columns"/> + <columns names="rt_format_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fkprinttempl340779" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.rt_orientation" table="s_vmap.printtemplate"> + <columns names="rt_orientation_id" ref-type="src-columns"/> + <columns names="rt_orientation_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fkprinttempl395374" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.rt_outputformats" table="s_vmap.printtemplate"> + <columns names="outputformats_id" ref-type="src-columns"/> + <columns names="outputformats_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_printtemplate_group_group" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="CASCADE" del-action="CASCADE" ref-table="s_vitis."group"" table="s_vmap.printtemplate_group"> + <columns names="group_id" ref-type="src-columns"/> + <columns names="group_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fkprinttempl72315" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="CASCADE" del-action="CASCADE" ref-table="s_vmap.printtemplate" table="s_vmap.printtemplate_group"> + <columns names="printtemplate_id" ref-type="src-columns"/> + <columns names="printtemplate_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fkprintparam828463" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="CASCADE" del-action="CASCADE" ref-table="s_vmap.printtemplate" table="s_vmap.printparameter"> + <columns names="printtemplate_id" ref-type="src-columns"/> + <columns names="printtemplate_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_user_printstyle_user" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="CASCADE" del-action="CASCADE" ref-table="s_vitis."user"" table="s_vmap.user_printstyle"> + <columns names="user_id" ref-type="src-columns"/> + <columns names="user_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fkuser_print429318" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.printstyle" table="s_vmap.user_printstyle"> + <columns names="printstyle_id" ref-type="src-columns"/> + <columns names="printstyle_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_printreport_rt_format" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.rt_format" table="s_vmap.printreport"> + <columns names="rt_format_id" ref-type="src-columns"/> + <columns names="rt_format_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_printreport_rt_orientation" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.rt_orientation" table="s_vmap.printreport"> + <columns names="rt_orientation_id" ref-type="src-columns"/> + <columns names="rt_orientation_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_printreport_rt_outputformats" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.rt_outputformats" table="s_vmap.printreport"> + <columns names="outputformats_id" ref-type="src-columns"/> + <columns names="outputformats_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_printreport_business_object" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.business_object" table="s_vmap.printreport"> + <columns names="business_object_id" ref-type="src-columns"/> + <columns names="business_object_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_layer_id_layer_businessobject" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.layer" table="s_vmap.layer_businessobject"> + <columns names="layer_id" ref-type="src-columns"/> + <columns names="layer_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_business_object_id_layer_businessobject" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="CASCADE" ref-table="s_vmap.business_object" table="s_vmap.layer_businessobject"> + <columns names="business_object_id" ref-type="src-columns"/> + <columns names="business_object_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_user_defaultmap_user" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="CASCADE" del-action="CASCADE" ref-table="s_vitis."user"" table="s_vmap.user_defaultmap"> + <columns names="user_id" ref-type="src-columns"/> + <columns names="user_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_user_defaultmap_map" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap.map" table="s_vmap.user_defaultmap"> + <columns names="map_id" ref-type="src-columns"/> + <columns names="map_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_layer_connection" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vm4ms.connection" table="s_vm4ms.ms_layer"> + <columns names="connection_id" ref-type="src-columns"/> + <columns names="connection_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_layer_coordsys" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vm4ms.coordsys" table="s_vm4ms.ms_layer"> + <columns names="coordsys_id" ref-type="src-columns"/> + <columns names="coordsys_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_layer_layertype" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vm4ms.ms_layertype" table="s_vm4ms.ms_layer"> + <columns names="ms_layertype_id" ref-type="src-columns"/> + <columns names="ms_layertype_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_layer_source" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="CASCADE" del-action="NO ACTION" ref-table="s_vm4ms.source" table="s_vm4ms.ms_layer"> + <columns names="source_id" ref-type="src-columns"/> + <columns names="source_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_layer_metadata" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="CASCADE" del-action="SET NULL" ref-table="s_vm4ms.metadata" table="s_vm4ms.ms_layer"> + <columns names="metadata_id" ref-type="src-columns"/> + <columns names="metadata_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_string_msdebuglevel" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vitis.vm_string" table="s_vm4ms.msdebuglevel"> + <columns names="label_id" ref-type="src-columns"/> + <columns names="string_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_wmsservice_web" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vm4ms.web" table="s_vm4ms.wmsservice"> + <columns names="web_id" ref-type="src-columns"/> + <columns names="web_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_wmsservice_layer_layer" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vm4ms.ms_layer" table="s_vm4ms.wmsservice_ms_layer"> + <columns names="ms_layer_id" ref-type="src-columns"/> + <columns names="ms_layer_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_wmsservice_layer_wmsservice" type="fk-constr" comparison-type="MATCH SIMPLE" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vm4ms.wmsservice" table="s_vm4ms.wmsservice_ms_layer"> + <columns names="wmsservice_id" ref-type="src-columns"/> + <columns names="wmsservice_id" ref-type="dst-columns"/> +</constraint> + +<relationship name="rel_user_domain" type="relfk" layer="0" + custom-color="#965e06" + src-table="s_vitis."user"" + dst-table="s_vitis.domain" reference-fk="fk_domain_id" + src-required="false" dst-required="false"/> + +<relationship name="rel_user_billinggroup" type="relfk" layer="0" + custom-color="#9e3f49" + src-table="s_vitis."user"" + dst-table="s_vitis.billinggroup" reference-fk="fk_billinggroup_id" + src-required="false" dst-required="false"/> + +<relationship name="rel_user_rt_formatdate" type="relfk" layer="0" + custom-color="#1ce719" + src-table="s_vitis."user"" + dst-table="s_vitis.rt_formatdate" reference-fk="fk_formatdate_id" + src-required="false" dst-required="false"/> + +<relationship name="rel_vm_translation_vm_string" type="relfk" layer="0" + custom-color="#a86a6b" + src-table="s_vitis.vm_translation" + dst-table="s_vitis.vm_string" reference-fk="fk_string_id_translation" + src-required="false" dst-required="false"/> + +<relationship name="rel_user_group_group" type="relfk" layer="0" + custom-color="#c5010f" + src-table="s_vitis.user_group" + dst-table="s_vitis."group"" reference-fk="fk_group_id_user" + src-required="false" dst-required="false"/> + +<relationship name="rel_user_group_user" type="relfk" layer="0" + custom-color="#2a6862" + src-table="s_vitis.user_group" + dst-table="s_vitis."user"" reference-fk="fk_user_id_group" + src-required="false" dst-required="false"/> + +<relationship name="rel_vm_application_module_vm_application" type="relfk" layer="0" + custom-color="#c591c5" + src-table="s_vitis.vm_application_module" + dst-table="s_vitis.vm_application" reference-fk="fk_application_name" + src-required="false" dst-required="false"/> + +<relationship name="rel_vm_application_module_vm_module" type="relfk" layer="0" + custom-color="#f1e8e5" + src-table="s_vitis.vm_application_module" + dst-table="s_vitis.vm_module" reference-fk="fk_module_name" + src-required="false" dst-required="false"/> + +<relationship name="rel_vm_mode_vm_module" type="relfk" layer="0" + custom-color="#f74e4b" + src-table="s_vitis.vm_mode" + dst-table="s_vitis.vm_module" reference-fk="fk_module_id" + src-required="false" dst-required="false"/> + +<relationship name="rel_vm_mode_rolname_vm_mode" type="relfk" layer="0" + custom-color="#f7d8dd" + src-table="s_vitis.vm_mode_rolname" + dst-table="s_vitis.vm_mode" reference-fk="fk_mode_id" + src-required="false" dst-required="false"/> + +<relationship name="rel_vm_mode_rolname_privileges" type="relfk" layer="0" + custom-color="#c4b758" + src-table="s_vitis.vm_mode_rolname" + dst-table="s_vitis.privileges" reference-fk="fk_rolname" + src-required="false" dst-required="false"/> + +<relationship name="rel_vm_section_vm_string" type="relfk" layer="0" + custom-color="#12b900" + src-table="s_vitis.vm_section" + dst-table="s_vitis.vm_string" reference-fk="fk_string_section" + src-required="false" dst-required="false"/> + +<relationship name="rel_vm_section_vm_tab" type="relfk" layer="0" + custom-color="#7958b2" + src-table="s_vitis.vm_section" + dst-table="s_vitis.vm_tab" reference-fk="fk_vm_tab_section" + src-required="false" dst-required="false"/> + +<relationship name="rel_vm_section_vm_module" type="relfk" layer="0" + custom-color="#fd5315" + src-table="s_vitis.vm_section" + dst-table="s_vitis.vm_module" reference-fk="fk_module_vm_section" + src-required="false" dst-required="false"/> + +<relationship name="rel_vm_tab_vm_mode" type="relfk" layer="0" + custom-color="#c2f4a8" + src-table="s_vitis.vm_tab" + dst-table="s_vitis.vm_mode" reference-fk="fk_mode_id_tab" + src-required="false" dst-required="false"/> + +<relationship name="rel_vm_tab_vm_string" type="relfk" layer="0" + custom-color="#d987fd" + src-table="s_vitis.vm_tab" + dst-table="s_vitis.vm_string" reference-fk="fk_string_id_tab" + src-required="false" dst-required="false"/> + +<relationship name="rel_vm_table_button_vm_string" type="relfk" layer="0" + custom-color="#0ed122" + src-table="s_vitis.vm_table_button" + dst-table="s_vitis.vm_string" reference-fk="fk_label_id_button" + src-required="false" dst-required="false"/> + +<relationship name="rel_vm_table_button_vm_tab" type="relfk" layer="0" + custom-color="#5964d9" + src-table="s_vitis.vm_table_button" + dst-table="s_vitis.vm_tab" reference-fk="fk_vm_tab_button" + src-required="false" dst-required="false"/> + +<relationship name="rel_vm_table_field_vm_string" type="relfk" layer="0" + custom-color="#01b378" + src-table="s_vitis.vm_table_field" + dst-table="s_vitis.vm_string" reference-fk="fk_label_id" + src-required="false" dst-required="false"/> + +<relationship name="rel_vm_table_field_vm_tab" type="relfk" layer="0" + custom-color="#0f07f4" + src-table="s_vitis.vm_table_field" + dst-table="s_vitis.vm_tab" reference-fk="fk_vm_tab_button" + src-required="false" dst-required="false"/> + +<relationship name="rel_service_rt_service_type" type="relfk" layer="0" + custom-color="#9abf20" + src-table="s_vmap.service" + dst-table="s_vmap.rt_service_type" reference-fk="fk_rt_service_service_type" + src-required="false" dst-required="false"/> + +<relationship name="rel_map_group_group" type="relfk" layer="0" + custom-color="#806f73" + src-table="s_vmap.map_group" + dst-table="s_vitis."group"" reference-fk="fk_map_group_group" + src-required="false" dst-required="false"/> + +<relationship name="rel_map_group_map" type="relfk" layer="0" + custom-color="#e3094c" + src-table="s_vmap.map_group" + dst-table="s_vmap.map" reference-fk="fk_map_group_map" + src-required="false" dst-required="false"/> + +<relationship name="rel_map_layer_layer" type="relfk" layer="0" + custom-color="#8b3c2f" + src-table="s_vmap.map_layer" + dst-table="s_vmap.layer" reference-fk="fk_map_layer_layer" + src-required="false" dst-required="false"/> + +<relationship name="rel_map_layer_map" type="relfk" layer="0" + custom-color="#52814c" + src-table="s_vmap.map_layer" + dst-table="s_vmap.map" reference-fk="fk_map_layer_map" + src-required="false" dst-required="false"/> + +<relationship name="rel_layer_service" type="relfk" layer="0" + custom-color="#20984f" + src-table="s_vmap.layer" + dst-table="s_vmap.service" reference-fk="fk_layer_service" + src-required="false" dst-required="false"/> + +<relationship name="rel_layer_event_layer" type="relfk" layer="0" + custom-color="#b9aec0" + src-table="s_vmap.layer_event" + dst-table="s_vmap.layer" reference-fk="fklayer_even735484" + src-required="false" dst-required="false"/> + +<relationship name="rel_layer_event_event" type="relfk" layer="0" + custom-color="#69f657" + src-table="s_vmap.layer_event" + dst-table="s_vmap.event" reference-fk="fklayer_even639107" + src-required="false" dst-required="false"/> + +<relationship name="rel_map_rt_crs" type="relfk" layer="0" + custom-color="#8176b3" + src-table="s_vmap.map" + dst-table="s_vmap.rt_crs" reference-fk="fk_map_rt_crs" + src-required="false" dst-required="false"/> + +<relationship name="rel_map_maptheme" type="relfk" layer="0" + custom-color="#c038eb" + src-table="s_vmap.map" + dst-table="s_vmap.maptheme" reference-fk="fk_map_maptheme" + src-required="false" dst-required="false"/> + +<relationship name="rel_module_privileges" type="relfk" layer="0" + custom-color="#b1a0ee" + src-table="s_vmap.module" + dst-table="s_vitis.privileges" reference-fk="fk_module_privilege" + src-required="false" dst-required="false"/> + +<relationship name="rel_printtemplate_rt_format" type="relfk" layer="0" + custom-color="#f59302" + src-table="s_vmap.printtemplate" + dst-table="s_vmap.rt_format" reference-fk="fkprinttempl680758" + src-required="false" dst-required="false"/> + +<relationship name="rel_printtemplate_rt_orientation" type="relfk" layer="0" + custom-color="#8320e4" + src-table="s_vmap.printtemplate" + dst-table="s_vmap.rt_orientation" reference-fk="fkprinttempl340779" + src-required="false" dst-required="false"/> + +<relationship name="rel_printtemplate_rt_outputformats" type="relfk" layer="0" + custom-color="#313de6" + src-table="s_vmap.printtemplate" + dst-table="s_vmap.rt_outputformats" reference-fk="fkprinttempl395374" + src-required="false" dst-required="false"/> + +<relationship name="rel_printtemplate_group_group" type="relfk" layer="0" + custom-color="#15b749" + src-table="s_vmap.printtemplate_group" + dst-table="s_vitis."group"" reference-fk="fk_printtemplate_group_group" + src-required="false" dst-required="false"/> + +<relationship name="rel_printtemplate_group_printtemplate" type="relfk" layer="0" + custom-color="#a7d91f" + src-table="s_vmap.printtemplate_group" + dst-table="s_vmap.printtemplate" reference-fk="fkprinttempl72315" + src-required="false" dst-required="false"/> + +<relationship name="rel_printparameter_printtemplate" type="relfk" layer="0" + custom-color="#6d40e3" + src-table="s_vmap.printparameter" + dst-table="s_vmap.printtemplate" reference-fk="fkprintparam828463" + src-required="false" dst-required="false"/> + +<relationship name="rel_user_printstyle_user" type="relfk" layer="0" + custom-color="#9fefec" + src-table="s_vmap.user_printstyle" + dst-table="s_vitis."user"" reference-fk="fk_user_printstyle_user" + src-required="false" dst-required="false"/> + +<relationship name="rel_user_printstyle_printstyle" type="relfk" layer="0" + custom-color="#9ae221" + src-table="s_vmap.user_printstyle" + dst-table="s_vmap.printstyle" reference-fk="fkuser_print429318" + src-required="false" dst-required="false"/> + +<relationship name="rel_printreport_rt_format" type="relfk" layer="0" + custom-color="#7588e6" + src-table="s_vmap.printreport" + dst-table="s_vmap.rt_format" reference-fk="fk_printreport_rt_format" + src-required="false" dst-required="false"/> + +<relationship name="rel_printreport_rt_orientation" type="relfk" layer="0" + custom-color="#0b3e6d" + src-table="s_vmap.printreport" + dst-table="s_vmap.rt_orientation" reference-fk="fk_printreport_rt_orientation" + src-required="false" dst-required="false"/> + +<relationship name="rel_printreport_rt_outputformats" type="relfk" layer="0" + custom-color="#c39e21" + src-table="s_vmap.printreport" + dst-table="s_vmap.rt_outputformats" reference-fk="fk_printreport_rt_outputformats" + src-required="false" dst-required="false"/> + +<relationship name="rel_printreport_business_object" type="relfk" layer="0" + custom-color="#3a9251" + src-table="s_vmap.printreport" + dst-table="s_vmap.business_object" reference-fk="fk_printreport_business_object" + src-required="false" dst-required="false"/> + +<relationship name="rel_layer_businessobject_layer" type="relfk" layer="0" + custom-color="#0fe175" + src-table="s_vmap.layer_businessobject" + dst-table="s_vmap.layer" reference-fk="fk_layer_id_layer_businessobject" + src-required="false" dst-required="false"/> + +<relationship name="rel_layer_businessobject_business_object" type="relfk" layer="0" + custom-color="#7fc9a4" + src-table="s_vmap.layer_businessobject" + dst-table="s_vmap.business_object" reference-fk="fk_business_object_id_layer_businessobject" + src-required="false" dst-required="false"/> + +<relationship name="rel_user_defaultmap_user" type="relfk" layer="0" + custom-color="#e884fc" + src-table="s_vmap.user_defaultmap" + dst-table="s_vitis."user"" reference-fk="fk_user_defaultmap_user" + src-required="false" dst-required="false"/> + +<relationship name="rel_user_defaultmap_map" type="relfk" layer="0" + custom-color="#36d874" + src-table="s_vmap.user_defaultmap" + dst-table="s_vmap.map" reference-fk="fk_user_defaultmap_map" + src-required="false" dst-required="false"/> + +<relationship name="rel_ms_layer_connection" type="relfk" layer="0" + custom-color="#ccc700" + src-table="s_vm4ms.ms_layer" + dst-table="s_vm4ms.connection" reference-fk="fk_layer_connection" + src-required="false" dst-required="false"/> + +<relationship name="rel_ms_layer_coordsys" type="relfk" layer="0" + custom-color="#e7c131" + src-table="s_vm4ms.ms_layer" + dst-table="s_vm4ms.coordsys" reference-fk="fk_layer_coordsys" + src-required="false" dst-required="false"/> + +<relationship name="rel_ms_layer_ms_layertype" type="relfk" layer="0" + custom-color="#67d00c" + src-table="s_vm4ms.ms_layer" + dst-table="s_vm4ms.ms_layertype" reference-fk="fk_layer_layertype" + src-required="false" dst-required="false"/> + +<relationship name="rel_ms_layer_source" type="relfk" layer="0" + custom-color="#b9d993" + src-table="s_vm4ms.ms_layer" + dst-table="s_vm4ms.source" reference-fk="fk_layer_source" + src-required="false" dst-required="false"/> + +<relationship name="rel_ms_layer_metadata" type="relfk" layer="0" + custom-color="#cb3404" + src-table="s_vm4ms.ms_layer" + dst-table="s_vm4ms.metadata" reference-fk="fk_layer_metadata" + src-required="false" dst-required="false"/> + +<relationship name="rel_msdebuglevel_vm_string" type="relfk" layer="0" + custom-color="#d90c74" + src-table="s_vm4ms.msdebuglevel" + dst-table="s_vitis.vm_string" reference-fk="fk_string_msdebuglevel" + src-required="false" dst-required="false"/> + +<relationship name="rel_wmsservice_web" type="relfk" layer="0" + custom-color="#ae9fc5" + src-table="s_vm4ms.wmsservice" + dst-table="s_vm4ms.web" reference-fk="fk_wmsservice_web" + src-required="false" dst-required="false"/> + +<relationship name="rel_wmsservice_ms_layer_ms_layer" type="relfk" layer="0" + custom-color="#53efc7" + src-table="s_vm4ms.wmsservice_ms_layer" + dst-table="s_vm4ms.ms_layer" reference-fk="fk_wmsservice_layer_layer" + src-required="false" dst-required="false"/> + +<relationship name="rel_wmsservice_ms_layer_wmsservice" type="relfk" layer="0" + custom-color="#7e8165" + src-table="s_vm4ms.wmsservice_ms_layer" + dst-table="s_vm4ms.wmsservice" reference-fk="fk_wmsservice_layer_wmsservice" + src-required="false" dst-required="false"/> + +<permission> + <object name="s_vitis" type="schema"/> + <roles names="u_vitis"/> + <privileges create="true" usage="true"/> +</permission> +<permission> + <object name="s_vitis" type="schema"/> + <roles names="vitis_admin"/> + <privileges usage="true"/> +</permission> +<permission> + <object name="s_vitis" type="schema"/> + <roles names="vitis_user"/> + <privileges usage="true"/> +</permission> +<permission> + <object name="s_vitis."user"" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis."user"" type="table"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.vm_translation" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.vm_translation" type="table"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.vm_translation" type="table"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis."group"" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis."group"" type="table"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis."group"" type="table"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.user_group" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.user_group" type="table"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.domain" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.domain" type="table"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.domain" type="table"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.privileges" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.privileges" type="table"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.privileges" type="table"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.v_group" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.v_group" type="view"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.v_group" type="view"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.vm_application_module" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.vm_application_module" type="table"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.vm_application_module" type="table"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.vm_mode" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.vm_mode" type="table"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.vm_mode" type="table"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.vm_mode_rolname" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.vm_mode_rolname" type="table"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.vm_mode_rolname" type="table"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.v_mode" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.v_mode" type="view"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.v_mode" type="view"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.v_ra_members_group" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.v_ra_members_group" type="view"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.v_ra_members_group" type="view"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.vm_section" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.vm_section" type="table"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.vm_section" type="table"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.vm_tab" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.vm_tab" type="table"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.vm_tab" type="table"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.v_section" type="view"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.v_section" type="view"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.v_section" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.v_tab" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.v_tab" type="view"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.v_tab" type="view"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.v_user_group" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.v_user_group" type="view"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.v_user_group" type="view"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.vm_application" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.vm_application" type="table"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.vm_application" type="table"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.vm_module" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.vm_module" type="table"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.vm_module" type="table"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.vm_string" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.vm_string" type="table"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.vm_string" type="table"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.vm_table_button" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.vm_table_button" type="table"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.vm_table_button" type="table"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.vm_table_field" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.vm_table_field" type="table"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.vm_table_field" type="table"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.feature_style" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.feature_style" type="table"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.feature_style" type="table"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.v_user_group_by_rights" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.v_user_group_by_rights" type="view"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.v_user_group_by_rights" type="view"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.billinggroup" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.billinggroup" type="table"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.v_billinggroup" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.v_billinggroup" type="view"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.v_billinggroup" type="view"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vitis.v_user" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.v_user" type="view"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.v_user" type="view"/> + <roles names="vitis_user"/> + <privileges select="true" update="true"/> +</permission> +<permission> + <object name="s_vitis.rt_formatdate" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.rt_formatdate" type="table"/> + <roles names="vitis_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vitis.rt_formatdate" type="table"/> + <roles names="vitis_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap" type="schema"/> + <roles names="u_vitis"/> + <privileges create="true" usage="true"/> +</permission> +<permission> + <object name="s_vmap" type="schema"/> + <roles names="vmap_admin"/> + <privileges usage="true"/> +</permission> +<permission> + <object name="s_vmap" type="schema"/> + <roles names="vmap_user"/> + <privileges usage="true"/> +</permission> +<permission> + <object name="s_vmap.version" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.version" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.version" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.rt_service_type" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.rt_service_type" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.rt_service_type" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.service" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.service" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.service" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.rt_crs" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.rt_crs" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.rt_crs" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.layertheme" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.layertheme" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.layertheme" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.map_group" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.map_group" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.map_group" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.map_layer" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.map_layer" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.map_layer" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.layer" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.layer" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.layer" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.event" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.event" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.event" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.layer_event" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.layer_event" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.layer_event" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.maptheme" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.maptheme" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.maptheme" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.map" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.map" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.map" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.module" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.module" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.module" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.printtemplate" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.printtemplate" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.printtemplate" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.printtemplate_group" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.printtemplate_group" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.printtemplate_group" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.rt_format" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.rt_format" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.rt_format" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.rt_orientation" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.rt_orientation" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.rt_orientation" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.printparameter" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.printparameter" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.printparameter" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.rt_outputformats" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.rt_outputformats" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.rt_outputformats" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.printstyle" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.printstyle" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.printstyle" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.user_printstyle" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.user_printstyle" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.user_printstyle" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.business_object" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.business_object" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.business_object" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.v_map" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.v_map" type="view"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.v_map" type="view"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.v_print_parameter" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.v_print_parameter" type="view"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.v_print_parameter" type="view"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.v_user_printstyle" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.v_user_printstyle" type="view"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.v_user_printstyle" type="view"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.printreport" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.printreport" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.printreport" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.v_printreport" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.v_printreport" type="view"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.v_printreport" type="view"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.layer_businessobject" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.layer_businessobject" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.layer_businessobject" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.v_layer" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.v_layer" type="view"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.v_layer" type="view"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.v_map_layer" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.v_map_layer" type="view"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.v_map_layer" type="view"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.v_template" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.v_template" type="view"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.v_template" type="view"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.v_user_template" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.v_user_template" type="view"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.v_user_template" type="view"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.user_defaultmap" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.user_defaultmap" type="table"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.user_defaultmap" type="table"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vmap.v_user_defaultmap" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.v_user_defaultmap" type="view"/> + <roles names="vmap_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vmap.v_user_defaultmap" type="view"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vm4ms" type="schema"/> + <roles names="u_vitis"/> + <privileges create="true" usage="true"/> +</permission> +<permission> + <object name="s_vm4ms" type="schema"/> + <roles names="vm4ms_admin"/> + <privileges usage="true"/> +</permission> +<permission> + <object name="s_vm4ms" type="schema"/> + <roles names="vmap_user"/> + <privileges usage="true"/> +</permission> +<permission> + <object name="s_vm4ms.connection" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.connection" type="table"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.coordsys" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.coordsys" type="table"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.ms_layer" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.ms_layer" type="table"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.ms_layertype" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.ms_layertype" type="table"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.msdebuglevel" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.msdebuglevel" type="table"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.source" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.source" type="table"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_msdebuglevel" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_msdebuglevel" type="view"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.web" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.web" type="table"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.wmsservice" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.wmsservice" type="table"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_private_wms_service" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_private_wms_service" type="view"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_public_wms_service" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_public_wms_service" type="view"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.wmsservice_ms_layer" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.wmsservice_ms_layer" type="table"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_public_wms_service_layers" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_public_wms_service_layers" type="view"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_public_wms_service_ms_layer" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_public_wms_service_ms_layer" type="view"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_wms_service" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_wms_service" type="view"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_wms_service_layers" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_wms_service_layers" type="view"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_wms_service_ms_layer" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_wms_service_ms_layer" type="view"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.version" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.version" type="table"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.metadata" type="table"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.metadata" type="table"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_ms_layer" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_ms_layer" type="view"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_ms_layer" type="view"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_private_ms_layer" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_private_ms_layer" type="view"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_public_ms_layer" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_public_ms_layer" type="view"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_ms_layer_name" type="view"/> + <roles names="u_vitis"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_ms_layer_name" type="view"/> + <roles names="vm4ms_admin"/> + <privileges select="true" delete="true" insert="true" update="true" truncate="true" references="true" trigger="true"/> +</permission> +<permission> + <object name="s_vm4ms.v_ms_layer_name" type="view"/> + <roles names="vmap_user"/> + <privileges select="true"/> +</permission> +</dbmodel> diff --git a/mcd/mcd.dbm b/mcd/vmap_2021.dbm similarity index 66% rename from mcd/mcd.dbm rename to mcd/vmap_2021.dbm index cf1d9d98d7980f22c0dc6f978137162173a29573..30ae9e0e4634e9fbae5f97d4bdcabd7fbe747277 100644 --- a/mcd/mcd.dbm +++ b/mcd/vmap_2021.dbm @@ -3,20 +3,24 @@ CAUTION: Do not modify this file unless you know what you are doing. Unexpected results may occur if the code is changed deliberately. --> -<dbmodel pgmodeler-ver="0.9.2-beta1_snapshot20190718" last-position="42,64" last-zoom="1.1" max-obj-count="9" - default-schema="public" default-owner="postgres"> +<dbmodel pgmodeler-ver="0.9.2" last-position="89,0" last-zoom="1" max-obj-count="14" + default-owner="postgres"> <database name="new_database" is-template="false" allow-conns="true"> </database> <schema name="public" layer="0" fill-color="#e1e1e1" sql-disabled="true"> </schema> +<schema name="s_vmap_2021" layer="0" rect-visible="true" fill-color="#ffff00"> + <role name="postgres"/> +</schema> + <table name="datasource" layer="0" collapse-mode="2" max-obj-count="20"> <schema name="s_vmap_2021"/> <role name="postgres"/> <position x="120" y="80"/> - <column name="datasource_id"> - <type name="smallint" length="0"/> + <column name="datasource_id" not-null="true"> + <type name="serial" length="0"/> </column> <column name="name"> <type name="smallint" length="0"/> @@ -67,16 +71,19 @@ CAUTION: Do not modify this file unless you know what you are doing. <column name="flux_password"> <type name="smallint" length="0"/> </column> + <constraint name="pk_datasource_id" type="pk-constr" table="s_vmap_2021.datasource"> + <columns names="datasource_id" ref-type="src-columns"/> + </constraint> </table> <table name="layer" layer="0" collapse-mode="2" max-obj-count="55"> <schema name="s_vmap_2021"/> <role name="postgres"/> <position x="460" y="80"/> - <column name="layer_id"> - <type name="smallint" length="0"/> + <column name="layer_id" not-null="true"> + <type name="serial" length="0"/> </column> - <column name="wms_id"> + <column name="flux_id"> <type name="smallint" length="0"/> <comment><![CDATA[Sans espace, sans accent...]]></comment> </column> @@ -216,13 +223,16 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c <column name="is_background_layer"> <type name="boolean" length="0"/> </column> + <constraint name="pk_layer_id" type="pk-constr" table="s_vmap_2021.layer"> + <columns names="layer_id" ref-type="src-columns"/> + </constraint> </table> <table name="map" layer="0" collapse-mode="2" max-obj-count="7"> <schema name="s_vmap_2021"/> <role name="postgres"/> - <position x="1240" y="160"/> - <column name="map_id"> + <position x="1560" y="160"/> + <column name="map_id" not-null="true"> <type name="smallint" length="0"/> </column> <column name="name"> @@ -240,26 +250,32 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c <column name="thumbnail"> <type name="smallint" length="0"/> </column> + <constraint name="map_pk" type="pk-constr" table="s_vmap_2021.map"> + <columns names="map_id" ref-type="src-columns"/> + </constraint> </table> <table name="source" layer="0" collapse-mode="2" max-obj-count="2"> <schema name="s_vmap_2021"/> <role name="postgres"/> <position x="140" y="480"/> - <column name="source_id"> - <type name="smallint" length="0"/> + <column name="source_id" not-null="true"> + <type name="serial" length="0"/> </column> <column name="name"> <type name="smallint" length="0"/> </column> + <constraint name="source_pk" type="pk-constr" table="s_vmap_2021.source"> + <columns names="source_id" ref-type="src-columns"/> + </constraint> </table> <table name="coordsys" layer="0" collapse-mode="2" max-obj-count="6"> <schema name="s_vmap_2021"/> <role name="postgres"/> - <position x="840" y="740"/> - <column name="coordsys_id"> - <type name="smallint" length="0"/> + <position x="900" y="700"/> + <column name="coordsys_id" not-null="true"> + <type name="serial" length="0"/> </column> <column name="definition"> <type name="smallint" length="0"/> @@ -273,14 +289,17 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c <column name="epsg_definition"> <type name="smallint" length="0"/> </column> + <constraint name="coordsys_pk" type="pk-constr" table="s_vmap_2021.coordsys"> + <columns names="coordsys_id" ref-type="src-columns"/> + </constraint> </table> <table name="wms_srs" layer="0" collapse-mode="2" max-obj-count="3"> <schema name="s_vmap_2021"/> <role name="postgres"/> - <position x="1160" y="620"/> - <column name="wms_srs_id"> - <type name="smallint" length="0"/> + <position x="900" y="520"/> + <column name="wms_srs_id" not-null="true"> + <type name="serial" length="0"/> </column> <column name="layer_id"> <type name="smallint" length="0"/> @@ -288,21 +307,36 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c <column name="coordsys_id"> <type name="smallint" length="0"/> </column> + <constraint name="wms_srs_pk" type="pk-constr" table="s_vmap_2021.wms_srs"> + <columns names="wms_srs_id" ref-type="src-columns"/> + </constraint> </table> -<table name="ms_geomtype" layer="0" collapse-mode="2" max-obj-count="1"> +<table name="ms_geomtype" layer="0" collapse-mode="2" max-obj-count="3"> <schema name="s_vmap_2021"/> <role name="postgres"/> - <position x="980" y="400"/> - <column name="ms_geomtype_id"> - <type name="smallint" length="0"/> + <position x="900" y="360"/> + <column name="ms_geomtype_id" not-null="true"> + <type name="serial" length="0"/> + </column> + <column name="label"> + <type name="varchar" length="255"/> + </column> + <column name="key"> + <type name="varchar" length="255"/> </column> + <constraint name="ms_geomtype_pk" type="pk-constr" table="s_vmap_2021.ms_geomtype"> + <columns names="ms_geomtype_id" ref-type="src-columns"/> + </constraint> </table> -<table name="layer_map" layer="0" collapse-mode="2" max-obj-count="6"> +<table name="layer_map" layer="0" collapse-mode="2" max-obj-count="7"> <schema name="s_vmap_2021"/> <role name="postgres"/> - <position x="900" y="160"/> + <position x="1200" y="160"/> + <column name="layer_map_id" not-null="true"> + <type name="serial" length="0"/> + </column> <column name="layer_id"> <type name="smallint" length="0"/> </column> @@ -318,11 +352,73 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c <column name="layer_visible"> <type name="smallint" length="0"/> </column> + <constraint name="layer_map_pk" type="pk-constr" table="s_vmap_2021.layer_map"> + <columns names="layer_map_id" ref-type="src-columns"/> + </constraint> </table> -<schema name="s_vmap_2021" layer="0" rect-visible="true" fill-color="#ffff00"> +<table name="msservice" layer="0" collapse-mode="2" max-obj-count="8"> + <schema name="s_vmap_2021"/> <role name="postgres"/> -</schema> + <position x="1560" y="420"/> + <column name="msservice_id" not-null="true"> + <type name="serial" length="0"/> + </column> + <column name="name"> + <type name="varchar" length="255"/> + </column> + <column name="definition_json"> + <type name="text" length="0"/> + </column> + <column name="definition_mapserver"> + <type name="text" length="0"/> + </column> + <column name="public" default-value="true"> + <type name="boolean" length="0"/> + </column> + <column name="msdebuglevel_id"> + <type name="integer" length="0"/> + </column> + <column name="coordsys_id"> + <type name="integer" length="0"/> + </column> + <constraint name="pk_msservice_id" type="pk-constr" table="s_vmap_2021.msservice"> + <columns names="msservice_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="msservice_layer" layer="0" collapse-mode="2" max-obj-count="3"> + <schema name="s_vmap_2021"/> + <role name="postgres"/> + <position x="1200" y="420"/> + <column name="msservice_layer_id" not-null="true"> + <type name="serial" length="0"/> + </column> + <column name="msservice_id"> + <type name="integer" length="0"/> + </column> + <column name="layer_id"> + <type name="integer" length="0"/> + </column> + <constraint name="pk_msservice_layer_id" type="pk-constr" table="s_vmap_2021.msservice_layer"> + <columns names="msservice_layer_id" ref-type="src-columns"/> + </constraint> +</table> + +<table name="msdebuglevel" layer="0" collapse-mode="2" max-obj-count="2"> + <schema name="s_vmap_2021"/> + <role name="postgres"/> + <position x="1560" y="660"/> + <column name="msdebuglevel_id" not-null="true"> + <type name="serial" length="0"/> + </column> + <column name="label"> + <type name="varchar" length="255"/> + </column> + <constraint name="pk_msdebuglevel_id" type="pk-constr" table="s_vmap_2021.msdebuglevel"> + <columns names="msdebuglevel_id" ref-type="src-columns"/> + </constraint> +</table> <constraint name="fk_datasource_id" type="fk-constr" comparison-type="MATCH FULL" upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap_2021.datasource" table="s_vmap_2021.layer"> @@ -372,6 +468,30 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c <columns names="map_id" ref-type="dst-columns"/> </constraint> +<constraint name="fk_msdebuglevel_id" type="fk-constr" comparison-type="MATCH FULL" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap_2021.msdebuglevel" table="s_vmap_2021.msservice"> + <columns names="msdebuglevel_id" ref-type="src-columns"/> + <columns names="msdebuglevel_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_coordsys_id" type="fk-constr" comparison-type="MATCH FULL" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap_2021.coordsys" table="s_vmap_2021.msservice"> + <columns names="coordsys_id" ref-type="src-columns"/> + <columns names="coordsys_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_msservice_id" type="fk-constr" comparison-type="MATCH FULL" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap_2021.msservice" table="s_vmap_2021.msservice_layer"> + <columns names="msservice_id" ref-type="src-columns"/> + <columns names="msservice_id" ref-type="dst-columns"/> +</constraint> + +<constraint name="fk_layer_id" type="fk-constr" comparison-type="MATCH FULL" + upd-action="NO ACTION" del-action="NO ACTION" ref-table="s_vmap_2021.layer" table="s_vmap_2021.msservice_layer"> + <columns names="layer_id" ref-type="src-columns"/> + <columns names="layer_id" ref-type="dst-columns"/> +</constraint> + <relationship name="rel_layer_datasource" type="relfk" layer="0" src-table="s_vmap_2021.layer" dst-table="s_vmap_2021.datasource" reference-fk="fk_datasource_id" @@ -387,7 +507,7 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c dst-table="s_vmap_2021.coordsys" reference-fk="fk_coordsys_id" src-required="false" dst-required="false"/> -<relationship name="rel_layer_ms_layertype" type="relfk" layer="0" +<relationship name="rel_layer_ms_geomtype" type="relfk" layer="0" src-table="s_vmap_2021.layer" dst-table="s_vmap_2021.ms_geomtype" reference-fk="fk_geomtype_id" src-required="false" dst-required="false"/> @@ -412,4 +532,24 @@ Si c'est Non : l'utilisateur a basculé sur l'édition manuelle du mapfile]]></c dst-table="s_vmap_2021.map" reference-fk="fk_map_id" src-required="false" dst-required="false"/> +<relationship name="rel_msservice_layer_msservice" type="relfk" layer="0" + src-table="s_vmap_2021.msservice_layer" + dst-table="s_vmap_2021.msservice" reference-fk="fk_msservice_id" + src-required="false" dst-required="false"/> + +<relationship name="rel_msservice_layer_layer" type="relfk" layer="0" + src-table="s_vmap_2021.msservice_layer" + dst-table="s_vmap_2021.layer" reference-fk="fk_layer_id" + src-required="false" dst-required="false"/> + +<relationship name="rel_msservice_msdebuglevel" type="relfk" layer="0" + src-table="s_vmap_2021.msservice" + dst-table="s_vmap_2021.msdebuglevel" reference-fk="fk_msdebuglevel_id" + src-required="false" dst-required="false"/> + +<relationship name="rel_msservice_coordsys" type="relfk" layer="0" + src-table="s_vmap_2021.msservice" + dst-table="s_vmap_2021.coordsys" reference-fk="fk_coordsys_id" + src-required="false" dst-required="false"/> + </dbmodel>