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);
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]