You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by ro...@apache.org on 2005/05/16 02:41:53 UTC
svn commit: r170290 [1/2] - in
/incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test: ./
Maps/PostgreSQL/ Maps/PostgreSQL/Npgsql/ Scripts/PostgreSQL/ bin/Debug/
Author: roberto
Date: Sun May 15 17:41:52 2005
New Revision: 170290
URL: http://svn.apache.org/viewcvs?rev=170290&view=rev
Log:
~Updated C# DataMapper NUnit PostgreSQL scripts
+Adding C# DataMapper NUnit PostgreSQL SqlMaps
~Updated C# DataMapper IBatisNet.DataMapper.Test.csproj to include PostgreSQL files
Added:
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Account.xml
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Category.xml
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Complex.xml
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Document.xml
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/DynamicAccount.xml
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Enumeration.xml
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/LineItem.xml
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Order.xml
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Other.xml
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/ResultClass.xml
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/account-procedure.sql
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/category-procedure.sql
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/swap-procedure.sql
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/bin/Debug/SqlMap_PostgreSQL_Npgsql.config
Modified:
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/IBatisNet.DataMapper.Test.csproj
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/DataBase.sql
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/account-init.sql
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/category-init.sql
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/documents-init.sql
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/enumeration-init.sql
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/line-item-init.sql
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/more-account-records.sql
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/order-init.sql
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/other-init.sql
incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/user-init.sql
Modified: incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/IBatisNet.DataMapper.Test.csproj
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/IBatisNet.DataMapper.Test.csproj?rev=170290&r1=170289&r2=170290&view=diff
==============================================================================
--- incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/IBatisNet.DataMapper.Test.csproj (original)
+++ incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/IBatisNet.DataMapper.Test.csproj Sun May 15 17:41:52 2005
@@ -174,6 +174,10 @@
BuildAction = "None"
/>
<File
+ RelPath = "bin\Debug\SqlMap_PostgreSQL_Npgsql.config"
+ BuildAction = "None"
+ />
+ <File
RelPath = "bin\Debug\test.config"
BuildAction = "None"
/>
@@ -612,6 +616,46 @@
BuildAction = "Content"
/>
<File
+ RelPath = "Maps\PostgreSQL\Npgsql\Account.xml"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "Maps\PostgreSQL\Npgsql\Category.xml"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "Maps\PostgreSQL\Npgsql\Complex.xml"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "Maps\PostgreSQL\Npgsql\Document.xml"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "Maps\PostgreSQL\Npgsql\DynamicAccount.xml"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "Maps\PostgreSQL\Npgsql\Enumeration.xml"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "Maps\PostgreSQL\Npgsql\LineItem.xml"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "Maps\PostgreSQL\Npgsql\Order.xml"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "Maps\PostgreSQL\Npgsql\Other.xml"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "Maps\PostgreSQL\Npgsql\ResultClass.xml"
+ BuildAction = "Content"
+ />
+ <File
RelPath = "NUnit\SqlMapTests\BaseTest.cs"
SubType = "Code"
BuildAction = "Compile"
@@ -963,6 +1007,58 @@
/>
<File
RelPath = "Scripts\Oracle\user-init.sql"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "Scripts\PostgreSQL\account-init.sql"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "Scripts\PostgreSQL\account-procedure.sql"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "Scripts\PostgreSQL\category-init.sql"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "Scripts\PostgreSQL\category-procedure.sql"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "Scripts\PostgreSQL\DataBase.sql"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "Scripts\PostgreSQL\documents-init.sql"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "Scripts\PostgreSQL\enumeration-init.sql"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "Scripts\PostgreSQL\line-item-init.sql"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "Scripts\PostgreSQL\more-account-records.sql"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "Scripts\PostgreSQL\order-init.sql"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "Scripts\PostgreSQL\other-init.sql"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "Scripts\PostgreSQL\swap-procedure.sql"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "Scripts\PostgreSQL\user-init.sql"
BuildAction = "Content"
/>
</Include>
Added: incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Account.xml
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Account.xml?rev=170290&view=auto
==============================================================================
--- incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Account.xml (added)
+++ incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Account.xml Sun May 15 17:41:52 2005
@@ -0,0 +1,559 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<sqlMap namespace="Account" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="SqlMap.xsd">
+
+ <!-- =============================================
+ <resultMap
+ name="name"
+ class="name"
+ extend="resultMapId"
+ >
+ <result
+ property="name"
+ column="name"
+ columnIndex="name"
+ nullValue="value"
+ select="name"
+ resultMap="name"
+ lazyLoad="true/false"
+ dbType=""
+ />
+ <procedure
+ name="name"
+ parameterMap="name"
+ >
+ <statement
+ name="name"
+ parameterClass="name"
+ parameterMap="name"
+ resultClass="name"
+ resultMap="name"
+ listClass="name"
+ >
+ <parameterMap
+ name="name"
+ class=""
+ >
+ <parameter
+ property="name"
+ dbType=""
+ output="true/false"
+ type=""
+ nullValue=""
+ extend="parameterMapId"
+ />
+
+ ============================================= -->
+
+ <cacheModels>
+ <cacheModel id="account-cache" implementation="MEMORY" >
+ <flushInterval hours="24"/>
+ <flushOnExecute statement="UpdateAccountViaInlineParameters"/>
+ <flushOnExecute statement="UpdateAccountViaParameterMap"/>
+ <property name="Type" value="Weak"/>
+ </cacheModel>
+
+ <!--
+ <cacheModel name="account-cache" implementation="LRU" >
+ <flushInterval hours="24"/>
+ <flushOnExecute statement="UpdateAccountViaInlineParameters"/>
+ <flushOnExecute statement="UpdateAccountViaParameterMap"/>
+ <property name="CacheSize" value="50"/>
+ </cacheModel>
+ -->
+
+ </cacheModels>
+
+ <alias>
+ <typeAlias alias="HundredsBool" type="IBatisNet.DataMapper.Test.Domain.HundredsTypeHandlerCallback, IBatisNet.DataMapper.Test"/>
+ </alias>
+
+ <resultMaps>
+ <resultMap id="account-result" class="Account" >
+ <result property="Id" column="Account_ID"/>
+ <result property="FirstName" column="Account_FirstName"/>
+ <result property="LastName" column="Account_LastName"/>
+ <result property="EmailAddress" column="Account_Email" nullValue="no_email@provided.com"/>
+ <result property="BannerOption" column="Account_Banner_Option" dbType="Text" type="bool"/>
+ <result property="CartOption" column="Account_Cart_Option" typeHandler="HundredsBool"/>
+ </resultMap>
+ <resultMap id="indexed-account-result" class="Account">
+ <result property="Id" column="Account_ID" columnIndex="0"/>
+ <result property="FirstName" column="Account_FirstName" columnIndex="1"/>
+ <result property="LastName" column="Account_LastName" columnIndex="2"/>
+ <result property="EmailAddress" column="Account_Email" columnIndex="3" nullValue="no_email@provided.com"/>
+ </resultMap>
+ <resultMap id="account-result-nullable-email" class="Account">
+ <result property="Id" column="Account_ID"/>
+ <result property="FirstName" column="Account_FirstName"/>
+ <result property="LastName" column="Account_LastName"/>
+ <result property="EmailAddress" column="Account_Email"/>
+ </resultMap>
+
+ <resultMap id="email-result" class="string">
+ <result property="value" column="Account_Email"/>
+ </resultMap>
+
+ <resultMap id="account-hashtable-result" class="Hashtable">
+ <result property="Id" column="Account_ID"/>
+ <result property="FirstName" column="Account_FirstName"/>
+ <result property="LastName" column="Account_LastName"/>
+ <result property="EmailAddress" column="Account_Email"/>
+ </resultMap>
+
+ </resultMaps>
+
+ <!-- =============================================
+ MAPPED STATEMENTS - w/Inline Parameters
+ =============================================
+ -->
+ <statements>
+
+ <select id="GetAccountsDynamic" resultMap="account-result" parameterClass="Hashtable" >
+ select * from Accounts
+ <dynamic prepend="where">
+ <isParameterPresent>
+ <isNotEmpty prepend="and" property="FirstName" >
+ Account_FirstName LIKE '%$FirstName$%'
+ </isNotEmpty>
+ <isNotEmpty prepend="and" property="LastName" >
+ Account_LastName LIKE '%$LastName$%'
+ </isNotEmpty>
+ <isNotEmpty prepend="and" property="EmailAddress" >
+ Account_Email LIKE '%$EmailAddress$%'
+ </isNotEmpty>
+ </isParameterPresent>
+ </dynamic>
+ order by Account_LastName
+ limit $MaximumAllowed$
+ </select>
+
+ <select id="SelectWithProperty"
+ resultMap="account-result">
+ select *
+ from Accounts
+ where Account_FirstName = ${accountName}
+ </select>
+
+ <select id="GetCachedAccountsViaResultMap"
+ resultMap="account-result"
+ cacheModel="account-cache" >
+ select *
+ from Accounts
+ order by Account_ID
+ </select>
+
+ <select id="GetNoAccountWithCache"
+ parameterClass="Integer"
+ resultMap="account-hashtable-result"
+ cacheModel="account-cache">
+ select *
+ from Accounts
+ where Account_ID = #value#
+ </select>
+
+ <select id="GetAccountAsHashtable"
+ parameterClass="Integer"
+ resultMap="account-hashtable-result">
+ select *
+ from Accounts
+ where Account_ID = #value#
+ </select>
+
+ <select id="GetAllAccountsAsHashMapViaResultMap"
+ resultMap="account-hashtable-result">
+ select *
+ from Accounts
+ order by Account_ID
+ </select>
+
+ <select id="GetAccountAsHashtableResultClass"
+ parameterClass="int"
+ resultClass="HashMap">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ where Account_ID = #value#
+ </select>
+
+ <select id="GetAllAccountsAsHashtableViaResultClass"
+ resultClass="Hashtable">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ order by Account_ID
+ </select>
+
+ <select id="GetAccountViaColumnName"
+ parameterClass="int"
+ resultMap="account-result">
+ select
+ Account_ID,
+ Account_FirstName,
+ Account_LastName,
+ Account_Email,
+ Account_Banner_Option,
+ Account_Cart_Option
+ from Accounts
+ where Account_ID = #value#
+ </select>
+
+ <select id="GetAccountViaColumnIndex"
+ parameterClass="int"
+ resultMap="indexed-account-result">
+ select
+ Account_ID,
+ Account_FirstName,
+ Account_LastName,
+ Account_Email
+ from Accounts
+ where Account_ID = #value#
+ </select>
+
+ <select id="GetAllAccountsViaResultMap"
+ resultMap="account-result">
+ select * from Accounts
+ order by Account_ID
+ </select>
+
+ <select id="GetAllAccountsViaResultClass"
+ resultClass="Account">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ order by Account_ID
+ </select>
+
+ <select id="GetFewAccountsViaResultMap"
+ resultMap="account-result">
+ <![CDATA[
+ select * from Accounts
+ where Account_ID < 2
+ order by Account_ID
+ ]]>
+ </select>
+
+ <select id="GetNoAccountsViaResultMap"
+ resultMap="account-result">
+ select * from Accounts
+ where Account_ID > 1000
+ order by Account_ID
+ </select>
+
+
+ <select id="GetAccountNullableEmail"
+ resultMap="account-result-nullable-email">
+ select
+ Account_ID,
+ Account_FirstName,
+ Account_LastName,
+ Account_Email
+ from Accounts
+ where Account_ID = #value#
+ </select>
+
+ <select id="GetAccountViaResultClass"
+ resultClass="Account">
+ <![CDATA[
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ where Account_ID = #value#
+ ]]>
+ </select>
+
+ <select id="GetAccountViaInlineParameters"
+ resultMap="indexed-account-result">
+ select
+ Account_ID,
+ Account_FirstName,
+ Account_LastName,
+ Account_Email
+ from Accounts
+ where Account_ID = #Id# and Account_ID = #Id#
+ </select>
+
+ <select id="GetEmailAddressViaResultClass" resultClass="string">
+ select Account_Email as value
+ from Accounts
+ where Account_ID = #value#
+ </select>
+
+ <select id="GetEmailAddressViaResultMap"
+ parameterClass="int"
+ resultMap="email-result">
+ select Account_Email
+ from Accounts
+ where Account_ID = #value#
+ </select>
+
+ <select id="GetAllEmailAddressesViaResultClass"
+ resultClass="string">
+ select Account_Email
+ from Accounts
+ order by Account_ID
+ </select>
+
+ <select id="GetAllEmailAddressesViaResultMap"
+ resultMap="email-result">
+ select Account_Email
+ from Accounts
+ order by Account_ID
+ </select>
+
+ <insert id="InsertAccountViaParameterMap"
+ parameterMap="insert-params">
+ insert into Accounts
+ (Account_ID, Account_FirstName, Account_LastName, Account_Email, Account_Banner_Option, Account_Cart_Option)
+ values
+ (?, ?, ?, ?, ?, ?)
+ </insert>
+
+ <update id="UpdateAccountViaParameterMap"
+ parameterMap="update-params">
+ update Accounts set
+ Account_FirstName = ?,
+ Account_LastName = ?,
+ Account_Email = ?
+ where
+ Account_ID = ?
+ </update>
+
+ <update id="UpdateAccountViaParameterMap2"
+ parameterMap="update-params2">
+ update Accounts set
+ Account_ID = ?,
+ Account_FirstName = ?,
+ Account_LastName = ?,
+ Account_Email = ?
+ where
+ Account_ID = ?
+ </update>
+
+ <delete id="DeleteAccountViaInlineParameters">
+ delete from Accounts
+ where
+ Account_ID = #Id#
+ </delete>
+
+ <select id="GetAccountComplexMapping"
+ resultMap="indexed-account-result"
+ parameterClass="Hashtable">
+ select *
+ from Accounts
+ where
+ Account_FirstName = #Account.FirstName#
+ And Account_LastName = #Order.City#
+ </select>
+
+ <select id="GetDynamicOrderedEmailAddressesViaResultMap"
+ resultMap="email-result">
+ select Account_Email
+ from Accounts
+ order by $value$
+ </select>
+
+ <!-- Dynamic statements -->
+ <select id="GetAllAccountsViaResultMapWithDynamicElement"
+ resultMap="account-result">
+ select * from Accounts
+ where Account_Email $value$ '%@%'
+ order by Account_ID
+ </select>
+
+ <select id="SimpleDynamicSubstitution"
+ parameterClass="Hashtable"
+ resultClass="Account">
+ $statement$
+ </select>
+
+ <!-- Public Fields -->
+ <insert id="InsertAccountViaPublicFields">
+ insert into Accounts
+ (Account_ID, Account_FirstName, Account_LastName, Account_Email)
+ values
+ (#Id#, #FirstName#, #LastName#, #EmailAddress#
+ )
+ </insert>
+
+
+ <!-- Inline Parameters -->
+ <update id="UpdateAccountViaInlineParameters"
+ parameterClass="Account">
+ update Accounts set
+ Account_FirstName = #FirstName#,
+ Account_LastName = #LastName#,
+ Account_Email = #EmailAddress:text:no_email@provided.com#
+ where
+ Account_ID = #Id#
+ </update>
+
+ <insert id="InsertAccountViaInlineParameters"
+ parameterClass="Account" >
+ insert into Accounts
+ (Account_ID, Account_FirstName, Account_LastName, Account_Email)
+ values
+ (#Id#, #FirstName#, #LastName#, #EmailAddress:text:no_email@provided.com#
+ )
+ </insert>
+
+ <insert id="InsertAccountNullableEmail"
+ parameterClass="Account" >
+ insert into Accounts
+ (Account_ID, Account_FirstName, Account_LastName, Account_Email)
+ values
+ ( #Id#, #FirstName#, #LastName#, #EmailAddress:text# )
+ </insert>
+
+ <insert id="InsertAccountUknownParameterClass">
+ insert into Accounts
+ (Account_ID, Account_FirstName, Account_LastName, Account_Email)
+ values
+ ( #Id#, #FirstName#, #LastName#, #EmailAddress:text# )
+ </insert>
+
+ <delete id="DeleteAccount"
+ parameterClass="Account">
+ delete from Accounts
+ where Account_ID = #Id#
+ and Account_ID = #Id#
+ </delete>
+
+ <!-- Extends statement -->
+ <select id="GetAllAccounts"
+ resultMap="indexed-account-result">
+ select
+ Account_ID,
+ Account_FirstName,
+ Account_LastName,
+ Account_Email
+ from Accounts
+ </select>
+
+ <select id="GetAllAccountsOrderByName"
+ extends="GetAllAccounts"
+ resultMap="indexed-account-result">
+ order by Account_FirstName
+ </select>
+
+ <select id="GetOneAccount"
+ extends="GetAllAccounts"
+ resultMap="indexed-account-result">
+ where Account_ID = #value#
+ </select>
+
+ <select id="GetSomeAccount"
+ extends="GetAllAccounts"
+ parameterClass="Hashtable"
+ resultMap="indexed-account-result">
+ where Account_ID between #lowID# and #hightID#
+ </select>
+
+ <select id="SelectAccountJIRA29" parameterClass="map" resultClass="Account">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ where Account_FirstName = '##$AccountName$##'
+ </select>
+
+ <select id="SelectAccountJIRA29-2"
+ parameterClass="Hashtable"
+ resultClass="Account">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ where 1=1
+ <isNotEmpty prepend="AND" property="Foo">
+ (Account_FirstName = '##$Foo$##')
+ </isNotEmpty>
+ </select>
+
+ <select id="GetAccountWithRepeatingProperty"
+ parameterClass="Account"
+ resultMap="indexed-account-result">
+ select
+ Account_ID,
+ Account_FirstName,
+ Account_LastName,
+ Account_Email
+ from Accounts
+ where Account_ID = #Id# and
+ Account_ID = #Id# and
+ Account_FirstName = #FirstName# and
+ Account_LastName = #LastName# and
+ Account_ID = #Id#
+ </select>
+
+ <select id="GetAllAccountsViaCustomTypeHandler"
+ resultMap="account-result">
+ select * from Accounts
+ order by Account_ID
+ </select>
+
+ <!-- For procedure, the parameters of the parameterMap must in the same order
+ as for the procedure paramaters-->
+ <procedure id="InsertAccountViaStoreProcedure" parameterMap="insert-params">
+ ps_InsertAccount
+ </procedure>
+
+ <procedure id="SwapEmailAddresses" parameterMap="swap-params">
+ ps_swap_email_address
+ </procedure>
+ </statements>
+
+ <!-- =============================================
+ OPTIONAL EXPLICIT PARAMETER MAP
+ ============================================= -->
+ <parameterMaps>
+
+ <parameterMap id="swap-params">
+ <parameter property="email1" column="First_Email" />
+ <parameter property="email2" column="Second_Email" />
+ </parameterMap>
+
+ <parameterMap id="insert-params">
+ <parameter property="Id" />
+ <parameter property="FirstName" />
+ <parameter property="LastName" />
+ <parameter property="EmailAddress" nullValue="no_email@provided.com"/>
+ <parameter property="BannerOption" dbType="Text" type="bool"/>
+ <parameter property="CartOption" column="Account_Cart_Option" typeHandler="HundredsBool"/>
+ </parameterMap>
+
+ <parameterMap id="update-params">
+ <parameter property="FirstName" />
+ <parameter property="LastName" />
+ <parameter property="EmailAddress" nullValue="no_email@provided.com"/>
+ <parameter property="Id" />
+ </parameterMap>
+
+ <parameterMap id="update-params2">
+ <parameter property="Id" />
+ <parameter property="FirstName" />
+ <parameter property="LastName" />
+ <parameter property="EmailAddress" nullValue="no_email@provided.com"/>
+ <parameter property="Id" />
+ </parameterMap>
+
+ </parameterMaps>
+
+</sqlMap>
\ No newline at end of file
Added: incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Category.xml
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Category.xml?rev=170290&view=auto
==============================================================================
--- incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Category.xml (added)
+++ incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Category.xml Sun May 15 17:41:52 2005
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="utf-8"?>
+<sqlMap namespace="Category" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="SqlMap.xsd">
+
+ <alias>
+ <typeAlias alias="Category" type="IBatisNet.DataMapper.Test.Domain.Category, IBatisNet.DataMapper.Test"/>
+ </alias>
+
+ <statements>
+
+ <select id="GetCategory" parameterClass="Integer" resultClass="Category">
+ select
+ Category_ID as Id,
+ Category_Name as Name,
+ Category_Guid as Guid
+ from Categories
+ where Category_ID = #value#
+ </select>
+
+ <select id="GetCategoryGuid" parameterClass="Integer" resultClass="guid">
+ select
+ Category_Guid as value
+ from Categories
+ where Category_ID = #value#
+ </select>
+
+ <!-- Test for statement as insert -->
+ <insert id="InsertCategory" parameterClass="Category">
+ <selectKey property="Id" type="post" resultClass="int">
+ SELECT cast(last_value as int) AS value
+ FROM categories_category_id_seq
+ </selectKey>
+ insert into Categories
+ (Category_Name, Category_Guid)
+ values
+ (#Name#, #GuidString:text#);
+ </insert>
+
+ <!-- -->
+ <insert id="InsertCategoryViaInsertStatement" parameterClass="Category" >
+ <selectKey property="Id" type="post" resultClass="int">
+ SELECT cast(last_value as int) AS value
+ FROM categories_category_id_seq
+ </selectKey>
+ insert into Categories
+ (Category_Name, Category_Guid)
+ values
+ (#Name#, #GuidString:text#)
+ </insert>
+
+ <insert id="InsertCategoryViaParameterMap" parameterMap="InsertParam">
+ <selectKey property="Id" type="post" resultClass="int">
+ SELECT cast(last_value as int) AS value
+ FROM categories_category_id_seq
+ </selectKey>
+ insert into Categories
+ (Category_Name, Category_Guid)
+ values
+ (?,?);
+ </insert>
+
+ <insert id="InsertCategoryNull" parameterMap="insert-null-params">
+ <selectKey property="Id" type="post" resultClass="int">
+ SELECT cast(last_value as int) AS value
+ FROM categories_category_id_seq
+ </selectKey>
+ insert into Categories
+ (Category_Name, Category_Guid)
+ values
+ (?,?);
+ </insert>
+
+ <update id="UpdateCategoryViaParameterMap" parameterMap="UpdateParam">
+ update Categories set
+ Category_Name =?,
+ Category_Guid = ?
+ where
+ Category_Id = ?
+ </update>
+
+ <procedure id="InsertCategoryViaStoreProcedure" parameterMap="insert-params">
+ ps_InsertCategorie
+ </procedure>
+
+ <insert id="InsertCategoryGenerate" parameterMap="insert-generate-params">
+ <selectKey property="Id" type="post" resultClass="int">
+ SELECT cast(last_value as int) AS value
+ FROM categories_category_id_seq
+ </selectKey>
+ <generate table="Categories" />
+ </insert>
+
+ <update id="UpdateCategoryGenerate" parameterMap="update-generate-params">
+ <generate table="Categories" by="Category_Id"/>
+ </update>
+
+ <delete id="DeleteCategoryGenerate" parameterMap="delete-generate-params">
+ <generate table="Categories" by="Category_Id, Category_Name"/>
+ </delete>
+
+ <select id="SelectByPKCategoryGenerate" resultClass="Category" parameterClass="Category" parameterMap="select-generate-params">
+ <generate table="Categories" by="Category_Id"/>
+ </select>
+
+ <select id="SelectAllCategoryGenerate" resultClass="Category" parameterMap="select-generate-params">
+ <generate table="Categories" />
+ </select>
+
+ <statement id="DynamicGuid"
+ resultClass="Category"
+ parameterClass="Category">
+ select
+ Category_ID as Id,
+ Category_Name as Name,
+ Category_Guid as Guid
+ from Categories
+ <dynamic prepend="where">
+ <isNotEqual prepend="and" property="Guid" compareProperty="EmptyGuid">
+ Category_Guid=#GuidString:text#
+ </isNotEqual>
+ </dynamic>
+ </statement>
+ </statements>
+
+ <parameterMaps>
+ <parameterMap id="insert-params">
+ <parameter property="Id" column="Category_Id" dbType="Integer" />
+ <parameter property="Name" column="Category_Name"/>
+ <parameter property="GuidString" column="Category_Guid" dbType="Text"/>
+ </parameterMap>
+
+ <parameterMap id="InsertParam">
+ <parameter property="Name" column="Category_Name"/>
+ <parameter property="GuidString" column="Category_Guid" dbType="Text"/>
+ </parameterMap>
+
+ <parameterMap id="insert-null-params">
+ <parameter property="Name" column="Category_Name"/>
+ <parameter property="GuidString" column="Category_Guid" nullValue="00000000-0000-0000-0000-000000000000" dbType="Text"/>
+ </parameterMap>
+
+ <parameterMap id="UpdateParam" extends="InsertParam">
+ <parameter property="Id" column="Category_Id" />
+ </parameterMap>
+
+ <!-- Used by generated statement -->
+
+ <parameterMap id="insert-generate-params">
+ <parameter property="Name" column="Category_Name"/>
+ <parameter property="GuidString" column="Category_Guid" dbType="Text"/>
+ </parameterMap>
+
+ <parameterMap id="update-generate-params" extends="insert-generate-params">
+ <parameter property="Id" column="Category_Id" />
+ </parameterMap>
+
+ <parameterMap id="delete-generate-params">
+ <parameter property="Id" column="Category_Id" />
+ <parameter property="Name" column="Category_Name"/>
+ </parameterMap>
+
+ <parameterMap id="select-generate-params">
+ <parameter property="Id" column="Category_Id" />
+ <parameter property="Name" column="Category_Name"/>
+ <parameter property="GuidString" column="Category_Guid" dbType="Text"/>
+ </parameterMap>
+
+ </parameterMaps>
+
+</sqlMap>
Added: incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Complex.xml
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Complex.xml?rev=170290&view=auto
==============================================================================
--- incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Complex.xml (added)
+++ incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Complex.xml Sun May 15 17:41:52 2005
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<sqlMap namespace="Complex" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="SqlMap.xsd">
+
+ <statements>
+
+ <statement id="ComplexMap"
+ resultClass="int" >
+ select Account_ID from Accounts where Account_ID = #obj.Map.Id#
+ </statement>
+
+ </statements>
+
+
+</sqlMap>
Added: incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Document.xml
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Document.xml?rev=170290&view=auto
==============================================================================
--- incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Document.xml (added)
+++ incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Document.xml Sun May 15 17:41:52 2005
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<sqlMap namespace="Document" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="SqlMap.xsd">
+
+ <alias>
+ <typeAlias alias="Document" type="IBatisNet.DataMapper.Test.Domain.Document, IBatisNet.DataMapper.Test" />
+ <typeAlias alias="Book" type="IBatisNet.DataMapper.Test.Domain.Book, IBatisNet.DataMapper.Test" />
+ <typeAlias alias="Newspaper" type="IBatisNet.DataMapper.Test.Domain.Newspaper, IBatisNet.DataMapper.Test" />
+ <typeAlias alias="DocumentCollection" type="IBatisNet.DataMapper.Test.Domain.DocumentCollection, IBatisNet.DataMapper.Test" />
+ <typeAlias alias="CustomInheritance" type="IBatisNet.DataMapper.Test.Domain.CustomInheritance, IBatisNet.DataMapper.Test"/>
+ </alias>
+
+ <resultMaps>
+ <resultMap id="document" class="Document">
+ <result property="Id" column="Document_ID"/>
+ <result property="Title" column="Document_Title"/>
+ <discriminator column="Document_Type" type="string"/>
+ <subMap value="Book" resultMapping="book" />
+ <subMap value="Newspaper" resultMapping="newspaper" />
+ </resultMap>
+
+ <resultMap id="document-custom-handler" class="Document">
+ <result property="Id" column="Document_ID"/>
+ <result property="Title" column="Document_Title"/>
+ <discriminator column="Document_Type" typeHandler="CustomInheritance"/>
+ <subMap value="Book" resultMapping="book" />
+ <subMap value="Newspaper" resultMapping="newspaper" />
+ </resultMap>
+
+ <resultMap id="book" class="Book" extends="document">
+ <result property="PageNumber" column="Document_PageNumber"/>
+ </resultMap>
+
+ <resultMap id="newspaper" class="Newspaper" extends="document">
+ <result property="City" column="Document_City"/>
+ </resultMap>
+
+ </resultMaps>
+
+ <statements>
+
+ <statement id="GetAllDocument"
+ resultMap="document">
+ select
+ *
+ from Documents
+ order by Document_Type, Document_Id
+ </statement>
+
+ <select id="GetTypedCollection"
+ listClass="DocumentCollection"
+ resultMap="document">
+ select
+ *
+ from Documents
+ order by Document_Type, Document_Id
+ </select>
+
+ <select id="GetAllDocumentWithCustomTypeHandler"
+ resultMap="document-custom-handler">
+ select
+ *
+ from Documents
+ order by Document_Type, Document_Id
+ </select>
+
+ </statements>
+
+
+</sqlMap>
\ No newline at end of file
Added: incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/DynamicAccount.xml
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/DynamicAccount.xml?rev=170290&view=auto
==============================================================================
--- incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/DynamicAccount.xml (added)
+++ incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/DynamicAccount.xml Sun May 15 17:41:52 2005
@@ -0,0 +1,386 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<sqlMap namespace="Account" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="SqlMap.xsd">
+
+ <alias>
+ <typeAlias alias="Search" type="IBatisNet.DataMapper.Test.Domain.Search, IBatisNet.DataMapper.Test"/>
+ </alias>
+
+ <statements>
+
+ <statement id="DynamicIsEqual"
+ parameterClass="string"
+ resultClass="Account">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ <isEqual compareValue="Joe" >
+ where Account_FirstName = 'Joe'
+ </isEqual>
+ </statement>
+
+ <statement id="DynamicIsParameterPresent"
+ parameterClass="integer"
+ resultClass="Account">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ <isParameterPresent >
+ where Account_ID = #value#
+ </isParameterPresent>
+ </statement>
+
+ <statement id="DynamicIsNotEmpty"
+ parameterClass="string"
+ resultClass="Account">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ <isNotEmpty>
+ where Account_FirstName = #value#
+ </isNotEmpty>
+ </statement>
+
+ <statement id="DynamicIsGreater"
+ parameterClass="int"
+ resultClass="Account">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ <isGreaterThan compareValue="3" >
+ where Account_ID = 1
+ </isGreaterThan>
+ </statement>
+
+ <statement id="DynamicIsGreaterEqual"
+ parameterClass="int"
+ resultClass="Account">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ <isGreaterEqual compareValue="3" >
+ where Account_ID = 1
+ </isGreaterEqual>
+ </statement>
+
+ <statement id="DynamicIsLess"
+ parameterClass="int"
+ resultClass="Account">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ <isLessThan compareValue="3" >
+ where Account_ID = 1
+ </isLessThan>
+ </statement>
+
+ <statement id="DynamicIsLessEqual"
+ parameterClass="int"
+ resultClass="Account">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ <isLessEqual compareValue="3" >
+ where Account_ID = 1
+ </isLessEqual>
+ </statement>
+
+ <statement id="DynamicIsNotNull"
+ parameterClass="string"
+ resultClass="Account">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ <isNotNull>
+ where Account_ID = 1
+ </isNotNull>
+ </statement>
+
+ <statement id="DynamicIsPropertyAvailable"
+ parameterClass="string"
+ resultClass="Account">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ <isPropertyAvailable property="Id" >
+ where Account_ID = 1
+ </isPropertyAvailable>
+ </statement>
+
+
+ <statement id="DynamicSubst"
+ parameterClass="map"
+ resultClass="Account">
+ <dynamic>
+ $statement$
+ </dynamic>
+ </statement>
+
+ <statement id="DynamicIterate"
+ parameterClass="list"
+ resultClass="Account">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ WHERE Account_ID IN
+ <iterate open="(" close=")" conjunction=",">
+ #[]#
+ </iterate>
+ </statement>
+
+ <statement id="DynamicIterate2"
+ parameterClass="Account"
+ resultClass="Account">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ WHERE Account_ID IN
+ <iterate property="Ids" open="(" close=")" conjunction="," >
+ #Ids[]#
+ </iterate>
+ </statement>
+
+ <statement id="MultiDynamicIterate"
+ parameterClass="list"
+ resultClass="Account">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ WHERE Account_ID IN
+ <iterate open="(" close=")" conjunction=",">
+ #[]#
+ </iterate>
+ and Account_ID IN
+ <iterate open="(" close=")" conjunction=",">
+ #[]#
+ </iterate>
+ </statement>
+
+
+ <statement id="DynamicQueryByExample"
+ parameterClass="Account"
+ resultClass="Account">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ <dynamic prepend="WHERE" >
+ <isGreaterThan prepend="AND" property="Id" compareValue="0" >
+ Account_ID = #Id#
+ </isGreaterThan>
+ <isNotNull prepend="AND" property="Ids" >
+ Account_ID in
+ <iterate property="Ids" open="(" close=")" conjunction="," >
+ #Ids[]#
+ </iterate>
+ </isNotNull>
+ <isNotEmpty prepend="AND" property="FirstName" >
+ Account_FirstName = #FirstName#
+ </isNotEmpty>
+ <isNotEmpty prepend="AND" property="LastName" >
+ Account_LastName = #LastName#
+ </isNotEmpty>
+ <isNotEmpty prepend="AND" property="EmailAddress" >
+ <isEqual property="EmailAddress" compareValue="Joe">
+ Account_Email = 'clinton.begin@ibatis.com'
+ </isEqual>
+ <isNotEqual property="EmailAddress" compareValue="Joe">
+ Account_Email = #EmailAddress#
+ </isNotEqual>
+ </isNotEmpty>
+ </dynamic>
+ </statement>
+
+ <statement id="DynamicIterateWithPrepend1"
+ parameterClass="list"
+ resultClass="Account">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ <dynamic prepend="where" >
+ Account_ID IN
+ <iterate open="(" close=")" conjunction=",">
+ #[]#
+ </iterate>
+ </dynamic>
+ </statement>
+
+ <statement id="DynamicIterateWithPrepend2"
+ parameterClass="list"
+ resultClass="Account">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ <dynamic prepend="where" >
+ <iterate open="(" close=")" conjunction="OR">
+ Account_ID = #[]#
+ </iterate>
+ </dynamic>
+ </statement>
+
+ <statement id="DynamicIterateWithPrepend3"
+ parameterClass="list"
+ resultClass="Account">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ <dynamic prepend="where" >
+ <isParameterPresent prepend="BLAH!" >
+ <iterate open="(" close=")" conjunction="OR">
+ Account_ID = #[]#
+ </iterate>
+ </isParameterPresent>
+ </dynamic>
+ </statement>
+
+ <statement id="DynamicWithPrepend"
+ parameterClass="Account"
+ resultClass="Account">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ <dynamic prepend="where">
+ <isParameterPresent>
+ <isNotEmpty prepend="and" property="Id" >
+ Account_ID = #Id#
+ </isNotEmpty>
+ <isNotEmpty prepend="and" property="FirstName" >
+ Account_FirstName = #FirstName#
+ </isNotEmpty>
+ <isNotEmpty prepend="and" property="LastName" >
+ Account_LastName = #LastName#
+ </isNotEmpty>
+ </isParameterPresent>
+ </dynamic>
+ </statement>
+
+ <statement id="DynamicWithTwoDynamicElements"
+ parameterClass="Account"
+ resultClass="Account">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ <dynamic prepend="where">
+ <isNotEmpty prepend="BLAH!" property="Id" >
+ Account_ID = #Id#
+ </isNotEmpty>
+ </dynamic>
+ <dynamic prepend="and">
+ <isNotEmpty prepend="BLAH!" property="FirstName" >
+ Account_FirstName = #FirstName#
+ </isNotEmpty>
+ <isNotEmpty prepend="and" property="LastName" >
+ Account_LastName = #LastName#
+ </isNotEmpty>
+ </dynamic>
+ </statement>
+
+ <statement id="ComplexDynamicStatement"
+ cacheModel="account-cache"
+ resultClass="Account"
+ parameterClass="Account">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ <dynamic prepend="WHERE">
+ <isNotNull prepend="AND" property="FirstName">
+ (Account_FirstName = #FirstName#
+ <isNotNull prepend="OR" property="LastName">
+ Account_LastName = #LastName#
+ </isNotNull>
+ )
+ </isNotNull>
+ <isNotNull prepend="AND" property="EmailAddress">
+ Account_Email like #EmailAddress#
+ </isNotNull>
+ <isGreaterThan prepend="AND" property="Id" compareValue="0">
+ Account_ID = #Id#
+ </isGreaterThan>
+ </dynamic>
+ order by Account_LastName
+ </statement>
+
+ <statement id="Jira-IBATISNET-11"
+ resultClass="Account"
+ parameterClass="Search">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ <dynamic prepend="where">
+ <isNotNull prepend="and" property="NumberSearch">
+ ((Account_ID $Operande$ #NumberSearch#) or
+ (Account_ID $Operande$ #NumberSearch#))
+ </isNotNull>
+ <isEqual prepend="and" property="StartDate" compareValue="25/12/2004">
+ <![CDATA[Account_FirstName >= #StartDate# ]]>
+ </isEqual>
+ <isEqual prepend="and" property="StartDateAnd" compareValue="true">
+ <![CDATA[Account_LastName >= #StartDate# ]]>
+ </isEqual>
+ </dynamic>
+
+ order by Account_LastName
+ </statement>
+ </statements>
+
+
+</sqlMap>
\ No newline at end of file
Added: incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Enumeration.xml
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Enumeration.xml?rev=170290&view=auto
==============================================================================
--- incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Enumeration.xml (added)
+++ incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Enumeration.xml Sun May 15 17:41:52 2005
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<sqlMap namespace="Enumeration" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="SqlMap.xsd">
+
+ <alias>
+ <typeAlias alias="Enumeration" type="IBatisNet.DataMapper.Test.Domain.Enumeration, IBatisNet.DataMapper.Test"/>
+ </alias>
+
+ <resultMaps>
+ <resultMap id="enumeration-result" class="Enumeration" >
+ <result property="Id" column="Enum_ID"/>
+ <result property="Day" column="Enum_Day"/>
+ <result property="Color" column="Enum_Color"/>
+ <result property="Month" column="Enum_Month" nullValue="All"/>
+ </resultMap>
+ </resultMaps>
+
+ <statements>
+
+ <select id="GetEnumerationNullValue"
+ parameterClass="Integer"
+ resultMap="enumeration-result">
+ select
+ Enum_ID,
+ Enum_Day,
+ Enum_Color,
+ Enum_Month
+ from Enumerations
+ where Enum_ID = #value#
+ </select>
+
+ <select id="GetEnumeration" parameterClass="Integer" resultClass="Enumeration">
+ select
+ Enum_ID as Id,
+ Enum_Day as Day,
+ Enum_Color as Color,
+ Enum_Month as Month
+ from Enumerations
+ where Enum_ID = #value#
+ </select>
+
+ <insert id="InsertEnumViaParameterMap" parameterMap="insert-params" >
+ insert into Enumerations
+ (Enum_ID, Enum_Day, Enum_Color, Enum_Month)
+ values
+ (?, ?, ?, ?)
+ </insert>
+
+ </statements>
+
+ <parameterMaps>
+ <parameterMap id="insert-params">
+ <parameter property="Id" column="Enum_ID" />
+ <parameter property="Day" column="Enum_Day"/>
+ <parameter property="Color" column="Enum_Color" />
+ <parameter property="Month" column="Enum_Month" nullValue="All"/>
+ </parameterMap>
+ </parameterMaps>
+
+</sqlMap>
Added: incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/LineItem.xml
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/LineItem.xml?rev=170290&view=auto
==============================================================================
--- incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/LineItem.xml (added)
+++ incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/LineItem.xml Sun May 15 17:41:52 2005
@@ -0,0 +1,198 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<sqlMap namespace="LineItem" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="SqlMap.xsd">
+
+ <alias>
+ <typeAlias alias="LineItem" type="IBatisNet.DataMapper.Test.Domain.LineItem, IBatisNet.DataMapper.Test" />
+ <typeAlias alias="LineItemCollection" type="IBatisNet.DataMapper.Test.Domain.LineItemCollection, IBatisNet.DataMapper.Test" />
+ </alias>
+
+ <resultMaps>
+ <resultMap id="LineItem-Price" class="decimal">
+ <result property="value" column="LineItem_Price"/>
+ </resultMap>
+
+ <resultMap id="LineItem" class="LineItem">
+ <result property="Id" column="LineItem_ID"/>
+ <result property="Code" column="LineItem_Code"/>
+ <result property="Quantity" column="LineItem_Quantity"/>
+ <result property="Price" column="LineItem_Price"/>
+ </resultMap>
+
+ <resultMap id="LineItemWithNullReplacement" class="LineItem">
+ <result property="Id" column="LineItem_ID"/>
+ <result property="Code" column="LineItem_Code"/>
+ <result property="Quantity" column="LineItem_Quantity"/>
+ <result property="Price" column="LineItem_Price" nullValue="-77.77"/>
+ </resultMap>
+
+ </resultMaps>
+
+ <statements>
+ <statement id="GetLineItemPrice"
+ parameterClass="Hashtable"
+ resultMap="LineItem-Price" >
+ select
+ LineItem_Price
+ from LineItems
+ where Order_ID = #Order_ID#
+ and LineItem_ID = #LineItem_ID#
+ </statement>
+
+ <statement id="GetLineItemsForOrder"
+ parameterClass="int"
+ resultClass="LineItem">
+ select
+ LineItem_ID as Id,
+ LineItem_Code as Code,
+ LineItem_Quantity as Quantity,
+ LineItem_Price as Price
+ from LineItems where Order_ID = #value#
+ </statement>
+
+ <statement id="GetLineItemsForOrderWithListClass"
+ parameterClass="int"
+ listClass="LineItemCollection"
+ resultClass="LineItem">
+ select
+ LineItem_ID as Id,
+ LineItem_Code as Code,
+ LineItem_Quantity as Quantity,
+ LineItem_Price as Price
+ from LineItems where Order_ID = #value#
+ order by LineItem_Code
+ </statement>
+
+ <statement id="GetSpecificLineItem"
+ parameterClass="Hashtable"
+ resultClass="LineItem">
+ select
+ LineItem_ID as Id,
+ LineItem_Code as Code,
+ LineItem_Quantity as Quantity,
+ LineItem_Price as Price
+ from LineItems
+ where Order_ID = #Order_ID#
+ and LineItem_ID = #LineItem_ID#
+ </statement>
+
+ <statement id="GetSpecificLineItemWithPicture"
+ parameterClass="Hashtable"
+ resultClass="LineItem">
+ select
+ LineItem_ID as Id,
+ LineItem_Code as Code,
+ LineItem_Quantity as Quantity,
+ LineItem_Price as Price,
+ LineItem_Picture as PictureData
+ from LineItems
+ where Order_ID = #Order_ID#
+ and LineItem_ID = #LineItem_ID#
+ </statement>
+
+ <select id="GetDynSpecificLineItem"
+ parameterClass="HashMap"
+ resultClass="LineItem">
+ select
+ LineItem_ID as Id,
+ LineItem_Code as Code,
+ LineItem_Quantity as Quantity,
+ LineItem_Price as Price
+ from LineItems
+ where Order_ID = #Order_ID#
+ <dynamic>
+ <isNotNull property="LineItem_ID">
+ and LineItem_ID = #LineItem_ID#
+ </isNotNull>
+ </dynamic>
+ </select>
+
+ <statement id="GetSpecificLineItemWithNullReplacement"
+ parameterClass="int"
+ resultMap="LineItemWithNullReplacement">
+ select
+ LineItem_ID,
+ LineItem_Code,
+ LineItem_Quantity,
+ LineItem_Price
+ from LineItems
+ where LineItem_ID = #value#
+ </statement>
+
+ <statement id="InsertLineItem"
+ parameterMap="insert-params" >
+ insert into LineItems
+ (LineItem_ID, Order_ID, LineItem_Code, LineItem_Quantity, LineItem_Price)
+ values
+ (?, ?, ?, ?, ?);
+ </statement>
+
+ <statement id="InsertLineItemWithPicture"
+ parameterMap="insert-params-picture" >
+ insert into LineItems
+ (LineItem_ID, Order_ID, LineItem_Code, LineItem_Quantity, LineItem_Price, LineItem_Picture)
+ values
+ (?, ?, ?, ?, ?, ?);
+ </statement>
+
+ <insert id="InsertLineItemPostKey" parameterClass="LineItem">
+ insert into LineItems
+ (LineItem_ID, Order_ID, LineItem_Code, LineItem_Quantity, LineItem_Price)
+ values
+ (#Id#, #Order.Id#, #Code#, #Quantity#, #Price:Numeric#)
+ <selectKey property="Id" type="post" resultClass="int" >
+ select 99 from LineItems where LineItem_ID = 1 and Order_ID=1
+ </selectKey>
+ </insert>
+
+ <insert id="InsertLineItemPreKey" parameterClass="LineItem">
+ <selectKey property="Id" type="pre" resultClass="int" >
+ select 99 from LineItems where LineItem_ID = 1 and Order_ID=1
+ </selectKey>
+ insert into LineItems
+ (LineItem_ID, Order_ID, LineItem_Code, LineItem_Quantity, LineItem_Price)
+ values
+ (#Id#, #Order.Id#, #Code#, #Quantity#, #Price:Numeric#)
+ </insert>
+
+ <insert id="InsertLineItemNoKey" parameterClass="LineItem">
+ insert into LineItems
+ (LineItem_ID, Order_ID, LineItem_Code, LineItem_Quantity, LineItem_Price)
+ values
+ (#Id#, #Order.Id#, #Code#, #Quantity#, #Price:Numeric#)
+ </insert>
+
+ <!-- JIRA 23 -->
+ <delete id="DeleteWithComments" >
+ <!-- Delete LineItems -->
+ delete from LineItems where Order_ID = 10;
+ <!-- Delete LineItems -->
+ delete from LineItems where Order_ID = 9;
+ </delete>
+
+ </statements>
+
+
+
+ <parameterMaps>
+
+ <parameterMap id="insert-params">
+ <parameter property="Id" />
+ <parameter property="Order.Id" />
+ <parameter property="Code" />
+ <parameter property="Quantity" />
+ <parameter property="Price" dbType="Numeric" nullValue="-99.99"/>
+ </parameterMap>
+
+ <parameterMap id="insert-params-picture">
+ <parameter property="Id" />
+ <parameter property="Order.Id" />
+ <parameter property="Code" />
+ <parameter property="Quantity" />
+ <parameter property="Price" dbType="Numeric" nullValue="-99.99"/>
+ <parameter property="PictureData" dbType="Bytea" />
+ </parameterMap>
+
+ </parameterMaps>
+</sqlMap>
\ No newline at end of file
Added: incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Order.xml
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Order.xml?rev=170290&view=auto
==============================================================================
--- incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Order.xml (added)
+++ incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Order.xml Sun May 15 17:41:52 2005
@@ -0,0 +1,350 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<sqlMap namespace="Order" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="SqlMap.xsd">
+
+ <alias>
+ <typeAlias alias="Order" type="IBatisNet.DataMapper.Test.Domain.Order, IBatisNet.DataMapper.Test" />
+ </alias>
+
+ <!-- If the type is not specified, ADO.NET infers the
+ data provider Type of the Parameter from the Value property
+ of the Parameter object. -->
+
+ <resultMaps>
+
+ <resultMap id="credit-card-result" class="string">
+ <result property="value" column="Order_CardNumber"/>
+ </resultMap>
+ <!-- -->
+ <resultMap id="order-with-lines-result" class="Order"
+ extends="lite-order-result-by-name" >
+ <result property="LineItemsIList" lazyLoad="true" column="Order_ID" select="GetLineItemsForOrder" />
+ </resultMap>
+
+ <resultMap id="order-with-lines-result-statement-namespaces" class="Order"
+ extends="lite-order-result-by-name" >
+ <result property="LineItemsIList" lazyLoad="true" column="Order_ID" select="LineItem.GetLineItemsForOrder" />
+ </resultMap>
+
+ <resultMap id="order-with-lines-collection" class="Order"
+ extends="lite-order-result-by-name" >
+ <result property="LineItems" column="Order_ID" select="GetLineItemsForOrderWithListClass" />
+ </resultMap>
+
+ <resultMap id="order-with-lines-array" class="Order"
+ extends="lite-order-result-by-name">
+ <result property="LineItemsArray" column="Order_ID" select="GetLineItemsForOrder"/>
+ </resultMap>
+
+ <resultMap id="lite-order-map-result" class="Hashtable">
+ <result property="Id" type="int" column="Order_ID"/>
+ <result property="Date" type="date" column="Order_Date"/>
+ <result property="CardExpiry" type="string" column="Order_CardExpiry"/>
+ <result property="CardType" type="string" column="Order_CardType"/>
+ <result property="CardNumber" type="string" column="Order_CardNumber"/>
+ <result property="Street" type="string" column="Order_Street"/>
+ <result property="City" type="string" column="Order_City"/>
+ <result property="Province" type="string" column="Order_Province"/>
+ <result property="PostalCode" type="string" column="Order_PostalCode"/>
+ </resultMap>
+
+ <resultMap id="lite-order-result-by-name" class="Order">
+ <result property="Id" column="Order_ID"/>
+ <result property="Date" column="Order_Date" nullValue="01/01/0001 00:00:00"/>
+ <result property="CardExpiry" column="Order_CardExpiry"/>
+ <result property="CardType" column="Order_CardType"/>
+ <result property="CardNumber" column="Order_CardNumber"/>
+ <result property="Street" column="Order_Street"/>
+ <result property="City" column="Order_City"/>
+ <result property="Province" column="Order_Province"/>
+ <result property="PostalCode" column="Order_PostalCode"/>
+ </resultMap>
+
+ <resultMap id="order-with-types-result" class="Order">
+ <result property="Id" column="Order_ID" dbType="Integer"/>
+ <result property="Date" column="Order_Date" dbType="Timestamp"/>
+ <result property="CardExpiry" column="Order_CardExpiry" dbType="Text"/>
+ <result property="CardType" column="Order_CardType" dbType="Text"/>
+ <result property="CardNumber" column="Order_CardNumber" dbType="Text"/>
+ <result property="Street" column="Order_Street" dbType="Text"/>
+ <result property="City" column="Order_City" dbType="Text"/>
+ <result property="Province" column="Order_Province" dbType="Text"/>
+ <result property="PostalCode" column="Order_PostalCode" dbType="Text"/>
+ </resultMap>
+
+ <resultMap id="lite-order-result-by-index" class="Order">
+ <result property="Id" column="Order_ID" columnIndex="0"/>
+ <result property="Date" column="Order_Date" columnIndex="1" />
+ <result property="CardExpiry" column="Order_CardExpiry" columnIndex="2"/>
+ <result property="CardType" column="Order_CardType" columnIndex="3" />
+ <result property="CardNumber" column="Order_CardNumber" columnIndex="4" />
+ <result property="Street" column="Order_Street" columnIndex="5" />
+ <result property="City" column="Order_City" columnIndex="6" />
+ <result property="Province" column="Order_Province" columnIndex="7"/>
+ <result property="PostalCode" column="Order_PostalCode" columnIndex="8" />
+ </resultMap>
+
+ <resultMap id="order-with-account-result" class="Order">
+ <result property="Id" column="Order_ID"/>
+ <result property="Date" column="Order_Date"/>
+ <result property="CardExpiry" column="Order_CardExpiry"/>
+ <result property="CardType" column="Order_CardType"/>
+ <result property="CardNumber" column="Order_CardNumber"/>
+ <result property="Street" column="Order_Street"/>
+ <result property="City" column="Order_City"/>
+ <result property="Province" column="Order_Province"/>
+ <result property="PostalCode" column="Order_PostalCode"/>
+ <result property="Account" column="Account_ID" select="GetAccountViaColumnName" />
+ </resultMap>
+
+ <resultMap id="order-with-collection-result" class="Order">
+ <result property="Id" column="Order_ID"/>
+ <result property="Date" column="Order_Date"/>
+ <result property="CardExpiry" column="Order_CardExpiry"/>
+ <result property="CardType" column="Order_CardType"/>
+ <result property="CardNumber" column="Order_CardNumber"/>
+ <result property="Street" column="Order_Street"/>
+ <result property="City" column="Order_City"/>
+ <result property="Province" column="Order_Province"/>
+ <result property="PostalCode" column="Order_PostalCode"/>
+ <result property="LineItemsIList" column="Order_ID" select="GetLineItemsForOrder" />
+ <result property="LineItems" column="Order_ID" select="GetLineItemsForOrder" lazyLoad="false" />
+ </resultMap>
+
+ <resultMap id="order-with-favourite-line-item" class="Order">
+ <result property="Id" column="Order_ID"/>
+ <result property="Date" column="Order_Date"/>
+ <result property="CardExpiry" column="Order_CardExpiry"/>
+ <result property="CardType" column="Order_CardType"/>
+ <result property="CardNumber" column="Order_CardNumber"/>
+ <result property="Street" column="Order_Street"/>
+ <result property="City" column="Order_City"/>
+ <result property="Province" column="Order_Province"/>
+ <result property="PostalCode" column="Order_PostalCode"/>
+ <result property="FavouriteLineItem" column="Order_ID=Order_ID,LineItem_ID=Order_FavouriteLineItem" select="GetSpecificLineItem" />
+ </resultMap>
+
+ <resultMap id="order-with-dyn-favourite-line-item" class="Order">
+ <result property="Id" column="Order_ID"/>
+ <result property="Date" column="Order_Date"/>
+ <result property="CardExpiry" column="Order_CardExpiry"/>
+ <result property="CardType" column="Order_CardType"/>
+ <result property="CardNumber" column="Order_CardNumber"/>
+ <result property="Street" column="Order_Street"/>
+ <result property="City" column="Order_City"/>
+ <result property="Province" column="Order_Province"/>
+ <result property="PostalCode" column="Order_PostalCode"/>
+ <result property="FavouriteLineItem"
+ column="Order_ID=Order_ID,LineItem_ID=Order_FavouriteLineItem"
+ select="GetDynSpecificLineItem" />
+ </resultMap>
+
+ <resultMap id="order-joined-favourite" class="Order">
+ <result property="Id" column="Order_ID"/>
+ <result property="Date" column="Order_Date"/>
+ <result property="CardExpiry" column="Order_CardExpiry"/>
+ <result property="CardType" column="Order_CardType"/>
+ <result property="CardNumber" column="Order_CardNumber"/>
+ <result property="Street" column="Order_Street"/>
+ <result property="City" column="Order_City"/>
+ <result property="Province" column="Order_Province"/>
+ <result property="PostalCode" column="Order_PostalCode"/>
+ <result property="FavouriteLineItem" resultMapping="LineItem.LineItem" />
+ </resultMap>
+
+ </resultMaps>
+
+ <statements>
+ <statement id="GetOrderLiteByColumnName"
+ parameterClass="Int"
+ resultMap="lite-order-result-by-name" >
+ select * from Orders where Order_ID = #value#
+ </statement>
+
+ <statement id="GetOrderLiteByColumnIndex"
+ parameterClass="Int"
+ resultMap="lite-order-result-by-index" >
+ select
+ Order_ID,
+ Order_Date,
+ Order_CardExpiry,
+ Order_CardType,
+ Order_CardNumber,
+ Order_Street,
+ Order_City,
+ Order_Province,
+ Order_PostalCode
+ from Orders where Order_ID = #value#
+ </statement>
+
+ <statement id="GetOrderWithTypes"
+ parameterClass="Int"
+ resultMap="order-with-types-result" >
+ select * from Orders where Order_ID = #value#
+ </statement>
+
+ <statement id="GetOrderWithLineItems"
+ parameterClass="Integer"
+ resultMap="order-with-lines-result" >
+ select * from Orders where Order_ID = #value#
+ </statement>
+
+ <statement id="GetOrderWithLineItemsUsingStatementNamespaces"
+ parameterClass="Integer"
+ resultMap="order-with-lines-result-statement-namespaces" >
+ select * from Orders where Order_ID = #value#
+ </statement>
+
+ <statement id="GetAllOrderWithLineItems"
+ resultMap="order-with-lines-result" >
+ select * from Orders
+ </statement>
+
+ <statement id="GetOrderCardExpiryViaResultClass"
+ parameterClass="int"
+ resultClass="date">
+ select
+ Order_Date
+ from Orders where Order_ID = #value#
+ </statement>
+
+ <statement id="GetOrderWithAccount"
+ parameterClass="int"
+ resultMap="order-with-account-result" >
+ select * from Orders where Order_ID = #value#
+ </statement>
+
+ <statement id="GetOrderWithLineItemsCollection"
+ parameterClass="Integer"
+ resultMap="order-with-collection-result" >
+ select * from Orders where Order_ID = #value#
+ </statement>
+
+ <statement id="GetOrderJoinedFavourite"
+ parameterClass="Integer"
+ resultMap="order-joined-favourite" >
+ select * from Orders, LineItems
+ where Orders.Order_ID = LineItems.Order_ID
+ and Order_FavouriteLineItem = LineItems.LineItem_ID
+ and Orders.Order_ID = #value#
+ </statement>
+
+ <statement id="GetOrderWithFavouriteLineItem"
+ parameterClass="int"
+ resultMap="order-with-favourite-line-item" >
+ select * from Orders where Order_ID = #value#
+ </statement>
+
+ <statement id="GetOrderWithLineItemCollection"
+ parameterClass="int"
+ resultMap="order-with-lines-collection" >
+ select * from Orders where Order_ID = #value#
+ </statement>
+
+ <statement id="GetOrderAsHastable"
+ parameterClass="Integer"
+ resultMap="lite-order-map-result" >
+ select * from Orders where Order_ID = #value#
+ </statement>
+
+ <statement id="GetOrderWithLineItemArray"
+ parameterClass="int"
+ resultMap="order-with-lines-array">
+ select * from Orders where Order_ID = #value#
+ </statement>
+
+ <statement id="GetAllCreditCardNumbersFromOrders"
+ resultMap="credit-card-result" >
+ select distinct Order_CardNumber from Orders
+ order by Order_CardNumber
+ </statement>
+
+ <statement id="InsertOrderViaParameterMap"
+ parameterMap="insert-params" >
+ insert into Orders
+ (Order_ID, Account_ID, Order_Date, Order_CardExpiry, Order_CardType,
+ Order_CardNumber, Order_Street, Order_City, Order_Province, Order_PostalCode )
+ values
+ (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+ </statement>
+
+ <statement id="InsertOrderViaExtendParameterMap"
+ parameterMap="insert-extend" >
+ insert into Orders
+ (Order_ID, Account_ID, Order_Date, Order_CardExpiry, Order_CardType,
+ Order_CardNumber, Order_Street, Order_City, Order_Province, Order_PostalCode )
+ values
+ (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
+ </statement>
+
+ <select id="GetOrderWithDynFavouriteLineItem"
+ parameterClass="Integer"
+ resultMap="order-with-dyn-favourite-line-item">
+ select * from Orders where Order_ID = #value#
+ </select>
+
+ <select id="SelectOrderByDate"
+ parameterClass="Hashtable"
+ resultMap="lite-order-result-by-name">
+ select * from Orders where Order_Date = #Foo#
+ </select>
+
+ <select id="SelectOrderByDateDynamic"
+ parameterClass="Hashtable"
+ resultMap="lite-order-result-by-name">
+ select * from Orders
+ where 1=1
+ <isNotEmpty prepend="AND" property="Foo">
+ (Order_Date = '$Foo$')
+ </isNotEmpty>
+ </select>
+
+ <select id="GetAccountJIRA45"
+ parameterClass="int"
+ resultMap="Account.indexed-account-result">
+ select
+ Account_ID,
+ Account_FirstName,
+ Account_LastName,
+ Account_Email
+ from Accounts
+ where Account_ID = #value#
+ </select>
+
+ </statements>
+
+ <parameterMaps>
+
+ <parameterMap id="insert-params">
+ <parameter property="Id" dbType="Integer"/>
+ <parameter property="Account.Id"/>
+ <parameter property="Date" nullValue="01/01/0001 00:00:00" />
+ <parameter property="CardExpiry" />
+ <parameter property="CardType" />
+ <parameter property="CardNumber" />
+ <parameter property="Street" />
+ <parameter property="City" />
+ <parameter property="Province" />
+ <parameter property="PostalCode" />
+ </parameterMap>
+
+ <parameterMap id="params-parent"> <!-- 1043181 support request -->
+ <parameter property="Id" dbType="Integer"/>
+ <parameter property="Account.Id"/>
+ <parameter property="Date" nullValue="01/01/0001 00:00:00" />
+ <parameter property="CardExpiry" />
+ <parameter property="CardType" />
+ <parameter property="CardNumber" />
+ <parameter property="Street" />
+ <parameter property="City" />
+ <parameter property="Province" />
+ <parameter property="PostalCode" />
+ </parameterMap>
+
+ <parameterMap id="insert-extend" extends="params-parent">
+ </parameterMap>
+
+ </parameterMaps>
+
+</sqlMap>
\ No newline at end of file
Added: incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Other.xml
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Other.xml?rev=170290&view=auto
==============================================================================
--- incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Other.xml (added)
+++ incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Other.xml Sun May 15 17:41:52 2005
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="utf-8"?>
+<sqlMap namespace="Other" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="SqlMap.xsd">
+
+ <alias>
+ <typeAlias alias="Other" type="IBatisNet.DataMapper.Test.Domain.Other, IBatisNet.DataMapper.Test"/>
+ </alias>
+
+ <resultMaps>
+ <resultMap id="other-result" class="Other" >
+ <result property="Int" column="Other_Int"/>
+ <result property="Long" column="Other_Long"/>
+ <result property="Bool" column="Other_Bit"/>
+ <result property="Bool2" column="Other_String" typeHandler="OuiNonBool"/>
+ </resultMap>
+ </resultMaps>
+
+ <statements>
+
+ <statement id="DynamicSelectByIntLong"
+ parameterClass="Hashtable"
+ resultMap="other-result">
+ select
+ Other_Int,
+ Other_Long,
+ Other_Bit,
+ Other_String
+ from Others
+ <dynamic prepend="WHERE">
+ <isNotEqual prepend="AND" property="year" compareValue="0">
+ Other_Int = #year#
+ </isNotEqual>
+
+ <isNotEqual prepend="AND" property="areaid" compareValue="0">
+ Other_Long = #areaid#
+ </isNotEqual>
+ </dynamic>
+ </statement>
+
+ <statement id="DynamicSelectByBool"
+ parameterClass="Other"
+ resultMap="other-result">
+ select
+ Other_Int,
+ Other_Long,
+ Other_Bit,
+ Other_String
+ from Others
+ Where Other_Bit = #Bool#
+ </statement>
+
+ <statement id="InsertBool"
+ parameterClass="Other">
+ Insert into Others
+ ( Other_Int, Other_Long, Other_Bit, Other_String )
+ values
+ ( #Int#, #Long#, #Bool#, 'Yes')
+ </statement>
+
+ <statement id="InsertCustomTypeHandler"
+ parameterMap="insert-params">
+ Insert into Others
+ ( Other_Int, Other_Long, Other_Bit, Other_String )
+ values
+ ( ?, ?, ?, ?)
+ </statement>
+
+ <statement id="SelectByInt"
+ parameterClass="int"
+ resultMap="other-result">
+ select
+ Other_Int,
+ Other_Long,
+ Other_Bit,
+ Other_String
+ from Others
+ Where Other_Int = #value#
+ </statement>
+
+ </statements>
+
+ <parameterMaps>
+ <parameterMap id="insert-params">
+ <parameter property="Int" />
+ <parameter property="Long" />
+ <parameter property="Bool" />
+ <parameter property="Bool2" typeHandler="OuiNonBool"/>
+ </parameterMap>
+ </parameterMaps>
+
+</sqlMap>
Added: incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/ResultClass.xml
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/ResultClass.xml?rev=170290&view=auto
==============================================================================
--- incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/ResultClass.xml (added)
+++ incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/ResultClass.xml Sun May 15 17:41:52 2005
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<sqlMap namespace="ResultClass" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="SqlMap.xsd">
+
+ <statements>
+ <statement id="GetBoolean"
+ parameterClass="Int"
+ resultClass="bool" >
+ select 1 from Orders where Order_ID = #value#
+ </statement>
+
+ <statement id="GetByte"
+ parameterClass="Int"
+ resultClass="byte" >
+ select 155 from Orders where Order_ID = #value#
+ </statement>
+
+ <statement id="GetChar"
+ parameterClass="Int"
+ resultClass="char" >
+ select cast('a' as char) from Orders where Order_ID = #value#
+ </statement>
+
+ <statement id="GetDate"
+ parameterClass="Int"
+ resultClass="date" >
+ select cast('2003-02-15 8:15:00' as timestamp) from Orders where Order_ID = #value#
+ </statement>
+
+ <statement id="GetDecimal"
+ parameterClass="Int"
+ resultClass="decimal" >
+ select 1.56 from Orders where Order_ID = #value#
+ </statement>
+
+ <statement id="GetDouble"
+ parameterClass="Int"
+ resultClass="double" >
+ select 99.5 from Orders where Order_ID= #value#
+ </statement>
+
+ <statement id="GetGuid"
+ parameterClass="Int"
+ resultClass="guid" >
+ select cast('CD5ABF17-4BBC-4C86-92F1-257735414CF4' as text) from Orders where Order_ID = #value#
+ </statement>
+
+ <statement id="GetInt16"
+ parameterClass="Int"
+ resultClass="short" >
+ select 32111 from Orders where Order_ID = #value#
+ </statement>
+
+ <statement id="GetInt32"
+ parameterClass="Int"
+ resultClass="int" >
+ select 999999 from Orders where Order_ID = #value#
+ </statement>
+
+ <statement id="GetInt64"
+ parameterClass="Int"
+ resultClass="long" >
+ select 9223372036854775800 from Orders where Order_ID = #value#
+ </statement>
+
+ <statement id="GetSingle"
+ parameterClass="Int"
+ resultClass="float" >
+ select 92233.5 from Orders where Order_ID = #value#
+ </statement>
+
+ <statement id="GetString"
+ parameterClass="Int"
+ resultClass="string" >
+ select 'VISA'
+ from Orders where Order_ID = #value#
+ </statement>
+ </statements>
+
+</sqlMap>
\ No newline at end of file
Modified: incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/DataBase.sql
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/DataBase.sql?rev=170290&r1=170289&r2=170290&view=diff
==============================================================================
--- incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/DataBase.sql (original)
+++ incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/DataBase.sql Sun May 15 17:41:52 2005
@@ -35,160 +35,161 @@
\connect "IBatisNet" "IBatisNet" using test;
--- DROP TABLE "Accounts";
+-- DROP TABLE Accounts;
--- DROP TABLE "Categories";
+-- DROP TABLE Categories;
--- DROP TABLE "Enumerations";
+-- DROP TABLE Enumerations;
--- DROP TABLE "LineItems";
+-- DROP TABLE LineItems;
--- DROP TABLE "Orders";
+-- DROP TABLE Orders;
--- DROP TABLE "Others";
+-- DROP TABLE Others;
--- DROP TABLE "Documents";
+-- DROP TABLE Documents;
--- Sequence: "S_Categories"
+-- Sequence: S_Categories
-DROP SEQUENCE "S_Categories";
+-- DROP SEQUENCE S_Categories;
-CREATE SEQUENCE "S_Categories"
+/*
+CREATE SEQUENCE S_Categories
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 20;
-ALTER TABLE "S_Categories" OWNER TO "IBatisNet";
-
+ALTER TABLE S_Categories OWNER TO "IBatisNet";
+*/
/*==============================================================*/
/* Table : Accounts */
/*==============================================================*/
-CREATE TABLE "Accounts"
+CREATE TABLE Accounts
(
- "Account_Id" int4 NOT NULL,
- "Account_FirstName" varchar(32) NOT NULL,
- "Account_LastName" varchar(32) NOT NULL,
- "Account_Email" varchar(128),
- "Account_Banner_Option" varchar(255),
- "Account_Cart_Option" int4,
- CONSTRAINT "PK_Accounts" PRIMARY KEY ("Account_Id")
+ Account_Id int4 NOT NULL,
+ Account_FirstName varchar(32) NOT NULL,
+ Account_LastName varchar(32) NOT NULL,
+ Account_Email varchar(128),
+ Account_Banner_Option varchar(255),
+ Account_Cart_Option int4,
+ CONSTRAINT PK_Accounts PRIMARY KEY (Account_Id)
) WITHOUT OIDS;
-ALTER TABLE "Accounts" OWNER TO "IBatisNet";
+ALTER TABLE Accounts OWNER TO "IBatisNet";
/*==============================================================*/
/* Table : Categories */
/*==============================================================*/
-CREATE TABLE "Categories"
+CREATE TABLE Categories
(
- "Category_Id" int4 NOT NULL,
- "Category_Name" varchar(32),
- "Category_Guid" varchar(36),
- CONSTRAINT "PK_Categories" PRIMARY KEY ("Category_Id")
+ Category_Id serial,
+ Category_Name varchar(32),
+ Category_Guid varchar(36),
+ CONSTRAINT PK_Categories PRIMARY KEY (Category_Id)
)
WITHOUT OIDS;
-ALTER TABLE "Categories" OWNER TO "IBatisNet";
+ALTER TABLE Categories OWNER TO "IBatisNet";
/*==============================================================*/
/* Table : Enumerations */
/*==============================================================*/
-CREATE TABLE "Enumerations"
+CREATE TABLE Enumerations
(
- "Enum_Id" int4 NOT NULL,
- "Enum_Day" int4 NOT NULL,
- "Enum_Color" int4 NOT NULL,
- "Enum_Month" int4,
- CONSTRAINT "PK_Enumerations" PRIMARY KEY ("Enum_Id")
+ Enum_Id int4 NOT NULL,
+ Enum_Day int4 NOT NULL,
+ Enum_Color int4 NOT NULL,
+ Enum_Month int4,
+ CONSTRAINT PK_Enumerations PRIMARY KEY (Enum_Id)
)
WITHOUT OIDS;
-ALTER TABLE "Enumerations" OWNER TO "IBatisNet";
+ALTER TABLE Enumerations OWNER TO "IBatisNet";
/*==============================================================*/
/* Table : LineItems */
/*==============================================================*/
-CREATE TABLE "LineItems"
+CREATE TABLE LineItems
(
- "LineItem_Id" int4 NOT NULL,
- "Order_Id" int4 NOT NULL,
- "LineItem_Code" varchar(32) NOT NULL,
- "LineItem_Quantity" int4 NOT NULL,
- "LineItem_Price" numeric(18,2),
- "LineItem_Picture" bytea,
- CONSTRAINT "PK_LineItems" PRIMARY KEY ("LineItem_Id", "Order_Id")
+ LineItem_Id int4 NOT NULL,
+ Order_Id int4 NOT NULL,
+ LineItem_Code varchar(32) NOT NULL,
+ LineItem_Quantity int4 NOT NULL,
+ LineItem_Price numeric(18,2),
+ LineItem_Picture bytea,
+ CONSTRAINT PK_LineItems PRIMARY KEY (LineItem_Id, Order_Id)
)
WITHOUT OIDS;
-ALTER TABLE "LineItems" OWNER TO "IBatisNet";
+ALTER TABLE LineItems OWNER TO "IBatisNet";
/*==============================================================*/
/* Table : Orders */
/*==============================================================*/
-CREATE TABLE "Orders"
+CREATE TABLE Orders
(
- "Order_Id" int4 NOT NULL,
- "Account_Id" int4 NOT NULL,
- "Order_Date" date,
- "Order_CardType" varchar(32),
- "Order_CardNumber" varchar(32),
- "Order_CardExpiry" varchar(32),
- "Order_Street" varchar(32),
- "Order_City" varchar(32),
- "Order_Province" varchar(32),
- "Order_PostalCode" varchar(32),
- "Order_FavouriteLineItem" int4,
- CONSTRAINT "PK_Orders" PRIMARY KEY ("Order_Id")
+ Order_Id int4 NOT NULL,
+ Account_Id int4 NOT NULL,
+ Order_Date timestamp,
+ Order_CardType varchar(32),
+ Order_CardNumber varchar(32),
+ Order_CardExpiry varchar(32),
+ Order_Street varchar(32),
+ Order_City varchar(32),
+ Order_Province varchar(32),
+ Order_PostalCode varchar(32),
+ Order_FavouriteLineItem int4,
+ CONSTRAINT PK_Orders PRIMARY KEY (Order_Id)
)
WITHOUT OIDS;
-ALTER TABLE "Orders" OWNER TO "IBatisNet";
+ALTER TABLE Orders OWNER TO "IBatisNet";
/*==============================================================*/
/* Table : Others */
/*==============================================================*/
-CREATE TABLE "Others"
+CREATE TABLE Others
(
- "Other_Int" int4,
- "Other_Long" int8,
- "Other_Bit" bool NOT NULL DEFAULT false,
- "Other_String" varchar(32) NOT NULL
+ Other_Int int4,
+ Other_Long int8,
+ Other_Bit bool NOT NULL DEFAULT false,
+ Other_String varchar(32) NOT NULL
)
WITHOUT OIDS;
-ALTER TABLE "Others" OWNER TO "IBatisNet";
+ALTER TABLE Others OWNER TO "IBatisNet";
/*==============================================================*/
/* Table : Documents */
/*==============================================================*/
-CREATE TABLE "Documents"
+CREATE TABLE Documents
(
- "Document_Id" int4 NOT NULL,
- "Document_Title" varchar(32),
- "Document_Type" varchar(32),
- "Document_PageNumber" int4,
- "Document_City" varchar(32),
- CONSTRAINT "PK_Documents" PRIMARY KEY ("Document_Id")
+ Document_Id int4 NOT NULL,
+ Document_Title varchar(32),
+ Document_Type varchar(32),
+ Document_PageNumber int4,
+ Document_City varchar(32),
+ CONSTRAINT PK_Documents PRIMARY KEY (Document_Id)
)
WITHOUT OIDS;
-ALTER TABLE "Documents" OWNER TO "IBatisNet";
+ALTER TABLE Documents OWNER TO "IBatisNet";
\connect "NHibernate" "NHibernate" using test;
--- DROP TABLE "Users";
+-- DROP TABLE Users;
/*==============================================================*/
/* Table : Users */
/*==============================================================*/
-CREATE TABLE "Users"
+CREATE TABLE Users
(
- "LogonId" varchar(20) NOT NULL DEFAULT '0'::character varying,
- "Name" varchar(40),
- "Password" varchar(20),
- "EmailAddress" varchar(40),
- "LastLogon" date,
- CONSTRAINT "PK_Users" PRIMARY KEY ("LogonId")
+ LogonId varchar(20) NOT NULL DEFAULT '0'::character varying,
+ Name varchar(40),
+ Password varchar(20),
+ EmailAddress varchar(40),
+ LastLogon date,
+ CONSTRAINT PK_Users PRIMARY KEY (LogonId)
)
WITHOUT OIDS;
-ALTER TABLE "Users" OWNER TO "NHibernate";
+ALTER TABLE Users OWNER TO "NHibernate";
Modified: incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/account-init.sql
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/account-init.sql?rev=170290&r1=170289&r2=170290&view=diff
==============================================================================
--- incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/account-init.sql (original)
+++ incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/account-init.sql Sun May 15 17:41:52 2005
@@ -1,21 +1,19 @@
-\connect "IBatisNet" "IBatisNet";
+DROP TABLE Accounts;
-DROP TABLE "Accounts";
-
-CREATE TABLE "Accounts"
+CREATE TABLE Accounts
(
- "Account_Id" int4 NOT NULL,
- "Account_FirstName" varchar(32) NOT NULL,
- "Account_LastName" varchar(32) NOT NULL,
- "Account_Email" varchar(128),
- "Account_Banner_Option" varchar(255),
- "Account_Cart_Option" int4,
- CONSTRAINT "PK_Accounts" PRIMARY KEY ("Account_Id")
+ Account_Id int4 NOT NULL,
+ Account_FirstName varchar(32) NOT NULL,
+ Account_LastName varchar(32) NOT NULL,
+ Account_Email varchar(128),
+ Account_Banner_Option varchar(255),
+ Account_Cart_Option int4,
+ CONSTRAINT PK_Accounts PRIMARY KEY (Account_Id)
) WITHOUT OIDS;
-ALTER TABLE "Accounts" OWNER TO "IBatisNet";
+ALTER TABLE Accounts OWNER TO "IBatisNet";
-INSERT INTO "Accounts" VALUES(1,'Joe', 'Dalton', 'Joe.Dalton@somewhere.com', 'Oui', 200);
-INSERT INTO "Accounts" VALUES(2,'Averel', 'Dalton', 'Averel.Dalton@somewhere.com', 'Oui', 200);
-INSERT INTO "Accounts" VALUES(3,'William', 'Dalton', null, 'Non', 100);
-INSERT INTO "Accounts" VALUES(4,'Jack', 'Dalton', 'Jack.Dalton@somewhere.com', 'Non', 100);
-INSERT INTO "Accounts" VALUES(5,'Gilles', 'Bayon', null, 'Oui', 100);
+INSERT INTO Accounts VALUES(1,'Joe', 'Dalton', 'Joe.Dalton@somewhere.com', 'Oui', 200);
+INSERT INTO Accounts VALUES(2,'Averel', 'Dalton', 'Averel.Dalton@somewhere.com', 'Oui', 200);
+INSERT INTO Accounts VALUES(3,'William', 'Dalton', null, 'Non', 100);
+INSERT INTO Accounts VALUES(4,'Jack', 'Dalton', 'Jack.Dalton@somewhere.com', 'Non', 100);
+INSERT INTO Accounts VALUES(5,'Gilles', 'Bayon', null, 'Oui', 100);
Added: incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/account-procedure.sql
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/account-procedure.sql?rev=170290&view=auto
==============================================================================
--- incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/account-procedure.sql (added)
+++ incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/account-procedure.sql Sun May 15 17:41:52 2005
@@ -0,0 +1 @@
+--
\ No newline at end of file
Modified: incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/category-init.sql
URL: http://svn.apache.org/viewcvs/incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/category-init.sql?rev=170290&r1=170289&r2=170290&view=diff
==============================================================================
--- incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/category-init.sql (original)
+++ incubator/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Scripts/PostgreSQL/category-init.sql Sun May 15 17:41:52 2005
@@ -1,23 +1,11 @@
-\connect "IBatisNet" "IBatisNet";
-
-DROP SEQUENCE "S_Categories";
-
-CREATE SEQUENCE "S_Categories"
- INCREMENT 1
- MINVALUE 1
- MAXVALUE 9223372036854775807
- START 1
- CACHE 20;
-ALTER TABLE "S_Categories" OWNER TO "IBatisNet";
+DROP TABLE Categories;
-DROP TABLE "Categories";
-
-CREATE TABLE "Categories"
+CREATE TABLE Categories
(
- "Category_Id" int4 NOT NULL,
- "Category_Name" varchar(32),
- "Category_Guid" varchar(36),
- CONSTRAINT "PK_Categories" PRIMARY KEY ("Category_Id")
+ Category_Id serial,
+ Category_Name varchar(32),
+ Category_Guid varchar(36),
+ CONSTRAINT PK_Categories PRIMARY KEY (Category_Id)
)
WITHOUT OIDS;
-ALTER TABLE "Categories" OWNER TO "IBatisNet";
+ALTER TABLE Categories OWNER TO "IBatisNet";