Title: Vendor specific queries?

Hey guys great work on iBatis. I finally spent some time on it and I must say I prefer this method of storage much more than other options out there. In fact, the next version of WebWork (which I am a developer for) will contain integration with iBatis. Now, on to my question:

Ive seen in the docs where vendor-specific features, especially around sequence handling, are done like so:

<select name=insertFoo-ORACLE />

<select name=insertFoo-MYSQL />

What I cant tell is if this is just some naming convention, or if something trickier is going on here. Can iBatis run certain versions of a statement based on the database vendor it is currently connected to? If not, maybe this would be a good feature to add? In fact, any place a query could be written, if there could be an optional vendor attribute that could be used, that would be great. The end result would be:

<select name=insertFoo >

        <selectKey keyProperty="ID" resultClass="long" vendor=postgres>

            SELECT nextval('category_seq') as ID

        </selectKey>

        <selectKey keyProperty="ID" resultClass="long" vendor=oracle>

            SELECT nextval('category_seq') FROM dual as ID

        </selectKey>

        INSERT

        <selectKey keyProperty="ID" resultClass="long" vendor=mssql>

            SELECT @@IDENTITY...

        </selectKey>

</select>

_________________
Patrick Lightbody
Professional Services
Jive Software
[EMAIL PROTECTED]
www.jivesoftware.com

317 SW Alder, Ste 500
Portland, OR 97204
ph (503) 295-6552
fx (503) 961-1047

Reply via email to