Files
alfresco-community-repo/config/alfresco/ibatis/org.hibernate.dialect.Dialect/avm-common-SqlMap.xml
Dave Ward a32ec35333 Merged V4.0-BUG-FIX to HEAD
33858: Fix for ALF-12674 CMIS LOWER fails with SOLR
   - also fixed ranges 
   - UPPER/LOWER only matches upper/lower case - they were doing a generic match
   33859: GERMAN: L10N updates based on EN rev 33523. Fixes:
      - ALF-12510, ALF-12498, ALF-12496
      - ALF-12495, ALF-12483, ALF-12477 
      - ALF-12472, ALF-12471, ALF-12470
   33860: FRENCH: L10N updates based on EN rev 33523. Fixes:
      - ALF-12510, ALF-12498, ALF-12496
      - ALF-12495, ALF-12483, ALF-12477 
      - ALF-12472, ALF-12471, ALF-12470
   33861: JAPANESE: L10N updates based on EN rev 33523. Fixes:
      - ALF-12510, ALF-12498, ALF-12496
      - ALF-12495, ALF-12483, ALF-12477 
      - ALF-12472, ALF-12471, ALF-12470
   33862: DUTCH: L10N updates based on EN rev 33523. Fixes:
      - ALF-12510, ALF-12498, ALF-12496
      - ALF-12495, ALF-12483, ALF-12477 
      - ALF-12472, ALF-12471, ALF-12470
   33892: ALF-11746 Tweak mimetype description sorting to be explicitly by description, case insensitive
   33897: Fix for ALF-12789 XAM clean JOB fails with SOLR search
   - HTTPClient as used by SOLR now includes connection stale check
   33902: Changed FileInfo to use flags value for pseudo file and delete on close, so values are copied by copyFrom().
   33904: Fixes: ALF-12794; Unescaped content error in delete event dialogue.
   33910: ALF-12701: Ensure that all action labels are encoded to prevent XSS attacks
   33913: Strip oplock request bits for pseudo files in the NTCreateAndX CIFS processing, so oplocks never granted to pseudo files.
   33920: A better fix for ALF-12794.
   33929: Merged V3.4-BUG-FIX to V4.0-BUG-FIX
      33871: ALF-12557: WCM - Webform file picker path doesn't take account of the current Webapp
      - Fix by Pavel
      33901: ALF-12815: Not possible to set versionType property when adding the aspect through nodeService.addAspect
      33909: Fix for NFS 'node does not exist' error when editing using vi. ALF-12712.
      33911: Merged V3.4 to V3.4-BUG-FIX
         33867: ALF-9899: Site creation time was still increasing linearly due to avm_child_entries queries not being able to use an index
         - Added new lc_name column - lower case version of the name which can be included in the primary key and queries
         - Added DB upgrade scripts
         33870: ALF-9899: Fixed indexing performance regression (e.g. during creation of 60,000 sites)
         - Apply more scoped cache invalidation for properties and aspects of a node in the current transaction, in line with parent associations
         - E.g. if I am querying aspects on a node already given a new parent association in the current transaction, there is no need to invalidate the parent assocs again when I find the aspects out of date!
         - This plus previous checkin means create site through Share UI back to 1 second (rather than 1 minute) with 30,000 sites
      33914: Merged V3.4 to V3.4-BUG-FIX
         33872: Merged V3.4-BUG-FIX to V3.4
            33843: Fix for ALF-12775
         33895: ALF-12816: Merged V4.0-BUG-FIX to 3.4
            33357: When installing a module the tool reads the war's version.properties file and will not install if the war version is outside the repoVersionMin or repoVersionMax
         33900: MMT fix: When the war has no version.properties file  (e.g. share) it does not error.
            Added a test case and empty.war
      33915: Merged V3.4 to V3.4-BUG-FIX (RECORD ONLY)
         33462: Merged V3.4-BUG-FIX to V3.4 (3.4.8)
         33896: ALF-9899: Reversed revisions 33867 and 33870 and rescheduled for 3.4 HF


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@33931 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2012-02-15 17:22:40 +00:00

1212 lines
47 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="alfresco.avm">
<!-- NOTE: MyBatis #224 - eg. Oracle -->
<!-- -->
<!-- Result Maps -->
<!-- -->
<resultMap id="result_AVMStore" type="AVMStore">
<result property="id" column="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="name" column="name" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="nextVersion" column="next_version_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="rootNodeId" column="current_root_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="aclId" column="acl_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="vers" column="vers" jdbcType="BIGINT" javaType="java.lang.Long"/>
</resultMap>
<resultMap id="result_AVMStoreProperty" type="AVMStoreProperty">
<result property="id" column="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="avmStoreId" column="avm_store_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="qnameId" column="qname_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="actualType" column="actual_type_n" jdbcType="INTEGER" javaType="java.lang.Integer"/>
<result property="persistedType" column="persisted_type_n" jdbcType="INTEGER" javaType="java.lang.Integer"/>
<result property="isMultiValued" column="multi_valued" jdbcType="BIT" javaType="java.lang.Boolean"/>
<result property="booleanValue" column="boolean_value" jdbcType="BIT" javaType="java.lang.Boolean"/>
<result property="longValue" column="long_value" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="floatValue" column="float_value" jdbcType="FLOAT" javaType="java.lang.Float"/>
<result property="doubleValue" column="double_value" jdbcType="DOUBLE" javaType="java.lang.Double"/>
<result property="stringValue" column="string_value" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="serializableValue" column="serializable_value" jdbcType="BLOB" javaType="java.io.Serializable"/>
</resultMap>
<resultMap id="result_AVMNode" type="AVMNode">
<result property="id" column="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="storeNewId" column="store_new_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="aclId" column="acl_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="layerId" column="layer_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="version" column="version_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="classType" column="class_type" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="guid" column="guid" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="owner" column="owner" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="creator" column="creator" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="createdDate" column="createDate" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="modifier" column="lastModifier" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="modifiedDate" column="modDate" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="accessDate" column="accessDate" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="isRoot" column="is_root" jdbcType="BIT" javaType="java.lang.Boolean"/>
<result property="deletedType" column="deletedType" jdbcType="INTEGER" javaType="java.lang.Integer"/>
<result property="indirection" column="indirection" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="indirectionVersion" column="indirection_version" jdbcType="INTEGER" javaType="java.lang.Integer"/>
<result property="primaryIndirection" column="primary_indirection" jdbcType="BIT" javaType="java.lang.Boolean"/>
<result property="opacity" column="opacity" jdbcType="BIT" javaType="java.lang.Boolean"/>
<result property="contentUrl" column="content_url" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="mimetype" column="mime_type" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="encoding" column="encoding" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="length" column="length" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="vers" column="vers" jdbcType="BIGINT" javaType="java.lang.Long"/>
</resultMap>
<resultMap id="result_AVMNodeProperty" type="AVMNodeProperty">
<result property="nodeId" column="node_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="qnameId" column="qname_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="actualType" column="actual_type_n" jdbcType="INTEGER" javaType="java.lang.Integer"/>
<result property="persistedType" column="persisted_type_n" jdbcType="INTEGER" javaType="java.lang.Integer"/>
<result property="isMultiValued" column="multi_valued" jdbcType="BIT" javaType="java.lang.Boolean"/>
<result property="booleanValue" column="boolean_value" jdbcType="BIT" javaType="java.lang.Boolean"/>
<result property="longValue" column="long_value" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="floatValue" column="float_value" jdbcType="FLOAT" javaType="java.lang.Float"/>
<result property="doubleValue" column="double_value" jdbcType="DOUBLE" javaType="java.lang.Double"/>
<result property="stringValue" column="string_value" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="serializableValue" column="serializable_value" jdbcType="BLOB" javaType="java.io.Serializable"/>
</resultMap>
<resultMap id="result_AVMNodeAspect" type="AVMNodeAspect">
<result property="nodeId" column="node_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="qnameId" column="qname_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
</resultMap>
<resultMap id="result_AVMChildEntry" type="AVMChildEntry">
<result property="parentNodeId" column="parent_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="name" column="name" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="childNodeId" column="child_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
</resultMap>
<resultMap id="result_AVMVersionRoot" type="AVMVersionRoot">
<result property="id" column="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="storeId" column="avm_store_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="rootNodeId" column="root_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="version" column="version_id" jdbcType="INTEGER" javaType="java.lang.Integer"/>
<result property="creator" column="creator" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="createdDate" column="create_date" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="tag" column="tag" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="description" column="description" jdbcType="VARCHAR" javaType="java.lang.String"/>
</resultMap>
<resultMap id="result_AVMVersionLayeredNodeEntry" type="AVMVersionLayeredNodeEntry">
<result property="versionRootId" column="version_root_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="md5sum" column="md5sum" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="path" column="path" jdbcType="VARCHAR" javaType="java.lang.String"/>
</resultMap>
<resultMap id="result_AVMHistoryLink" type="AVMHistoryLink">
<result property="ancestorNodeId" column="ancestor" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="descendentNodeId" column="descendent" jdbcType="BIGINT" javaType="java.lang.Long"/>
</resultMap>
<resultMap id="result_AVMMergeLink" type="AVMMergeLink">
<result property="mergeFromNodeId" column="mfrom" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="mergeToNodeId" column="mto" jdbcType="BIGINT" javaType="java.lang.Long"/>
</resultMap>
<!-- -->
<!-- Parameter Maps -->
<!-- -->
<parameterMap id="parameter_IdMap" type="map">
<parameter property="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
</parameterMap>
<parameterMap id="parameter_BoolMap" type="map">
<parameter property="bool" jdbcType="BIT" javaType="java.lang.Boolean"/>
</parameterMap>
<parameterMap id="parameter_IdFromMap" type="map">
<parameter property="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="from" jdbcType="BIGINT" javaType="java.lang.Long"/>
</parameterMap>
<parameterMap id="parameter_IdToMap" type="map">
<parameter property="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="to" jdbcType="BIGINT" javaType="java.lang.Long"/>
</parameterMap>
<parameterMap id="parameter_IdFromToMap" type="map">
<parameter property="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="from" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="to" jdbcType="BIGINT" javaType="java.lang.Long"/>
</parameterMap>
<parameterMap id="parameter_KeyPattern" type="map">
<parameter property="uri" jdbcType="VARCHAR" javaType="java.lang.String"/>
<parameter property="localname" jdbcType="VARCHAR" javaType="java.lang.String"/>
</parameterMap>
<parameterMap id="parameter_IdAndKeyPattern" type="map">
<parameter property="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="uri" jdbcType="VARCHAR" javaType="java.lang.String"/>
<parameter property="localname" jdbcType="VARCHAR" javaType="java.lang.String"/>
</parameterMap>
<parameterMap id="parameter_IdPatternMap" type="map">
<parameter property="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="pattern" jdbcType="VARCHAR" javaType="java.lang.String"/>
</parameterMap>
<parameterMap id="parameter_NodePropertyPatternMap" type="AVMNodeProperty">
<parameter property="actualType" jdbcType="INTEGER" javaType="java.lang.Integer"/>
<parameter property="persistedType" jdbcType="INTEGER" javaType="java.lang.Integer"/>
<parameter property="isMultiValued" jdbcType="BIT" javaType="java.lang.Boolean"/>
<parameter property="booleanValue" jdbcType="BIT" javaType="java.lang.Boolean"/>
<parameter property="longValue" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="floatValue" jdbcType="FLOAT" javaType="java.lang.Float"/>
<parameter property="doubleValue" jdbcType="DOUBLE" javaType="java.lang.Double"/>
<parameter property="stringValue" jdbcType="VARCHAR" javaType="java.lang.String"/>
<parameter property="serializableValue" jdbcType="BLOB" javaType="java.io.Serializable"/>
<parameter property="nodeId" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="qnameId" jdbcType="BIGINT" javaType="java.lang.Long"/>
</parameterMap>
<parameterMap id="parameter_StorePropertyPatternMap" type="AVMStoreProperty">
<parameter property="actualType" jdbcType="INTEGER" javaType="java.lang.Integer"/>
<parameter property="persistedType" jdbcType="INTEGER" javaType="java.lang.Integer"/>
<parameter property="isMultiValued" jdbcType="BIT" javaType="java.lang.Boolean"/>
<parameter property="booleanValue" jdbcType="BIT" javaType="java.lang.Boolean"/>
<parameter property="longValue" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="floatValue" jdbcType="FLOAT" javaType="java.lang.Float"/>
<parameter property="doubleValue" jdbcType="DOUBLE" javaType="java.lang.Double"/>
<parameter property="stringValue" jdbcType="VARCHAR" javaType="java.lang.String"/>
<parameter property="serializableValue" jdbcType="BLOB" javaType="java.io.Serializable"/>
<parameter property="avmStoreId" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="qnameId" jdbcType="BIGINT" javaType="java.lang.Long"/>
</parameterMap>
<parameterMap id="parameter_IdStorePropertyPatternMap" type="AVMStoreProperty">
<parameter property="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="actualType" jdbcType="INTEGER" javaType="java.lang.Integer"/>
<parameter property="persistedType" jdbcType="INTEGER" javaType="java.lang.Integer"/>
<parameter property="isMultiValued" jdbcType="BIT" javaType="java.lang.Boolean"/>
<parameter property="booleanValue" jdbcType="BIT" javaType="java.lang.Boolean"/>
<parameter property="longValue" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="floatValue" jdbcType="FLOAT" javaType="java.lang.Float"/>
<parameter property="doubleValue" jdbcType="DOUBLE" javaType="java.lang.Double"/>
<parameter property="stringValue" jdbcType="VARCHAR" javaType="java.lang.String"/>
<parameter property="serializableValue" jdbcType="BLOB" javaType="java.io.Serializable"/>
<parameter property="avmStoreId" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="qnameId" jdbcType="BIGINT" javaType="java.lang.Long"/>
</parameterMap>
<parameterMap id="parameterMap_delete_PropertyUniqueContextByValues" type="map">
<parameter property="value1PropId" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="value2PropId" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="value3LikeStr" jdbcType="VARCHAR" javaType="java.lang.String"/>
<parameter property="lockDataStoreKey" jdbcType="VARCHAR" javaType="java.lang.String"/>
<parameter property="lockDataStoreValue" jdbcType="VARCHAR" javaType="java.lang.String"/>
</parameterMap>
<!-- -->
<!-- SQL Snippets -->
<!-- -->
<sql id="insert_AVMStore_AutoIncrement">
insert into avm_stores (next_version_id, name, vers, current_root_id, acl_id)
values (#{version}, #{name}, 0, null, null)
</sql>
<sql id="insert_AVMStore_Sequence">
insert into avm_stores (id, next_version_id, name, vers, current_root_id, acl_id)
values (#{id}, #{version}, #{name}, 0, null, null)
</sql>
<sql id="insert_AVMNode_AutoIncrement">
insert into avm_nodes (class_type, deletedType, version_id, vers, store_new_id, acl_id, guid, owner, creator, createDate, lastModifier, modDate, accessDate, is_root, layer_id, indirection, indirection_version, primary_indirection, opacity, content_url, mime_type, encoding, length)
values (#{classType}, #{deletedType}, #{version}, 0, #{storeNewId}, #{aclId}, #{guid}, #{owner}, #{creator}, #{createdDate}, #{modifier}, #{modifiedDate}, #{accessDate}, #{isRoot}, #{layerId}, #{indirection}, #{indirectionVersion}, #{primaryIndirection}, #{opacity}, #{contentUrl}, #{mimetype}, #{encoding}, #{length})
</sql>
<sql id="insert_AVMNode_Sequence">
insert into avm_nodes (id, class_type, deletedType, version_id, vers, store_new_id, acl_id, guid, owner, creator, createDate, lastModifier, modDate, accessDate, is_root, layer_id, indirection, indirection_version, primary_indirection, opacity, content_url, mime_type, encoding, length)
values (#{id}, #{classType}, #{deletedType}, #{version}, 0, #{storeNewId}, #{aclId}, #{guid}, #{owner}, #{creator}, #{createdDate}, #{modifier}, #{modifiedDate}, #{accessDate}, #{isRoot}, #{layerId}, #{indirection}, #{indirectionVersion}, #{primaryIndirection}, #{opacity}, #{contentUrl}, #{mimetype}, #{encoding}, #{length})
</sql>
<sql id="insert_AVMVersionRoot_AutoIncrement">
insert into avm_version_roots (avm_store_id, root_id, version_id, creator, create_date, tag, description)
values (#{storeId}, #{rootNodeId}, #{version}, #{creator}, #{createdDate}, #{tag}, #{description})
</sql>
<sql id="insert_AVMVersionRoot_Sequence">
insert into avm_version_roots (id, avm_store_id, root_id, version_id, creator, create_date, tag, description)
values (#{id}, #{storeId}, #{rootNodeId}, #{version}, #{creator}, #{createdDate}, #{tag,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR})
</sql>
<sql id="insert_AVMStoreProperty_AutoIncrement">
insert into avm_store_properties (actual_type_n, persisted_type_n, multi_valued, boolean_value, long_value, float_value, double_value, string_value, serializable_value, avm_store_id, qname_id)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
</sql>
<sql id="insert_AVMStoreProperty_Sequence">
insert into avm_store_properties (id, actual_type_n, persisted_type_n, multi_valued, boolean_value, long_value, float_value, double_value, string_value, serializable_value, avm_store_id, qname_id)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
</sql>
<!-- -->
<!-- Insert Statements -->
<!-- -->
<insert id="insert_AVMNodeAspect">
insert into avm_aspects (node_id, qname_id)
values (#{nodeId}, #{qnameId})
</insert>
<insert id="insert_AVMChildEntry">
insert into avm_child_entries (parent_id, lc_name, name, child_id)
values (#{parentNodeId}, #{lowerName}, #{name}, #{childNodeId})
</insert>
<insert id="insert_AVMHistoryLink">
insert into avm_history_links (ancestor, descendent)
values (#{ancestorNodeId}, #{descendentNodeId})
</insert>
<insert id="insert_AVMMergeLink">
insert into avm_merge_links (mfrom, mto)
values (#{mergeFromNodeId}, #{mergeToNodeId})
</insert>
<insert id="insert_AVMVersionLayeredNodeEntry">
insert into avm_version_layered_node_entry (version_root_id, md5sum, path)
values (#{versionRootId}, #{md5sum}, #{path})
</insert>
<insert id="insert_AVMNodeProperty" parameterMap="parameter_NodePropertyPatternMap">
insert into avm_node_properties (actual_type_n, persisted_type_n, multi_valued, boolean_value, long_value, float_value, double_value, string_value, serializable_value, node_id, qname_id)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
</insert>
<!-- -->
<!-- AVM Store Statements -->
<!-- -->
<!-- Get AVMStore by name -->
<select id="select_AVMStoreByKey" parameterType="AVMStore" resultMap="result_AVMStore">
select
*
from
avm_stores
where
name = #{name}
</select>
<select id="select_AVMStoreByKeyL" parameterType="AVMStore" resultMap="result_AVMStore">
select
*
from
avm_stores
where
lower(name) = lower(#{name})
</select>
<!-- Get AVMStore by ID -->
<select id="select_AVMStoreById" parameterMap="parameter_IdMap" resultMap="result_AVMStore">
select
*
from
avm_stores
where
id = ?
</select>
<!-- Get AVMStore by root Node ID -->
<select id="select_AVMStoreByRootNodeId" parameterMap="parameter_IdMap" resultMap="result_AVMStore">
select
*
from
avm_stores
where
current_root_id = ?
</select>
<!-- Get all AVMStores -->
<select id="select_AVMStoreAll" resultMap="result_AVMStore">
select
*
from
avm_stores
</select>
<!-- Optimistic update of the store -->
<update id="update_AVMStore" parameterType="AVMStore">
update
avm_stores
set
next_version_id = #{nextVersion},
name = #{name,jdbcType=VARCHAR},
current_root_id = #{rootNodeId,jdbcType=BIGINT},
acl_id = #{aclId,jdbcType=BIGINT},
vers = #{vers}
where
id = #{id}
<if test="vers gt 0">
and vers = (#{vers} - 1)
</if>
</update>
<!-- Delete AVMStore -->
<delete id="delete_AVMStore" parameterMap="parameter_IdMap">
delete
from
avm_stores
where
id = ?
</delete>
<!-- -->
<!-- AVM Store Property Statements -->
<!-- -->
<select id="select_AVMStoreProperty" parameterType="AVMStoreProperty" resultMap="result_AVMStoreProperty">
select
*
from
avm_store_properties
where
avm_store_id = #{avmStoreId} and
qname_id = #{qnameId}
</select>
<select id="select_AVMStoreProperties" parameterMap="parameter_IdMap" resultMap="result_AVMStoreProperty">
select
*
from
avm_store_properties
where
avm_store_id = ?
</select>
<select id="select_AVMStorePropertiesByKeyPattern" parameterMap="parameter_KeyPattern" resultMap="result_AVMStoreProperty">
select
asp.*
from
avm_store_properties asp
join alf_qname qn on (qn.id = asp.qname_id)
join alf_namespace ns on (ns.id = qn.ns_id)
where
ns.uri like ? <include refid="alfresco.util.escape"/> and
qn.local_name like ? <include refid="alfresco.util.escape"/>
</select>
<select id="select_AVMStorePropertiesByKeyPatternL" parameterMap="parameter_KeyPattern" resultMap="result_AVMStoreProperty">
select
asp.*
from
avm_store_properties asp
join alf_qname qn on (qn.id = asp.qname_id)
join alf_namespace ns on (ns.id = qn.ns_id)
where
ns.uri like ? <include refid="alfresco.util.escape"/> and
lower(qn.local_name) like lower(?) <include refid="alfresco.util.escape"/>
</select>
<select id="select_AVMStorePropertiesByStoreAndKeyPattern" parameterMap="parameter_IdAndKeyPattern" resultMap="result_AVMStoreProperty">
select
asp.*
from
avm_store_properties asp
join alf_qname qn on (qn.id = asp.qname_id)
join alf_namespace ns on (ns.id = qn.ns_id)
where
asp.avm_store_id = ? and
ns.uri like ? <include refid="alfresco.util.escape"/> and
qn.local_name like ? <include refid="alfresco.util.escape"/>
</select>
<select id="select_AVMStorePropertiesByStoreAndKeyPatternL" parameterMap="parameter_IdAndKeyPattern" resultMap="result_AVMStoreProperty">
select
asp.*
from
avm_store_properties asp
join alf_qname qn on (qn.id = asp.qname_id)
join alf_namespace ns on (ns.id = qn.ns_id)
where
asp.avm_store_id = ? and
ns.uri like ? <include refid="alfresco.util.escape"/> and
lower(qn.local_name) like lower(?) <include refid="alfresco.util.escape"/>
</select>
<!-- Optimistic update of the store property -->
<update id="update_AVMStoreProperty" parameterMap="parameter_StorePropertyPatternMap">
update
avm_store_properties
set
actual_type_n = ?,
persisted_type_n = ?,
multi_valued = ?,
boolean_value = ?,
long_value = ?,
float_value = ?,
double_value = ?,
string_value = ?,
serializable_value = ?
where
avm_store_id = ? and
qname_id = ?
</update>
<delete id="delete_AVMStoreProperty" parameterType="AVMStoreProperty">
delete
from
avm_store_properties
where
avm_store_id = #{avmStoreId} and
qname_id = #{qnameId}
</delete>
<delete id="delete_AVMStoreProperties" parameterMap="parameter_IdMap">
delete
from
avm_store_properties
where
avm_store_id = ?
</delete>
<!-- -->
<!-- AVM Node Statements -->
<!-- -->
<select id="select_AVMNodeById" parameterMap="parameter_IdMap" resultMap="result_AVMNode">
select
*
from
avm_nodes
where
id = ?
</select>
<select id="select_AVMNodes_newInStore" parameterMap="parameter_IdMap" resultMap="result_AVMNode">
select
*
from
avm_nodes
where
store_new_id = ?
</select>
<select id="select_AVMNodes_IDs_newLayeredInStore" parameterMap="parameter_IdMap" resultType="long">
select
id
from
avm_nodes
where
store_new_id = ? and
(class_type = 'layereddirectory' or class_type = 'layeredfile')
</select>
<select id="select_AVMNodes_newLayeredInStore" parameterMap="parameter_IdMap" resultMap="result_AVMNode">
select
*
from
avm_nodes
where
(class_type = 'layereddirectory' or class_type = 'layeredfile') and
store_new_id = ?
</select>
<select id="select_AVMNodes_layeredDirectoriesAndPrimaryTF" parameterMap="parameter_BoolMap" resultMap="result_AVMNode">
select
*
from
avm_nodes
where
class_type = 'layereddirectory' and
primary_indirection = ?
</select>
<select id="select_AVMNodes_layeredFiles" resultMap="result_AVMNode">
select
*
from
avm_nodes
where
class_type = 'layeredfile'
</select>
<select id="select_ContentUrlsForPlainFiles" resultType="String">
select
content_url
from
avm_nodes
where
class_type = 'plainfile' and
content_url is not null
</select>
<update id="update_AVMNodes_clearNewInStore" parameterMap="parameter_IdMap">
update
avm_nodes
set
store_new_id = null
where
store_new_id = ?
</update>
<!-- Optimistic update of the node -->
<update id="update_AVMNode" parameterType="AVMNode">
update
avm_nodes
set
store_new_id = #{storeNewId,jdbcType=BIGINT},
acl_id = #{aclId,jdbcType=BIGINT},
layer_id = #{layerId,jdbcType=BIGINT},
version_id = #{version},
class_type = #{classType},
deletedType = #{deletedType,jdbcType=INTEGER},
owner = #{owner},
modDate = #{modifiedDate},
accessDate = #{accessDate},
is_root = #{isRoot,jdbcType=BIT},
lastModifier = #{modifier},
indirection = #{indirection,jdbcType=VARCHAR},
indirection_version = #{indirectionVersion,jdbcType=INTEGER},
primary_indirection = #{primaryIndirection,jdbcType=BIT},
opacity = #{opacity,jdbcType=BIT},
content_url = #{contentUrl,jdbcType=VARCHAR},
mime_type = #{mimetype,jdbcType=VARCHAR},
encoding = #{encoding,jdbcType=VARCHAR},
length = #{length,jdbcType=BIGINT},
guid = #{guid,jdbcType=VARCHAR},
vers = #{vers}
where
id = #{id}
<if test="vers gt 0">
and vers = (#{vers} - 1)
</if>
</update>
<update id="update_AVMNode_modTimeAndGuid" parameterType="AVMNode">
update
avm_nodes
set
modDate = #{modifiedDate},
guid = #{guid,jdbcType=VARCHAR},
vers = #{vers}
where
id = #{id}
<if test="vers gt 0">
and vers = (#{vers} - 1)
</if>
</update>
<update id="update_AVMNode_modTimeAndContentData" parameterType="AVMNode">
update
avm_nodes
set
modDate = #{modifiedDate},
content_url = #{contentUrl,jdbcType=VARCHAR},
mime_type = #{mimetype,jdbcType=VARCHAR},
encoding = #{encoding,jdbcType=VARCHAR},
length = #{length,jdbcType=BIGINT},
vers = #{vers}
where
id = #{id}
<if test="vers gt 0">
and vers = (#{vers} - 1)
</if>
</update>
<!-- for patch -->
<update id="update_AVMNodeList_nullifyAcl" parameterType="list">
update
avm_nodes set acl_id = null
where
acl_id is not null
and id in
<foreach item="item" index="index" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
</update>
<!-- for patch -->
<update id="update_AVMNodeList_setAcl" parameterType="IdListOfIdsParam">
update
avm_nodes set acl_id = #{id,jdbcType=BIGINT}
where
id in
<foreach item="item" index="index" collection="listOfIds" open="(" separator="," close=")">
#{item}
</foreach>
</update>
<delete id="delete_AVMNode" parameterMap="parameter_IdMap">
delete
from
avm_nodes
where
id = ?
</delete>
<!-- -->
<!-- AVM Node Property Statements -->
<!-- -->
<select id="select_AVMNodeProperty" parameterType="AVMNodeProperty" resultMap="result_AVMNodeProperty">
select
*
from
avm_node_properties
where
node_id = #{nodeId} and
qname_id = #{qnameId}
</select>
<select id="select_AVMNodeProperties" parameterMap="parameter_IdMap" resultMap="result_AVMNodeProperty">
select
*
from
avm_node_properties
where
node_id = ?
</select>
<!-- Optimistic update of the node property -->
<update id="update_AVMNodeProperty" parameterMap="parameter_NodePropertyPatternMap">
update
avm_node_properties
set
actual_type_n = ?,
persisted_type_n = ?,
multi_valued = ?,
boolean_value = ?,
long_value = ?,
float_value = ?,
double_value = ?,
string_value = ?,
serializable_value = ?
where
node_id = ? and
qname_id = ?
</update>
<delete id="delete_AVMNodeProperty" parameterType="AVMNodeProperty">
delete
from
avm_node_properties
where
node_id = #{nodeId} and
qname_id = #{qnameId}
</delete>
<delete id="delete_AVMNodeProperties" parameterMap="parameter_IdMap">
delete
from
avm_node_properties
where
node_id = ?
</delete>
<!-- -->
<!-- AVM VersionRoot Statements -->
<!-- -->
<select id="select_AVMVersionRootMaxVersionID" parameterMap="parameter_IdMap" resultType="int">
select
max(version_id)
from
avm_version_roots
where
avm_store_id = ?
</select>
<select id="select_AVMVersionRootMaxVersion" parameterType="AVMStore" resultMap="result_AVMVersionRoot">
select
*
from
avm_version_roots
where
avm_store_id = #{id}
and version_id = (select
max(vr.version_id)
from
avm_version_roots vr
where
vr.avm_store_id = #{id}
)
</select>
<select id="select_AVMVersionRootById" parameterMap="parameter_IdMap" resultMap="result_AVMVersionRoot">
select
*
from
avm_version_roots
where
id = ?
</select>
<select id="select_AVMVersionRootByRootNodeId" parameterMap="parameter_IdMap" resultMap="result_AVMVersionRoot">
select
*
from
avm_version_roots
where
root_id = ?
</select>
<select id="select_AVMVersionRootByStoreVersion" parameterType="AVMVersionRoot" resultMap="result_AVMVersionRoot">
select
*
from
avm_version_roots
where
avm_store_id = #{storeId} and
version_id = #{version}
</select>
<select id="select_AVMVersionRootsByStoreId" parameterMap="parameter_IdMap" resultMap="result_AVMVersionRoot">
select
*
from
avm_version_roots
where
avm_store_id = ?
order by version_id
</select>
<select id="select_AVMVersionRootsByTo" parameterMap="parameter_IdToMap" resultMap="result_AVMVersionRoot">
<![CDATA[
select
*
from
avm_version_roots
where
avm_store_id = ? and
create_date <= ?
order by version_id
]]>
</select>
<select id="select_AVMVersionRootsByFrom" parameterMap="parameter_IdFromMap" resultMap="result_AVMVersionRoot">
select
*
from
avm_version_roots
where
avm_store_id = ? and
create_date >= ?
order by version_id
</select>
<select id="select_AVMVersionRootsBetween" parameterMap="parameter_IdFromToMap" resultMap="result_AVMVersionRoot">
select
*
from
avm_version_roots
where
avm_store_id = ? and
create_date between ? and ?
order by version_id
</select>
<!-- by version ids -->
<select id="select_AVMVersionRootsByVersionTo" parameterMap="parameter_IdToMap" resultMap="result_AVMVersionRoot">
<![CDATA[
select
*
from
avm_version_roots
where
avm_store_id = ? and
version_id <= ?
order by version_id
]]>
</select>
<select id="select_AVMVersionRootsByVersionFrom" parameterMap="parameter_IdFromMap" resultMap="result_AVMVersionRoot">
select
*
from
avm_version_roots
where
avm_store_id = ? and
version_id >= ?
order by version_id
</select>
<select id="select_AVMVersionRootsByVersionsBetween" parameterMap="parameter_IdFromToMap" resultMap="result_AVMVersionRoot">
select
*
from
avm_version_roots
where
avm_store_id = ? and
version_id between ? and ?
order by version_id
</select>
<!-- Optimistic update of the version root -->
<update id="update_AVMVersionRoot" parameterType="AVMVersionRoot">
update
avm_version_roots
set
tag = #{tag,jdbcType=VARCHAR},
description = #{description,jdbcType=VARCHAR}
where
id = #{id}
</update>
<delete id="delete_AVMVersionRoot" parameterMap="parameter_IdMap">
delete
from
avm_version_roots
where
id = ?
</delete>
<!-- -->
<!-- AVM VersionLayeredNodeEntry Statements -->
<!-- -->
<select id="select_AVMVersionLayeredNodeEntries" parameterMap="parameter_IdMap" resultMap="result_AVMVersionLayeredNodeEntry">
select
*
from
avm_version_layered_node_entry
where
version_root_id = ?
</select>
<delete id="delete_AVMVersionLayeredNodeEntries" parameterMap="parameter_IdMap">
delete
from
avm_version_layered_node_entry
where
version_root_id = ?
</delete>
<!-- -->
<!-- AVM Node Aspect Statements -->
<!-- -->
<!-- Get AVMNodeAspects for given AVMNode ID -->
<select id="select_AVMNodeAspects" parameterMap="parameter_IdMap" resultType="long">
select
qname_id
from
avm_aspects
where
node_id = ?
</select>
<!-- Delete AVMNodeAspect -->
<delete id="delete_AVMNodeAspect" parameterType="AVMNodeAspect">
delete
from
avm_aspects
where
node_id = #{nodeId} and
qname_id = #{qnameId}
</delete>
<delete id="delete_AVMNodeAspects" parameterMap="parameter_IdMap">
delete
from
avm_aspects
where
node_id = ?
</delete>
<!-- -->
<!-- AVM ChildEntry Statements -->
<!-- -->
<!-- Get AVMChildEntry -->
<select id="select_AVMChildEntry" parameterType="AVMChildEntry" resultMap="result_AVMChildEntry">
select
*
from
avm_child_entries
where
parent_id = #{parentNodeId} and
lc_name = #{lowerName} and
child_id = #{childNodeId}
</select>
<!-- Get AVMNodeChildEntries by parent node ID -->
<select id="select_AVMNodeChildEntriesByParent" parameterMap="parameter_IdMap" resultMap="result_AVMChildEntry">
select
*
from
avm_child_entries
where
parent_id = ?
</select>
<!-- Get AVMNodeChildEntries by parent node ID and name pattern -->
<select id="select_AVMNodeChildEntriesByParentAndNamePattern" parameterMap="parameter_IdPatternMap" resultMap="result_AVMChildEntry">
select
*
from
avm_child_entries
where
parent_id = ? and
lc_name like ? <include refid="alfresco.util.escape"/>
</select>
<!-- Get AVMNodeChildEntries by child node ID -->
<select id="select_AVMNodeChildEntriesByChild" parameterMap="parameter_IdMap" resultMap="result_AVMChildEntry">
select
*
from
avm_child_entries
where
child_id = ?
</select>
<!-- Get AVMChildEntry by parent node ID and name -->
<select id="select_AVMChildEntryByParentAndName" parameterType="AVMChildEntry" resultMap="result_AVMChildEntry">
select
*
from
avm_child_entries
where
parent_id = #{parentNodeId} and
lc_name = #{lowerName}
</select>
<!-- Get AVMChildEntry by parent node ID and child node ID -->
<select id="select_AVMChildEntryByParentAndChild" parameterType="AVMChildEntry" resultMap="result_AVMChildEntry">
select
*
from
avm_child_entries
where
parent_id = #{parentNodeId} and
child_id = #{childNodeId}
</select>
<!-- Update child entry name (currently used for specific rename 'case' only) -->
<update id="update_AVMChildEntry" parameterType="AVMChildEntry">
update
avm_child_entries
set
name = #{name}
where
parent_id = #{parentNodeId} and
child_id = #{childNodeId}
</update>
<!-- Remove AVMChildEntry by parent node ID and name -->
<delete id="delete_AVMChildEntryByParentAndName" parameterType="AVMChildEntry">
delete
from
avm_child_entries
where
parent_id = #{parentNodeId} and
lc_name = #{lowerName}
</delete>
<!-- Remove AVMChildEntry by parent node ID and child node ID -->
<delete id="delete_AVMChildEntryByParentAndChild" parameterType="AVMChildEntry">
delete
from
avm_child_entries
where
parent_id = #{parentNodeId} and
child_id = #{childNodeId}
</delete>
<!-- Remove AVMNodeChildEntries -->
<delete id="delete_AVMNodeChildEntriesByParent" parameterMap="parameter_IdMap">
delete
from
avm_child_entries
where
parent_id = ?
</delete>
<select id="select_AVMNodes_nullParentAndIsRootTF" parameterMap="parameter_BoolMap" resultMap="result_AVMNode">
select
an.*
from
avm_child_entries ce
right outer join avm_nodes an on (an.id = ce.child_id)
where
ce.parent_id is null and
an.is_root = ?
</select>
<!-- -->
<!-- AVM MergeLink Statements -->
<!-- -->
<select id="select_AVMMergeLinksByFrom" parameterMap="parameter_IdMap" resultMap="result_AVMMergeLink">
select
*
from
avm_merge_links
where
mfrom = ?
</select>
<select id="select_AVMMergeLinkByTo" parameterMap="parameter_IdMap" resultMap="result_AVMMergeLink">
select
*
from
avm_merge_links
where
mto = ?
</select>
<delete id="delete_AVMMergeLink" parameterType="AVMMergeLink">
delete
from
avm_merge_links
where
mfrom = #{mergeFromNodeId} and
mto = #{mergeToNodeId}
</delete>
<!-- -->
<!-- AVM HistoryLink Statements -->
<!-- -->
<select id="select_AVMHistoryLinksByAncestor" parameterMap="parameter_IdMap" resultMap="result_AVMHistoryLink">
select
*
from
avm_history_links
where
ancestor = ?
</select>
<select id="select_AVMHistoryLinkByDescendent" parameterMap="parameter_IdMap" resultMap="result_AVMHistoryLink">
select
*
from
avm_history_links
where
descendent = ?
</select>
<select id="select_AVMHistoryLink" parameterType="AVMHistoryLink" resultMap="result_AVMHistoryLink">
select
*
from
avm_history_links
where
ancestor = #{ancestorNodeId} and
descendent = #{descendentNodeId}
</select>
<delete id="delete_AVMHistoryLink" parameterType="AVMHistoryLink">
delete
from
avm_history_links
where
ancestor = #{ancestorNodeId} and
descendent = #{descendentNodeId}
</delete>
<!-- For patches -->
<select id="select_AVMNodeEntitiesCountWhereNewInStore" resultType="long">
select
count(*)
from
avm_nodes node
where
node.store_new_id is not null
</select>
<select id="select_AVMNodesWithEmptyGUID" resultMap="result_AVMNode">
select
id
from
avm_nodes
where
guid is null
</select>
<select id="select_AVMNodes_nullVersionLayeredDirectories" resultMap="result_AVMNode">
select
*
from
avm_nodes
where
indirection_version is null and
class_type = 'layereddirectory'
</select>
<!-- for patch -->
<select id="select_AVMNodes_nullVersionLayeredFiles" resultMap="result_AVMNode">
select
*
from
avm_nodes
where
indirection_version is null and
class_type = 'layeredfile'
</select>
<!--
Optimised delete of AVM locks (as used by WCM web projects)
note: assumes that directory path to match
- does not start with /
- is lower-case
- ends with /
for example:
- 'www/avm_webapps/root/this/is/an/example/dirtomatch/'
-->
<delete id="delete_PropertyUniqueContextByValuesWithOneKV" parameterMap="parameterMap_delete_PropertyUniqueContextByValues">
delete from
alf_prop_unique_ctx
where exists
(
select
*
from
alf_prop_value pv3
join alf_prop_string_value psv3 on (psv3.id = pv3.long_value),
alf_prop_link pl
left join alf_prop_value pkey on (pkey.id = pl.key_prop_id and pkey.persisted_type = 3)
left join alf_prop_string_value psvk on (psvk.id = pkey.long_value)
left join alf_prop_value pval on (pval.id = pl.value_prop_id and pval.persisted_type = 3)
left join alf_prop_string_value psvv on (psvv.id = pval.long_value)
where
value1_prop_id = ? and
value2_prop_id = ? and
value3_prop_id = pv3.id and
pv3.persisted_type = 3 and
psv3.string_value like ? <include refid="alfresco.util.escape"/> and
prop1_id = pl.root_prop_id and
psvk.string_value = ? and
psvv.string_value = ?
)
</delete>
<delete id="delete_PropertyUniqueContextByValuesWithNoKV" parameterMap="parameterMap_delete_PropertyUniqueContextByValues">
delete from
alf_prop_unique_ctx
where exists
(
select
*
from
alf_prop_value pv3
join alf_prop_string_value psv3 on (psv3.id = pv3.long_value)
where
value1_prop_id = ? and
value2_prop_id = ? and
value3_prop_id = pv3.id and
pv3.persisted_type = 3 and
psv3.string_value like ? <include refid="alfresco.util.escape"/>
)
</delete>
</mapper>