svn commit: r835650 - /ofbiz/trunk/framework/webslinger/websites/webslinger/www/TestSQL.groovy

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r835650 - /ofbiz/trunk/framework/webslinger/websites/webslinger/www/TestSQL.groovy

doogie-3
Author: doogie
Date: Fri Nov 13 00:04:44 2009
New Revision: 835650

URL: http://svn.apache.org/viewvc?rev=835650&view=rev
Log:
Example showing how the sql parser works.

Added:
    ofbiz/trunk/framework/webslinger/websites/webslinger/www/TestSQL.groovy

Added: ofbiz/trunk/framework/webslinger/websites/webslinger/www/TestSQL.groovy
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webslinger/websites/webslinger/www/TestSQL.groovy?rev=835650&view=auto
==============================================================================
--- ofbiz/trunk/framework/webslinger/websites/webslinger/www/TestSQL.groovy (added)
+++ ofbiz/trunk/framework/webslinger/websites/webslinger/www/TestSQL.groovy Fri Nov 13 00:04:44 2009
@@ -0,0 +1,33 @@
+import java.util.concurrent.Callable
+import org.ofbiz.entity.sql.Parser
+import org.ofbiz.entity.transaction.TransactionUtil
+response.contentType = 'text/html'
+def delegator = request.delegator
+def sql = """
+select
+ a.*,
+ b.firstName,
+ b.lastName
+FROM
+ Party a JOIN Person b ON a.partyId = b.partyId
+WHERE
+ a.partyId='admin'
+OFFSET 5
+LIMIT 10
+;
+"""
+def parser = new Parser(new ByteArrayInputStream(sql.bytes))
+def sqlSelect = parser.Select()
+
+TransactionUtil.doNewTransaction("Test", [call: {
+    def eli
+    try {
+        eli = sqlSelect.getEntityListIterator(delegator)
+        def gv;
+        while ((gv = eli.next()) != null) {
+            println("gv=$gv")
+        }
+    } finally {
+        if (eli != null) eli.close()
+    }
+}] as Callable)