Author: arminw
Date: Thu Jan 4 18:30:35 2007
New Revision: 492866
URL: http://svn.apache.org/viewvc?view=rev&rev=492866
Log:
add new methods to enable "select ... for update" and to append user-defined strings at the end of the query-string
Modified:
db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/AbstractQueryImpl.java
db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/Query.java
db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/QueryByIdentity.java
Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/AbstractQueryImpl.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/AbstractQueryImpl.java?view=diff&rev=492866&r1=492865&r2=492866
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/AbstractQueryImpl.java (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/AbstractQueryImpl.java Thu Jan 4 18:30:35 2007
@@ -37,6 +37,8 @@
protected Class m_searchClass;
protected Class m_baseClass;
private boolean m_withExtents = true;
+ private boolean selectForUpdate;
+ private String postfix;
public AbstractQueryImpl()
{
@@ -178,12 +180,31 @@
return fetchSize;
}
+ public boolean isSelectForUpdate()
+ {
+ return selectForUpdate;
+ }
+
+ public void setSelectForUpdate(boolean forUpdate)
+ {
+ this.selectForUpdate = forUpdate;
+ }
+
+ public String getQueryAffix()
+ {
+ return postfix;
+ }
+
+ public void setQueryAffix(String postfix)
+ {
+ this.postfix = postfix;
+ }
+
/**
* @see org.apache.ojb.broker.query.Query#preprocess(org.apache.ojb.broker.PersistenceBrokerInternal)
*/
public void preprocess(PersistenceBrokerInternal aPb)
{
- // do nothing
}
}
Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/Query.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/Query.java?view=diff&rev=492866&r1=492865&r2=492866
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/Query.java (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/Query.java Thu Jan 4 18:30:35 2007
@@ -138,7 +138,6 @@
void fullSize(int size);
/**
* @deprecated use OJBIterator.fullSize()
- * @return
*/
int fullSize();
@@ -146,8 +145,7 @@
boolean getWithExtents();
/**
- * Answer true if start- and endIndex is set
- * @return
+ * Answer true if start- and endIndex is set.
*/
public boolean usePaging();
@@ -165,6 +163,35 @@
* (or 0 if not set / using driver default)
*/
int getFetchSize();
+
+ /**
+ * Returns <em>true</em> if a "select .... for update" is enabled
+ * to lock the result set rows by the database.
+ */
+ boolean isSelectForUpdate();
+
+ /**
+ * Set <em>true</em> if a "select ... for update" database
+ * lock should be used (OJB will append the 'FOR UPDATE' expression
+ * at the end of the query string). By default it's disabled.
+ */
+ void setSelectForUpdate(boolean forUpdate);
+
+ /**
+ * Set an affix at the end of the query string.
+ *
+ * @param affix The affix string to append at the end of the query string.
+ */
+ void setQueryAffix(String affix);
+
+ /**
+ * Returns the affix string (By default no affix is set, so this method
+ * returns <em>null</em>).
+ *
+ * @return The query affix string or <em>null</em> if not set.
+ * @see #setQueryAffix(String)
+ */
+ String getQueryAffix();
/**
* Preprocess the Query using a PersistenceBroker.
Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/QueryByIdentity.java
URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/QueryByIdentity.java?view=diff&rev=492866&r1=492865&r2=492866
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/QueryByIdentity.java (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/query/QueryByIdentity.java Thu Jan 4 18:30:35 2007
@@ -98,4 +98,24 @@
}
}
+ public void setQueryAffix(String postfix)
+ {
+ if(m_exampleObjectOrIdentity instanceof Identity)
+ {
+ throw new UnsupportedOperationException(
+ "Method #setQueryAffix is not supported when using query objects of class ...ojb.broker.Identity");
+ }
+ super.setQueryAffix(postfix);
+ }
+
+ public void setSelectForUpdate(boolean forUpdate)
+ {
+ if(m_exampleObjectOrIdentity instanceof Identity)
+ {
+ throw new UnsupportedOperationException(
+ "Method #setSelectForUpdate is not supported when using query objects of class ...ojb.broker.Identity");
+ }
+ super.setSelectForUpdate(forUpdate);
+ }
+
}
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.