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:

I’ve 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 can’t 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