Right now, TQL doesn't have support for platform-specific
functionality for any database outside of those things that have
direct parallels between platforms, and it doesn't support aggregate
functions, SQL functions, subselects in FROM statements, or
subselects in SELECT column statements.
Some of these things have been proposed as new features, but will
only be implemented as Mark has time, as people sponsor Mark to do
them, or as volunteers step up to do some of the work on Transfer on
behalf of the community. Transfer is still an open-source platform
and community involvement is welcome... the only gotcha is that Mark
isn't going to stick just anything in the framework, so anything you
work on should be approved by Mark beforehand (at least that's what
I'd do to save myself some work on things that aren't going to be
used anyway).
In any case, while Mark is the final word on these things, I doubt
that SQL Server-specific functionality will ever make it into
Transfer mostly because until someone provides engine-specific TQL
parsers and people want to contribute to them (if it's even
possible)... but you have an alternative.
You can include regular <cfquery />-based SQL in your application,
either in DAOs that are composed into your Transfer objects or even
just right in the decorators that will run the SQL you want...
something like this:
<!--- in FooDecorator --->
<cffunction name="getDescAndDate">
<cfset var qry = 0>
<cfquery name="qry" datasource="#getTransfer().getDatasource
().getName()#">
SELECT Description, Date
FROM (SELECT ROW_NUMBER() OVER (ORDER BY Date DESC)
AS Row, Description, Date FROM LOG)
AS LogWithRowNumbers
WHERE Row >= 1 AND Row <= 10
</cfquery>
<cfreturn qry />
</cffunction>
This way you can still take advantage of Transfer, yet be able to use
the engine-specific functionality that you need or want.
I don'tn want to start a debate about whether to put SQL in a
decorator or in a DAO or where-ever you may wish... that's not the
point, really. The point is that if you have access to Transfer you
have access to getDatasource().getName() and can use raw, hand-
written SQL in your application without really working very hard at all.
There ya have it...
J
On Oct 13, 2008, at 3:08 PM, jerish wrote:
>
> Thanks for your reply and I am trying to explain a bit more about my
> query. ...
--~--~---------~--~----~------------~-------~--~----~
Before posting questions to the group please read:
http://groups.google.com/group/transfer-dev/web/how-to-ask-support-questions-on-transfer
You received this message because you are subscribed to the Google Groups
"transfer-dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/transfer-dev?hl=en
-~----------~----~----~----~------~----~------~--~---