Examples of OQLQuery


Examples of org.exolab.castor.jdo.OQLQuery

   
    private void change() throws PersistenceException {
        MasterKeyGen master;
        DetailKeyGen detail6, detail7, detail8, detail9;
        int detailId8, detailId9;
        OQLQuery oql;
        QueryResults qres;

        LOG.debug("Attempt to change details");
        _db.begin();
        master = (MasterKeyGen) _db.load(MasterKeyGen.class, new Integer(_masterId));
        if (master == null) {
            LOG.error("failed to find master with details group");
            fail("failed to find master with details group");
        }
        // remove detail with id == 5
        master.getDetails().remove(
                master.getDetails().indexOf(master.findDetail(_detailId5)));
        // remove detail with id == 6 explicitly
        detail6 = master.findDetail(_detailId6);
        master.getDetails().remove(master.getDetails().indexOf(detail6));
        // add new detail
        detail8 = new DetailKeyGen();
        master.addDetail(detail8);
        // add new detail and create it explicitely
        detail9 = new DetailKeyGen();
        master.addDetail(detail9);
        // delete, then create detail with id == 7 explicitly
        detail7 = master.findDetail(_detailId7);
        master.getDetails().remove(master.getDetails().indexOf(detail7));
        master.addDetail(detail7);
        _db.commit();
       
        detailId8 = detail8.getId();
        detailId9 = detail9.getId();

        _db.begin();
        master = (MasterKeyGen) _db.load(MasterKeyGen.class, new Integer(_masterId));
        if (master != null) {
            if (master.getDetails().size() == 0
                    || master.getDetails().contains(new DetailKeyGen(_detailId5))
                    || master.getDetails().contains(new DetailKeyGen(_detailId6))
                    || !master.getDetails().contains(new DetailKeyGen(_detailId7))
                    || !master.getDetails().contains(new DetailKeyGen(detailId8))
                    || !master.getDetails().contains(new DetailKeyGen(detailId9))) {
                LOG.error("loaded master has wrong set of details: " + master);
                fail("loaded master has wrong set of details: " + master);
            } else {
                LOG.debug("Details changed correctly: " + master);
            }
        } else {
            LOG.error("master not found");
            fail("master not found");
        }
        _db.commit();

        LOG.debug("Test OQL query");
        _db.begin();
        oql = _db.getOQLQuery("SELECT master FROM " + MasterKeyGen.class.getName()
                + " master WHERE master.details.value1=$1");
        oql.bind(Detail.DEFAULT_VALUE);
        qres = oql.execute();
        if (qres.hasMore()) {
            LOG.debug("OK: correct result of query 1 ");
        } else {
            LOG.error("incorrect result of query 1 ");
            fail("incorrect result of query 1");
        }
        oql.bind(Detail.DEFAULT_VALUE + "*");
        qres = oql.execute();
        if (qres.hasMore()) {
            LOG.error("incorrect result of query 2 ");
            fail("incorrect result of query 2");
        } else {
            LOG.debug("OK: correct result of query 2 ");
        }
        oql.close();
        oql = _db.getOQLQuery("SELECT master FROM " + MasterKeyGen.class.getName()
                + " master WHERE master.details.details2.value1=$1");
        oql.bind(DetailKeyGen2.DEFAULT_VALUE);
        qres = oql.execute();
        if (qres.hasMore()) {
            LOG.debug("OK: correct result of query 3 ");
        } else {
            LOG.error("incorrect result of query 3 ");
            fail("incorrect result of query 3");
        }
        oql.bind(DetailKeyGen2.DEFAULT_VALUE + "*");
        qres = oql.execute();
        if (qres.hasMore()) {
            LOG.error("incorrect result of query 4 ");
            fail("incorrect result of query 4");
        } else {
            LOG.debug("OK: correct result of query 4 ");
        }
        oql.close();
        oql = _db.getOQLQuery("SELECT master FROM " + MasterKeyGen.class.getName()
                + " master WHERE master.group=$1");
        oql.bind(Group.DEFAULT_ID);
        qres = oql.execute();
        if (qres.hasMore()) {
            LOG.debug("OK: correct result of query 5 ");
        } else {
            LOG.error("incorrect result of query 5 ");
            fail("incorrect result of query 5");
        }
        oql.close();
        _db.commit();

        LOG.debug("Test rollback");
        _db.begin();
        master = (MasterKeyGen) _db.load(MasterKeyGen.class, new Integer(_masterId));
View Full Code Here

Examples of org.exolab.castor.jdo.OQLQuery

     * @param accessMode the access mode that is used in the concurrent
     *        modification tests
     */
    private void testDirtyChecked(final AccessMode accessMode)
    throws PersistenceException, SQLException {
        OQLQuery       oql;
        Sample         object;
        QueryResults   enumeration;

        // Open transaction in order to perform JDO operations
        _db.begin();
   
        // Determine if test object exists, if not create it.
        // If it exists, set the name to some predefined value
        // that this test will later override.
        oql = _db.getOQLQuery("SELECT object FROM "
                + Sample.class.getName() + " object WHERE id = $1");
        oql.bind(Sample.DEFAULT_ID);

        enumeration = oql.execute();
        if (enumeration.hasMore()) {
            object = (Sample) enumeration.next();
            LOG.debug("Retrieved object: " + object);
            object.setValue1(Sample.DEFAULT_VALUE_1);
            object.setValue2(Sample.DEFAULT_VALUE_2);
        } else {
            object = new Sample();
            LOG.debug("Creating new object: " + object);
            _db.create(object);
        }

        _db.commit();
       
        // Open a new transaction in order to conduct test
        _db.begin();
       
        oql.bind(new Integer(Sample.DEFAULT_ID));
        object = (Sample) oql.execute(accessMode).nextElement();
        object.setValue1(JDO_VALUE);
       
        // Perform direct JDBC access and override the value of that table
        if (accessMode != Database.DBLOCKED) {
            _conn.createStatement().execute(
View Full Code Here

Examples of org.exolab.castor.jdo.OQLQuery

     * @param accessMode the access mode that is used in the concurrent
     *        modification tests
     */
    private void testDirtyIgnored(final AccessMode accessMode)
    throws PersistenceException, SQLException {
        OQLQuery      oql;
        Sample    object;
        QueryResults   enumeration;

        // Open transaction in order to perform JDO operations
        _db.begin();
   
        // Determine if test object exists, if not create it.
        // If it exists, set the name to some predefined value
        // that this test will later override.
        oql = _db.getOQLQuery("SELECT object FROM "
                + Sample.class.getName() + " object WHERE id = $1");
        oql.bind(Sample.DEFAULT_ID);
       
        enumeration = oql.execute();
        if (enumeration.hasMore()) {
            object = (Sample) enumeration.next();
            LOG.debug("Retrieved object: " + object);
            object.setValue1(Sample.DEFAULT_VALUE_1);
            object.setValue2(Sample.DEFAULT_VALUE_2);
        } else {
            object = new Sample();
            LOG.debug("Creating new object: " + object);
            _db.create(object);
        }
       
        _db.commit();

        // Open a new transaction in order to conduct test
        _db.begin();
       
        oql.bind(new Integer(Sample.DEFAULT_ID));
        object = (Sample) oql.execute(accessMode).nextElement();
        object.setValue2(JDO_VALUE);
       
        // Perform direct JDBC access and override the value of that table
        if (accessMode != Database.DBLOCKED) {
            _conn.createStatement().execute(
View Full Code Here

Examples of org.exolab.castor.jdo.OQLQuery

    }

    public void testLimitWithOffset() throws PersistenceException {
        getDatabase().begin();

        OQLQuery query = getDatabase().getOQLQuery("select t from "
                + Entity.class.getName() + " t order by id limit $1 offset $2");

        query.bind(LIMIT);
        query.bind(OFFSET);

        QueryResults results = query.execute();
        assertNotNull (results);
        // size() not available using an Oracle DB assertEquals (LIMIT, results.size());
        for (int i = 1 + OFFSET; i <= OFFSET + LIMIT; i++) {
            Entity testObject = (Entity) results.next();
            assertEquals(i, testObject.getId());
View Full Code Here

Examples of org.exolab.castor.jdo.OQLQuery

        _db.close();
    }

    public final void testLimit() throws PersistenceException {
        _db.begin();
        OQLQuery query = _db.getOQLQuery(
                "select t from " + Entity.class.getName() + " t order by id limit $1");
        query.bind(LIMIT);
        QueryResults results = query.execute();
        assertNotNull(results);
        // size() not available using an Oracle DB assertEquals (LIMIT, results.size());
        for (int i = 1; i <= LIMIT; i++) {
            Entity testObject = (Entity) results.next();
            assertEquals(i, testObject.getId());
View Full Code Here

Examples of org.exolab.castor.jdo.OQLQuery

        _db.getCacheManager().expireCache();
        _db.begin();
       
        long begin = System.currentTimeMillis();
       
        OQLQuery query = _db.getOQLQuery(
                "SELECT o FROM " + Locked.class.getName() + " o order by o.id");
        QueryResults results = query.execute();
       
        long result = System.currentTimeMillis();
       
        initIterateQueries();
View Full Code Here

Examples of org.exolab.castor.jdo.OQLQuery

        _db = _jdo.getDatabase();
        _db.begin();
       
        long begin = System.currentTimeMillis();
       
        OQLQuery query = _db.getOQLQuery(
                "SELECT o FROM " + Locked.class.getName() + " o order by o.id");
        QueryResults results = query.execute();
       
        long result = System.currentTimeMillis();
       
        initIterateQueries();
View Full Code Here

Examples of org.exolab.castor.jdo.OQLQuery

    public void testQueryOwner () throws Exception {
        Database database = _category.getDatabase();
       
        database.begin();
        OQLQuery query = database.getOQLQuery("select owner from "
                + Owner.class.getName() + " as owner");
        QueryResults results = query.execute();
       
        if (results.hasMore()) {
            int counter = 1;
            while (results.hasMore()) {
                Owner owner = (Owner) results.next();
View Full Code Here

Examples of org.exolab.castor.jdo.OQLQuery

        _db.begin();
   
        // Determine if test object exists, if not create it.
        // If it exists, set the name to some predefined value
        // that this test will later override.
        OQLQuery oql = _db.getOQLQuery("SELECT object FROM "
                + Sample.class.getName() + " object WHERE id = $1");
        oql.bind(Sample.DEFAULT_ID);

        Enumeration enumeration = oql.execute();
        Sample    object;
        if (enumeration.hasMoreElements()) {
            object = (Sample) enumeration.nextElement();
            object.setValue1(Sample.DEFAULT_VALUE_1);
            object.setValue2(Sample.DEFAULT_VALUE_2);
View Full Code Here

Examples of org.exolab.castor.jdo.OQLQuery

        _db.getCacheManager().expireCache();
        _db.begin();
       
        long begin = System.currentTimeMillis();
       
        OQLQuery query = _db.getOQLQuery(
                "SELECT o FROM " + Locked.class.getName() + " o order by o.id");
        QueryResults results = query.execute(Database.READONLY);
       
        long result = System.currentTimeMillis();
       
        initIterateQueries();
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.