teiid SVN: r4290 - in trunk/engine/src: test/java/org/teiid/query/processor and 1 other directory.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-08-02 15:09:31 -0400 (Thu, 02 Aug 2012)
New Revision: 4290
Modified:
trunk/engine/src/main/java/org/teiid/query/processor/relational/AccessNode.java
trunk/engine/src/test/java/org/teiid/query/processor/TestProcedureRelational.java
Log:
minor tweak to txn detection
Modified: trunk/engine/src/main/java/org/teiid/query/processor/relational/AccessNode.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/processor/relational/AccessNode.java 2012-08-02 18:04:30 UTC (rev 4289)
+++ trunk/engine/src/main/java/org/teiid/query/processor/relational/AccessNode.java 2012-08-02 19:09:31 UTC (rev 4290)
@@ -52,6 +52,7 @@
import org.teiid.query.sql.lang.OrderByItem;
import org.teiid.query.sql.lang.Query;
import org.teiid.query.sql.lang.Select;
+import org.teiid.query.sql.lang.StoredProcedure;
import org.teiid.query.sql.lang.SubqueryContainer;
import org.teiid.query.sql.symbol.Constant;
import org.teiid.query.sql.symbol.Expression;
@@ -474,7 +475,7 @@
@Override
public Boolean requiresTransaction(boolean transactionalReads) {
Boolean required = super.requiresTransaction(transactionalReads);
- if (Boolean.TRUE.equals(required)) {
+ if (Boolean.TRUE.equals(required) || (command instanceof StoredProcedure && ((StoredProcedure)command).getUpdateCount() > 1)) {
return true;
}
return null;
Modified: trunk/engine/src/test/java/org/teiid/query/processor/TestProcedureRelational.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/processor/TestProcedureRelational.java 2012-08-02 18:04:30 UTC (rev 4289)
+++ trunk/engine/src/test/java/org/teiid/query/processor/TestProcedureRelational.java 2012-08-02 19:09:31 UTC (rev 4290)
@@ -116,7 +116,10 @@
FakeDataManager dataManager = new FakeDataManager();
TestProcessor.sampleData1(dataManager);
// Plan query
- ProcessorPlan plan = TestProcessor.helpGetPlan(sql, RealMetadataFactory.example1Cached());
+ ProcessorPlan plan = TestProcessor.helpGetPlan(sql, RealMetadataFactory.example1Cached());
+
+ assertFalse(plan.requiresTransaction(false));
+ assertTrue(plan.requiresTransaction(true)); //TODO: this should be false as there is only a single execution possible
// Run query
TestProcessor.helpProcess(plan, dataManager, expected);
}
12 years, 4 months
teiid SVN: r4289 - in trunk: connectors/translator-loopback/src/main/java/org/teiid/translator/loopback and 7 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-08-02 14:04:30 -0400 (Thu, 02 Aug 2012)
New Revision: 4289
Modified:
trunk/api/src/main/java/org/teiid/translator/BaseDelegatingExecutionFactory.java
trunk/api/src/main/java/org/teiid/translator/DataNotAvailableException.java
trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java
trunk/connectors/translator-loopback/src/main/java/org/teiid/translator/loopback/LoopbackExecution.java
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWork.java
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWorkItem.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierTupleSource.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java
trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/TestConnectorWorkItem.java
trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java
trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java
trunk/engine/src/test/java/org/teiid/dqp/service/AutoGenDataService.java
trunk/metadata/src/test/java/org/teiid/cdk/api/ConnectorHost.java
trunk/runtime/src/main/java/org/teiid/runtime/EmbeddedServer.java
Log:
TEIID-2130 addressing short-comings with datanotavailable
Modified: trunk/api/src/main/java/org/teiid/translator/BaseDelegatingExecutionFactory.java
===================================================================
--- trunk/api/src/main/java/org/teiid/translator/BaseDelegatingExecutionFactory.java 2012-08-01 20:18:03 UTC (rev 4288)
+++ trunk/api/src/main/java/org/teiid/translator/BaseDelegatingExecutionFactory.java 2012-08-02 18:04:30 UTC (rev 4289)
@@ -443,4 +443,8 @@
public boolean isSourceRequiredForMetadata() {
return delegate.isSourceRequiredForMetadata();
}
+ @Override
+ public boolean isForkable() {
+ return delegate.isForkable();
+ }
}
Modified: trunk/api/src/main/java/org/teiid/translator/DataNotAvailableException.java
===================================================================
--- trunk/api/src/main/java/org/teiid/translator/DataNotAvailableException.java 2012-08-01 20:18:03 UTC (rev 4288)
+++ trunk/api/src/main/java/org/teiid/translator/DataNotAvailableException.java 2012-08-02 18:04:30 UTC (rev 4289)
@@ -21,25 +21,31 @@
*/
package org.teiid.translator;
+import java.util.Date;
+
import org.teiid.core.TeiidRuntimeException;
/**
- * Used by asynch connectors to indicate data is not available
- * and results should be polled for after the given delay in milliseconds.
+ * Used by asynch connectors to indicate data is not available and results should be polled for after
+ * the given delay in milliseconds or until a Date is reached.
* <br>
- * Note that delays are not guaranteed. The delay is the maximum amount of time before the plan will be re-queued for execution.
- * There are several scenarios that would cause the delay to be shorter, such as multiple sources where one source returns a shorter
- * delay or if the engine believes more work is to be done before allowing the plan to sit idle.
+ * Note that delays are not guaranteed unless {@link #strict} is set to true. With {@link #strict} false, the delay is the maximum amount
+ * of time before the plan will be re-queued for execution. There are several scenarios that would cause the delay to be shorter, such as
+ * multiple sources where one source returns a shorter delay or if the engine believes more work is to be done before allowing the plan to sit idle.
+ * <br>
*/
public class DataNotAvailableException extends TeiidRuntimeException {
private static final long serialVersionUID = 5569111182915674334L;
private long retryDelay = 0;
+ private Date waitUntil;
+ private boolean strict;
/**
* Indicate that the engine should not poll for results and will be notified
- * via the {@link ExecutionContext#dataAvailable()} method.
+ * via the {@link ExecutionContext#dataAvailable()} method. However the engine may still ask
+ * for results before the dataAvailable is called.
*/
public static final DataNotAvailableException NO_POLLING = new DataNotAvailableException(-1);
@@ -59,8 +65,35 @@
this.retryDelay = retryDelay;
}
+ /**
+ * Instructs the engine to wait until the Date is met before getting results. By default this will
+ * be strictly enforced, meaning that no attempt will be made to get results before the given Date.
+ * @param waitUntil
+ */
+ public DataNotAvailableException(Date waitUntil) {
+ this.waitUntil = waitUntil;
+ this.strict = true;
+ }
+
public long getRetryDelay() {
return retryDelay;
}
+
+ public Date getWaitUntil() {
+ return waitUntil;
+ }
+
+ /**
+ * If the delay or Date is strictly enforced then the execution will not asked for results until
+ * after that time or until {@link ExecutionContext#dataAvailable()} is called.
+ * @return
+ */
+ public boolean isStrict() {
+ return strict;
+ }
+
+ public void setStrict(boolean strict) {
+ this.strict = strict;
+ }
}
Modified: trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java
===================================================================
--- trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java 2012-08-01 20:18:03 UTC (rev 4288)
+++ trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java 2012-08-02 18:04:30 UTC (rev 4289)
@@ -1019,5 +1019,13 @@
public CacheDirective getCacheDirective(Command command, ExecutionContext executionContext, RuntimeMetadata metadata) throws TranslatorException {
return null;
}
+
+ /**
+ * When forkable the engine may use a separate thread to interact with returned {@link Execution}.
+ * @return true if {@link Execution}s can be called in separate threads from the processing thread
+ */
+ public boolean isForkable() {
+ return true;
+ }
}
Modified: trunk/connectors/translator-loopback/src/main/java/org/teiid/translator/loopback/LoopbackExecution.java
===================================================================
--- trunk/connectors/translator-loopback/src/main/java/org/teiid/translator/loopback/LoopbackExecution.java 2012-08-01 20:18:03 UTC (rev 4288)
+++ trunk/connectors/translator-loopback/src/main/java/org/teiid/translator/loopback/LoopbackExecution.java 2012-08-02 18:04:30 UTC (rev 4289)
@@ -40,9 +40,9 @@
import org.teiid.language.Argument.Direction;
import org.teiid.logging.LogConstants;
import org.teiid.logging.LogManager;
-import org.teiid.translator.TranslatorException;
import org.teiid.translator.DataNotAvailableException;
import org.teiid.translator.ProcedureExecution;
+import org.teiid.translator.TranslatorException;
import org.teiid.translator.TypeFacility;
import org.teiid.translator.UpdateExecution;
@@ -81,7 +81,9 @@
// then just say we don't have results instead
if(randomTimeToWait > this.config.getPollIntervalInMilli()) {
waited = true;
- throw new DataNotAvailableException(randomTimeToWait);
+ DataNotAvailableException dnae = new DataNotAvailableException(randomTimeToWait);
+ dnae.setStrict(true);
+ throw dnae;
}
try {
Thread.sleep(randomTimeToWait);
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWork.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWork.java 2012-08-01 20:18:03 UTC (rev 4288)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWork.java 2012-08-02 18:04:30 UTC (rev 4289)
@@ -40,7 +40,7 @@
void close();
- AtomicResultsMessage execute() throws TranslatorException, BlockedException;
+ void execute() throws TranslatorException, BlockedException;
void setRequestWorkItem(RequestWorkItem item);
@@ -52,4 +52,6 @@
boolean areLobsUsableAfterClose();
+ boolean isForkable();
+
}
\ No newline at end of file
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWorkItem.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWorkItem.java 2012-08-01 20:18:03 UTC (rev 4288)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWorkItem.java 2012-08-02 18:04:30 UTC (rev 4289)
@@ -82,6 +82,8 @@
private AtomicBoolean isCancelled = new AtomicBoolean();
private org.teiid.language.Command translatedCommand;
+
+ private DataNotAvailableException dnae;
ConnectorWorkItem(AtomicRequestMessage message, ConnectorManager manager) {
this.id = message.getAtomicRequestID();
@@ -134,6 +136,12 @@
}
public AtomicResultsMessage more() throws TranslatorException {
+ if (this.dnae != null) {
+ //clear the exception if it has been set
+ DataNotAvailableException e = this.dnae;
+ this.dnae = null;
+ throw e;
+ }
LogManager.logDetail(LogConstants.CTX_CONNECTOR, new Object[] {this.id, "Processing MORE request"}); //$NON-NLS-1$
try {
return handleBatch();
@@ -197,7 +205,7 @@
return new TranslatorException(t);
}
- public AtomicResultsMessage execute() throws TranslatorException {
+ public void execute() throws TranslatorException {
if(isCancelled()) {
throw new TranslatorException(QueryPlugin.Event.TEIID30476, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30476));
}
@@ -252,8 +260,6 @@
// Execute query
this.execution.execute();
LogManager.logDetail(LogConstants.CTX_CONNECTOR, new Object[] {this.id, "Executed command"}); //$NON-NLS-1$
-
- return handleBatch();
} catch (Throwable t) {
throw handleError(t);
}
@@ -339,9 +345,14 @@
}
}
} catch (DataNotAvailableException e) {
- if (rows.size() == 0 && this.rowCount != 0) {
+ if (rows.size() == 0) {
throw e;
}
+ if (e.getWaitUntil() != null) {
+ //we have an await until that we need to enforce
+ this.dnae = e;
+ }
+ //else we can just ignore the delay
}
if (lastBatch) {
@@ -414,4 +425,9 @@
return cd;
}
+ @Override
+ public boolean isForkable() {
+ return this.connector.isForkable();
+ }
+
}
\ No newline at end of file
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java 2012-08-01 20:18:03 UTC (rev 4288)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java 2012-08-02 18:04:30 UTC (rev 4289)
@@ -35,6 +35,7 @@
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executor;
import java.util.concurrent.FutureTask;
+import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import javax.resource.spi.work.Work;
@@ -452,8 +453,8 @@
this.processWorkerPool.execute(work);
}
- void scheduleWork(final Runnable r, int priority, long delay) {
- this.processWorkerPool.schedule(new FutureWork<Void>(new Callable<Void>() {
+ ScheduledFuture<?> scheduleWork(final Runnable r, int priority, long delay) {
+ return this.processWorkerPool.schedule(new FutureWork<Void>(new Callable<Void>() {
@Override
public Void call() throws Exception {
r.run();
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java 2012-08-01 20:18:03 UTC (rev 4288)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java 2012-08-02 18:04:30 UTC (rev 4289)
@@ -201,6 +201,9 @@
ConnectorManagerRepository cmr = workItem.getDqpWorkContext().getVDB().getAttachment(ConnectorManagerRepository.class);
ConnectorManager connectorManager = cmr.getConnectorManager(aqr.getConnectorName());
ConnectorWork work = connectorManager.registerRequest(aqr);
+ if (!work.isForkable()) {
+ aqr.setSerial(true);
+ }
CacheID cid = null;
CacheDirective cd = null;
if (workItem.getRsCache() != null && command.areResultsCachable()) {
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierTupleSource.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierTupleSource.java 2012-08-01 20:18:03 UTC (rev 4288)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierTupleSource.java 2012-08-02 18:04:30 UTC (rev 4289)
@@ -23,10 +23,12 @@
package org.teiid.dqp.internal.process;
import java.io.IOException;
+import java.lang.ref.WeakReference;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.atomic.AtomicBoolean;
import javax.activation.DataSource;
@@ -81,7 +83,24 @@
*/
public class DataTierTupleSource implements TupleSource, CompletionListener<AtomicResultsMessage> {
- // Construction state
+ private static final class MoreWorkTask implements Runnable {
+
+ WeakReference<RequestWorkItem> ref;
+
+ public MoreWorkTask(RequestWorkItem workItem) {
+ ref = new WeakReference<RequestWorkItem>(workItem);
+ }
+
+ @Override
+ public void run() {
+ RequestWorkItem item = ref.get();
+ if (item != null) {
+ item.moreWork();
+ }
+ }
+ }
+
+ // Construction state
private final AtomicRequestMessage aqr;
private final RequestWorkItem workItem;
private final ConnectorWork cwi;
@@ -113,6 +132,9 @@
boolean errored;
Scope scope; //this is to avoid synchronization
+
+ private long waitUntil;
+ private ScheduledFuture<?> scheduledFuture;
public DataTierTupleSource(AtomicRequestMessage aqr, RequestWorkItem workItem, ConnectorWork cwi, DataTierManagerImpl dtm, int limit) {
this.aqr = aqr;
@@ -226,6 +248,12 @@
}
public List<?> nextTuple() throws TeiidComponentException, TeiidProcessingException {
+ if (waitUntil > 0 && waitUntil > System.currentTimeMillis()) {
+ if (!this.cwi.isDataAvailable()) {
+ throw BlockedException.block(aqr.getAtomicRequestID(), "Blocking until", waitUntil); //$NON-NLS-1$
+ }
+ this.waitUntil = 0;
+ }
while (true) {
if (arm == null) {
if (isDone()) {
@@ -262,17 +290,8 @@
partial = true;
} catch (DataNotAvailableException e) {
dna = true;
- if (e.getRetryDelay() >= 0) {
- workItem.scheduleWork(new Runnable() {
- @Override
- public void run() {
- workItem.moreWork();
- }
- }, 10, e.getRetryDelay());
- } else if (this.cwi.isDataAvailable()) {
- continue;
- }
- throw BlockedException.block(aqr.getAtomicRequestID(), "Blocking on DataNotAvailableException", aqr.getAtomicRequestID()); //$NON-NLS-1$
+ handleDataNotAvailable(e);
+ continue;
} finally {
if (!dna && results == null) {
errored = true;
@@ -295,6 +314,39 @@
}
}
+ private void handleDataNotAvailable(DataNotAvailableException e)
+ throws BlockedException {
+ if (e.getWaitUntil() != null) {
+ long timeDiff = e.getWaitUntil().getTime() - System.currentTimeMillis();
+ if (timeDiff <= 0) {
+ //already met the time
+ return;
+ }
+ if (e.isStrict()) {
+ this.waitUntil = e.getWaitUntil().getTime();
+ }
+ scheduleMoreWork(timeDiff);
+ } else if (e.getRetryDelay() >= 0) {
+ if (e.isStrict()) {
+ this.waitUntil = System.currentTimeMillis() + e.getRetryDelay();
+ }
+ scheduleMoreWork(e.getRetryDelay());
+ } else if (this.cwi.isDataAvailable()) {
+ return; //no polling, but data is already available
+ } else if (e.isStrict()) {
+ //no polling, wait indefinitely
+ this.waitUntil = Long.MAX_VALUE;
+ }
+ throw BlockedException.block(aqr.getAtomicRequestID(), "Blocking on DataNotAvailableException", aqr.getAtomicRequestID()); //$NON-NLS-1$
+ }
+
+ private void scheduleMoreWork(long timeDiff) {
+ if (scheduledFuture != null) {
+ this.scheduledFuture.cancel(false);
+ }
+ scheduledFuture = workItem.scheduleWork(new MoreWorkTask(workItem), 10, timeDiff);
+ }
+
private void checkForUpdates(AtomicResultsMessage results, Command command,
EventDistributor distributor, int commandIndex, long ts) {
if (!RelationalNodeUtil.isUpdate(command) || !(command instanceof ProcedureContainer)) {
@@ -367,11 +419,10 @@
}
running = true;
if (!executed) {
- results = cwi.execute();
+ cwi.execute();
executed = true;
- } else {
- results = cwi.more();
}
+ results = cwi.more();
return results;
}
@@ -419,6 +470,10 @@
* @see TupleSource#closeSource()
*/
public void closeSource() {
+ if (this.scheduledFuture != null) {
+ this.scheduledFuture.cancel(true);
+ this.scheduledFuture = null;
+ }
lobBuffer = null;
lobStore = null; //can still be referenced by lobs and will be cleaned-up by reference
cancelAsynch = true;
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java 2012-08-01 20:18:03 UTC (rev 4288)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java 2012-08-02 18:04:30 UTC (rev 4289)
@@ -32,6 +32,7 @@
import java.util.List;
import java.util.Map;
import java.util.concurrent.Callable;
+import java.util.concurrent.ScheduledFuture;
import org.teiid.client.RequestMessage;
import org.teiid.client.ResultsMessage;
@@ -1020,8 +1021,8 @@
return work;
}
- void scheduleWork(Runnable r, int priority, long delay) {
- dqpCore.scheduleWork(r, priority, delay);
+ ScheduledFuture<?> scheduleWork(Runnable r, int priority, long delay) {
+ return dqpCore.scheduleWork(r, priority, delay);
}
public void setCancelTask(Task cancelTask) {
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/TestConnectorWorkItem.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/TestConnectorWorkItem.java 2012-08-01 20:18:03 UTC (rev 4288)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/TestConnectorWorkItem.java 2012-08-02 18:04:30 UTC (rev 4289)
@@ -117,7 +117,8 @@
AtomicRequestMessage arm = createNewAtomicRequestMessage(1, 1);
arm.setCommand(command);
ConnectorWorkItem synchConnectorWorkItem = new ConnectorWorkItem(arm, TestConnectorManager.getConnectorManager());
- return synchConnectorWorkItem.execute();
+ synchConnectorWorkItem.execute();
+ return synchConnectorWorkItem.more();
}
@Test public void testExecutionWarning() throws Throwable {
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java 2012-08-01 20:18:03 UTC (rev 4288)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java 2012-08-02 18:04:30 UTC (rev 4289)
@@ -599,6 +599,7 @@
@Test public void testDataAvailable() throws Exception {
agds.dataNotAvailable = -1;
+ agds.dataAvailable = true;
RequestMessage reqMsg = exampleRequestMessage("select * FROM BQT1.SmallA");
ResultsMessage results = execute("A", 1, reqMsg);
if (results.getException() != null) {
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java 2012-08-01 20:18:03 UTC (rev 4288)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java 2012-08-02 18:04:30 UTC (rev 4289)
@@ -67,10 +67,12 @@
private AutoGenDataService connectorManager = new AutoGenDataService();
private RequestWorkItem workItem;
private int limit = -1;
+ private boolean serial = false;
@Before public void setUp() {
limit = -1;
connectorManager = new AutoGenDataService();
+ serial = false;
}
private static Command helpGetCommand(String sql, QueryMetadataInterface metadata) throws Exception {
@@ -86,6 +88,7 @@
private DataTierTupleSource helpSetup(String sql, int nodeId) throws Exception {
helpSetupDataTierManager();
AtomicRequestMessage request = helpSetupRequest(sql, nodeId);
+ request.setSerial(serial);
return new DataTierTupleSource(request, workItem, connectorManager.registerRequest(request), dtm, limit);
}
@@ -191,7 +194,7 @@
assertNull(workItem.getConnectorRequest(info.getAtomicRequestMessage().getAtomicRequestID()));
}
- private int pullTuples(TupleSource info, int limit)
+ private int pullTuples(TupleSource info, int l)
throws TeiidComponentException, TeiidProcessingException,
InterruptedException {
int i = 0;
@@ -200,7 +203,7 @@
if (info.nextTuple() == null) {
break;
}
- if (++i == limit) {
+ if (++i == l) {
break;
}
} catch (BlockedException e) {
@@ -241,6 +244,7 @@
@Test public void testAsynch() throws Exception {
this.connectorManager.dataNotAvailable = 10;
+ this.serial = true;
this.connectorManager.setRows(0);
DataTierTupleSource info = helpSetup(3);
boolean blocked = false;
@@ -250,12 +254,42 @@
break;
} catch (BlockedException e) {
blocked = true;
+ try {
+ info.nextTuple();
+ } catch (BlockedException be) {
+ fail();
+ }
Thread.sleep(50);
}
}
assertTrue(blocked);
}
+ @Test public void testAsynchStrict() throws Exception {
+ this.connectorManager.dataNotAvailable = 1000;
+ this.serial = true;
+ this.connectorManager.strict = true;
+ this.connectorManager.setRows(0);
+ DataTierTupleSource info = helpSetup(3);
+ boolean blocked = false;
+ while (true) {
+ try {
+ assertNull(info.nextTuple());
+ break;
+ } catch (BlockedException e) {
+ blocked = true;
+ try {
+ info.nextTuple();
+ fail();
+ } catch (BlockedException be) {
+ //we won't bother to wait the full second
+ }
+ break;
+ }
+ }
+ assertTrue(blocked);
+ }
+
@Test public void testCaching() throws Exception {
assertEquals(0, connectorManager.getExecuteCount().get());
@@ -271,6 +305,8 @@
assertEquals(1, connectorManager.getExecuteCount().get());
assertFalse(rrp.doNotCache);
+ assertEquals(1, this.rm.getRsCache().getTotalCacheEntries());
+
//same session, should be cached
command = helpSetupRequest("SELECT stringkey from bqt1.smalla", 1).getCommand();
rrp = new RegisterRequestParameter();
Modified: trunk/engine/src/test/java/org/teiid/dqp/service/AutoGenDataService.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/service/AutoGenDataService.java 2012-08-01 20:18:03 UTC (rev 4288)
+++ trunk/engine/src/test/java/org/teiid/dqp/service/AutoGenDataService.java 2012-08-02 18:04:30 UTC (rev 4289)
@@ -65,7 +65,8 @@
private int rows = 10;
private SourceCapabilities caps;
public boolean throwExceptionOnExecute;
- public int dataNotAvailable = -2;
+ public Integer dataNotAvailable;
+ public boolean strict;
public int sleep;
private final AtomicInteger executeCount = new AtomicInteger();
private final AtomicInteger closeCount = new AtomicInteger();
@@ -73,6 +74,7 @@
public boolean addWarning;
public boolean copyLobs;
public CacheDirective cacheDirective;
+ public boolean dataAvailable;
public AutoGenDataService() {
super("FakeConnector","FakeConnector"); //$NON-NLS-1$ //$NON-NLS-2$
@@ -117,7 +119,7 @@
@Override
public boolean isDataAvailable() {
- return true;
+ return dataAvailable;
}
@Override
@@ -132,20 +134,25 @@
@Override
public AtomicResultsMessage more() throws TranslatorException {
- if (dataNotAvailable == -1) {
- dataNotAvailable = -2;
- item.moreWork(); //this alone is not sufficient, we have to call the data available method to prevent
- //timing issues
- throw DataNotAvailableException.NO_POLLING;
+ if (dataNotAvailable != null) {
+ int delay = dataNotAvailable;
+ dataNotAvailable = null;
+ DataNotAvailableException dnae = new DataNotAvailableException(delay);
+ dnae.setStrict(strict);
+ throw dnae;
}
- if (returnedInitial) {
+ if (addWarning) {
+ msg.setWarnings(Arrays.asList(new Exception()));
+ }
+ if (!returnedInitial) {
+ returnedInitial = true;
return msg;
}
throw new RuntimeException("Should not be called"); //$NON-NLS-1$
}
@Override
- public AtomicResultsMessage execute() throws TranslatorException {
+ public void execute() throws TranslatorException {
executeCount.incrementAndGet();
if (sleep > 0) {
try {
@@ -157,19 +164,6 @@
if (throwExceptionOnExecute) {
throw new TranslatorException("Connector Exception"); //$NON-NLS-1$
}
- if (dataNotAvailable > -2) {
- int delay = dataNotAvailable;
- if (delay == -1 && !returnedInitial) {
- returnedInitial = true;
- return ConnectorWorkItem.createResultsMessage(new List[0]);
- }
- dataNotAvailable = -2;
- throw new DataNotAvailableException(delay);
- }
- if (addWarning) {
- msg.setWarnings(Arrays.asList(new Exception()));
- }
- return msg;
}
@Override
@@ -191,6 +185,11 @@
public CacheDirective getCacheDirective() {
return cacheDirective;
}
+
+ @Override
+ public boolean isForkable() {
+ return true;
+ }
};
}
Modified: trunk/metadata/src/test/java/org/teiid/cdk/api/ConnectorHost.java
===================================================================
--- trunk/metadata/src/test/java/org/teiid/cdk/api/ConnectorHost.java 2012-08-01 20:18:03 UTC (rev 4288)
+++ trunk/metadata/src/test/java/org/teiid/cdk/api/ConnectorHost.java 2012-08-02 18:04:30 UTC (rev 4289)
@@ -30,12 +30,12 @@
import org.teiid.language.Command;
import org.teiid.metadata.RuntimeMetadata;
import org.teiid.metadata.index.VDBMetadataFactory;
-import org.teiid.translator.TranslatorException;
import org.teiid.translator.DataNotAvailableException;
import org.teiid.translator.Execution;
import org.teiid.translator.ExecutionContext;
import org.teiid.translator.ExecutionFactory;
import org.teiid.translator.ResultSetExecution;
+import org.teiid.translator.TranslatorException;
import org.teiid.translator.UpdateExecution;
/**
@@ -138,11 +138,13 @@
}
break;
} catch (DataNotAvailableException e) {
- try {
- Thread.sleep(e.getRetryDelay());
- } catch (InterruptedException e1) {
- throw new TranslatorException(e1);
- }
+ if (e.getRetryDelay() > 0) {
+ try {
+ Thread.sleep(e.getRetryDelay());
+ } catch (InterruptedException e1) {
+ throw new TranslatorException(e1);
+ }
+ }
}
}
return results;
Modified: trunk/runtime/src/main/java/org/teiid/runtime/EmbeddedServer.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/runtime/EmbeddedServer.java 2012-08-01 20:18:03 UTC (rev 4288)
+++ trunk/runtime/src/main/java/org/teiid/runtime/EmbeddedServer.java 2012-08-02 18:04:30 UTC (rev 4289)
@@ -159,6 +159,9 @@
return new ConnectorManager(translatorName, connectionName) {
@Override
public Object getConnectionFactory() throws TranslatorException {
+ if (getConnectionName() == null) {
+ return null;
+ }
ConnectionFactoryProvider<?> connectionFactoryProvider = connectionFactoryProviders.get(getConnectionName());
if (connectionFactoryProvider != null) {
return connectionFactoryProvider.getConnectionFactory();
12 years, 4 months
teiid SVN: r4288 - in trunk: engine/src/main/java/org/teiid/cache and 2 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-08-01 16:18:03 -0400 (Wed, 01 Aug 2012)
New Revision: 4288
Modified:
trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html
trunk/engine/src/main/java/org/teiid/cache/DefaultCache.java
trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java
trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties
Log:
updating the release notes, fixing a log message, and attempting to resolve a test issue
Modified: trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html
===================================================================
--- trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html 2012-08-01 20:03:42 UTC (rev 4287)
+++ trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html 2012-08-01 20:18:03 UTC (rev 4288)
@@ -31,6 +31,7 @@
<LI>TEIID-2083 <B>Admin Metadata</B> - you can now retrieve metadata in DDL from the admin api via the getSchema method.
<LI>TEIID-2105 <B>Improved VDB loading</B> - vdb loading logic was refined to make administration easier. ExecutionFactory now has is/setSourceRequiredForMetadata() to indicate whether a source connection is needed for the getMetadata call.
<LI>TEIID-1598 <B>Translator Result Caching</B> - translators can interact with the result set caching facility via a CacheDirective. See the Developer's Guide for more.
+ <LI>TEIID-2077 <B>Result reuse</B> - the engine will automatically detect if the same source query is used multiple times in a plan and reuse the result rather than issuing another query.
</UL>
<h2><a name="Compatibility">Compatibility Issues</a></h2>
Modified: trunk/engine/src/main/java/org/teiid/cache/DefaultCache.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/cache/DefaultCache.java 2012-08-01 20:03:42 UTC (rev 4287)
+++ trunk/engine/src/main/java/org/teiid/cache/DefaultCache.java 2012-08-01 20:18:03 UTC (rev 4288)
@@ -74,7 +74,7 @@
protected Set<ExpirationEntry<K, V>> expirationQueue;
public DefaultCache(String name) {
- this(name, DEFAULT_MAX_SIZE_TOTAL, DEFAULT_MAX_SIZE_TOTAL);
+ this(name, DEFAULT_MAX_SIZE_TOTAL, -1);
}
public DefaultCache(String name, int maxEntries, long ttl) {
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java 2012-08-01 20:03:42 UTC (rev 4287)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDataTierManager.java 2012-08-01 20:18:03 UTC (rev 4288)
@@ -119,8 +119,10 @@
rm = new DQPCore();
rm.setTransactionService(new FakeTransactionService());
rm.setBufferManager(bs.getBufferManager());
- rm.setResultsetCache(new SessionAwareCache<CachedResults>(new DefaultCacheFactory(), SessionAwareCache.Type.RESULTSET, new CacheConfiguration()));
- rm.setPreparedPlanCache(new SessionAwareCache<PreparedPlan>(new DefaultCacheFactory(), SessionAwareCache.Type.PREPAREDPLAN, new CacheConfiguration()));
+ CacheConfiguration config = new CacheConfiguration();
+ config.setMaxAgeInSeconds(-1);
+ rm.setResultsetCache(new SessionAwareCache<CachedResults>(new DefaultCacheFactory(), SessionAwareCache.Type.RESULTSET, config));
+ rm.setPreparedPlanCache(new SessionAwareCache<PreparedPlan>(new DefaultCacheFactory(), SessionAwareCache.Type.PREPAREDPLAN, config));
rm.start(new DQPConfiguration());
ConnectorManagerRepository repo = Mockito.mock(ConnectorManagerRepository.class);
Modified: trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties
===================================================================
--- trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties 2012-08-01 20:03:42 UTC (rev 4287)
+++ trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties 2012-08-01 20:18:03 UTC (rev 4288)
@@ -60,7 +60,7 @@
TEIID50043=Invalid metadata file found at {0}; delete this file and restart server.
TEIID50069=Failed to load module {0}
TEIID50089=Failed to find any services of type {0} from module {1}
-TEIID50007=Failed to load module {1} for translator {2}
+TEIID50007=Failed to load module {0} for translator {1}
TEIID50088=Failed to load module {0} for UDF in VDB {1}.{2}:{3}
TEIID50072=The username "{0}" and/or password and/or payload token could not be authenticated by any membership domain.
TEIID50074=VDB has validity errors; failed to deploy - {0}
12 years, 4 months
teiid SVN: r4287 - in trunk/connectors/translator-jdbc/src: test/java/org/teiid/translator/jdbc/mysql and 1 other directory.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-08-01 16:03:42 -0400 (Wed, 01 Aug 2012)
New Revision: 4287
Modified:
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/mysql/MySQL5ExecutionFactory.java
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/mysql/TestMySQL5Translator.java
Log:
TEIID-2128 fix for frac_second handling in mysql
Modified: trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/mysql/MySQL5ExecutionFactory.java
===================================================================
--- trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/mysql/MySQL5ExecutionFactory.java 2012-08-01 17:58:07 UTC (rev 4286)
+++ trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/mysql/MySQL5ExecutionFactory.java 2012-08-01 20:03:42 UTC (rev 4287)
@@ -30,7 +30,10 @@
import java.util.Arrays;
import java.util.List;
+import org.teiid.language.Expression;
import org.teiid.language.Function;
+import org.teiid.language.Literal;
+import org.teiid.language.SQLConstants.NonReserved;
import org.teiid.translator.SourceSystemFunctions;
import org.teiid.translator.Translator;
import org.teiid.translator.TranslatorException;
@@ -50,6 +53,34 @@
return Arrays.asList("char(", function.getParameters().get(0), " USING ASCII)"); //$NON-NLS-1$ //$NON-NLS-2$
}
});
+ registerFunctionModifier(SourceSystemFunctions.TIMESTAMPADD, new FunctionModifier() {
+
+ @Override
+ public List<?> translate(Function function) {
+ Literal intervalType = (Literal)function.getParameters().get(0);
+ String interval = ((String)intervalType.getValue()).toUpperCase();
+ if (interval.equals(NonReserved.SQL_TSI_FRAC_SECOND)) {
+ intervalType.setValue("MICROSECOND"); //$NON-NLS-1$
+ Expression[] args = new Expression[] {function.getParameters().get(1), getLanguageFactory().createLiteral(1000, TypeFacility.RUNTIME_TYPES.INTEGER)};
+ function.getParameters().set(1, getLanguageFactory().createFunction("/", args, TypeFacility.RUNTIME_TYPES.INTEGER)); //$NON-NLS-1$
+ }
+ return null;
+ }
+ });
+
+ registerFunctionModifier(SourceSystemFunctions.TIMESTAMPDIFF, new FunctionModifier() {
+
+ @Override
+ public List<?> translate(Function function) {
+ Literal intervalType = (Literal)function.getParameters().get(0);
+ String interval = ((String)intervalType.getValue()).toUpperCase();
+ if (interval.equals(NonReserved.SQL_TSI_FRAC_SECOND)) {
+ intervalType.setValue("MICROSECOND"); //$NON-NLS-1$
+ return Arrays.asList(function, " * 1000"); //$NON-NLS-1$
+ }
+ return null;
+ }
+ });
}
@Override
Modified: trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/mysql/TestMySQL5Translator.java
===================================================================
--- trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/mysql/TestMySQL5Translator.java 2012-08-01 17:58:07 UTC (rev 4286)
+++ trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/mysql/TestMySQL5Translator.java 2012-08-01 20:03:42 UTC (rev 4287)
@@ -47,4 +47,15 @@
output, TRANSLATOR);
}
+
+ @Test public void testTimestampFunctions() throws Exception {
+ String input = "SELECT timestampdiff(SQL_TSI_FRAC_SECOND, timestampvalue, {d '1970-01-01'}), timestampdiff(SQL_TSI_HOUR, timestampvalue, {d '1970-01-01'}), timestampadd(SQL_TSI_FRAC_SECOND, 2000, MediumA.TimestampValue) FROM BQT1.MediumA"; //$NON-NLS-1$
+ String output = "SELECT timestampdiff(MICROSECOND, MediumA.TimestampValue, {ts '1970-01-01 00:00:00.0'}) * 1000, timestampdiff(SQL_TSI_HOUR, MediumA.TimestampValue, {ts '1970-01-01 00:00:00.0'}), timestampadd(MICROSECOND, (2000 / 1000), MediumA.TimestampValue) FROM MediumA"; //$NON-NLS-1$
+
+ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB,
+ input,
+ output, TRANSLATOR);
+ }
+
+
}
12 years, 4 months
teiid SVN: r4286 - trunk/build/kits/jboss-as7/docs/teiid.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-08-01 13:58:07 -0400 (Wed, 01 Aug 2012)
New Revision: 4286
Modified:
trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html
Log:
TEIID-1598 adding a release note
Modified: trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html
===================================================================
--- trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html 2012-08-01 16:57:08 UTC (rev 4285)
+++ trunk/build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html 2012-08-01 17:58:07 UTC (rev 4286)
@@ -26,10 +26,11 @@
</UL>
<H2><A NAME="Highlights"></A>Highlights</H2>
<UL>
- <li><B>VDB Reuse</B> a vdb.xml can now declare imported vdbs to reuse metadata.
- <LI><B>Comparable Object</B> - the system property org.teiid.comparableObject can be set to use OBJECT values in comparison/sorting/grouping operations. It is expected that the object values correctly implement Comparable.compareTo.
- <LI><B>Admin Metadata</B> - you can now retrieve metadata in DDL from the admin api via the getSchema method.
- <LI><B>Improved VDB loading</B> - vdb loading logic was refined to make administration easier. ExecutionFactory now has is/setSourceRequiredForMetadata() to indicate whether a source connection is needed for the getMetadata call.
+ <li>TEIID-1366 <B>VDB Reuse</B> a vdb.xml can now declare imported vdbs to reuse metadata.
+ <LI>TEIID-2061 <B>Comparable Object</B> - the system property org.teiid.comparableObject can be set to use OBJECT values in comparison/sorting/grouping operations. It is expected that the object values correctly implement Comparable.compareTo.
+ <LI>TEIID-2083 <B>Admin Metadata</B> - you can now retrieve metadata in DDL from the admin api via the getSchema method.
+ <LI>TEIID-2105 <B>Improved VDB loading</B> - vdb loading logic was refined to make administration easier. ExecutionFactory now has is/setSourceRequiredForMetadata() to indicate whether a source connection is needed for the getMetadata call.
+ <LI>TEIID-1598 <B>Translator Result Caching</B> - translators can interact with the result set caching facility via a CacheDirective. See the Developer's Guide for more.
</UL>
<h2><a name="Compatibility">Compatibility Issues</a></h2>
@@ -55,8 +56,8 @@
<li>Datatype default values have been corrected for Teiid built-in types. All datatypes are now nullable by default, only character string types are case sensitive, numeric types have radix 10, and length/precision/scale have been set appropriately.
<li>pg catalog and dynamic vdb created metadata will use a generated Teiid id rather than a random UUID.
<li>transport ssl config no longer uses the enabled attribute. Use mode=disabled to disable the usage of encryption.
- <li>If a MetadataRepository throws a RuntimeException during load, that will be treated as a non-recoverable error and the VDB will have a FAILED status.
- <li>It was an undocumented behavior that is a source did not specify a jndi connection that "java:/name" would be assumed. That is no longer the case. It the source needs a connection, then one must be specified.
+ <li>TEIID-2105 If a MetadataRepository throws a RuntimeException during load, that will be treated as a non-recoverable error and the VDB will have a FAILED status.
+ <li>TEIID-2105 It was an undocumented behavior that is a source did not specify a jndi connection that "java:/name" would be assumed. That is no longer the case. It the source needs a connection, then one must be specified.
<ul>
<h4>from 7.x</h4>
12 years, 4 months
teiid SVN: r4285 - in trunk: engine/src/main/java/org/teiid/dqp/internal/datamgr and 4 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-08-01 12:57:08 -0400 (Wed, 01 Aug 2012)
New Revision: 4285
Modified:
trunk/connectors/translator-file/src/main/java/org/teiid/translator/file/FileExecutionFactory.java
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWorkItem.java
trunk/engine/src/main/java/org/teiid/query/QueryPlugin.java
trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/FakeConnector.java
trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/TestConnectorWorkItem.java
trunk/test-integration/common/src/test/java/org/teiid/dqp/internal/process/TestExecutionReuse.java
trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestLocalConnections.java
Log:
TEIID-2127 correcting the file translator and the isSourceRequired logic
Modified: trunk/connectors/translator-file/src/main/java/org/teiid/translator/file/FileExecutionFactory.java
===================================================================
--- trunk/connectors/translator-file/src/main/java/org/teiid/translator/file/FileExecutionFactory.java 2012-08-01 15:46:51 UTC (rev 4284)
+++ trunk/connectors/translator-file/src/main/java/org/teiid/translator/file/FileExecutionFactory.java 2012-08-01 16:57:08 UTC (rev 4285)
@@ -148,7 +148,7 @@
private boolean exceptionIfFileNotFound;
public FileExecutionFactory() {
- setSourceRequired(false);
+ setSourceRequiredForMetadata(false);
}
@TranslatorProperty(display="File Encoding",advanced=true)
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWorkItem.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWorkItem.java 2012-08-01 15:46:51 UTC (rev 4284)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWorkItem.java 2012-08-01 16:57:08 UTC (rev 4285)
@@ -159,7 +159,7 @@
} catch (Throwable e) {
LogManager.logError(LogConstants.CTX_CONNECTOR, e, e.getMessage());
} finally {
- if (this.connector.isSourceRequired() && this.connection != null) {
+ if (this.connection != null) {
try {
this.connector.closeConnection(connection, connectionFactory);
} catch (Throwable e) {
@@ -204,10 +204,19 @@
LogManager.logDetail(LogConstants.CTX_CONNECTOR, new Object[] {this.requestMsg.getAtomicRequestID(), "Processing NEW request:", this.requestMsg.getCommand()}); //$NON-NLS-1$
try {
- if (this.connector.isSourceRequired()) {
- this.connectionFactory = this.manager.getConnectionFactory();
- this.connection = this.connector.getConnection(this.connectionFactory, securityContext);
+ try {
+ this.connectionFactory = this.manager.getConnectionFactory();
+ } catch (TranslatorException e) {
+ if (this.connector.isSourceRequired()) {
+ throw e;
+ }
}
+ if (this.connectionFactory != null) {
+ this.connection = this.connector.getConnection(this.connectionFactory, securityContext);
+ }
+ if (this.connection == null && this.connector.isSourceRequired()) {
+ throw new TranslatorException(QueryPlugin.Event.TEIID31108, QueryPlugin.Util.getString("datasource_not_found", this.manager.getConnectionName())); //$NON-NLS-1$);
+ }
Object unwrapped = null;
if (connection instanceof WrappedConnection) {
Modified: trunk/engine/src/main/java/org/teiid/query/QueryPlugin.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/QueryPlugin.java 2012-08-01 15:46:51 UTC (rev 4284)
+++ trunk/engine/src/main/java/org/teiid/query/QueryPlugin.java 2012-08-01 16:57:08 UTC (rev 4285)
@@ -527,5 +527,6 @@
TEIID31105, //warning
TEIID31106, //duplicate param name
TEIID31107, //too many result params
+ TEIID31108, //datasource not available
}
}
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/FakeConnector.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/FakeConnector.java 2012-08-01 15:46:51 UTC (rev 4284)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/FakeConnector.java 2012-08-01 16:57:08 UTC (rev 4285)
@@ -40,6 +40,7 @@
private int connectionCount;
private int executionCount;
+ private int closeCount;
public int getConnectionCount() {
return connectionCount;
@@ -63,8 +64,13 @@
@Override
public void closeConnection(Object connection, Object factory) {
+ closeCount++;
}
+ public int getCloseCount() {
+ return closeCount;
+ }
+
public final class FakeExecution implements ResultSetExecution, UpdateExecution {
private int rowCount;
ExecutionContext ec;
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/TestConnectorWorkItem.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/TestConnectorWorkItem.java 2012-08-01 15:46:51 UTC (rev 4284)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/TestConnectorWorkItem.java 2012-08-01 16:57:08 UTC (rev 4285)
@@ -124,6 +124,20 @@
AtomicResultsMessage results = helpExecuteUpdate();
assertEquals(1, results.getWarnings().size());
}
+
+ @Test public void testSourceNotRequired() throws Exception {
+ Command command = helpGetCommand("update bqt1.smalla set stringkey = 1 where stringkey = 2", EXAMPLE_BQT); //$NON-NLS-1$
+ AtomicRequestMessage arm = createNewAtomicRequestMessage(1, 1);
+ arm.setCommand(command);
+ ConnectorManager cm = TestConnectorManager.getConnectorManager();
+ cm.getExecutionFactory().setSourceRequired(false);
+ ConnectorWorkItem synchConnectorWorkItem = (ConnectorWorkItem) cm.registerRequest(arm);
+ synchConnectorWorkItem.execute();
+ synchConnectorWorkItem.close();
+ FakeConnector fc = (FakeConnector)cm.getExecutionFactory();
+ assertEquals(1, fc.getConnectionCount());
+ assertEquals(1, fc.getCloseCount());
+ }
@Ignore
@Test public void testIsImmutablePropertySucceeds() throws Exception {
Modified: trunk/test-integration/common/src/test/java/org/teiid/dqp/internal/process/TestExecutionReuse.java
===================================================================
--- trunk/test-integration/common/src/test/java/org/teiid/dqp/internal/process/TestExecutionReuse.java 2012-08-01 15:46:51 UTC (rev 4284)
+++ trunk/test-integration/common/src/test/java/org/teiid/dqp/internal/process/TestExecutionReuse.java 2012-08-01 16:57:08 UTC (rev 4285)
@@ -135,6 +135,10 @@
ec = executionContext;
return execution;
};
+
+ public boolean isSourceRequired() {
+ return false;
+ };
};
@Override
public ExecutionFactory<Object, Object> getExecutionFactory() {
@@ -146,6 +150,7 @@
throws TranslatorException {
return null;
}
+
};
@Override
public ConnectorManager getConnectorManager(String connectorName) {
Modified: trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestLocalConnections.java
===================================================================
--- trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestLocalConnections.java 2012-08-01 15:46:51 UTC (rev 4284)
+++ trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestLocalConnections.java 2012-08-01 16:57:08 UTC (rev 4285)
@@ -107,7 +107,13 @@
@Override
public ExecutionFactory<Object, Object> getExecutionFactory() {
return new ExecutionFactory<Object, Object>() {
+
@Override
+ public boolean isSourceRequired() {
+ return false;
+ }
+
+ @Override
public Execution createExecution(Command command,
ExecutionContext executionContext,
RuntimeMetadata metadata, Object connection)
12 years, 4 months
teiid SVN: r4284 - in trunk: client-jdk15/src/main/java and 2 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-08-01 11:46:51 -0400 (Wed, 01 Aug 2012)
New Revision: 4284
Removed:
trunk/client-jdk15/src/main/java/net/
Modified:
trunk/client/src/main/java/org/teiid/client/BatchSerializer.java
trunk/common-core/src/main/java/org/teiid/core/types/XMLType.java
trunk/common-core/src/main/java/org/teiid/core/util/ExternalizeUtil.java
Log:
TEIID-2126 making xmltype serialization free of direct enum serialization
Modified: trunk/client/src/main/java/org/teiid/client/BatchSerializer.java
===================================================================
--- trunk/client/src/main/java/org/teiid/client/BatchSerializer.java 2012-08-01 14:24:00 UTC (rev 4283)
+++ trunk/client/src/main/java/org/teiid/client/BatchSerializer.java 2012-08-01 15:46:51 UTC (rev 4284)
@@ -234,11 +234,11 @@
private static class XmlColumnSerializer1 extends ColumnSerializer {
protected void writeObject(ObjectOutput out, Object obj) throws IOException {
- ((Externalizable)obj).writeExternal(out);
+ ((XMLType)obj).writeExternal(out, (byte)1);
}
protected Object readObject(ObjectInput in) throws IOException, ClassNotFoundException {
XMLType xt = new XMLType();
- xt.readExternal(in);
+ xt.readExternal(in, (byte)1);
return xt;
}
}
Modified: trunk/common-core/src/main/java/org/teiid/core/types/XMLType.java
===================================================================
--- trunk/common-core/src/main/java/org/teiid/core/types/XMLType.java 2012-08-01 14:24:00 UTC (rev 4283)
+++ trunk/common-core/src/main/java/org/teiid/core/types/XMLType.java 2012-08-01 15:46:51 UTC (rev 4284)
@@ -41,6 +41,8 @@
import javax.xml.transform.Result;
import javax.xml.transform.Source;
+import org.teiid.core.util.ExternalizeUtil;
+
/**
* This class represents the SQLXML object along with the Streamable interface.
*
@@ -144,6 +146,11 @@
@Override
public void readExternal(ObjectInput in) throws IOException,
ClassNotFoundException {
+ readExternal(in, (byte)0);
+ }
+
+ public void readExternal(ObjectInput in, byte version) throws IOException,
+ ClassNotFoundException {
super.readExternal(in);
try {
this.encoding = (String)in.readObject();
@@ -151,7 +158,15 @@
this.encoding = Streamable.ENCODING;
}
try {
- this.type = (Type)in.readObject();
+ if (version > 0) {
+ try {
+ this.type = ExternalizeUtil.readEnum(in, Type.class);
+ } catch (IllegalArgumentException e) {
+ this.type = Type.UNKNOWN;
+ }
+ } else {
+ this.type = (Type)in.readObject();
+ }
} catch (OptionalDataException e) {
this.type = Type.UNKNOWN;
} catch(IOException e) {
@@ -163,12 +178,20 @@
@Override
public void writeExternal(ObjectOutput out) throws IOException {
+ writeExternal(out, (byte)0);
+ }
+
+ public void writeExternal(ObjectOutput out, byte version) throws IOException {
super.writeExternal(out);
if (this.encoding == null) {
this.encoding = getEncoding(this);
}
out.writeObject(this.encoding);
- out.writeObject(this.type);
+ if (version > 0) {
+ ExternalizeUtil.writeEnum(out, this.type);
+ } else {
+ out.writeObject(this.type);
+ }
}
/**
Modified: trunk/common-core/src/main/java/org/teiid/core/util/ExternalizeUtil.java
===================================================================
--- trunk/common-core/src/main/java/org/teiid/core/util/ExternalizeUtil.java 2012-08-01 14:24:00 UTC (rev 4283)
+++ trunk/common-core/src/main/java/org/teiid/core/util/ExternalizeUtil.java 2012-08-01 15:46:51 UTC (rev 4284)
@@ -155,4 +155,20 @@
return map;
}
+ public static void writeEnum(ObjectOutput out, Enum<?> value) throws IOException {
+ if (value == null) {
+ out.writeObject(null);
+ } else {
+ out.writeUTF(value.name());
+ }
+ }
+
+ public static <T extends Enum<T>> T readEnum(ObjectInput in, Class<T> clazz) throws IOException {
+ String name = in.readUTF();
+ if (name == null) {
+ return null;
+ }
+ return Enum.valueOf(clazz, name);
+ }
+
}
12 years, 4 months
teiid SVN: r4283 - in trunk: client-jdk15/src/main and 26 other directories.
by teiid-commits@lists.jboss.org
Author: shawkins
Date: 2012-08-01 10:24:00 -0400 (Wed, 01 Aug 2012)
New Revision: 4283
Added:
trunk/client-jdk15/src/main/java/retroruntime/
trunk/client-jdk15/src/main/java/retroruntime/java/
trunk/client-jdk15/src/main/java/retroruntime/java/io/
trunk/client-jdk15/src/main/java/retroruntime/java/net/
trunk/client-jdk15/src/main/java/retroruntime/java/sql/
trunk/client-jdk15/src/main/java/retroruntime/java/util/
trunk/client-jdk15/src/main/java/retroruntime/javax/
trunk/client-jdk15/src/main/java/retroruntime/javax/net/
trunk/client-jdk15/src/main/java/retroruntime/javax/net/ssl/
trunk/client-jdk15/src/main/java/retroruntime/javax/xml/
trunk/client-jdk15/src/main/java/retroruntime/javax/xml/stream/
trunk/client-jdk15/src/main/java/retroruntime/org/
trunk/client-jdk15/src/main/java/retroruntime/org/teiid/
trunk/client-jdk15/src/main/java/retroruntime/org/teiid/core/
trunk/client-jdk15/src/main/java/retroruntime/org/teiid/core/types/
trunk/client-jdk15/src/main/java/retroruntime/org/teiid/core/types/basic/
trunk/client-jdk15/src/main/resources/
trunk/client-jdk15/src/main/resources/net/
trunk/client-jdk15/src/main/resources/net/sf/
trunk/client-jdk15/src/main/resources/net/sf/retrotranslator/
trunk/client-jdk15/src/main/resources/net/sf/retrotranslator/registry/
trunk/client-jdk15/src/main/resources/net/sf/retrotranslator/registry/backport14.properties
trunk/client-jdk15/src/main/resources/net/sf/retrotranslator/registry/backport15.properties
trunk/client-jdk15/src/main/resources/net/sf/retrotranslator/registry/embed14.properties
trunk/client-jdk15/src/main/resources/net/sf/retrotranslator/registry/embed15.properties
Removed:
trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/java/io/
trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/java/net/
trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/java/sql/
trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/java/util/
trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/javax/net/ssl/
trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/javax/xml/stream/
trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/org/teiid/core/types/basic/
Modified:
trunk/build/pom.xml
trunk/client-jdk15/src/main/java/retroruntime/java/io/_IOException.java
trunk/client-jdk15/src/main/java/retroruntime/java/io/_ObjectStreamClass.java
trunk/client-jdk15/src/main/java/retroruntime/java/net/_NetworkInterface.java
trunk/client-jdk15/src/main/java/retroruntime/java/sql/NClob_.java
trunk/client-jdk15/src/main/java/retroruntime/java/sql/RowIdLifetime_.java
trunk/client-jdk15/src/main/java/retroruntime/java/sql/RowId_.java
trunk/client-jdk15/src/main/java/retroruntime/java/sql/SQLClientInfoException_.java
trunk/client-jdk15/src/main/java/retroruntime/java/sql/SQLFeatureNotSupportedException_.java
trunk/client-jdk15/src/main/java/retroruntime/java/sql/SQLXML_.java
trunk/client-jdk15/src/main/java/retroruntime/java/sql/Wrapper_.java
trunk/client-jdk15/src/main/java/retroruntime/java/sql/_SQLException.java
trunk/client-jdk15/src/main/java/retroruntime/java/sql/_SQLWarning.java
trunk/client-jdk15/src/main/java/retroruntime/java/sql/_Types.java
trunk/client-jdk15/src/main/java/retroruntime/java/util/_Properties.java
trunk/client-jdk15/src/main/java/retroruntime/javax/net/ssl/_SSLContext.java
trunk/client-jdk15/src/main/java/retroruntime/javax/xml/stream/XMLStreamException_.java
trunk/client-jdk15/src/main/java/retroruntime/org/teiid/core/types/basic/StringToSQLXMLTransform_.java
Log:
TEIID-2126 repackaging retro overrides to differentiate between the 1.5 and 1.4 targets.
Modified: trunk/build/pom.xml
===================================================================
--- trunk/build/pom.xml 2012-07-31 18:44:07 UTC (rev 4282)
+++ trunk/build/pom.xml 2012-08-01 14:24:00 UTC (rev 4283)
@@ -89,6 +89,7 @@
<version>1.1.1</version>
<executions>
<execution>
+ <id>jdbc-15</id>
<phase>package</phase>
<goals>
<goal>java</goal>
@@ -101,13 +102,34 @@
<argument>-destjar</argument>
<argument>${project.basedir}/target/teiid-${project.version}-jdbc-jdk15.jar</argument>
<argument>-embed</argument>
- <argument>org.teiid.retroruntime</argument>
+ <argument>org.teiid</argument>
+ <argument>-target</argument>
+ <argument>1.5</argument>
</arguments>
</configuration>
</execution>
+ <execution>
+ <id>jdbc-14</id>
+ <phase>package</phase>
+ <goals>
+ <goal>java</goal>
+ </goals>
+ <configuration>
+ <mainClass>net.sf.retrotranslator.transformer.Retrotranslator</mainClass>
+ <arguments>
+ <argument>-srcjar</argument>
+ <argument>${project.basedir}/target/teiid-${project.version}-jdbc.jar</argument>
+ <argument>-destjar</argument>
+ <argument>${project.basedir}/target/teiid-${project.version}-jdbc-jdk14.jar</argument>
+ <argument>-embed</argument>
+ <argument>org.teiid</argument>
+ <argument>-target</argument>
+ <argument>1.4</argument>
+ </arguments>
+ </configuration>
+ </execution>
</executions>
- </plugin>
-
+ </plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
@@ -123,8 +145,13 @@
<artifact>
<file>target/teiid-${project.version}-jdbc-jdk15.jar</file>
<type>jar</type>
- <classifier>client-jdk15</classifier>
+ <classifier>jdbc-jdk15</classifier>
</artifact>
+ <artifact>
+ <file>target/teiid-${project.version}-jdbc-jdk14.jar</file>
+ <type>jar</type>
+ <classifier>jdbc-jdk14</classifier>
+ </artifact>
</artifacts>
</configuration>
</execution>
Modified: trunk/client-jdk15/src/main/java/retroruntime/java/io/_IOException.java
===================================================================
--- trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/java/io/_IOException.java 2012-07-31 16:35:27 UTC (rev 4280)
+++ trunk/client-jdk15/src/main/java/retroruntime/java/io/_IOException.java 2012-08-01 14:24:00 UTC (rev 4283)
@@ -20,7 +20,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package net.sf.retrotranslator.runtime.java.io;
+package retroruntime.java.io;
import java.io.IOException;
Modified: trunk/client-jdk15/src/main/java/retroruntime/java/io/_ObjectStreamClass.java
===================================================================
--- trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/java/io/_ObjectStreamClass.java 2012-07-31 16:35:27 UTC (rev 4280)
+++ trunk/client-jdk15/src/main/java/retroruntime/java/io/_ObjectStreamClass.java 2012-08-01 14:24:00 UTC (rev 4283)
@@ -20,7 +20,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package net.sf.retrotranslator.runtime.java.io;
+package retroruntime.java.io;
import java.io.ObjectStreamClass;
import java.lang.reflect.Method;
Modified: trunk/client-jdk15/src/main/java/retroruntime/java/net/_NetworkInterface.java
===================================================================
--- trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/java/net/_NetworkInterface.java 2012-07-31 16:35:27 UTC (rev 4280)
+++ trunk/client-jdk15/src/main/java/retroruntime/java/net/_NetworkInterface.java 2012-08-01 14:24:00 UTC (rev 4283)
@@ -20,7 +20,7 @@
* 02110-1301 USA.
*/
-package net.sf.retrotranslator.runtime.java.net;
+package retroruntime.java.net;
import java.net.NetworkInterface;
import java.net.SocketException;
Modified: trunk/client-jdk15/src/main/java/retroruntime/java/sql/NClob_.java
===================================================================
--- trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/java/sql/NClob_.java 2012-07-31 16:35:27 UTC (rev 4280)
+++ trunk/client-jdk15/src/main/java/retroruntime/java/sql/NClob_.java 2012-08-01 14:24:00 UTC (rev 4283)
@@ -20,7 +20,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package net.sf.retrotranslator.runtime.java.sql;
+package retroruntime.java.sql;
import java.sql.Clob;
Modified: trunk/client-jdk15/src/main/java/retroruntime/java/sql/RowIdLifetime_.java
===================================================================
--- trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/java/sql/RowIdLifetime_.java 2012-07-31 16:35:27 UTC (rev 4280)
+++ trunk/client-jdk15/src/main/java/retroruntime/java/sql/RowIdLifetime_.java 2012-08-01 14:24:00 UTC (rev 4283)
@@ -21,7 +21,7 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package net.sf.retrotranslator.runtime.java.sql;
+package retroruntime.java.sql;
public enum RowIdLifetime_ {
ROWID_UNSUPPORTED,
Modified: trunk/client-jdk15/src/main/java/retroruntime/java/sql/RowId_.java
===================================================================
--- trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/java/sql/RowId_.java 2012-07-31 16:35:27 UTC (rev 4280)
+++ trunk/client-jdk15/src/main/java/retroruntime/java/sql/RowId_.java 2012-08-01 14:24:00 UTC (rev 4283)
@@ -20,7 +20,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package net.sf.retrotranslator.runtime.java.sql;
+package retroruntime.java.sql;
public interface RowId_ {
boolean equals(Object obj);
Modified: trunk/client-jdk15/src/main/java/retroruntime/java/sql/SQLClientInfoException_.java
===================================================================
--- trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/java/sql/SQLClientInfoException_.java 2012-07-31 16:35:27 UTC (rev 4280)
+++ trunk/client-jdk15/src/main/java/retroruntime/java/sql/SQLClientInfoException_.java 2012-08-01 14:24:00 UTC (rev 4283)
@@ -20,7 +20,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package net.sf.retrotranslator.runtime.java.sql;
+package retroruntime.java.sql;
import java.sql.SQLException;
Modified: trunk/client-jdk15/src/main/java/retroruntime/java/sql/SQLFeatureNotSupportedException_.java
===================================================================
--- trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/java/sql/SQLFeatureNotSupportedException_.java 2012-07-31 16:35:27 UTC (rev 4280)
+++ trunk/client-jdk15/src/main/java/retroruntime/java/sql/SQLFeatureNotSupportedException_.java 2012-08-01 14:24:00 UTC (rev 4283)
@@ -20,7 +20,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package net.sf.retrotranslator.runtime.java.sql;
+package retroruntime.java.sql;
import java.sql.SQLException;
Modified: trunk/client-jdk15/src/main/java/retroruntime/java/sql/SQLXML_.java
===================================================================
--- trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/java/sql/SQLXML_.java 2012-07-31 16:35:27 UTC (rev 4280)
+++ trunk/client-jdk15/src/main/java/retroruntime/java/sql/SQLXML_.java 2012-08-01 14:24:00 UTC (rev 4283)
@@ -20,7 +20,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package net.sf.retrotranslator.runtime.java.sql;
+package retroruntime.java.sql;
import java.io.InputStream;
import java.io.OutputStream;
Modified: trunk/client-jdk15/src/main/java/retroruntime/java/sql/Wrapper_.java
===================================================================
--- trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/java/sql/Wrapper_.java 2012-07-31 16:35:27 UTC (rev 4280)
+++ trunk/client-jdk15/src/main/java/retroruntime/java/sql/Wrapper_.java 2012-08-01 14:24:00 UTC (rev 4283)
@@ -20,7 +20,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package net.sf.retrotranslator.runtime.java.sql;
+package retroruntime.java.sql;
import java.sql.SQLException;
Modified: trunk/client-jdk15/src/main/java/retroruntime/java/sql/_SQLException.java
===================================================================
--- trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/java/sql/_SQLException.java 2012-07-31 16:35:27 UTC (rev 4280)
+++ trunk/client-jdk15/src/main/java/retroruntime/java/sql/_SQLException.java 2012-08-01 14:24:00 UTC (rev 4283)
@@ -20,7 +20,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package net.sf.retrotranslator.runtime.java.sql;
+package retroruntime.java.sql;
import java.sql.SQLException;
Modified: trunk/client-jdk15/src/main/java/retroruntime/java/sql/_SQLWarning.java
===================================================================
--- trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/java/sql/_SQLWarning.java 2012-07-31 16:35:27 UTC (rev 4280)
+++ trunk/client-jdk15/src/main/java/retroruntime/java/sql/_SQLWarning.java 2012-08-01 14:24:00 UTC (rev 4283)
@@ -20,7 +20,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package net.sf.retrotranslator.runtime.java.sql;
+package retroruntime.java.sql;
import java.sql.SQLWarning;
Modified: trunk/client-jdk15/src/main/java/retroruntime/java/sql/_Types.java
===================================================================
--- trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/java/sql/_Types.java 2012-07-31 16:35:27 UTC (rev 4280)
+++ trunk/client-jdk15/src/main/java/retroruntime/java/sql/_Types.java 2012-08-01 14:24:00 UTC (rev 4283)
@@ -20,7 +20,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package net.sf.retrotranslator.runtime.java.sql;
+package retroruntime.java.sql;
public class _Types {
public final static int ROWID = -8;
Modified: trunk/client-jdk15/src/main/java/retroruntime/java/util/_Properties.java
===================================================================
--- trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/java/util/_Properties.java 2012-07-31 16:35:27 UTC (rev 4280)
+++ trunk/client-jdk15/src/main/java/retroruntime/java/util/_Properties.java 2012-08-01 14:24:00 UTC (rev 4283)
@@ -20,7 +20,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package net.sf.retrotranslator.runtime.java.util;
+package retroruntime.java.util;
import java.util.Collections;
import java.util.Enumeration;
Modified: trunk/client-jdk15/src/main/java/retroruntime/javax/net/ssl/_SSLContext.java
===================================================================
--- trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/javax/net/ssl/_SSLContext.java 2012-07-31 16:35:27 UTC (rev 4280)
+++ trunk/client-jdk15/src/main/java/retroruntime/javax/net/ssl/_SSLContext.java 2012-08-01 14:24:00 UTC (rev 4283)
@@ -20,7 +20,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package net.sf.retrotranslator.runtime.javax.net.ssl;
+package retroruntime.javax.net.ssl;
import java.security.NoSuchAlgorithmException;
Modified: trunk/client-jdk15/src/main/java/retroruntime/javax/xml/stream/XMLStreamException_.java
===================================================================
--- trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/javax/xml/stream/XMLStreamException_.java 2012-07-31 16:35:27 UTC (rev 4280)
+++ trunk/client-jdk15/src/main/java/retroruntime/javax/xml/stream/XMLStreamException_.java 2012-08-01 14:24:00 UTC (rev 4283)
@@ -20,7 +20,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package net.sf.retrotranslator.runtime.javax.xml.stream;
+package retroruntime.javax.xml.stream;
public class XMLStreamException_ extends Exception {
Modified: trunk/client-jdk15/src/main/java/retroruntime/org/teiid/core/types/basic/StringToSQLXMLTransform_.java
===================================================================
--- trunk/client-jdk15/src/main/java/net/sf/retrotranslator/runtime/org/teiid/core/types/basic/StringToSQLXMLTransform_.java 2012-07-31 16:35:27 UTC (rev 4280)
+++ trunk/client-jdk15/src/main/java/retroruntime/org/teiid/core/types/basic/StringToSQLXMLTransform_.java 2012-08-01 14:24:00 UTC (rev 4283)
@@ -20,7 +20,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package net.sf.retrotranslator.runtime.org.teiid.core.types.basic;
+package retroruntime.org.teiid.core.types.basic;
import java.io.Reader;
Added: trunk/client-jdk15/src/main/resources/net/sf/retrotranslator/registry/backport14.properties
===================================================================
--- trunk/client-jdk15/src/main/resources/net/sf/retrotranslator/registry/backport14.properties (rev 0)
+++ trunk/client-jdk15/src/main/resources/net/sf/retrotranslator/registry/backport14.properties 2012-08-01 14:24:00 UTC (rev 4283)
@@ -0,0 +1,24 @@
+retroruntime
+net.sf.retrotranslator.runtime
+java.util.concurrent:edu.emory.mathcs.backport.java.util.concurrent
+java.lang.StringBuilder:java.lang.StringBuffer
+java.util.Deque:edu.emory.mathcs.backport.java.util.Deque
+java.util.ArrayDeque:edu.emory.mathcs.backport.java.util.ArrayDeque
+java.util.Queue:edu.emory.mathcs.backport.java.util.Queue
+java.util.AbstractQueue:edu.emory.mathcs.backport.java.util.AbstractQueue
+java.util.PriorityQueue:edu.emory.mathcs.backport.java.util.PriorityQueue
+java.lang.System.nanoTime:edu.emory.mathcs.backport.java.util.concurrent.helpers.Utils.nanoTime
+java.util.concurrent.locks.Condition.awaitNanos:edu.emory.mathcs.backport.java.util.concurrent.helpers.Utils.awaitNanos
+java.util.Collections.addAll:edu.emory.mathcs.backport.java.util.Collections.addAll
+java.util.Collections.checkedCollection:edu.emory.mathcs.backport.java.util.Collections.checkedCollection
+java.util.Collections.checkedList:edu.emory.mathcs.backport.java.util.Collections.checkedList
+java.util.Collections.checkedMap:edu.emory.mathcs.backport.java.util.Collections.checkedMap
+java.util.Collections.checkedSet:edu.emory.mathcs.backport.java.util.Collections.checkedSet
+java.util.Collections.checkedSortedMap:edu.emory.mathcs.backport.java.util.Collections.checkedSortedMap
+java.util.Collections.checkedSortedSet:edu.emory.mathcs.backport.java.util.Collections.checkedSortedSet
+java.util.Collections.disjoint:edu.emory.mathcs.backport.java.util.Collections.disjoint
+java.util.Collections.frequency:edu.emory.mathcs.backport.java.util.Collections.frequency
+java.util.Collections.reverseOrder:edu.emory.mathcs.backport.java.util.Collections.reverseOrder
+java.util.Collections.newSetFromMap:edu.emory.mathcs.backport.java.util.Collections.newSetFromMap
+java.util.Arrays.copyOf:edu.emory.mathcs.backport.java.util.Arrays.copyOf
+java.util.Arrays.copyOfRange:edu.emory.mathcs.backport.java.util.Arrays.copyOfRange
Property changes on: trunk/client-jdk15/src/main/resources/net/sf/retrotranslator/registry/backport14.properties
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/client-jdk15/src/main/resources/net/sf/retrotranslator/registry/backport15.properties
===================================================================
--- trunk/client-jdk15/src/main/resources/net/sf/retrotranslator/registry/backport15.properties (rev 0)
+++ trunk/client-jdk15/src/main/resources/net/sf/retrotranslator/registry/backport15.properties 2012-08-01 14:24:00 UTC (rev 4283)
@@ -0,0 +1 @@
+retroruntime
\ No newline at end of file
Property changes on: trunk/client-jdk15/src/main/resources/net/sf/retrotranslator/registry/backport15.properties
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/client-jdk15/src/main/resources/net/sf/retrotranslator/registry/embed14.properties
===================================================================
--- trunk/client-jdk15/src/main/resources/net/sf/retrotranslator/registry/embed14.properties (rev 0)
+++ trunk/client-jdk15/src/main/resources/net/sf/retrotranslator/registry/embed14.properties 2012-08-01 14:24:00 UTC (rev 4283)
@@ -0,0 +1,3 @@
+retroruntime
+net.sf.retrotranslator.runtime
+edu.emory.mathcs.backport
Property changes on: trunk/client-jdk15/src/main/resources/net/sf/retrotranslator/registry/embed14.properties
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/client-jdk15/src/main/resources/net/sf/retrotranslator/registry/embed15.properties
===================================================================
--- trunk/client-jdk15/src/main/resources/net/sf/retrotranslator/registry/embed15.properties (rev 0)
+++ trunk/client-jdk15/src/main/resources/net/sf/retrotranslator/registry/embed15.properties 2012-08-01 14:24:00 UTC (rev 4283)
@@ -0,0 +1 @@
+retroruntime
\ No newline at end of file
Property changes on: trunk/client-jdk15/src/main/resources/net/sf/retrotranslator/registry/embed15.properties
___________________________________________________________________
Added: svn:mime-type
+ text/plain
12 years, 4 months