Hi, all! I think to least impact the current API, we'd better simply add a method to PMF or PM: public Date getNow();
Then we can use this Date as a parameter in any Query. --- Michael Bouschen <[EMAIL PROTECTED]> wrote: > Hi, > > I see one issue with using the syntax "new Date()": > it might conflict > with the constructor expression used in the result > expression, because > both use the keyword "new". A constructor expression > is only supported > in the query result expression; it is used to wrap > values into a result > class element and it is evaluated on the client. The > expression "new > Date()" should be supported in the result and the > filter, it does not > wrap any other values and it is evaluated on the > database back end. > How about using a different syntax for the current > database date, e.g. > JDOHelper.CURRENT_DATE() ? > > The other interesting issue with the example from > Jörg is that it does > not define a candidate class. I think this was on > purpose, because the > query should not access any tables in the database, > but just return the > current date. Maybe we could use the JDOHelper as > the candidate class in > this case? This would be something similar to the > DUAL table in oracle. > > Regards Michael > > Your 1st requirement is to retrieve the date on > the client. A 2nd requirement > > would be comparisons over database server date. > > > > I have one sample for the 2nd requirement > > > > Query query = newQuery("select from Person where > startDate > new Date()"); > > > > > > Quoting Jörg von Frantzius > <[EMAIL PROTECTED]>: > > > > > >> Hi Craig, > >> > >> I'm not so sure whether this is really what you > want to see, but here's > >> something: > >> > >> Query query = newQuery("new Date()"); > >> > query.setResultClass(java.sql.Timestamp.class); > >> query.setUnique(true); > >> Date result = (Date)timeQuery.execute(); > >> > >> > >> That result Date can then be used to e.g. set an > updated object's > >> lastModification timestamp before committing it. > >> > >> Regards, > >> Jörg > >> > >> Craig L Russell schrieb: > >> > >>> Hi Jörg, > >>> > >>> Sorry to exercise you more on this, but I'm > still having a bit of > >>> difficulty seeing how to use this feature. > >>> > >>> Could you please give us an example of the use > case you describe > >>> below? I'd like to see the JDOQL query that uses > new Date() in action. > >>> > >>> Thanks! > >>> > >>> Craig > >>> > >>> On Oct 19, 2006, at 1:33 AM, Jörg von Frantzius > wrote: > >>> > >>> > >>>> Hello Craig, > >>>> > >>>> as far as I can see that does satisfy our > requirements. Once we are > >>>> able to query for that date in JDOQL, we can > use it e.g. for > >>>> lastmodification timestamps and the like. > >>>> > >>>> Regards, > >>>> Jörg > >>>> > >>>> Craig L Russell schrieb: > >>>> > >>>>> It's easy enough to define "new Date()" as > being evaluated on the > >>>>> back end for queries that are executed on the > back end. And being > >>>>> evaluated in the vm for queries that have a > bound candidateCollection. > >>>>> > >>>>> But does this satisfy the requirements? Once > you have a Date in > >>>>> JDOQL, what can you do with it? > >>>>> > >>>>> Craig > >>>>> > >>>>> On Oct 16, 2006, at 11:58 AM, Erik Bengtson > wrote: > >>>>> > >>>>> > >>>>>> +1. maybe "new Date()" could be the > expression where evaluation > >>>>>> occurs on the > >>>>>> database. > >>>>>> > >>>>>> Quoting Jörg von Frantzius > <[EMAIL PROTECTED]>: > >>>>>> > >>>>>> > >>>>>>> Dear experts, > >>>>>>> > >>>>>>> there had been several occasions where in > our applications we had to > >>>>>>> determine the database server's current > time(-stamp). In one > >>>>>>> application > >>>>>>> we needed it to synchronize sent JMS > messages with visibility of > >>>>>>> commits > >>>>>>> in the database, and in another we need it > for our simple replication > >>>>>>> algorithm. > >>>>>>> > >>>>>>> In distributed systems in general it is > often crucial for > >>>>>>> synchronization purposes to have a common > source of time information > >>>>>>> that is accessible from all processes. > >>>>>>> > >>>>>>> It would be great if JDO2 could offer a way > of doing that > >>>>>>> independently > >>>>>>> of the database, e.g. as a JDOQL function. > >>>>>>> > >>>>>>> > >>>>>>> Regards, > >>>>>>> Jörg > >>>>>>> > >>>>>>> > >>>>>> > >>>>>> > >>>>> Craig Russell > >>>>> Architect, Sun Java Enterprise System > http://java.sun.com/products/jdo > >>>>> 408 276-5638 mailto:[EMAIL PROTECTED] > >>>>> P.S. A good JDO? O, Gasp! > >>>>> > >>>>> > >>> Craig Russell > >>> Architect, Sun Java Enterprise System > http://java.sun.com/products/jdo > >>> 408 276-5638 mailto:[EMAIL PROTECTED] > >>> P.S. A good JDO? O, Gasp! > >>> > >>> > >> > > > > > > > > > -- > Michael Bouschen [EMAIL PROTECTED] Engineering GmbH > mailto:[EMAIL PROTECTED] http://www.tech.spree.de/ > Tel.:++49/30/235 520-33 Buelowstr. 66 > Fax.:++49/30/2175 2012 D-10783 Berlin > > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com