[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ojb-dev
Subject:    svn commit: r521528 - in
From:       arminw () apache ! org
Date:       2007-03-22 23:36:00
Message-ID: 20070322233600.DCCF21A9838 () eris ! apache ! org
[Download RAW message or body]

Author: arminw
Date: Thu Mar 22 16:35:59 2007
New Revision: 521528

URL: http://svn.apache.org/viewvc?view=rev&rev=521528
Log:
update query docs

Modified:
    db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/query.xml
  db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/site.xml


Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/query.xml
                
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/ \
documentation/content/xdocs/docu/guides/query.xml?view=diff&rev=521528&r1=521527&r2=521528
 ==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/query.xml \
                (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/docu/guides/query.xml \
Thu Mar 22 16:35:59 2007 @@ -919,15 +919,73 @@
 
             </section>
 
+
+        <anchor id="functions"/>
+        <section>
+            <title>Use of scalar functions</title>
+            <p>
+                OJB supports all scalar functions with the following syntax:
+            </p>
+            <source><![CDATA[
+function()
+or
+function([value1], [value2], ...)]]></source>
+            <p>
+                So, for example you can do:
+            </p>
+            <source><![CDATA[
+Criteria crit = new Criteria().addGreaterThan("abs(deviation)", new Integer(10));
+QueryByCriteria q = QueryFactory.newQuery(Route.class, crit);
+Route route = (Route) broker.getObjectByQuery(q);
+
+
+ReportQueryByCriteria q = QueryFactory.newReportQuery(Author.class, new Criteria());
+q.setAttributes(new String[]{"name", "sum(books.pages)"});
+q.addGroupBy("name");
+Iterator it = broker.getReportQueryIteratorByQuery(q);
+
+
+ReportQueryByCriteria q = QueryFactory.newReportQuery(News.class, new Criteria());
+q.setAttributes(new String[]{"content", "curdate()"});
+q.addOrderByDescending("date");
+q.addOrderByDescending("id");
+q.setWithExtents(false);
+q.setEndAtIndex(1);
+Iterator it = broker.getReportQueryIteratorByQuery(q);
+            ]]></source>
+            <p>
+                The first query asks for all routes with the absolute deviation (is \
field of class Route) of ten. +            </p>
+            <p>
+                The second query is a report query asks for the pages sum of all \
books of an author grouped by +                the author name ('name' is a field of \
class Author). The Author class has a 1:n association +                with class \
Book via field 'books' in class Author. In class Book the field 'pages' represents \
the pages +                size of the current book.
+            </p>
+            <p>
+                The third query returns the content of the latest news associated \
with the current date +                (function 'curdate()').
+            </p>
+        </section>
+
+
         <anchor id="selectUpdate"/>
         <section>
             <title>Lock with "SELECT ... FOR UPDATE" clause</title>
             <p>
-                TODO
+                Independent from the pessimistic and optimistic locking provided
+                by OJB it is possible to use native database locks via the "FOR \
UPDATE"-expression +                using method \
<code>Query.setSelectForUpdate</code>.  </p>
+            <source><![CDATA[
+Criteria crit = new Criteria()
+        .addEquals("book.title", "A Confederacy of Dunces");
+QueryByCriteria query = QueryFactory.newQuery(Review.class, crit);
+query.setSelectForUpdate(true);
+...]]></source>
             <p>
                 Details about OJB's support for <em>optimistic locking</em> and the
-                <em>pessimistic in-memory locking API</em> can be found in the
+                <em>pessimistic locking</em> API can be found in the
                 <a href="site:lock-manager">Locking-guide</a>.
             </p>
         </section>
@@ -936,7 +994,18 @@
         <section>
             <title>Append user-defined SQL</title>
             <p>
-                TODO
+                OJB allows to append database specific expressions at the end of the \
query +                (e.g. "FOR FETCH ONLY") using method \
<code>Query.setQueryAffix</code>. +            </p>
+            <source><![CDATA[
+Criteria crit = new Criteria()
+        .addEquals("book.title", "A Confederacy of Dunces");
+QueryByCriteria query = QueryFactory.newQuery(Review.class, crit);
+query.setQueryAffix("FOR FETCH ONLY");
+...]]></source>
+            <p>
+                On execution of the query OJB append the specified expression at the \
end of the +                query string. 
             </p>
         </section>
 
@@ -947,6 +1016,9 @@
         <anchor id="odmg-oql"/>
         <section>
             <title>ODMG OQL</title>
+            <p>
+                TODO
+            </p>
         </section>
 
 
@@ -954,6 +1026,9 @@
         <anchor id="jdo-oql"/>
         <section>
             <title>JDO queries</title>
+            <p>
+                TODO
+            </p>
         </section>
     </body>
 </document>

Modified: db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/site.xml
                
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/site.xml?view=diff&rev=521528&r1=521527&r2=521528
 ==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/site.xml \
                (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/doc/forrest/src/documentation/content/xdocs/site.xml \
Thu Mar 22 16:35:59 2007 @@ -192,7 +192,7 @@
                 <table-per-class href="#table-per-class"/>
                 <table-per-subclass href="#table-per-subclass"/>
             </advanced-technique>
-            <query label="OJB queries" href="query.html">
+            <query label="Querying" href="query.html">
                 <query-by-criteria href="#query-by-criteria"/>
                 <joins href="#joins"/>
                 <odmg-oql href="#odmg-oql"/>



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic