Author: shawkins
Date: 2010-06-14 11:40:48 -0400 (Mon, 14 Jun 2010)
New Revision: 2228
Added:
trunk/documentation/client-developers-guide/src/main/docbook/en-US/content/other_commands.xml
trunk/documentation/developer-guide/
trunk/documentation/reference/src/main/docbook/en-US/content/translators.xml
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testColumns.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testDataTypes.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeyColumns.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeys.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedureParams.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedures.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testReferenceKeyColumns.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testSchemas.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testTableIsSystem.expected
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testTables.expected
Removed:
trunk/connectors/translator-jdbc/src/test/java/org/teiid/connector/jdbc/
trunk/documentation/connector-developer-guide/
trunk/documentation/reference/src/main/docbook/en-US/content/other_commands.xml
trunk/metadata/src/main/system-models/
trunk/metadata/src/test/java/com/
trunk/test-integration/common/src/test/java/com/
trunk/test-integration/common/src/test/resources/system/
Modified:
trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java
trunk/build/kits/jboss-container/deploy/teiid/teiid-jboss-beans.xml
trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/README.txt
trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather/README.txt
trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java
trunk/connectors/translator-file/src/main/java/org/teiid/translator/file/FileExecutionFactory.java
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCBaseExecution.java
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCExecutionFactory.java
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCUpdateExecution.java
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/derby/DerbyExecutionFactory.java
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/PostgreSQLExecutionFactory.java
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/TestLocateFunctionModifier.java
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/TestSQLConversionVisitor.java
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/db2/TestDB2SqlTranslator.java
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/modeshape/TestModeShapeSqlTranslator.java
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/mysql/TestMySQLTranslator.java
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestOracleTranslator.java
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/postgresql/TestPostgreSQLTranslator.java
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sybase/TestSybaseSQLConversionVisitor.java
trunk/connectors/translator-ws/src/main/java/org/teiid/translator/ws/WSExecutionFactory.java
trunk/connectors/translator-ws/src/main/java/org/teiid/translator/ws/WSProcedureExecution.java
trunk/documentation/developer-guide/pom.xml
trunk/documentation/pom.xml
trunk/documentation/reference/src/main/docbook/en-US/Reference.xml
trunk/documentation/reference/src/main/docbook/en-US/content/datatypes.xml
trunk/documentation/reference/src/main/docbook/en-US/content/federated_planning.xml
trunk/documentation/reference/src/main/docbook/en-US/content/grammar.xml
trunk/documentation/reference/src/main/docbook/en-US/content/scalar_functions.xml
trunk/documentation/reference/src/main/docbook/en-US/content/transaction_support.xml
trunk/documentation/reference/src/main/docbook/en-US/content/xml_queries.xml
trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/preface.xml
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/CapabilitiesConverter.java
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorManager.java
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorWorkItem.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPConfiguration.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/Request.java
trunk/engine/src/main/java/org/teiid/dqp/message/AtomicRequestMessage.java
trunk/engine/src/main/java/org/teiid/query/rewriter/QueryRewriter.java
trunk/engine/src/main/java/org/teiid/query/util/CommandContext.java
trunk/engine/src/main/resources/org/teiid/query/i18n.properties
trunk/metadata/src/main/resources/System.vdb
trunk/runtime/src/main/java/org/teiid/deployers/VDBDeployer.java
trunk/test-integration/common/src/test/java/org/teiid/jdbc/AbstractMMQueryTestCase.java
trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestCase3473.java
trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestSystemVirtualModel.java
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedureColumns.expected
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testColumns.expected
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testProcedureColumns.expected
Log:
TEIID-1118 TEIID-1018 TEIID-315 TEIID-869 adding description to procedure parameter
metadata, refining the reference to include information about dynamic vdbs and
translators, which includes more info on the WS translator, renaming connector developers
guide to developers guide
Modified: trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java
===================================================================
--- trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java 2010-06-14 14:44:05
UTC (rev 2227)
+++ trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java 2010-06-14 15:40:48
UTC (rev 2228)
@@ -74,7 +74,6 @@
public static final int DEFAULT_MAX_FROM_GROUPS = -1;
public static final int DEFAULT_MAX_IN_CRITERIA_SIZE = -1;
- public static final int DEFAULT_MAX_ROWS = -1;
private static final TypeFacility TYPE_FACILITY = new TypeFacility();
@@ -82,9 +81,6 @@
* Managed execution properties
*/
private boolean immutable;
- private boolean exceptionOnMaxRows = true;
- private int maxResultRows = DEFAULT_MAX_ROWS;
- private boolean xaCapable;
private boolean sourceRequired = true;
/*
@@ -167,45 +163,6 @@
throw new AssertionError("A connection was created, but no implementation provided
for closeConnection"); //$NON-NLS-1$
}
- /**
- * Throw exception if there are more rows in the result set than specified in the
MaxResultRows setting.
- * @return
- */
- @TranslatorProperty(display="Exception on Exceeding Max
Rows",description="Indicates if an Exception should be thrown if the specified
value for Maximum Result Rows is exceeded; else no exception and no more than the maximum
will be returned",advanced=true)
- public boolean isExceptionOnMaxRows() {
- return exceptionOnMaxRows;
- }
-
- public void setExceptionOnMaxRows(boolean arg0) {
- this.exceptionOnMaxRows = arg0;
- }
-
- /**
- * Maximum result set rows to fetch
- * @return
- */
- @TranslatorProperty(display="Maximum Result Rows", description="Maximum
Result Rows allowed", advanced=true)
- public int getMaxResultRows() {
- return maxResultRows;
- }
-
- public void setMaxResultRows(int arg0) {
- this.maxResultRows = arg0;
- }
-
- /**
- * Shows the XA transaction capability of the Connector.
- * @return
- */
- @TranslatorProperty(display="Is XA Capable", description="True, if this
connector supports XA Transactions")
- public boolean isXaCapable() {
- return xaCapable;
- }
-
- public void setXaCapable(boolean arg0) {
- this.xaCapable = arg0;
- }
-
/**
* Flag that indicates if a underlying source connection required for this execution
factory to work
* @return
Modified: trunk/build/kits/jboss-container/deploy/teiid/teiid-jboss-beans.xml
===================================================================
--- trunk/build/kits/jboss-container/deploy/teiid/teiid-jboss-beans.xml 2010-06-14
14:44:05 UTC (rev 2227)
+++ trunk/build/kits/jboss-container/deploy/teiid/teiid-jboss-beans.xml 2010-06-14
15:40:48 UTC (rev 2228)
@@ -73,7 +73,7 @@
<property name="securityHelper"><inject
bean="SecurityHelper"/></property>
<property name="VDBRepository"><inject
bean="VDBRepository"/></property>
- <!-- Process pool maximum thread count. (default 32) Increase this value if
your load includes a large number of XQueries or if the system's available processors
is larger than 8. -->
+ <!-- Process pool maximum thread count. (default 32) Increase this value if
the system's available processors is larger than 8. -->
<property name="maxThreads">32</property>
<!-- Query processor time slice, in milliseconds. (default 2000) -->
<property name="timeSliceInMilli">2000</property>
@@ -97,6 +97,10 @@
<property name="useEntitlements"
class="java.lang.Boolean">false</property>
<!-- Long running query threshold, after which a alert can be generated by
tooling if configured-->
<property name="queryThresholdInSecs">600</property>
+ <!-- Maximum rows allowed from a source query. -1 indicates no limit. (default
-1)-->
+ <property name="maxSourceRows">-1</property>
+ <!-- Indicates if an exception should be thrown if the specified value for Maximum
Source Rows is exceeded; only up to the maximum rows will be consumed. -->
+ <property name="exceptionOnMaxSourceRows">true</property>
</bean>
<!-- JDBC Socket connection properties (SSL see below) -->
Modified: trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/README.txt
===================================================================
---
trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/README.txt 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/README.txt 2010-06-14
15:40:48 UTC (rev 2228)
@@ -12,5 +12,8 @@
$./run.sh localhost 31000 dynamicportfolio "select * from product, (call
MarketData.getTextFiles('*.txt')) f, TEXTTABLE(f.file COLUMNS symbol string, price
bigdecimal HEADER) price where product.symbol=price.symbol"
That will execute the query against both Derby and the text file using the
-connector supplied metadata.
+connector supplied metadata. In this case the files returned form the getTextFiles
+procedure are passed to the TEXTTABLE table function (via the nested table
+correlated reference f.file). The TEXTTABLE function expects a text file with
+a HEADER containing entries for at least symbol and price columns.
Modified:
trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather/README.txt
===================================================================
---
trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather/README.txt 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-ws-weather/README.txt 2010-06-14
15:40:48 UTC (rev 2228)
@@ -8,10 +8,14 @@
Start the JBoss Container
-Use the simple client example run script e.g.
+Use the simple client example run script, e.g.
$./run.sh localhost 31000 weather "some query"
+NOTE - depending on your OS/Shell the quoting/escaping required to run the example can
be
+complicated. It would be better to install a Java client, such as SQuirreL, to run the
+queries below.
+
Example queries:
1. REST access of the default endpoint augmented by a query string. The query string is
@@ -23,18 +27,29 @@
select t.* from
(call weather.invoke(action='GET',
- endpoint=querystring('', '38.99,-77.02 39.70,-104.80 47.6,-122.30' as
listLatLon, 'time-series' as product, '2004-01-01T00:00:00' as
"begin", '2013-04-20T00:00:00' as "end", 'maxt' as
maxt, 'mint' as mint)
- )) w, XMLTABLE('/dwml/data/location' passing w.result columns
"location-key" string, lattitude string path '/point/@latitude',
longitude string path '/point/@longitude') t
+ endpoint=querystring('', '38.99,-77.02 39.70,-104.80 47.6,-122.30' as
listLatLon,
+ 'time-series' as product, '2004-01-01T00:00:00' as "begin",
+ '2013-04-20T00:00:00' as "end", 'maxt' as maxt,
'mint' as mint)
+ )) w,
+ XMLTABLE('/dwml/data/location' passing w.result
+ columns "location-key" string, lattitude string path
'point/@latitude',
+ longitude string path 'point/@longitude') t
-2. SOAP11 RPC call overriding all of the parameter values for the invoke procedure. With
a SOAP
+2. SOAP11 RPC call providing all of the parameter values for the invoke procedure. With
a SOAP
invocation, the action is used to convey the SOAPAction header value if needed. Also
note
the use of the endpoint here with an absolute URL, which will be used instead of the
default
on the datasource.
-select xmlserialize(document w.result as string) from (call
weather.invoke(action='http://www.weather.gov/forecasts/xml/DWMLgen/w...;,
+select xmlserialize(document w.result as string) from
+ (call
weather.invoke(action='http://www.weather.gov/forecasts/xml/DWMLgen/w...;,
endpoint='http://www.weather.gov/forecasts/xml/SOAP_server/ndfdXMLser...;,
binding='SOAP11',
- request='<ns1:LatLonListZipCode
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML...
xsi:type="ns2:zipCodeListType"
xmlns:ns2="http://www.weather.gov/forecasts/xml/DWMLgen/schema/DWML....
as w
+ request='
+ <ns1:LatLonListZipCode
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+
xmlns:ns1="http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML...
+ <zipCodeList xsi:type="ns2:zipCodeListType"
xmlns:ns2="http://www.weather.gov/forecasts/xml/DWMLgen/schema/DWML....
+ </ns1:LatLonListZipCode>')) as w
See the DatabaseMetadata on the invoke procedure for a full description of the
parameters.
Modified: trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java 2010-06-14
14:44:05 UTC (rev 2227)
+++ trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -259,7 +259,7 @@
.append(PRECISION_MAPPING).append("',','), integer) ELSE
TypeLength END AS LENGTH, convert(Scale, short) AS SCALE") //$NON-NLS-1$
.append(", Radix AS RADIX, convert(decodeString(NullType, '")
//$NON-NLS-1$
.append(PROC_COLUMN_NULLABILITY_MAPPING).append("', ','),
integer) AS NULLABLE") //$NON-NLS-1$
- .append(", convert(null, string) AS REMARKS, NULL AS COLUMN_DEF")
//$NON-NLS-1$
+ .append(", p.Description AS REMARKS, NULL AS COLUMN_DEF")
//$NON-NLS-1$
.append(", NULL AS SQL_DATA_TYPE, NULL AS SQL_DATETIME_SUB, NULL AS
CHAR_OCTET_LENGTH, p.Position AS ORDINAL_POSITION") //$NON-NLS-1$
.append(", CASE NullType WHEN 'Nullable' THEN 'YES' WHEN
'No Nulls' THEN 'NO' ELSE '' END AS IS_NULLABLE, p.ProcedureName
as SPECIFIC_NAME FROM ") //$NON-NLS-1$
.append(RUNTIME_MODEL.VIRTUAL_MODEL_NAME)
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 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/connectors/translator-file/src/main/java/org/teiid/translator/file/FileExecutionFactory.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -48,6 +48,7 @@
import org.teiid.language.Call;
import org.teiid.metadata.MetadataFactory;
import org.teiid.metadata.Procedure;
+import org.teiid.metadata.ProcedureParameter;
import org.teiid.metadata.RuntimeMetadata;
import org.teiid.metadata.ProcedureParameter.Type;
import org.teiid.translator.DataNotAvailableException;
@@ -197,20 +198,25 @@
@Override
public void getMetadata(MetadataFactory metadataFactory, FileConnection connection)
throws TranslatorException {
- Procedure p = metadataFactory.addProcedure(GETTEXTFILES);
- metadataFactory.addProcedureParameter("pathAndPattern",
TypeFacility.RUNTIME_NAMES.STRING, Type.In, p); //$NON-NLS-1$
+ Procedure p = metadataFactory.addProcedure(GETTEXTFILES);
+ p.setAnnotation("Returns text files that match the given path and pattern as
CLOBs");
+ ProcedureParameter param =
metadataFactory.addProcedureParameter("pathAndPattern",
TypeFacility.RUNTIME_NAMES.STRING, Type.In, p); //$NON-NLS-1$
+ param.setAnnotation("The path and pattern of what files to return. Currently the
only pattern supported is *.<ext>, which returns only the files matching the given
extension at the given path.");
metadataFactory.addProcedureResultSetColumn("file",
TypeFacility.RUNTIME_NAMES.CLOB, p); //$NON-NLS-1$
metadataFactory.addProcedureResultSetColumn("filePath",
TypeFacility.RUNTIME_NAMES.STRING, p); //$NON-NLS-1$
Procedure p1 = metadataFactory.addProcedure(GETFILES);
- metadataFactory.addProcedureParameter("pathAndPattern",
TypeFacility.RUNTIME_NAMES.STRING, Type.In, p1); //$NON-NLS-1$
+ p1.setAnnotation("Returns text files that match the given path and pattern as
BLOBs");
+ param = metadataFactory.addProcedureParameter("pathAndPattern",
TypeFacility.RUNTIME_NAMES.STRING, Type.In, p1); //$NON-NLS-1$
+ param.setAnnotation("The path and pattern of what files to return. Currently the
only pattern supported is *.<ext>, which returns only the files matching the given
extension at the given path.");
metadataFactory.addProcedureResultSetColumn("file",
TypeFacility.RUNTIME_NAMES.BLOB, p1); //$NON-NLS-1$
metadataFactory.addProcedureResultSetColumn("filePath",
TypeFacility.RUNTIME_NAMES.STRING, p1); //$NON-NLS-1$
Procedure p2 = metadataFactory.addProcedure(SAVEFILE);
+ p2.setAnnotation("Saves the given vale to the given path. Any existing file will
be overriden.");
metadataFactory.addProcedureParameter("filePath",
TypeFacility.RUNTIME_NAMES.STRING, Type.In, p2); //$NON-NLS-1$
- //reporting as object, but can be one of xml, clob, blob
- metadataFactory.addProcedureParameter("file",
TypeFacility.RUNTIME_NAMES.OBJECT, Type.In, p2); //$NON-NLS-1$
+ param = metadataFactory.addProcedureParameter("file",
TypeFacility.RUNTIME_NAMES.OBJECT, Type.In, p2); //$NON-NLS-1$
+ param.setAnnotation("The contents to save. Can be one of CLOB, BLOB, or
XML");
}
}
Modified:
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCBaseExecution.java
===================================================================
---
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCBaseExecution.java 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCBaseExecution.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -56,7 +56,6 @@
// Derived from properties
protected boolean trimString;
protected int fetchSize;
- protected int maxResultRows;
// Set during execution
protected Statement statement;
@@ -72,16 +71,7 @@
this.executionFactory = jef;
trimString = jef.isTrimStrings();
- fetchSize = (jef.getFetchSize() !=
-1)?jef.getFetchSize():context.getBatchSize();
- maxResultRows = jef.getMaxResultRows();
-
- //if the connector work needs to throw an excpetion, set the size plus 1
- if (maxResultRows > 0 && jef.isExceptionOnMaxRows()) {
- maxResultRows++;
- }
- if (maxResultRows > 0) {
- fetchSize = Math.min(fetchSize, maxResultRows);
- }
+ fetchSize = context.getBatchSize();
}
/**
@@ -145,9 +135,6 @@
}
protected void setSizeContraints(Statement statement) throws SQLException {
- if (maxResultRows > 0) {
- statement.setMaxRows(maxResultRows);
- }
statement.setFetchSize(fetchSize);
}
Modified:
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCExecutionFactory.java
===================================================================
---
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCExecutionFactory.java 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCExecutionFactory.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -140,12 +140,12 @@
private Map<String, FunctionModifier> functionModifiers = new
HashMap<String, FunctionModifier>();
- private boolean useBindVariables;
+ private boolean useBindVariables = true;
private String databaseTimeZone;
private boolean trimStrings;
private boolean useCommentsInSourceQuery;
- private int fetchSize = 1024;
-
+ private String version;
+
boolean initialConnection = true;
public JDBCExecutionFactory() {
@@ -168,7 +168,16 @@
}
}
}
+
+ @TranslatorProperty(display="Database Version", description= "Database
Version")
+ public String getDatabaseVersion() {
+ return this.version;
+ }
+ public void setDatabaseVersion(String version) {
+ this.version = version;
+ }
+
@TranslatorProperty(display="Use Bind Variables", description="Use
prepared statements and bind variables",advanced=true)
public boolean useBindVariables() {
return this.useBindVariables;
@@ -196,7 +205,7 @@
this.trimStrings = trimStrings;
}
- @TranslatorProperty(display="Use informational comments in Source Queries",
description="This will embed /*comment*/ style comment with session/request id in
source SQL query for informational purposes", advanced=true)
+ @TranslatorProperty(display="Use informational comments in Source Queries",
description="This will embed a /*comment*/ leading comment with session/request id in
source SQL query for informational purposes", advanced=true)
public boolean useCommentsInSourceQuery() {
return this.useCommentsInSourceQuery;
}
@@ -205,21 +214,11 @@
this.useCommentsInSourceQuery = useCommentsInSourceQuery;
}
-
- @TranslatorProperty(display="Fetch Size", description="fetch size used
from the connector to its underlying source.", advanced=true)
- public int getFetchSize() {
- return this.fetchSize;
- }
-
@Override
public boolean isSourceRequired() {
return true;
}
- public void setFetchSize(int fetchSize) {
- this.fetchSize = fetchSize;
- }
-
@Override
public ResultSetExecution createResultSetExecution(QueryExpression command,
ExecutionContext executionContext, RuntimeMetadata metadata, Connection conn)
throws TranslatorException {
Modified:
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCUpdateExecution.java
===================================================================
---
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCUpdateExecution.java 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCUpdateExecution.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -208,10 +208,7 @@
* @throws TranslatorException
*/
private boolean getAutoCommit(TranslatedCommand tCommand) throws TranslatorException
{
- if (this.context.isTransactional()) {
- return false;
- }
- try {
+ try {
return connection.getAutoCommit();
} catch (SQLException err) {
throw new JDBCExecutionException(err, tCommand);
Modified:
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/derby/DerbyExecutionFactory.java
===================================================================
---
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/derby/DerbyExecutionFactory.java 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/derby/DerbyExecutionFactory.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -25,16 +25,13 @@
import java.util.ArrayList;
import java.util.List;
+import org.teiid.translator.SourceSystemFunctions;
import org.teiid.translator.Translator;
import org.teiid.translator.TranslatorException;
-import org.teiid.translator.SourceSystemFunctions;
-import org.teiid.translator.TranslatorProperty;
import org.teiid.translator.jdbc.EscapeSyntaxModifier;
import org.teiid.translator.jdbc.db2.DB2ExecutionFactory;
import org.teiid.translator.jdbc.oracle.LeftOrRightFunctionModifier;
-
-
/**
* @since 4.3
*/
@@ -46,10 +43,9 @@
public static final String TEN_4 = "10.4"; //$NON-NLS-1$
public static final String TEN_5 = "10.5"; //$NON-NLS-1$
- private String version = TEN_1;
-
public DerbyExecutionFactory() {
setSupportsFullOuterJoins(false); //Derby supports only left and right outer joins.
+ setDatabaseVersion(TEN_1);
}
@Override
@@ -71,30 +67,21 @@
@Override
public boolean supportsExplicitNullOrdering() {
- return version.compareTo(TEN_4) >= 0;
+ return getDatabaseVersion().compareTo(TEN_4) >= 0;
}
- @TranslatorProperty(display="Database Version", description= "Derby
Database Version")
- public String getDatabaseVersion() {
- return this.version;
- }
-
- public void setDatabaseVersion(String version) {
- this.version = version;
- }
-
@Override
public List<String> getSupportedFunctions() {
List<String> supportedFunctions = new ArrayList<String>();
supportedFunctions.addAll(super.getDefaultSupportedFunctions());
supportedFunctions.add("ABS"); //$NON-NLS-1$
- if (version.compareTo(TEN_2) >= 0) {
+ if (getDatabaseVersion().compareTo(TEN_2) >= 0) {
supportedFunctions.add("ACOS"); //$NON-NLS-1$
supportedFunctions.add("ASIN"); //$NON-NLS-1$
supportedFunctions.add("ATAN"); //$NON-NLS-1$
}
- if (version.compareTo(TEN_4) >= 0) {
+ if (getDatabaseVersion().compareTo(TEN_4) >= 0) {
supportedFunctions.add("ATAN2"); //$NON-NLS-1$
}
// These are executed within the server and never pushed down
@@ -102,7 +89,7 @@
//supportedFunctions.add("BITNOT"); //$NON-NLS-1$
//supportedFunctions.add("BITOR"); //$NON-NLS-1$
//supportedFunctions.add("BITXOR"); //$NON-NLS-1$
- if (version.compareTo(TEN_2) >= 0) {
+ if (getDatabaseVersion().compareTo(TEN_2) >= 0) {
supportedFunctions.add("CEILING"); //$NON-NLS-1$
supportedFunctions.add("COS"); //$NON-NLS-1$
supportedFunctions.add("COT"); //$NON-NLS-1$
@@ -113,12 +100,12 @@
supportedFunctions.add("LOG10"); //$NON-NLS-1$
}
supportedFunctions.add("MOD"); //$NON-NLS-1$
- if (version.compareTo(TEN_2) >= 0) {
+ if (getDatabaseVersion().compareTo(TEN_2) >= 0) {
supportedFunctions.add("PI"); //$NON-NLS-1$
//supportedFunctions.add("POWER"); //$NON-NLS-1$
supportedFunctions.add("RADIANS"); //$NON-NLS-1$
//supportedFunctions.add("ROUND"); //$NON-NLS-1$
- if (version.compareTo(TEN_4) >= 0) {
+ if (getDatabaseVersion().compareTo(TEN_4) >= 0) {
supportedFunctions.add("SIGN"); //$NON-NLS-1$
}
supportedFunctions.add("SIN"); //$NON-NLS-1$
@@ -191,7 +178,7 @@
@Override
public boolean supportsRowLimit() {
- return this.version.compareTo(TEN_5) >= 0;
+ return this.getDatabaseVersion().compareTo(TEN_5) >= 0;
}
@Override
Modified:
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/PostgreSQLExecutionFactory.java
===================================================================
---
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/PostgreSQLExecutionFactory.java 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/PostgreSQLExecutionFactory.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -36,11 +36,10 @@
import org.teiid.language.Limit;
import org.teiid.language.Literal;
import org.teiid.language.SQLConstants.NonReserved;
-import org.teiid.translator.Translator;
-import org.teiid.translator.TranslatorException;
import org.teiid.translator.ExecutionContext;
import org.teiid.translator.SourceSystemFunctions;
-import org.teiid.translator.TranslatorProperty;
+import org.teiid.translator.Translator;
+import org.teiid.translator.TranslatorException;
import org.teiid.translator.TypeFacility;
import org.teiid.translator.jdbc.AliasModifier;
import org.teiid.translator.jdbc.ConvertModifier;
@@ -67,8 +66,10 @@
public static final String EIGHT_3 = "8.3"; //$NON-NLS-1$
public static final String EIGHT_4 = "8.4"; //$NON-NLS-1$
- private String version = EIGHT_0;
-
+ public PostgreSQLExecutionFactory() {
+ setDatabaseVersion(EIGHT_0);
+ }
+
public void start() throws TranslatorException {
//TODO: all of the functions (except for convert) can be handled through just the
escape syntax
super.start();
@@ -222,7 +223,7 @@
@Override
public boolean supportsExplicitNullOrdering() {
- return version.compareTo(EIGHT_4) >= 0;
+ return getDatabaseVersion().compareTo(EIGHT_4) >= 0;
}
@Override
@@ -308,7 +309,7 @@
// supportedFunctions.add("PARSETIMESTAMP"); //$NON-NLS-1$
supportedFunctions.add("QUARTER"); //$NON-NLS-1$
supportedFunctions.add("SECOND"); //$NON-NLS-1$
- if (this.version.compareTo(EIGHT_2) >= 0) {
+ if (this.getDatabaseVersion().compareTo(EIGHT_2) >= 0) {
supportedFunctions.add("TIMESTAMPADD"); //$NON-NLS-1$
supportedFunctions.add("TIMESTAMPDIFF"); //$NON-NLS-1$
}
@@ -456,12 +457,4 @@
return true;
}
- @TranslatorProperty(description= "PostgreSQL Database Version")
- public String getDatabaseVersion() {
- return this.version;
- }
-
- public void setDatabaseVersion(String version) {
- this.version = version;
- }
}
Modified:
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/TestLocateFunctionModifier.java
===================================================================
---
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/TestLocateFunctionModifier.java 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/TestLocateFunctionModifier.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -101,7 +101,7 @@
registerFunctionModifier(SourceSystemFunctions.LOCATE, new
LocateFunctionModifier(getLanguageFactory(), locateFunctionName, parameterOrder));
}
};
-
+ trans.setUseBindVariables(false);
trans.start();
SQLConversionVisitor sqlVisitor = trans.getSQLConversionVisitor();
Modified:
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/TestSQLConversionVisitor.java
===================================================================
---
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/TestSQLConversionVisitor.java 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/TestSQLConversionVisitor.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -56,6 +56,7 @@
@BeforeClass public static void oneTimeSetup() throws TranslatorException {
TRANSLATOR = new JDBCExecutionFactory();
TRANSLATOR.setTrimStrings(true);
+ TRANSLATOR.setUseBindVariables(false);
TRANSLATOR.start();
}
@@ -69,9 +70,7 @@
public void helpTestVisitor(String vdb, String input, String expectedOutput, boolean
usePreparedStatement) {
JDBCExecutionFactory trans = new JDBCExecutionFactory();
- if (usePreparedStatement) {
- trans.setUseBindVariables(true);
- }
+ trans.setUseBindVariables(usePreparedStatement);
try {
trans.start();
TranslationHelper.helpTestVisitor(vdb, input, expectedOutput, trans);
@@ -85,6 +84,7 @@
private String getStringWithContext(LanguageObject obj) throws TranslatorException {
JDBCExecutionFactory env = new JDBCExecutionFactory();
env.setUseCommentsInSourceQuery(true);
+ env.setUseBindVariables(false);
env.start();
SQLConversionVisitor visitor = env.getSQLConversionVisitor();
Modified:
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/db2/TestDB2SqlTranslator.java
===================================================================
---
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/db2/TestDB2SqlTranslator.java 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/db2/TestDB2SqlTranslator.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -45,7 +45,8 @@
@BeforeClass
public static void setUp() throws TranslatorException {
- TRANSLATOR = new DB2ExecutionFactory();
+ TRANSLATOR = new DB2ExecutionFactory();
+ TRANSLATOR.setUseBindVariables(false);
TRANSLATOR.start();
}
Modified:
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/modeshape/TestModeShapeSqlTranslator.java
===================================================================
---
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/modeshape/TestModeShapeSqlTranslator.java 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/modeshape/TestModeShapeSqlTranslator.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -40,88 +40,85 @@
@SuppressWarnings("nls")
public class TestModeShapeSqlTranslator {
- private static ModeShapeExecutionFactory TRANSLATOR;
-
- private static String MODESHAPE_VDB = (UnitTestUtil.getTestDataPath() != null ?
UnitTestUtil.getTestDataPath() : "src/test/resources") +
"/ModeShape.vdb";
-
- @BeforeClass
- public static void setUp() throws TranslatorException {
- TRANSLATOR = new ModeShapeExecutionFactory();
- TRANSLATOR.start();
-
- }
-
-
- public void helpTestVisitor(TranslationUtility util, String input, String
expectedOutput) throws TranslatorException {
- // Convert from sql to objects
- Command obj = util.parseCommand(input);
-
- TranslatedCommand tc = new
TranslatedCommand(Mockito.mock(ExecutionContext.class), TRANSLATOR);
- tc.translateCommand(obj);
-
- System.out.println("Input: "+ tc.getSql() + " Expected: " +
expectedOutput);
- assertEquals("Did not get correct sql", expectedOutput, tc.getSql());
//$NON-NLS-1$
- }
+ private static ModeShapeExecutionFactory TRANSLATOR;
- @Test
- public void testSimpleSelect() throws Exception {
- String input = "select Model from Car"; //$NON-NLS-1$
- String output = "SELECT [car:Model] FROM [car:Car]"; //$NON-NLS-1$
-
- // FakeTranslationFactory.getInstance().getExampleTranslationUtility(),
- helpTestVisitor(new TranslationUtility(MODESHAPE_VDB),
- input,
- output);
+ private static String MODESHAPE_VDB = (UnitTestUtil.getTestDataPath() != null ?
UnitTestUtil
+ .getTestDataPath()
+ : "src/test/resources")
+ + "/ModeShape.vdb";
- }
-
- @Test
- public void testWhereClause() throws Exception {
+ @BeforeClass
+ public static void setUp() throws TranslatorException {
+ TRANSLATOR = new ModeShapeExecutionFactory();
+ TRANSLATOR.start();
- String input = "select Model from Car WHERE Make = 'Honda'";
//$NON-NLS-1$
- String output = "SELECT [car:Model] FROM [car:Car] WHERE [car:Make] =
'Honda'"; //$NON-NLS-1$
+ }
- // FakeTranslationFactory.getInstance().getExampleTranslationUtility(),
- helpTestVisitor(new TranslationUtility(MODESHAPE_VDB), input, output);
+ public void helpTestVisitor(TranslationUtility util, String input,
+ String expectedOutput) throws TranslatorException {
+ // Convert from sql to objects
+ Command obj = util.parseCommand(input);
- }
+ TranslatedCommand tc = new TranslatedCommand(Mockito
+ .mock(ExecutionContext.class), TRANSLATOR);
+ tc.translateCommand(obj);
+ assertEquals("Did not get correct sql", expectedOutput, tc.getSql());
//$NON-NLS-1$
+ }
- @Test
- public void testOrderBy() throws Exception {
+ @Test
+ public void testSimpleSelect() throws Exception {
+ String input = "select Model from Car"; //$NON-NLS-1$
+ String output = "SELECT [car:Model] FROM [car:Car]"; //$NON-NLS-1$
- String input = "select Model from Car ORDER BY Make"; //$NON-NLS-1$
- String output = "SELECT [car:Model] FROM [car:Car] ORDER BY [car:Make]";
//$NON-NLS-1$
+ // FakeTranslationFactory.getInstance().getExampleTranslationUtility(),
+ helpTestVisitor(new TranslationUtility(MODESHAPE_VDB), input, output);
- // FakeTranslationFactory.getInstance().getExampleTranslationUtility(),
- helpTestVisitor(new TranslationUtility(MODESHAPE_VDB), input, output);
+ }
- }
+ @Test
+ public void testWhereClause() throws Exception {
- @Ignore
- @Test
- public void testUsingAlias() throws Exception {
+ String input = "select Model from Car WHERE Make = 'Honda'";
//$NON-NLS-1$
+ String output = "SELECT [car:Model] FROM [car:Car] WHERE [car:Make] =
'Honda'"; //$NON-NLS-1$
- String input = "select c.Model from Car As c"; //$NON-NLS-1$
- String output = "SELECT c.[car:Model] FROM [car:Car] As c"; //$NON-NLS-1$
+ // FakeTranslationFactory.getInstance().getExampleTranslationUtility(),
+ helpTestVisitor(new TranslationUtility(MODESHAPE_VDB), input, output);
- // FakeTranslationFactory.getInstance().getExampleTranslationUtility(),
- helpTestVisitor(new TranslationUtility(MODESHAPE_VDB), input, output);
+ }
- }
-
- @Ignore
- @Test
- public void testUsingNameFunction() throws Exception {
+ @Test
+ public void testOrderBy() throws Exception {
- String input = "select Model from Car as car WHERE PATH('car') LIKE
'%/Hybrid/%'"; //$NON-NLS-1$
- String output = "SELECT [car:Model] FROM [car:Car] WHERE PATH(car:Car) LIKE
'%/Hybrid/%'"; //$NON-NLS-1$
+ String input = "select Model from Car ORDER BY Make"; //$NON-NLS-1$
+ String output = "SELECT [car:Model] FROM [car:Car] ORDER BY [car:Make]";
//$NON-NLS-1$
- // FakeTranslationFactory.getInstance().getExampleTranslationUtility(),
- helpTestVisitor(new TranslationUtility(MODESHAPE_VDB), input, output);
-
+ // FakeTranslationFactory.getInstance().getExampleTranslationUtility(),
+ helpTestVisitor(new TranslationUtility(MODESHAPE_VDB), input, output);
- }
-
+ }
+ @Ignore
+ @Test
+ public void testUsingAlias() throws Exception {
+ String input = "select c.Model from Car As c"; //$NON-NLS-1$
+ String output = "SELECT c.[car:Model] FROM [car:Car] As c"; //$NON-NLS-1$
+
+ // FakeTranslationFactory.getInstance().getExampleTranslationUtility(),
+ helpTestVisitor(new TranslationUtility(MODESHAPE_VDB), input, output);
+
+ }
+
+ @Ignore
+ @Test
+ public void testUsingNameFunction() throws Exception {
+
+ String input = "select Model from Car as car WHERE PATH('car') LIKE
'%/Hybrid/%'"; //$NON-NLS-1$
+ String output = "SELECT [car:Model] FROM [car:Car] WHERE PATH(car:Car) LIKE
'%/Hybrid/%'"; //$NON-NLS-1$
+
+ // FakeTranslationFactory.getInstance().getExampleTranslationUtility(),
+ helpTestVisitor(new TranslationUtility(MODESHAPE_VDB), input, output);
+
+ }
+
}
Modified:
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/mysql/TestMySQLTranslator.java
===================================================================
---
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/mysql/TestMySQLTranslator.java 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/mysql/TestMySQLTranslator.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -35,7 +35,8 @@
private static MySQLExecutionFactory TRANSLATOR;
@BeforeClass public static void oneTimeSetup() throws TranslatorException {
- TRANSLATOR = new MySQLExecutionFactory();
+ TRANSLATOR = new MySQLExecutionFactory();
+ TRANSLATOR.setUseBindVariables(false);
TRANSLATOR.start();
}
Modified:
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestOracleTranslator.java
===================================================================
---
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestOracleTranslator.java 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestOracleTranslator.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -58,7 +58,8 @@
@Before
public void setup() throws Exception {
- TRANSLATOR = new OracleExecutionFactory();
+ TRANSLATOR = new OracleExecutionFactory();
+ TRANSLATOR.setUseBindVariables(false);
TRANSLATOR.start();
}
@@ -520,7 +521,7 @@
if (dbmsTimeZone != null) {
translator.setDatabaseTimeZone(dbmsTimeZone);
}
-
+ translator.setUseBindVariables(false);
translator.start();
// Convert back to SQL
TranslatedCommand tc = new TranslatedCommand(context, translator);
Modified:
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/postgresql/TestPostgreSQLTranslator.java
===================================================================
---
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/postgresql/TestPostgreSQLTranslator.java 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/postgresql/TestPostgreSQLTranslator.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -32,7 +32,8 @@
private static PostgreSQLExecutionFactory TRANSLATOR;
@BeforeClass public static void setupOnce() throws Exception {
- TRANSLATOR = new PostgreSQLExecutionFactory();
+ TRANSLATOR = new PostgreSQLExecutionFactory();
+ TRANSLATOR.setUseBindVariables(false);
TRANSLATOR.start();
}
Modified:
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sybase/TestSybaseSQLConversionVisitor.java
===================================================================
---
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sybase/TestSybaseSQLConversionVisitor.java 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/sybase/TestSybaseSQLConversionVisitor.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -22,18 +22,16 @@
package org.teiid.translator.jdbc.sybase;
-import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.*;
import org.junit.BeforeClass;
import org.junit.Test;
import org.mockito.Mockito;
import org.teiid.language.Command;
-import org.teiid.translator.TranslatorException;
import org.teiid.translator.ExecutionContext;
-import org.teiid.translator.jdbc.JDBCExecutionFactory;
+import org.teiid.translator.TranslatorException;
import org.teiid.translator.jdbc.TranslatedCommand;
import org.teiid.translator.jdbc.TranslationHelper;
-import org.teiid.translator.jdbc.sybase.SybaseExecutionFactory;
/**
*/
@@ -43,6 +41,7 @@
@BeforeClass
public static void setup() throws TranslatorException {
+ trans.setUseBindVariables(false);
trans.start();
}
Modified:
trunk/connectors/translator-ws/src/main/java/org/teiid/translator/ws/WSExecutionFactory.java
===================================================================
---
trunk/connectors/translator-ws/src/main/java/org/teiid/translator/ws/WSExecutionFactory.java 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/connectors/translator-ws/src/main/java/org/teiid/translator/ws/WSExecutionFactory.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -92,11 +92,12 @@
this.defaultBinding = defaultInvocationType;
}
- public String getXmlParamName() {
+ @TranslatorProperty(description="Used with the HTTP binding (typically with the GET
method) to indicate that the request document should be part of the query string.",
display="XML Param Name")
+ public String getXMLParamName() {
return xmlParamName;
}
- public void setXmlParamName(String xmlParamName) {
+ public void setXMLParamName(String xmlParamName) {
this.xmlParamName = xmlParamName;
}
@@ -119,6 +120,7 @@
public void getMetadata(MetadataFactory metadataFactory,
WSConnection conn) throws TranslatorException {
Procedure p = metadataFactory.addProcedure("invoke"); //$NON-NLS-1$
+ p.setAnnotation("Invokes a webservice that returns an XML result");
ProcedureParameter param = metadataFactory.addProcedureParameter("binding",
TypeFacility.RUNTIME_NAMES.STRING, Type.In, p); //$NON-NLS-1$
param.setAnnotation("The invocation binding (HTTP, SOAP11, SOAP12). May be set or
allowed to default to null to use the default binding.");
@@ -138,6 +140,10 @@
param.setNullType(NullType.Nullable);
metadataFactory.addProcedureParameter("result",
TypeFacility.RUNTIME_NAMES.XML, Type.ReturnValue, p); //$NON-NLS-1$
+
+ //invokeHttp
+
+
}
}
Modified:
trunk/connectors/translator-ws/src/main/java/org/teiid/translator/ws/WSProcedureExecution.java
===================================================================
---
trunk/connectors/translator-ws/src/main/java/org/teiid/translator/ws/WSProcedureExecution.java 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/connectors/translator-ws/src/main/java/org/teiid/translator/ws/WSProcedureExecution.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -132,7 +132,7 @@
}
dispatch.getRequestContext().put(MessageContext.HTTP_REQUEST_METHOD, action);
if (source != null && !"POST".equalsIgnoreCase(action)) {
//$NON-NLS-1$
- if (this.executionFactory.getXmlParamName() == null) {
+ if (this.executionFactory.getXMLParamName() == null) {
throw new
WebServiceException(WSExecutionFactory.UTIL.getString("http_usage_error"));
//$NON-NLS-1$
}
try {
@@ -140,7 +140,7 @@
StringWriter writer = new StringWriter();
//TODO: prevent this from being too large
t.transform(source, new StreamResult(writer));
- String param =
Util.httpURLEncode(this.executionFactory.getXmlParamName())+"="+Util.httpURLEncode(writer.toString());
//$NON-NLS-1$
+ String param =
Util.httpURLEncode(this.executionFactory.getXMLParamName())+"="+Util.httpURLEncode(writer.toString());
//$NON-NLS-1$
endpoint = WSConnection.Util.appendQueryString(endpoint, param);
} catch (TransformerException e) {
throw new WebServiceException(e);
Copied:
trunk/documentation/client-developers-guide/src/main/docbook/en-US/content/other_commands.xml
(from rev 2225,
trunk/documentation/reference/src/main/docbook/en-US/content/other_commands.xml)
===================================================================
---
trunk/documentation/client-developers-guide/src/main/docbook/en-US/content/other_commands.xml
(rev 0)
+++
trunk/documentation/client-developers-guide/src/main/docbook/en-US/content/other_commands.xml 2010-06-14
15:40:48 UTC (rev 2228)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter id="other_commands">
+ <title>Other Commands</title>
+ <sect1 id="set_command">
+ <title>SET Command</title>
+ <para>The SET command is used to set execution property values for the duration
of the session.</para>
+ <itemizedlist>
+ <para>SET Syntax:
+ </para>
+ <listitem>
+ <para>SET parameter value
+ </para>
+ </listitem>
+ </itemizedlist>
+ <itemizedlist>
+ <para>Syntax Rules:
+ </para>
+ <listitem>
+ <para>Both parameter and value must be simple literals - they cannot contain
spaces.</para>
+ </listitem>
+ <listitem>
+ <para>The value is also not treated as an expression and will not be evaluated
prior to being set as the parameter value.</para>
+ </listitem>
+ </itemizedlist>
+ <para>The SET command can be used to control planning and execution.
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>SET SHOWPLAN [ON|DEBUG|OFF] - ON returns the query plan along with the
results and DEBUG additionally prints the query planner debug information in the log and
returns it with the results. Both the plan and the log are available through JDBC API
extensions.</para>
+ </listitem>
+ <listitem>
+ <para>SET NOEXEC [ON|OFF] - ON prevents query execution, but parsing and
planning will still occur.</para>
+ </listitem>
+ </itemizedlist>
+ </sect1>
+</chapter>
\ No newline at end of file
Property changes on:
trunk/documentation/client-developers-guide/src/main/docbook/en-US/content/other_commands.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: trunk/documentation/developer-guide (from rev 2225,
trunk/documentation/connector-developer-guide)
Modified: trunk/documentation/developer-guide/pom.xml
===================================================================
--- trunk/documentation/connector-developer-guide/pom.xml 2010-06-11 18:31:39 UTC (rev
2225)
+++ trunk/documentation/developer-guide/pom.xml 2010-06-14 15:40:48 UTC (rev 2228)
@@ -6,10 +6,10 @@
<version>7.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
- <artifactId>connector-developer-guide</artifactId>
+ <artifactId>developer-guide</artifactId>
<packaging>jdocbook</packaging>
- <name>Connector Developer Guide</name>
- <description>The Teiid Connector Developer Guide</description>
+ <name>Developer's Guide</name>
+ <description>The Teiid Developer's Guide</description>
<build>
<plugins>
<plugin>
@@ -50,7 +50,7 @@
<format>
<formatName>pdf</formatName>
<stylesheetResource>classpath:/xslt/org/jboss/pdf.xsl</stylesheetResource>
- <finalName>connector_developer_guide.pdf</finalName>
+ <finalName>developer_guide.pdf</finalName>
</format>
<format>
<formatName>html_single</formatName>
Modified: trunk/documentation/pom.xml
===================================================================
--- trunk/documentation/pom.xml 2010-06-14 14:44:05 UTC (rev 2227)
+++ trunk/documentation/pom.xml 2010-06-14 15:40:48 UTC (rev 2228)
@@ -14,11 +14,10 @@
<modules>
<module>admin-guide</module>
<module>reference</module>
- <module>connector-developer-guide</module>
+ <module>developer-guide</module>
<module>quick-start-example</module>
- <module>salesforce-connector-guide</module>
</modules>
- <repositories>
+ <!--<repositories>
<repository>
<id>apiviz.release</id>
<name>APIviz releases</name>
@@ -30,7 +29,7 @@
<enabled>false</enabled>
</snapshots>
</repository>
- </repositories>
+ </repositories>-->
<pluginRepositories>
<pluginRepository>
<id>jboss</id>
Modified: trunk/documentation/reference/src/main/docbook/en-US/Reference.xml
===================================================================
--- trunk/documentation/reference/src/main/docbook/en-US/Reference.xml 2010-06-14 14:44:05
UTC (rev 2227)
+++ trunk/documentation/reference/src/main/docbook/en-US/Reference.xml 2010-06-14 15:40:48
UTC (rev 2228)
@@ -52,9 +52,9 @@
<xi:include href="content/datatypes.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="content/scalar_functions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="content/procedures.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="content/other_commands.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="content/transaction_support.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="content/system_schema.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="content/translators.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="content/federated_planning.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="content/architecture.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="content/grammar.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
Modified: trunk/documentation/reference/src/main/docbook/en-US/content/datatypes.xml
===================================================================
--- trunk/documentation/reference/src/main/docbook/en-US/content/datatypes.xml 2010-06-14
14:44:05 UTC (rev 2227)
+++ trunk/documentation/reference/src/main/docbook/en-US/content/datatypes.xml 2010-06-14
15:40:48 UTC (rev 2228)
@@ -151,7 +151,7 @@
java.sql.Blob
<footnote>
<para>The concrete type is expected to be
- com.metamatrix.common.types.BlobType</para>
+ org.teiid.core.types.BlobType</para>
</footnote>
</entry>
<entry>BLOB</entry>
@@ -165,7 +165,7 @@
java.sql.Clob
<footnote>
<para>The concrete type is expected to be
- com.metamatrix.common.types.ClobType</para>
+ org.teiid.core.types.ClobType</para>
</footnote>
</entry>
<entry>CLOB</entry>
@@ -178,7 +178,7 @@
java.sql.SQLXML
<footnote>
<para>The concrete type is expected to be
- com.metamatrix.common.types.XMLType</para>
+ org.teiid.core.types.XMLType</para>
</footnote>
</entry>
<entry>JAVA_OBJECT</entry>
Modified:
trunk/documentation/reference/src/main/docbook/en-US/content/federated_planning.xml
===================================================================
---
trunk/documentation/reference/src/main/docbook/en-US/content/federated_planning.xml 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/documentation/reference/src/main/docbook/en-US/content/federated_planning.xml 2010-06-14
15:40:48 UTC (rev 2228)
@@ -376,13 +376,8 @@
The SQL options available are as follows:</para>
<itemizedlist>
<listitem>
- <para>OPTION SHOWPLAN - Returns the plan in addition to
- any results</para>
+ <para>SHOWPLAN [ON|DEBUG]- Returns the plan or the plan and the full
planner debug log.</para>
</listitem>
- <listitem>
- <para>OPTION PLANONLY - Returns the plan, does not
- execute the command though</para>
- </listitem>
</itemizedlist>
<para>
With the above options, the query plan is available from the
@@ -983,7 +978,7 @@
should be used to determine the strategy cost. </para>
</listitem>
<listitem>
- <para>- RuleCollapseSource - this rule removes all nodes below an
+ <para>RuleCollapseSource - this rule removes all nodes below an
Access node and collapses them into an equivalent query that is
placed in the Access node.</para>
</listitem>
Modified: trunk/documentation/reference/src/main/docbook/en-US/content/grammar.xml
===================================================================
--- trunk/documentation/reference/src/main/docbook/en-US/content/grammar.xml 2010-06-14
14:44:05 UTC (rev 2227)
+++ trunk/documentation/reference/src/main/docbook/en-US/content/grammar.xml 2010-06-14
15:40:48 UTC (rev 2228)
@@ -68,13 +68,6 @@
<DEFAULT> TOKEN : {
<CAST: "cast">
| <CONVERT: "convert">
-| <TIMESTAMPADD: "timestampadd">
-| <TIMESTAMPDIFF: "timestampdiff">
-| <COUNT: "count">
-| <SUM: "sum">
-| <AVG: "avg">
-| <MIN: "min">
-| <MAX: "max">
}
</para></entry></row>
@@ -141,7 +134,6 @@
| <FALSE: "false">
| <FETCH: "fetch">
| <FILTER: "filter">
-| <FN: "fn">
| <FOR: "for">
| <FORIEGN: "foriegn">
| <FROM: "from">
@@ -199,7 +191,6 @@
| <OLD: "old">
| <ON: "on">
| <ONLY: "only">
-| <OJ: "oj">
| <OPEN: "open">
| <OPTION: "option">
| <OR: "or">
@@ -274,6 +265,33 @@
| <WITHIN: "within">
| <WITHOUT: "without">
| <YEAR: "year">
+| <ALLOCATE: "allocate">
+| <ARE: "are">
+| <ASENSITIVE: "asensitive">
+| <ASYMETRIC: "asymetric">
+| <CYCLE: "cycle">
+| <DEC: "dec">
+| <DEREF: "deref">
+| <DYNAMIC: "dynamic">
+| <ELEMENT: "element">
+| <FREE: "free">
+| <INT: "int">
+| <LATERAL: "lateral">
+| <LOCALTIME: "localtime">
+| <LOCALTIMESTAMP: "localtimestamp">
+| <MEMBER: "member">
+| <MULTISET: "multiset">
+| <NATIONAL: "national">
+| <NCHAR: "nchar">
+| <NCLOB: "nclob">
+| <NUMERIC: "numeric">
+| <RELEASE: "release">
+| <SPECIFICTYPE: "specifictype">
+| <SYMETRIC: "symetric">
+| <SUBMULTILIST: "submultilist">
+| <TRANSLATION: "translation">
+| <TREAT: "treat">
+| <VARYING: "varying">
}
</para></entry></row>
@@ -282,15 +300,22 @@
<XMLAGG: "xmlagg">
| <XMLATTRIBUTES: "xmlattributes">
| <XMLBINARY: "xmlbinary">
+| <XMLCAST: "xmlcast">
| <XMLCONCAT: "xmlconcat">
| <XMLCOMMENT: "xmlcomment">
+| <XMLDOCUMENT: "xmldocument">
| <XMLELEMENT: "xmlelement">
+| <XMLEXISTS: "xmlexists">
| <XMLFOREST: "xmlforest">
+| <XMLITERATE: "xmliterate">
| <XMLNAMESPACES: "xmlnamespaces">
| <XMLPARSE: "xmlparse">
| <XMLPI: "xmlpi">
-| <XMLROOT: "xmlroot">
+| <XMLQUERY: "xmlquery">
| <XMLSERIALIZE: "xmlserialize">
+| <XMLTABLE: "xmltable">
+| <XMLTEXT: "xmltext">
+| <XMLVALIDATE: "xmlvalidate">
}
</para></entry></row>
@@ -314,20 +339,6 @@
</para></entry></row>
<row><entry><para>
<DEFAULT> TOKEN : {
-<SQL_TSI_FRAC_SECOND: "SQL_TSI_FRAC_SECOND">
-| <SQL_TSI_SECOND: "SQL_TSI_SECOND">
-| <SQL_TSI_MINUTE: "SQL_TSI_MINUTE">
-| <SQL_TSI_HOUR: "SQL_TSI_HOUR">
-| <SQL_TSI_DAY: "SQL_TSI_DAY">
-| <SQL_TSI_WEEK: "SQL_TSI_WEEK">
-| <SQL_TSI_MONTH: "SQL_TSI_MONTH">
-| <SQL_TSI_QUARTER: "SQL_TSI_QUARTER">
-| <SQL_TSI_YEAR: "SQL_TSI_YEAR">
-}
-
-</para></entry></row>
-<row><entry><para>
-<DEFAULT> TOKEN : {
<ALL_IN_GROUP: <ID> <PERIOD>
<STAR>>
| <ID: <QUOTED_ID> (<PERIOD>
<QUOTED_ID>)*>
| <#QUOTED_ID: <ID_PART> | "\""
("\"\"" | ~["\""])+ "\"">
@@ -336,6 +347,7 @@
| <TIMETYPE: "{" "t">
| <TIMESTAMPTYPE: "{" "ts">
| <BOOLEANTYPE: "{" "b">
+| <XMLTYPE: "{" "x">
| <INTEGERVAL: (<MINUS>)? (<DIGIT>)+>
| <FLOATVAL: (<MINUS>)? (<DIGIT>)*
<PERIOD> (<DIGIT>)+ (["e","E"]
(["+","-"])? (<DIGIT>)+)?>
| <STRINGVAL: ("N")? "\'" ("\'\'" |
~["\'"])* "\'">
@@ -392,7 +404,7 @@
<row>
<entry align="right" valign="top"><para><anchor
id="prod3" xreflabel="command"/>command</para></entry>
<entry align="left" valign="top"><para>::=
-( ( <link linkend="prod4">createUpdateProcedure</link> ) | <link
linkend="prod5">userCommand</link> | <link
linkend="prod6">callableStatement</link> ) ( <SEMICOLON>
)? <EOF></para></entry></row>
+( <link linkend="prod4">createUpdateProcedure</link> | <link
linkend="prod5">userCommand</link> | <link
linkend="prod6">callableStatement</link> ) ( <SEMICOLON>
)? <EOF></para></entry></row>
<row>
<entry align="right" valign="top"><para><anchor
id="prod5"
xreflabel="userCommand"/>userCommand</para></entry>
<entry align="left" valign="top"><para>::=
@@ -552,50 +564,90 @@
<row>
<entry align="right" valign="top"><para><anchor
id="prod53"
xreflabel="selectExpression"/>selectExpression</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod16">expression</link> ( ( <AS>
)? ( <link linkend="prod2">id</link> ) )?
)</para></entry></row>
+( <link linkend="prod16">expression</link> ( ( <AS>
)? <link linkend="prod2">id</link> )?
)</para></entry></row>
<row>
+<entry align="right" valign="top"><para><anchor
id="prod55"
xreflabel="derivedColumn"/>derivedColumn</para></entry>
+<entry align="left" valign="top"><para>::=
+( <link linkend="prod16">expression</link> ( <AS>
<link linkend="prod2">id</link> )?
)</para></entry></row>
+<row>
<entry align="right" valign="top"><para><anchor
id="prod54"
xreflabel="allInGroupSymbol"/>allInGroupSymbol</para></entry>
<entry align="left" valign="top"><para>::=
-( <ALL_IN_GROUP> )</para></entry></row>
+<ALL_IN_GROUP></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod55"
xreflabel="aggregateSymbol"/>aggregateSymbol</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod56" xreflabel="xmlAgg"/>xmlAgg</para></entry>
<entry align="left" valign="top"><para>::=
-( ( <COUNT> <LPAREN> <STAR>
<RPAREN> ) | ( ( <COUNT> | <SUM> |
<AVG> | <MIN> | <MAX> ) <LPAREN> (
<DISTINCT> )? <link linkend="prod16">expression</link>
<RPAREN> ) )</para></entry></row>
+<XMLAGG> <LPAREN> <link
linkend="prod16">expression</link> ( <link
linkend="prod43">orderby</link> )?
<RPAREN></para></entry></row>
<row>
+<entry align="right" valign="top"><para><anchor
id="prod57"
xreflabel="aggregateSymbol"/>aggregateSymbol</para></entry>
+<entry align="left" valign="top"><para>::=
+( ( <link linkend="prod58">nonReserved</link>
<LPAREN> <STAR> <RPAREN> ) | ( <link
linkend="prod58">nonReserved</link> <LPAREN> (
<DISTINCT> )? <link linkend="prod16">expression</link>
<RPAREN> ) )</para></entry></row>
+<row>
<entry align="right" valign="top"><para><anchor
id="prod49" xreflabel="from"/>from</para></entry>
<entry align="left" valign="top"><para>::=
-<FROM> ( <link linkend="prod56">tableReference</link>
( <COMMA> <link linkend="prod56">tableReference</link>
)* )</para></entry></row>
+<FROM> ( <link linkend="prod59">tableReference</link>
( <COMMA> <link linkend="prod59">tableReference</link>
)* )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod56"
xreflabel="tableReference"/>tableReference</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod59"
xreflabel="tableReference"/>tableReference</para></entry>
<entry align="left" valign="top"><para>::=
-( ( <LBRACE> <OJ> <link
linkend="prod57">tableReferenceUnescaped</link> <RBRACE>
) | <link linkend="prod57">tableReferenceUnescaped</link>
)</para></entry></row>
+( ( <LBRACE> <link
linkend="prod58">nonReserved</link> <link
linkend="prod60">tableReferenceUnescaped</link> <RBRACE>
) | <link linkend="prod60">tableReferenceUnescaped</link>
)</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod57"
xreflabel="tableReferenceUnescaped"/>tableReferenceUnescaped</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod60"
xreflabel="tableReferenceUnescaped"/>tableReferenceUnescaped</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod58">joinedTable</link> | <link
linkend="prod59">tablePrimary</link>
)</para></entry></row>
+( <link linkend="prod61">joinedTable</link> | <link
linkend="prod62">tablePrimary</link>
)</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod58"
xreflabel="joinedTable"/>joinedTable</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod61"
xreflabel="joinedTable"/>joinedTable</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod59">tablePrimary</link> ( ( <link
linkend="prod60">crossJoin</link> | <link
linkend="prod61">qualifiedJoin</link> )
)+</para></entry></row>
+<link linkend="prod62">tablePrimary</link> ( ( <link
linkend="prod63">crossJoin</link> | <link
linkend="prod64">qualifiedJoin</link> )
)+</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod60"
xreflabel="crossJoin"/>crossJoin</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod63"
xreflabel="crossJoin"/>crossJoin</para></entry>
<entry align="left" valign="top"><para>::=
-( ( <CROSS> | <UNION> ) <JOIN> <link
linkend="prod59">tablePrimary</link>
)</para></entry></row>
+( ( <CROSS> | <UNION> ) <JOIN> <link
linkend="prod62">tablePrimary</link>
)</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod61"
xreflabel="qualifiedJoin"/>qualifiedJoin</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod64"
xreflabel="qualifiedJoin"/>qualifiedJoin</para></entry>
<entry align="left" valign="top"><para>::=
-( ( ( <RIGHT> ( <OUTER> )? ) | ( <LEFT> (
<OUTER> )? ) | ( <FULL> ( <OUTER> )? ) |
<INNER> )? <JOIN> <link
linkend="prod56">tableReference</link> <ON> <link
linkend="prod28">criteria</link>
)</para></entry></row>
+( ( ( <RIGHT> ( <OUTER> )? ) | ( <LEFT> (
<OUTER> )? ) | ( <FULL> ( <OUTER> )? ) |
<INNER> )? <JOIN> <link
linkend="prod59">tableReference</link> <ON> <link
linkend="prod28">criteria</link>
)</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod59"
xreflabel="tablePrimary"/>tablePrimary</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod62"
xreflabel="tablePrimary"/>tablePrimary</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod62">unaryFromClause</link> | <link
linkend="prod63">subqueryFromClause</link> | ( <LPAREN>
<link linkend="prod58">joinedTable</link> <RPAREN> ) )
( ( <MAKEDEP> ) | ( <MAKENOTDEP> )
)?</para></entry></row>
+( <link linkend="prod65">textTable</link> | <link
linkend="prod66">xmlTable</link> | <link
linkend="prod67">unaryFromClause</link> | <link
linkend="prod68">subqueryFromClause</link> | ( <LPAREN>
<link linkend="prod61">joinedTable</link> <RPAREN> ) )
( ( <MAKEDEP> ) | ( <MAKENOTDEP> )
)?</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod63"
xreflabel="subqueryFromClause"/>subqueryFromClause</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod69"
xreflabel="xmlSerialize"/>xmlSerialize</para></entry>
<entry align="left" valign="top"><para>::=
-<LPAREN> ( <link
linkend="prod7">queryExpression</link> | <link
linkend="prod8">storedProcedure</link> ) <RPAREN> (
<AS> )? <link
linkend="prod2">id</link></para></entry></row>
+<XMLSERIALIZE> <LPAREN> <link
linkend="prod58">nonReserved</link> <link
linkend="prod16">expression</link> ( <AS> (
<STRING> | <VARCHAR> | <CLOB> ) )?
<RPAREN></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod62"
xreflabel="unaryFromClause"/>unaryFromClause</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod58"
xreflabel="nonReserved"/>nonReserved</para></entry>
<entry align="left" valign="top"><para>::=
+<ID></para></entry></row>
+<row>
+<entry align="right" valign="top"><para><anchor
id="prod65"
xreflabel="textTable"/>textTable</para></entry>
+<entry align="left" valign="top"><para>::=
+<ID> <LPAREN> <link
linkend="prod16">expression</link> <link
linkend="prod58">nonReserved</link> <link
linkend="prod70">textColumn</link> ( <COMMA> <link
linkend="prod70">textColumn</link> )* ( <ID> <link
linkend="prod71">charVal</link> )? ( ( <ESCAPE> <link
linkend="prod71">charVal</link> ) | ( <ID> <link
linkend="prod71">charVal</link> ) )? ( <ID> ( <link
linkend="prod72">intVal</link> )? )? ( <ID> <link
linkend="prod72">intVal</link> )? <RPAREN> (
<AS> )? <link
linkend="prod2">id</link></para></entry></row>
+<row>
+<entry align="right" valign="top"><para><anchor
id="prod70"
xreflabel="textColumn"/>textColumn</para></entry>
+<entry align="left" valign="top"><para>::=
+<link linkend="prod2">id</link> <link
linkend="prod31">dataType</link> ( <ID> <link
linkend="prod72">intVal</link>
)?</para></entry></row>
+<row>
+<entry align="right" valign="top"><para><anchor
id="prod73"
xreflabel="xmlQuery"/>xmlQuery</para></entry>
+<entry align="left" valign="top"><para>::=
+<XMLQUERY> <LPAREN> ( <link
linkend="prod74">xmlNamespaces</link> <COMMA> )? <link
linkend="prod1">stringVal</link> ( <ID> <link
linkend="prod55">derivedColumn</link> ( <COMMA> <link
linkend="prod55">derivedColumn</link> )* )? ( ( <NULL> |
<link linkend="prod58">nonReserved</link> ) <ON>
<link linkend="prod58">nonReserved</link> )?
<RPAREN></para></entry></row>
+<row>
+<entry align="right" valign="top"><para><anchor
id="prod66"
xreflabel="xmlTable"/>xmlTable</para></entry>
+<entry align="left" valign="top"><para>::=
+<XMLTABLE> <LPAREN> ( <link
linkend="prod74">xmlNamespaces</link> <COMMA> )? <link
linkend="prod1">stringVal</link> ( <ID> <link
linkend="prod55">derivedColumn</link> ( <COMMA> <link
linkend="prod55">derivedColumn</link> )* )? ( <ID>
<link linkend="prod75">xmlColumn</link> ( <COMMA>
<link linkend="prod75">xmlColumn</link> )* )? <RPAREN>
( <AS> )? <link
linkend="prod2">id</link></para></entry></row>
+<row>
+<entry align="right" valign="top"><para><anchor
id="prod75"
xreflabel="xmlColumn"/>xmlColumn</para></entry>
+<entry align="left" valign="top"><para>::=
+<link linkend="prod2">id</link> ( ( <FOR> <link
linkend="prod58">nonReserved</link> ) | ( <link
linkend="prod31">dataType</link> ( <DEFAULT_KEYWORD>
<link linkend="prod16">expression</link> )? ( <link
linkend="prod58">nonReserved</link> <link
linkend="prod1">stringVal</link> )? )
)</para></entry></row>
+<row>
+<entry align="right" valign="top"><para><anchor
id="prod72" xreflabel="intVal"/>intVal</para></entry>
+<entry align="left" valign="top"><para>::=
+<INTEGERVAL></para></entry></row>
+<row>
+<entry align="right" valign="top"><para><anchor
id="prod68"
xreflabel="subqueryFromClause"/>subqueryFromClause</para></entry>
+<entry align="left" valign="top"><para>::=
+( <TABLE> )? <LPAREN> ( <link
linkend="prod7">queryExpression</link> | <link
linkend="prod8">storedProcedure</link> ) <RPAREN> (
<AS> )? <link
linkend="prod2">id</link></para></entry></row>
+<row>
+<entry align="right" valign="top"><para><anchor
id="prod67"
xreflabel="unaryFromClause"/>unaryFromClause</para></entry>
+<entry align="left" valign="top"><para>::=
( <ID> ( ( <AS> )? <link
linkend="prod2">id</link> )? )</para></entry></row>
<row>
<entry align="right" valign="top"><para><anchor
id="prod40" xreflabel="where"/>where</para></entry>
@@ -604,69 +656,69 @@
<row>
<entry align="right" valign="top"><para><anchor
id="prod28"
xreflabel="criteria"/>criteria</para></entry>
<entry align="left" valign="top"><para>::=
-<link
linkend="prod64">compoundCritOr</link></para></entry></row>
+<link
linkend="prod76">compoundCritOr</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod64"
xreflabel="compoundCritOr"/>compoundCritOr</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod76"
xreflabel="compoundCritOr"/>compoundCritOr</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod65">compoundCritAnd</link> ( <OR>
<link linkend="prod65">compoundCritAnd</link>
)*</para></entry></row>
+<link linkend="prod77">compoundCritAnd</link> ( <OR>
<link linkend="prod77">compoundCritAnd</link>
)*</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod65"
xreflabel="compoundCritAnd"/>compoundCritAnd</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod77"
xreflabel="compoundCritAnd"/>compoundCritAnd</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod66">notCrit</link> ( <AND>
<link linkend="prod66">notCrit</link>
)*</para></entry></row>
+<link linkend="prod78">notCrit</link> ( <AND>
<link linkend="prod78">notCrit</link>
)*</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod66"
xreflabel="notCrit"/>notCrit</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod78"
xreflabel="notCrit"/>notCrit</para></entry>
<entry align="left" valign="top"><para>::=
-( <NOT> )? <link
linkend="prod67">primary</link></para></entry></row>
+( <NOT> )? <link
linkend="prod79">primary</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod67"
xreflabel="primary"/>primary</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod79"
xreflabel="primary"/>primary</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod68">predicate</link> | (
<LPAREN> <link linkend="prod28">criteria</link>
<RPAREN> ) )</para></entry></row>
+( <link linkend="prod80">predicate</link> | (
<LPAREN> <link linkend="prod28">criteria</link>
<RPAREN> ) )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod68"
xreflabel="predicate"/>predicate</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod80"
xreflabel="predicate"/>predicate</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod69">subqueryCompareCriteria</link> | <link
linkend="prod70">compareCrit</link> | <link
linkend="prod71">matchCrit</link> | <link
linkend="prod72">betweenCrit</link> | <link
linkend="prod73">setCrit</link> | <link
linkend="prod74">existsCriteria</link> | <link
linkend="prod30">hasCriteria</link> | <link
linkend="prod34">translateCriteria</link> | <link
linkend="prod75">isNullCrit</link>
)</para></entry></row>
+( <link linkend="prod81">subqueryCompareCriteria</link> | <link
linkend="prod82">compareCrit</link> | <link
linkend="prod83">matchCrit</link> | <link
linkend="prod84">betweenCrit</link> | <link
linkend="prod85">setCrit</link> | <link
linkend="prod86">existsCriteria</link> | <link
linkend="prod30">hasCriteria</link> | <link
linkend="prod34">translateCriteria</link> | <link
linkend="prod87">isNullCrit</link>
)</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod70"
xreflabel="compareCrit"/>compareCrit</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod82"
xreflabel="compareCrit"/>compareCrit</para></entry>
<entry align="left" valign="top"><para>::=
<link linkend="prod16">expression</link> ( <EQ> |
<NE> | <NE2> | <LT> | <LE> |
<GT> | <GE> ) <link
linkend="prod16">expression</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod76"
xreflabel="subquery"/>subquery</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod88"
xreflabel="subquery"/>subquery</para></entry>
<entry align="left" valign="top"><para>::=
<LPAREN> ( <link
linkend="prod7">queryExpression</link> | <link
linkend="prod8">storedProcedure</link> )
<RPAREN></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod69"
xreflabel="subqueryCompareCriteria"/>subqueryCompareCriteria</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod81"
xreflabel="subqueryCompareCriteria"/>subqueryCompareCriteria</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod16">expression</link> ( <EQ> |
<NE> | <NE2> | <LT> | <LE> |
<GT> | <GE> ) ( <ANY> | <SOME> |
<ALL> ) <link
linkend="prod76">subquery</link></para></entry></row>
+<link linkend="prod16">expression</link> ( <EQ> |
<NE> | <NE2> | <LT> | <LE> |
<GT> | <GE> ) ( <ANY> | <SOME> |
<ALL> ) <link
linkend="prod88">subquery</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod71"
xreflabel="matchCrit"/>matchCrit</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod83"
xreflabel="matchCrit"/>matchCrit</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod16">expression</link> ( <NOT> )?
<LIKE> <link linkend="prod16">expression</link> (
<link linkend="prod77">escapeChar</link> | ( <LBRACE>
<link linkend="prod77">escapeChar</link> <RBRACE> ) )?
)</para></entry></row>
+( <link linkend="prod16">expression</link> ( <NOT> )?
<LIKE> <link linkend="prod16">expression</link> (
<ESCAPE> <link linkend="prod71">charVal</link> | (
<LBRACE> <ESCAPE> <link
linkend="prod71">charVal</link> <RBRACE> ) )?
)</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod77"
xreflabel="escapeChar"/>escapeChar</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod71"
xreflabel="charVal"/>charVal</para></entry>
<entry align="left" valign="top"><para>::=
-<ESCAPE> <link
linkend="prod1">stringVal</link></para></entry></row>
+<link
linkend="prod1">stringVal</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod72"
xreflabel="betweenCrit"/>betweenCrit</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod84"
xreflabel="betweenCrit"/>betweenCrit</para></entry>
<entry align="left" valign="top"><para>::=
<link linkend="prod16">expression</link> ( <NOT> )?
<BETWEEN> <link linkend="prod16">expression</link>
<AND> <link
linkend="prod16">expression</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod75"
xreflabel="isNullCrit"/>isNullCrit</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod87"
xreflabel="isNullCrit"/>isNullCrit</para></entry>
<entry align="left" valign="top"><para>::=
<link linkend="prod16">expression</link> <IS> (
<NOT> )? <NULL></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod73"
xreflabel="setCrit"/>setCrit</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod85"
xreflabel="setCrit"/>setCrit</para></entry>
<entry align="left" valign="top"><para>::=
-<link linkend="prod16">expression</link> ( <NOT> )?
<IN> ( ( <link linkend="prod76">subquery</link> ) | (
<LPAREN> <link linkend="prod16">expression</link> (
<COMMA> <link linkend="prod16">expression</link> )*
<RPAREN> ) )</para></entry></row>
+<link linkend="prod16">expression</link> ( <NOT> )?
<IN> ( ( <link linkend="prod88">subquery</link> ) | (
<LPAREN> <link linkend="prod16">expression</link> (
<COMMA> <link linkend="prod16">expression</link> )*
<RPAREN> ) )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod74"
xreflabel="existsCriteria"/>existsCriteria</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod86"
xreflabel="existsCriteria"/>existsCriteria</para></entry>
<entry align="left" valign="top"><para>::=
-<EXISTS> <link
linkend="prod76">subquery</link></para></entry></row>
+<EXISTS> <link
linkend="prod88">subquery</link></para></entry></row>
<row>
<entry align="right" valign="top"><para><anchor
id="prod50"
xreflabel="groupBy"/>groupBy</para></entry>
<entry align="left" valign="top"><para>::=
-<GROUP> <BY> ( <link
linkend="prod78">groupByItem</link> ( <COMMA> <link
linkend="prod78">groupByItem</link> )*
)</para></entry></row>
+<GROUP> <BY> ( <link
linkend="prod89">groupByItem</link> ( <COMMA> <link
linkend="prod89">groupByItem</link> )*
)</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod78"
xreflabel="groupByItem"/>groupByItem</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod89"
xreflabel="groupByItem"/>groupByItem</para></entry>
<entry align="left" valign="top"><para>::=
<link
linkend="prod16">expression</link></para></entry></row>
<row>
@@ -676,9 +728,9 @@
<row>
<entry align="right" valign="top"><para><anchor
id="prod43"
xreflabel="orderby"/>orderby</para></entry>
<entry align="left" valign="top"><para>::=
-<ORDER> <BY> <link
linkend="prod79">sortKey</link> ( <ASC> |
<DESC> )? ( <COMMA> <link
linkend="prod79">sortKey</link> ( <ASC> |
<DESC> )? )*</para></entry></row>
+<ORDER> <BY> <link
linkend="prod90">sortKey</link> ( <ASC> |
<DESC> )? ( <COMMA> <link
linkend="prod90">sortKey</link> ( <ASC> |
<DESC> )? )*</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod79"
xreflabel="sortKey"/>sortKey</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod90"
xreflabel="sortKey"/>sortKey</para></entry>
<entry align="left" valign="top"><para>::=
<link
linkend="prod16">expression</link></para></entry></row>
<row>
@@ -692,63 +744,95 @@
<row>
<entry align="right" valign="top"><para><anchor
id="prod16"
xreflabel="expression"/>expression</para></entry>
<entry align="left" valign="top"><para>::=
-<link
linkend="prod80">concatExpression</link></para></entry></row>
+<link
linkend="prod91">concatExpression</link></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod80"
xreflabel="concatExpression"/>concatExpression</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod91"
xreflabel="concatExpression"/>concatExpression</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod81">plusExpression</link> (
<CONCAT_OP> <link
linkend="prod81">plusExpression</link> )*
)</para></entry></row>
+( <link linkend="prod92">plusExpression</link> (
<CONCAT_OP> <link
linkend="prod92">plusExpression</link> )*
)</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod81"
xreflabel="plusExpression"/>plusExpression</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod92"
xreflabel="plusExpression"/>plusExpression</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod82">timesExpression</link> ( <link
linkend="prod83">plusOperator</link> <link
linkend="prod82">timesExpression</link> )*
)</para></entry></row>
+( <link linkend="prod93">timesExpression</link> ( <link
linkend="prod94">plusOperator</link> <link
linkend="prod93">timesExpression</link> )*
)</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod83"
xreflabel="plusOperator"/>plusOperator</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod94"
xreflabel="plusOperator"/>plusOperator</para></entry>
<entry align="left" valign="top"><para>::=
( <PLUS> | <MINUS> )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod82"
xreflabel="timesExpression"/>timesExpression</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod93"
xreflabel="timesExpression"/>timesExpression</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod84">basicExpression</link> ( <link
linkend="prod85">timesOperator</link> <link
linkend="prod84">basicExpression</link> )*
)</para></entry></row>
+( <link linkend="prod95">basicExpression</link> ( <link
linkend="prod96">timesOperator</link> <link
linkend="prod95">basicExpression</link> )*
)</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod85"
xreflabel="timesOperator"/>timesOperator</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod96"
xreflabel="timesOperator"/>timesOperator</para></entry>
<entry align="left" valign="top"><para>::=
( <STAR> | <SLASH> )</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod84"
xreflabel="basicExpression"/>basicExpression</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod95"
xreflabel="basicExpression"/>basicExpression</para></entry>
<entry align="left" valign="top"><para>::=
-( <QMARK> | <link linkend="prod86">literal</link> | (
<LBRACE> <FN> <link
linkend="prod87">function</link> <RBRACE> ) | ( <link
linkend="prod55">aggregateSymbol</link> ) | ( <link
linkend="prod87">function</link> ) | ( <ID> ) | (
<LPAREN> <link linkend="prod16">expression</link>
<RPAREN> ) | <link linkend="prod76">subquery</link> |
<link linkend="prod88">caseExpression</link> | <link
linkend="prod89">searchedCaseExpression</link>
)</para></entry></row>
+( <QMARK> | <link linkend="prod97">literal</link> | (
<LBRACE> <link linkend="prod58">nonReserved</link>
<link linkend="prod98">function</link> <RBRACE> ) | (
<link linkend="prod57">aggregateSymbol</link> ) | ( <link
linkend="prod56">xmlAgg</link> ) | ( <link
linkend="prod98">function</link> ) | ( <ID> ) | (
<LPAREN> <link linkend="prod16">expression</link>
<RPAREN> ) | <link linkend="prod88">subquery</link> |
<link linkend="prod99">caseExpression</link> | <link
linkend="prod100">searchedCaseExpression</link>
)</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod88"
xreflabel="caseExpression"/>caseExpression</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod99"
xreflabel="caseExpression"/>caseExpression</para></entry>
<entry align="left" valign="top"><para>::=
<CASE> <link linkend="prod16">expression</link> (
<WHEN> <link linkend="prod16">expression</link>
<THEN> <link linkend="prod16">expression</link> )+ (
<ELSE> <link linkend="prod16">expression</link> )?
<END></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod89"
xreflabel="searchedCaseExpression"/>searchedCaseExpression</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod100"
xreflabel="searchedCaseExpression"/>searchedCaseExpression</para></entry>
<entry align="left" valign="top"><para>::=
<CASE> ( <WHEN> <link
linkend="prod28">criteria</link> <THEN> <link
linkend="prod16">expression</link> )+ ( <ELSE> <link
linkend="prod16">expression</link> )?
<END></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod87"
xreflabel="function"/>function</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod98"
xreflabel="function"/>function</para></entry>
<entry align="left" valign="top"><para>::=
-( ( <CONVERT> <LPAREN> <link
linkend="prod16">expression</link> <COMMA> <link
linkend="prod31">dataType</link> <RPAREN> ) | (
<CAST> <LPAREN> <link
linkend="prod16">expression</link> <AS> <link
linkend="prod31">dataType</link> <RPAREN> ) | ( (
<TIMESTAMPADD> | <TIMESTAMPDIFF> ) <LPAREN>
<link linkend="prod90">intervalType</link> <COMMA>
<link linkend="prod16">expression</link> <COMMA>
<link linkend="prod16">expression</link> <RPAREN> ) |
( ( <LEFT> | <RIGHT> | <CHAR> |
<USER> | <YEAR> | <MONTH> | <HOUR>
| <MINUTE> | <SECOND> | <XMLCONCAT> )
<LPAREN> ( <link linkend="prod16">expression</link> (
<COMMA> <link linkend="prod16">expression</link> )* )?
<RPAREN> ) | ( ( <INSERT> ) <LPAREN> ( <link
linkend="prod16">expression</link> ( <COMMA> <link
linkend="prod16">expression</link> )* )? <RPAREN> !
) | ( ( <TRANSLATE> ) <LPAREN> ( <link
linkend="prod16">expression</link> ( <COMMA> <link
linkend="prod16">expression</link> )* )? <RPAREN> ) | (
<XMLELEMENT> <LPAREN> ( <ID> <link
linkend="prod91">idExpression</link> | <link
linkend="prod91">idExpression</link> ) ( <COMMA> <link
linkend="prod92">sqlXmlFunction</link> )? ( <COMMA>
<link linkend="prod16">expression</link> )* <RPAREN> )
| ( <link linkend="prod92">sqlXmlFunction</link> ) | ( <link
linkend="prod2">id</link> <LPAREN> ( <link
linkend="prod16">expression</link> ( <COMMA> <link
linkend="prod16">expression</link> )* )? <RPAREN> )
)</para></entry></row>
+( ( <CONVERT> <LPAREN> <link
linkend="prod16">expression</link> <COMMA> <link
linkend="prod31">dataType</link> <RPAREN> ) | (
<CAST> <LPAREN> <link
linkend="prod16">expression</link> <AS> <link
linkend="prod31">dataType</link> <RPAREN> ) | ( <link
linkend="prod58">nonReserved</link> <LPAREN> <link
linkend="prod101">intervalType</link> <COMMA> <link
linkend="prod16">expression</link> <COMMA> <link
linkend="prod16">expression</link> <RPAREN> ) | <link
linkend="prod102">queryString</link> | ( ( <LEFT> |
<RIGHT> | <CHAR> | <USER> | <YEAR>
| <MONTH> | <HOUR> | <MINUTE> |
<SECOND> | <XMLCONCAT> | <XMLCOMMENT> )
<LPAREN> ( <link linkend="prod16">expression</link> (
<COMMA> <link linkend="prod16">expression</link> )* )?
<RPAREN> ) | ( ( <INSERT> ) <LPAREN> ( <link
linkend="prod16">expression</link> ( <COMMA> <l!
ink linkend="prod16">expression</link> )* )? <RPAREN> )
| ( ( <TRANSLATE> ) <LPAREN> ( <link
linkend="prod16">expression</link> ( <COMMA> <link
linkend="prod16">expression</link> )* )? <RPAREN> ) |
<link linkend="prod103">xmlParse</link> | <link
linkend="prod104">xmlElement</link> | ( <XMLPI>
<LPAREN> ( <ID> <link
linkend="prod105">idExpression</link> | <link
linkend="prod105">idExpression</link> ) ( <COMMA>
<link linkend="prod16">expression</link> )? <RPAREN> )
| <link linkend="prod106">xmlForest</link> | <link
linkend="prod69">xmlSerialize</link> | <link
linkend="prod73">xmlQuery</link> | ( <link
linkend="prod2">id</link> <LPAREN> ( <link
linkend="prod16">expression</link> ( <COMMA> <link
linkend="prod16">expression</link> )* )? <RPAREN> )
)</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod92"
xreflabel="sqlXmlFunction"/>sqlXmlFunction</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod103"
xreflabel="xmlParse"/>xmlParse</para></entry>
<entry align="left" valign="top"><para>::=
-( <XMLFOREST> | <XMLATTRIBUTES> ) <LPAREN>
<link linkend="prod53">selectExpression</link> (
<COMMA> <link linkend="prod53">selectExpression</link>
)* <RPAREN></para></entry></row>
+<XMLPARSE> <LPAREN> <link
linkend="prod58">nonReserved</link> <link
linkend="prod16">expression</link> ( <link
linkend="prod58">nonReserved</link> )?
<RPAREN></para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod91"
xreflabel="idExpression"/>idExpression</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod102"
xreflabel="queryString"/>queryString</para></entry>
<entry align="left" valign="top"><para>::=
+<link linkend="prod58">nonReserved</link> <LPAREN>
<link linkend="prod16">expression</link> ( <COMMA>
<link linkend="prod55">derivedColumn</link> )*
<RPAREN></para></entry></row>
+<row>
+<entry align="right" valign="top"><para><anchor
id="prod104"
xreflabel="xmlElement"/>xmlElement</para></entry>
+<entry align="left" valign="top"><para>::=
+<XMLELEMENT> <LPAREN> ( <ID> <link
linkend="prod2">id</link> | <link
linkend="prod2">id</link> ) ( <COMMA> <link
linkend="prod74">xmlNamespaces</link> )? ( <COMMA>
<link linkend="prod107">xmlAttributes</link> )? (
<COMMA> <link linkend="prod16">expression</link> )*
<RPAREN></para></entry></row>
+<row>
+<entry align="right" valign="top"><para><anchor
id="prod107"
xreflabel="xmlAttributes"/>xmlAttributes</para></entry>
+<entry align="left" valign="top"><para>::=
+<XMLATTRIBUTES> <LPAREN> <link
linkend="prod55">derivedColumn</link> ( <COMMA> <link
linkend="prod55">derivedColumn</link> )*
<RPAREN></para></entry></row>
+<row>
+<entry align="right" valign="top"><para><anchor
id="prod106"
xreflabel="xmlForest"/>xmlForest</para></entry>
+<entry align="left" valign="top"><para>::=
+<XMLFOREST> <LPAREN> ( <link
linkend="prod74">xmlNamespaces</link> <COMMA> )? <link
linkend="prod55">derivedColumn</link> ( <COMMA> <link
linkend="prod55">derivedColumn</link> )*
<RPAREN></para></entry></row>
+<row>
+<entry align="right" valign="top"><para><anchor
id="prod74"
xreflabel="xmlNamespaces"/>xmlNamespaces</para></entry>
+<entry align="left" valign="top"><para>::=
+<XMLNAMESPACES> <LPAREN> <link
linkend="prod108">namespaceItem</link> ( <COMMA> <link
linkend="prod108">namespaceItem</link> )*
<RPAREN></para></entry></row>
+<row>
+<entry align="right" valign="top"><para><anchor
id="prod108"
xreflabel="namespaceItem"/>namespaceItem</para></entry>
+<entry align="left" valign="top"><para>::=
+( <link linkend="prod1">stringVal</link> <AS>
<link linkend="prod2">id</link>
)</para></entry></row>
+<row>
+<entry align="right"
valign="top"><para></para></entry>
+<entry align="left" valign="top"><para>::=
+( <NO> <DEFAULT_KEYWORD>
)</para></entry></row>
+<row>
+<entry align="right"
valign="top"><para></para></entry>
+<entry align="left" valign="top"><para>::=
+( <DEFAULT_KEYWORD> <link
linkend="prod1">stringVal</link>
)</para></entry></row>
+<row>
+<entry align="right" valign="top"><para><anchor
id="prod105"
xreflabel="idExpression"/>idExpression</para></entry>
+<entry align="left" valign="top"><para>::=
<link
linkend="prod2">id</link></para></entry></row>
<row>
<entry align="right" valign="top"><para><anchor
id="prod31"
xreflabel="dataType"/>dataType</para></entry>
<entry align="left" valign="top"><para>::=
( <STRING> | <VARCHAR> | <BOOLEAN> |
<BYTE> | <TINYINT> | <SHORT> |
<SMALLINT> | <CHAR> | <INTEGER> |
<LONG> | <BIGINT> | <BIGINTEGER> |
<FLOAT> | <REAL> | <DOUBLE> |
<BIGDECIMAL> | <DECIMAL> | <DATE> |
<TIME> | <TIMESTAMP> | <OBJECT> |
<BLOB> | <CLOB> | <XML>
)</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod90"
xreflabel="intervalType"/>intervalType</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod101"
xreflabel="intervalType"/>intervalType</para></entry>
<entry align="left" valign="top"><para>::=
-( <SQL_TSI_FRAC_SECOND> | <SQL_TSI_SECOND> |
<SQL_TSI_MINUTE> | <SQL_TSI_HOUR> |
<SQL_TSI_DAY> | <SQL_TSI_WEEK> | <SQL_TSI_MONTH>
| <SQL_TSI_QUARTER> | <SQL_TSI_YEAR>
)</para></entry></row>
+( <link linkend="prod58">nonReserved</link>
)</para></entry></row>
<row>
-<entry align="right" valign="top"><para><anchor
id="prod86"
xreflabel="literal"/>literal</para></entry>
+<entry align="right" valign="top"><para><anchor
id="prod97"
xreflabel="literal"/>literal</para></entry>
<entry align="left" valign="top"><para>::=
-( <link linkend="prod1">stringVal</link> |
<INTEGERVAL> | <FLOATVAL> | <FALSE> |
<TRUE> | <UNKNOWN> | <NULL> | ( (
<BOOLEANTYPE> | <TIMESTAMPTYPE> | <DATETYPE> |
<TIMETYPE> ) <link linkend="prod1">stringVal</link>
<RBRACE> ) )</para></entry></row>
+( <link linkend="prod1">stringVal</link> |
<INTEGERVAL> | <FLOATVAL> | <FALSE> |
<TRUE> | <UNKNOWN> | <NULL> | ( (
<BOOLEANTYPE> | <TIMESTAMPTYPE> | <DATETYPE> |
<TIMETYPE> | <XMLTYPE> ) <link
linkend="prod1">stringVal</link> <RBRACE> )
)</para></entry></row>
</tbody>
</tgroup>
</informaltable>
Deleted: trunk/documentation/reference/src/main/docbook/en-US/content/other_commands.xml
===================================================================
---
trunk/documentation/reference/src/main/docbook/en-US/content/other_commands.xml 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/documentation/reference/src/main/docbook/en-US/content/other_commands.xml 2010-06-14
15:40:48 UTC (rev 2228)
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
-<chapter id="other_commands">
- <title>Other Commands</title>
- <sect1 id="set_command">
- <title>SET Command</title>
- <para>The SET command is used to set execution property values for the duration
of the session.</para>
- <itemizedlist>
- <para>SET Syntax:
- </para>
- <listitem>
- <para>SET parameter value
- </para>
- </listitem>
- </itemizedlist>
- <itemizedlist>
- <para>Syntax Rules:
- </para>
- <listitem>
- <para>Both parameter and value must be simple literals - they cannot contain
spaces.</para>
- </listitem>
- <listitem>
- <para>The value is also not treated as an expression and will not be evaluated
prior to being set as the parameter value.</para>
- </listitem>
- </itemizedlist>
- <para>The SET command can be used to control planning and execution.
- </para>
- <itemizedlist>
- <listitem>
- <para>SET SHOWPLAN [ON|DEBUG|OFF] - ON returns the query plan along with the
results and DEBUG additionally prints the query planner debug information in the log and
returns it with the results. Both the plan and the log are available through JDBC API
extensions.</para>
- </listitem>
- <listitem>
- <para>SET NOEXEC [ON|OFF] - ON prevents query execution, but parsing and
planning will still occur.</para>
- </listitem>
- </itemizedlist>
- </sect1>
-</chapter>
\ No newline at end of file
Modified:
trunk/documentation/reference/src/main/docbook/en-US/content/scalar_functions.xml
===================================================================
---
trunk/documentation/reference/src/main/docbook/en-US/content/scalar_functions.xml 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/documentation/reference/src/main/docbook/en-US/content/scalar_functions.xml 2010-06-14
15:40:48 UTC (rev 2228)
@@ -1041,6 +1041,7 @@
</entry>
<entry>
<para>Returns a properly encoded query string appended to the given
path. Null valued expressions are omitted, and a null path is treated as
''.</para>
+ <para>Names are optional for column reference
expressions.</para>
<para>e.g. QUERYSTRING('path', 'value' as
"&x", ' & ' as y, null as z) returns
'path?%26x=value&y=%20%26%20'</para>
</entry>
<entry>
@@ -1923,7 +1924,7 @@
</tgroup>
</informaltable>
</sect1>
- <sect1>
+ <sect1 id="xml_functions">
<title>XML Functions</title>
<para>XML functions provide functionality for working with XML data.
</para>
<informaltable frame="all">
@@ -1982,6 +1983,7 @@
<para>The ON EMPTY clause is used to specify the result when the
evaluted sequence is empty.
EMPTY ON EMPTY, the default, returns an empty XML result. NULL ON EMPTY
returns a null result.</para>
<para>See also <link
linkend="xmltable">XMLTABLE</link></para>
+ <note><para>A technique known as document projection is used to
reduce the memory footprint of the context item document. Only the parts of the document
needed by the xquery will be loaded into memory.</para></note>
</entry>
<entry>
<para>xquery in string. Return value is xml.
Modified:
trunk/documentation/reference/src/main/docbook/en-US/content/transaction_support.xml
===================================================================
---
trunk/documentation/reference/src/main/docbook/en-US/content/transaction_support.xml 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/documentation/reference/src/main/docbook/en-US/content/transaction_support.xml 2010-06-14
15:40:48 UTC (rev 2228)
@@ -75,7 +75,7 @@
safest, but may introduce performance overhead.</entry>
</row>
<row>
- <entry>AUTO</entry>
+ <entry>DETECT</entry>
<entry>
This is the default setting. Will automatically wrap commands in a transaction,
but only if
the command seems to be transactionally unsafe.
@@ -140,7 +140,7 @@
</row>
<row>
<entry>*</entry>
- <entry>Any number greater than 1 indicates that exection is
+ <entry>Any number greater than 1 indicates that execution is
transactionally unsafe and an XA transaction will be required.
</entry>
</row>
Added: trunk/documentation/reference/src/main/docbook/en-US/content/translators.xml
===================================================================
--- trunk/documentation/reference/src/main/docbook/en-US/content/translators.xml
(rev 0)
+++
trunk/documentation/reference/src/main/docbook/en-US/content/translators.xml 2010-06-14
15:40:48 UTC (rev 2228)
@@ -0,0 +1,799 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter id="translators">
+<title>Translators</title>
+<sect1>
+<title>Introduction to the Teiid Connector Architecture</title>
+<para>The TCA (Teiid Connector Architecture) provides Teiid with a robust mechanism
for integrating with external systems. The TCA defines a common client interface between
Teiid and an external system that includes metadata as to what SQL constructs are
supported for pushdown and the ability to import metadata from the external
system.</para>
+<para>>A Translator is the heart of the TCA and acts as the bridge logic between
Teiid and an external system, which is most commonly accessed through a JCA resource
adapter. See the Teiid Developers Guide for details on developing custom Translators and
JCA resource adapters for use with Teiid.</para>
+<note>
+<para>The TCA is not the same as the JCA, the JavaEE Connector Architecture,
although the TCA is designed for use with JCA resource adapters.</para>
+</note>
+<note>
+<para>The import capabilities of Teiid Translators is currently only used in
<link linkend="dynamic_vdbs">dynamic VDBs</link> and not by the
Teiid Designer.</para>
+</note>
+</sect1>
+<sect1>
+<title>Translators</title>
+<para>A Translator is typically paired with a particular JCA resource adapter. In
instances where pooling, environment dependent configuration management, advanced security
handling, etc. are not needed, then a JCA resource adapter is not needed. The
configuration of JCA ConnectionFactories for needed resource adapters is not part of this
guide, please see the Teiid Admin Guide and the kit examples for configuring resource
adapters for use in JBossAS.</para>
+<para>Translators can have a number of configurable properties. These are broken
down into execution properties, which determine aspects of how data is retrieved, and
import settings, which determine what metadata is read for import.</para>
+<para>The execution properties for a translator typically have reasonable defaults.
For specific translator types, e.g. the Derby translator, base execution properties are
already tuned to match the source. In most cases the user will not need to adjust their
values.</para>
+<table>
+<title>Base Execution Properties - shared by all translators</title>
+<tgroup cols="3">
+<colspec colwidth=".75*" />
+<colspec colwidth="1.5*" />
+<colspec colwidth=".5*" />
+<thead>
+<row>
+<entry>Name</entry>
+<entry>Description</entry>
+<entry>Default</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry>Immutable</entry>
+<entry>Set to true to indicate that the source never changes.</entry>
+<entry>false</entry>
+</row>
+<row>
+<entry>RequiresCriteria</entry>
+<entry>Set to true to indicate that source SELECT/UPDATE/DELETE queries require a
where clause.</entry>
+<entry>false</entry>
+</row>
+<row>
+<entry>SupportsOrderBy</entry>
+<entry>Set to true to indicate that the ORDER BY clause is
supported.</entry>
+<entry>false</entry>
+</row>
+<row>
+<entry>SupportsOuterJoins</entry>
+<entry>Set to true to indicate that OUTER JOINs are supported.</entry>
+<entry>false</entry>
+</row>
+<row>
+<entry>SupportsFullOuterJoins</entry>
+<entry>If outer joins are supported, true indicates that FULL OUTER JOINs are
supported.</entry>
+<entry>false</entry>
+</row>
+<row>
+<entry>SupportsInnerJoins</entry>
+<entry>Set to true to indicate that INNER JOINs are supported.</entry>
+<entry>false</entry>
+</row>
+<row>
+<entry>SupportedJoinCriteria</entry>
+<entry>If joins are supported, defines what criteria may be used as the join
criteria. May be one of (ANY, THETA, EQUI, or KEY).</entry>
+<entry>ANY</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+<note>
+<para>Only a subset of the metadata as to what SQL constructs the source supports
can be set through execution properties. If more control is needed, please consult the
Teiid Developers Guide.</para>
+</note>
+<para>There are no base importer settings.</para>
+<sect2>
+<title>File Translator</title>
+<para>The file translator, known by the type name
<emphasis>file</emphasis>, exposes stored procedures to leverage file system
resources exposed by the file resource adapter.
+It will commonly be used with the <link
linkend="texttable">TEXTTABLE</link> or <link
linkend="xmltable">XMLTABLE</link> table functions to use CSV or XML
formated data.</para>
+<table>
+<title>Execution Properties</title>
+<tgroup cols="3">
+<thead>
+<row>
+<entry>Name</entry>
+<entry>Description</entry>
+<entry>Default</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry>Encoding</entry>
+<entry>The encoding that should be used for CLOBs returned by the getTextFiles
procedure</entry>
+<entry>The system default encoding</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+<sect3><title>Usage</title>
+<para>Retrieve all files as BLOBs with the given extension at the given path.
<programlisting>call getFiles('path/*.ext')</programlisting>
+If the extension pattern is not specified and the path is a directory, then all files in
the directory will be returned. If the path or filename doesn't exist, then no
results will be returned.
+</para>
+<para>Retrieve all files as CLOBs with the given extension at the given path.
<programlisting>call
getTextFiles('path/*.ext')</programlisting></para>
+<para>Save the CLOB, BLOB, or XML file to given path <programlisting>call
saveFile('path', value)</programlisting></para>
+<para>See the database metadata for full descriptions of the getFiles,
getTextFiles, and saveFile procedures.</para>
+</sect3>
+</sect2>
+<sect2>
+<title>JDBC Translator</title>
+<para>The JDBC translator bridges between SQL semantic and data type difference
between Teiid and a target RDBMS. Teiid has a range of specific translators that target
the most popular open source and proprietary databases.</para>
+<itemizedlist>
+<para>Type names</para>
+<listitem>
+<para><emphasis>jdbc-ansi</emphasis> - declares support for most SQL
constructs supported by Teiid, except for row limit/offset and EXCEPT/INTERCECT.
Translates source SQL into ANSI compliant syntax. This translator should be used when
another more specific type is not available.</para>
+</listitem>
+<listitem>
+<para><emphasis>jdbc-simple</emphasis> - same as jdbc-ansi, except
disables support for function, UNION, and aggregate pushdown.</para>
+</listitem>
+<listitem>
+<para><emphasis>db2</emphasis> - for use with DB2 8 or
later.</para>
+</listitem>
+<listitem>
+<para><emphasis>derby</emphasis> - for use with Derby 10.1 or later.
Setting the specific 10.x version improves pushdown support - see the DatabaseVersion
execution property.</para>
+</listitem>
+<listitem>
+<para><emphasis>h2</emphasis> - for use with H2 version 1.1 or
later.</para>
+</listitem>
+<listitem>
+<para><emphasis>hsql</emphasis> - for use with HSQLDB 1.7 or
later.</para>
+</listitem>
+<listitem>
+<para><emphasis>informix</emphasis> - for use with any
version.</para>
+</listitem>
+<listitem>
+<para><emphasis>metamatrix</emphasis> - for use with MetaMatrix 5.5.0
or later.</para>
+</listitem>
+<listitem>
+<para><emphasis>mysql</emphasis> - for use with MySQL version
4.x.</para>
+</listitem>
+<listitem>
+<para><emphasis>mysql5</emphasis> - for use with MySQL version 5 or
later.</para>
+</listitem>
+<listitem>
+<para><emphasis>oracle</emphasis> - for use with Oracle 9i or
later.</para>
+</listitem>
+<listitem>
+<para><emphasis>postgresql</emphasis> - for use with 8.0 or later
clients and 7.1 or later server. Setting the specific 8.x version improves pushdown
support - see the DatabaseVersion execution property.</para>
+</listitem>
+<listitem>
+<para><emphasis>sybase</emphasis> - for use with Sybase version 12.5 or
later.</para>
+</listitem>
+<listitem>
+<para><emphasis>teiid</emphasis> - for use with Teiid 6.0 or
later.</para>
+</listitem>
+<listitem>
+<para><emphasis>teradata</emphasis> - for use with Teradata V2R5.1 or
later.</para>
+</listitem>
+</itemizedlist>
+<table>
+<title>Execution Properties - shared by all JDBC Translators</title>
+<tgroup cols="3">
+<colspec colwidth=".75*" />
+<colspec colwidth="1.5*" />
+<colspec colwidth=".5*" />
+<thead>
+<row>
+<entry>Name</entry>
+<entry>Description</entry>
+<entry>Default</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry>DatabaseTimeZone</entry>
+<entry>The time zone of the database. Used when fetchings date, time, or timestamp
values.</entry>
+<entry>The system default time zone</entry>
+</row>
+<row>
+<entry>DatabaseVersion</entry>
+<entry>The specific database version. Used to further tune pushdown
support.</entry>
+<entry>The base supported version</entry>
+</row>
+<row>
+<entry>TrimStrings</entry>
+<entry>true to trim trailing whitespace from fixed length character strings. Note
that Teiid only has a string, or varchar, type that treats trailing whitespace as
meaningful.</entry>
+<entry>false</entry>
+</row>
+<row>
+<entry>UseBindVariables</entry>
+<entry>true to indicate that PreparedStatements should be used and that literal
values in the source query should be replace with bind variables. If false only LOB
values will trigger the use of PreparedStatements.</entry>
+<entry>true</entry>
+</row>
+<row>
+<entry>UseCommentsInSourceQuery</entry>
+<entry>This will embed a /*comment*/ leading comment with session/request id in
source SQL query for informational purposes</entry>
+<entry>false</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+<table>
+<title>Importer Properties - shared by all JDBC Translators</title>
+<tgroup cols="3">
+<colspec colwidth=".75*" />
+<colspec colwidth="1.5*" />
+<colspec colwidth=".3*" />
+<thead>
+<row>
+<entry>Name</entry>
+<entry>Description</entry>
+<entry>Default</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry>catalog</entry>
+<entry>See DatabaseMetaData.getTables<footnote label="1"
id="dbmd"><para>Full JavaDoc for <ulink
url="http://java.sun.com/javase/6/docs/api/java/sql/DatabaseMetaData...
+<entry>null</entry>
+</row>
+<row>
+<entry>schemaPattern</entry>
+<entry>See DatabaseMetaData.getTables<footnoteref
linkend="dbmd"/></entry>
+<entry>null</entry>
+</row>
+<row>
+<entry>tableNamePattern</entry>
+<entry>See DatabaseMetaData.getTables<footnoteref
linkend="dbmd"/></entry>
+<entry>null</entry>
+</row>
+<row>
+<entry>procedurePatternName</entry>
+<entry>See DatabaseMetaData.getProcedures<footnoteref
linkend="dbmd"/></entry>
+<entry>null</entry>
+</row>
+<row>
+<entry>tableTypes</entry>
+<entry>Comma separated list - without spaces - of imported table types. See
DatabaseMetaData.getTables<footnoteref linkend="dbmd"/></entry>
+<entry>null</entry>
+</row>
+<row>
+<entry>useFullSchemaName</entry>
+<entry>When false, directs the importer to drop the source catalog/schema from the
Teiid object name, so that the Teiid fully qualified name will be in the form of
<model name>.<table name> - Note: that this may lead to
objects with duplicate names when importing from multiple schemas, which results in an
exception</entry>
+<entry>true</entry>
+</row>
+<row>
+<entry>importKeys</entry>
+<entry>true to import primary and foriegn keys</entry>
+<entry>true</entry>
+</row>
+<row>
+<entry>importIndexes</entry>
+<entry>true to import index/unique key/cardinality information</entry>
+<entry>true</entry>
+</row>
+<row>
+<entry>importApproximateIndexes</entry>
+<entry>true to import approximate index information. See
DatabaseMetaData.getIndexInfo<footnoteref linkend="dbmd"/></entry>
+<entry>true</entry>
+</row>
+<row>
+<entry>importProcedures</entry>
+<entry>true to import procedures and procedure columns - Note that it is not always
possible to import procedure result set columns due to database limitations. It is also
not currently possible to import overloaded procedures.</entry>
+<entry>true</entry>
+</row>
+<row>
+<entry>widenUnsignedTypes</entry>
+<entry>(7.0+) true to convert unsigned types to the next widest type. For example
SQL Server reports tinyint as an unsigned type. With this option enabled, tinyint would
be imported as a short instead of a byte.</entry>
+<entry>true</entry>
+</row>
+<row>
+<entry>quoteNameInSource</entry>
+<entry>(7.0+) false will override the default and direct Teiid to create source
queries using unquoted identifiers.</entry>
+<entry>true</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+<warning>
+<para>The default import settings will crawl all available metadata. This import
process is time consuming and full metadata import is not needed in most situations. Most
commonly you'll want to limit import by schemaPattern and
tableTypes.</para></warning>
+<para>Example importer settings to only import tables and views from
my-schema.<programlisting><![CDATA[...
+<property name="importer.tableTypes" value="TABLE,VIEW"/>
+<property name="importer.schemaPattern" value="my-schema"/>
+...]]></programlisting></para>
+<sect3><title>Usage</title>
+<para>Usage of a JDBC source is straight-forward. Using Teiid SQL, the source ma
be queried as if the tables and procedures were local to the Teiid system.
+</para>
+</sect3>
+</sect2>
+<sect2>
+<title>LDAP Translator</title>
+<para>The LDAP translator, known by the type name
<emphasis>ldap</emphasis>, exposes an LDAP directory tree relationally with
pusdown support for filtering via criteria. This is typically coupled with the LDAP
resource adapter.</para>
+<table>
+<title>Execution Properties</title>
+<tgroup cols="3">
+<thead>
+<row>
+<entry>Name</entry>
+<entry>Description</entry>
+<entry>Default</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry>SearchDerfaultBaseDN</entry>
+<entry>Default Base DN for LDAP Searches</entry>
+<entry>null</entry>
+</row>
+<row>
+<entry>SearchDefaultScope</entry>
+<entry>Default Scope for LDAP Searches. Can be one of SUBTREE_SCOPE, OBJECT_SCOPE,
ONELEVEL_SCOPE.</entry>
+<entry>ONELEVEL_SCOPE</entry>
+</row>
+<row>
+<entry>RestrictToObjectClass</entry>
+<entry>Restrict Searches to objectClass named in the Name field for a
table</entry>
+<entry>false</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+</sect2>
+<sect2>
+<title>Loopback Translator</title>
+<para>The Loopback translator, known by the type name
<emphasis>loopback</emphasis>, provides a quick testing solution. It supports
all SQL constructs and returns default results, with configurable behavior.</para>
+<table>
+<title>Execution Properties</title>
+<tgroup cols="3">
+<colspec colwidth=".75*" />
+<colspec colwidth="1.5*" />
+<colspec colwidth=".5*" />
+<thead>
+<row>
+<entry>Name</entry>
+<entry>Description</entry>
+<entry>Default</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry>ThrowError</entry>
+<entry>true to always throw an error</entry>
+<entry>false</entry>
+</row>
+<row>
+<entry>RowCount</entry>
+<entry>Rows returned for non-update queries.</entry>
+<entry>1</entry>
+</row>
+<row>
+<entry>WaitTime</entry>
+<entry>Wait randomly up to this number of milliseconds with each sourc
query.</entry>
+<entry>0</entry>
+</row>
+<row>
+<entry>PollIntervalInMilli</entry>
+<entry>if positive results will be "asynchronusly" returned - that is a
DataNotAvailableException will be thrown initially and the engine will wait the poll
interval before polling for the results.</entry>
+<entry>-1</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+<para>There are no import settings for the Loopback translator.</para>
+</sect2>
+<sect2>
+<title>Salesforce Translator</title>
+<para>The Salesforce translator, known by the type name
<emphasis>salesforce</emphasis> supports the SELECT, DELETE, INSERT and UPDATE
operations against a
Salesforce.com account. It is designed for use with the Teiid
Salesforce resource adapter.</para>
+<table>
+<title>Execution Properties</title>
+<tgroup cols="3">
+<colspec colwidth=".75*" />
+<colspec colwidth="1.5*" />
+<colspec colwidth=".5*" />
+<thead>
+<row>
+<entry>Name</entry>
+<entry>Description</entry>
+<entry>Default</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry>ModelAuditFeilds</entry>
+<entry>Audit Model Fields</entry>
+<entry>false</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+<para>The Salesforce translator can import metadata, but does not currently have
import settings.</para>
+<sect3>
+<title>Usage</title>
+<sect4>
+<title>SQL Processing</title>
+<para>Salesforce does not provide the same set of
+ functionality as a relational database. For example, Salesforce does
+ not support arbitrary joins between tables. However, working in
+ combination with the Teiid Query Planner, the Salesforce
+ connector
+ supports nearly all of the SQL syntax supported by the
+ Teiid.
+ </para>
+ <para>The Salesforce Connector executes SQL commands by “pushing
+ down” the command to Salesforce whenever possible, based on the
+ supported capabilities. Teiid will automatically provide
+ additional database functionality when the Salesforce Connector does
+ not explicitly provide support for a given SQL construct. In these
+ cases, the SQL construct cannot be “pushed down” to the data source,
+ so it will be evaluated in Teiid, in order to ensure that the
+ operation is performed.
+ </para>
+ <para>In cases where certain SQL capabilities cannot be pushed down
+ to Salesforce, Teiid will push down the capabilities that are
+ supported, and fetch a set of data from Salesforce. Then, Teiid
+ will evaluate the additional capabilities, creating a subset of the
+ original data set. Finally, Teiid will pass the result to the
+ client.
+ </para>
+
+ <programlisting><![CDATA[SELECT sum(Reports) FROM Supervisor where
Division = 'customer support';]]></programlisting>
+ <para>Neither Salesforce nor the Salesforce Connector support
+ the sum() scalar function, but they do support CompareCriteriaEquals,
+ so the query that is passed to Salesforce by the connector will be
+ transformed to this query.
+ </para>
+ <programlisting><![CDATA[SELECT Reports FROM Supervisor where Division =
'customer support';]]></programlisting>
+ <para>The sum() scalar function will be applied by the Teiid
+ Query Engine to the result set returned by the connector.
+ </para>
+ <para>In some cases multiple calls to the Salesforce application
+ will be made to support the SQL passed to the connector.
+ </para>
+ <programlisting><![CDATA[DELETE From Case WHERE Status =
'Closed';]]></programlisting>
+ <para>The API in Salesforce to delete objects only supports
+ deleting by ID. In order to accomplish this the Salesforce connector
+ will first execute a query to get the IDs of the correct objects, and
+ then delete those objects. So the above DELETE command will result in
+ the following two commands.
+ </para>
+ <programlisting><![CDATA[SELECT ID From Case WHERE Status =
'Closed';
+DELETE From Case where ID IN (<result of query>);*]]></programlisting>
+ <para>*The Salesforce API DELETE call is not expressed in SQL, but
+ the above is an SQL equivalent expression.
+ </para>
+ <para>It's useful to be aware of unsupported capabilities, in
+ order
+ to avoid fetching large data sets from Salesforce and making you
+ queries as performant as possible. See all <link
linkend="sf_supported">Supported Capabilities</link>.
+ </para>
+ </sect4>
+ <sect4>
+ <title>Selecting from Multi-Select Picklists</title>
+ <para>
+ A multi-select picklist is a field type in Salesforce that can
+ contain multiple values in a single field. Query criteria operators
+ for fields of this type in SOQL are limited to EQ, NE, includes and
+ excludes. The full Salesforce documentation for selecting from
+ mullti-select picklists can be found at the following link.
+ <ulink
+
url="http://www.salesforce.com/us/developer/docs/api/index_Left.htm#...
Mulit-select Picklists
+ </ulink>
+ </para>
+ <para>Teiid SQL does not support the includes or
+ excludes operators, but the Salesforce connector provides user
+ defined function definitions for these operators that provided
+ equivalent functionality for fields of type multi-select. The
+ definition for the functions is:
+ </para>
+ <programlisting><![CDATA[boolean includes(Column column, String param)
+boolean excludes(Column column, String param)]]></programlisting>
+ <para>For example, take a single multi-select picklist column
+ called Status that contains all of these values.
+ </para>
+ <itemizedlist mark='opencircle'>
+ <listitem>
+ <para>
+ current
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ working
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ critical
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>For that column, all of the below are valid queries:</para>
+ <programlisting><![CDATA[SELECT * FROM Issue WHERE true = includes
(Status, 'current, working' );
+SELECT * FROM Issue WHERE true = excludes (Status, 'current, working' );
+SELECT * FROM Issue WHERE true = includes (Status, 'current;working, critical'
);]]></programlisting>
+ <para>EQ and NE criteria will pass to Salesforce as supplied. For
+ example, these queries will not be modified by the connector.
+ </para>
+ <programlisting><![CDATA[SELECT * FROM Issue WHERE Status =
'current';
+SELECT * FROM Issue WHERE Status = 'current;critical';
+SELECT * FROM Issue WHERE Status !=
'current;working';]]></programlisting>
+ </sect4>
+ <sect4>
+ <title>Selecting All Objects</title>
+ <para>
+ The Salesforce connector supports the calling the queryAll operation
+ from the Salesforce API. The queryAll operation is equivalent
+ to the query operation with the exception that it returns data about
+ <emphasis role="strong">all current and
deleted</emphasis>
+ objects in the system.
+ </para>
+ <para>The connector determines if it will call the
+ query or queryAll operation via reference to the
+ isDeleted property present on each Salesforce object,
+ and modeled as a column on each table generated by
+ the importer. By default this value is set to
+ False when the model is generated and thus the connector calls
+ query. Users are free to change the value in the model to True,
+ changing the default behavior of the connector to be queryAll.
+ </para>
+ <para>The behavior is different if isDeleted is used as a parameter
+ in the query. If the isDeleted column is used as a parameter
+ in the query, and the value is 'true' the connector will call queryAll.
+ </para>
+ <programlisting><![CDATA[select * from Contact where isDeleted =
true;]]></programlisting>
+ <para>If the isDeleted column is used as a parameter in the query,
+ and the value is 'false' the connector perform the default behavior
+ will call query.
+ </para>
+ <programlisting><![CDATA[
+ select * from Contact where isDeleted = false;
+ ]]>
+ </programlisting>
+ </sect4>
+ <sect4>
+ <title>Selecting Updated Objects</title>
+ <para>If the option is selected when importing metadata from
+ Salesforce, a GetUpdated procedure is generated in the model with
+ the following sturcture:
+ </para>
+ <programlisting><![CDATA[GetUpdated (ObjectName IN string,
+ StartDate IN datetime,
+ EndDate IN datetime,
+ LatestDateCovered OUT datetime)
+returns
+ ID string]]></programlisting>
+ <para>
+ See the description of the
+ <ulink
+
url="http://www.salesforce.com/us/developer/docs/api/Content/sforce_...
+ </ulink>
+ operation in the Salesforce documentation for usage details.
+ </para>
+ </sect4>
+ <sect4>
+ <title>Selecting Deleted Objects</title>
+ <para>If the option is selected when importing metadata from
+ Salesforce, a GetDeleted procedure is generated in the model with
+ the following sturcture:
+ </para>
+ <programlisting><![CDATA[GetDeleted (ObjectName IN string,
+ StartDate IN datetime,
+ EndDate IN datetime,
+ EarliestDateAvailable OUT datetime,
+ LatestDateCovered OUT datetime)
+returns
+ ID string,
+ DeletedDate datetime]]></programlisting>
+ <para>
+ See the description of the
+ <ulink
+
url="http://www.salesforce.com/us/developer/docs/api/Content/sforce_...
+ </ulink>
+ operation in the Salesforce documentation for usage details.
+ </para>
+ </sect4>
+ <sect4>
+ <title>Relationship Queries</title>
+ <para>Salesforce does not support joins like a relational database,
+ but it does have support for queries that include parent-to-child
+ or child-to-parent relationships between objects. These are termed
+ Relationship Queries. The SalesForce connector supports Relationship
+ Queries through Outer Join syntax.
+ </para>
+ <programlisting><![CDATA[SELECT Account.name, Contact.Name from Contact
LEFT OUTER JOIN Account
+on Contact.Accountid = Account.id]]></programlisting>
+ <para>This query shows the correct syntax to query a SalesForce model with
+ to produce a relationship query from child to parent. It resolves to the
+ following query to SalesForce.
+ </para>
+ <programlisting><![CDATA[SELECT Contact.Account.Name, Contact.Name FROM
Contact]]>
+ </programlisting>
+ <programlisting><![CDATA[select Contact.Name, Account.Name from Account
Left outer Join Contact
+on Contact.Accountid = Account.id]]></programlisting>
+ <para>This query shows the correct syntax to query a SalesForce model with
+ to produce a relationship query from parent to child. It resolves to the
+ following query to SalesForce.
+ </para>
+ <programlisting><![CDATA[SELECT Account.Name, (SELECT Contact.Name FROM
+Account.Contacts) FROM Account]]></programlisting>
+ <para>
+ See the description of the
+ <ulink
+
url="http://www.salesforce.com/us/developer/docs/api/index_Left.htm#...
Queries
+ </ulink>
+ operation in the SalesForce documentation for limitations.
+ </para>
+ </sect4>
+ <sect4 id="sf_supported">
+ <title>Supported Capabilities</title>
+ <para>The following are the the connector capabilities supported by
+ the Salesforce Connector. These SQL constructs will be pushed down to
+ Salesforce.</para>
+ <itemizedlist mark='opencircle'>
+ <listitem><para>
+ SELECT command
+ </para></listitem>
+ <listitem><para>
+ INSERT Command
+ </para></listitem>
+ <listitem><para>
+ UPDATE Command
+ </para></listitem>
+ <listitem><para>
+ DELETE Command
+ </para></listitem>
+ <listitem><para>
+ CompareCriteriaEquals
+ </para></listitem>
+ <listitem><para>
+ InCriteria
+ </para></listitem>
+ <listitem><para>
+ LikeCriteria - Supported for String fields only.
+ </para></listitem>
+ <listitem><para>
+ RowLimit
+ </para></listitem>
+ <listitem><para>
+ AggregatesCountStar
+ </para></listitem>
+ <listitem><para>
+ NotCriteria
+ </para></listitem>
+ <listitem><para>
+ OrCriteria
+ </para></listitem>
+ <listitem><para>
+ CompareCriteriaOrdered
+ </para></listitem>
+ <listitem><para>
+ OuterJoins with join criteria KEY
+ </para></listitem>
+ </itemizedlist>
+ </sect4>
+</sect3>
+</sect2>
+<sect2>
+<title>Web Services Translator</title>
+<para>The Web Services translator, known by the type name
<emphasis>ws</emphasis>, exposes stored procedures for calling web services
backed by a Teiid WS resource adapter.
+It will commonly be used with the <link
linkend="texttable">TEXTTABLE</link> or <link
linkend="xmltable">XMLTABLE</link> table functions to use CSV or XML
formated data.</para>
+<table>
+<title>Execution Properties</title>
+<tgroup cols="3">
+<thead>
+<row>
+<entry>Name</entry>
+<entry>Description</entry>
+<entry>Default</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry>DefaultBinding</entry>
+<entry>The binding that should be used if one is not specified. Can be one of
HTTP, SOAP11, or SOAP12</entry>
+<entry>SOAP12</entry>
+</row>
+<row>
+<entry>DefaultServiceMode</entry>
+<entry>The default service mode. For SOAP, MESSAGE mode indicates that the request
will contain the entire SOAP envelope and not just the contents of the SOAP body. Can be
one of MESSAGE or PAYLOAD</entry>
+<entry>PAYLOAD</entry>
+</row>
+<row>
+<entry>XMLParamName</entry>
+<entry>Used with the HTTP binding (typically with the GET method) to indicate that
the request document should be part of the query string.</entry>
+<entry>null - unused</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+<sect3><title>Usage</title>
+<para>The main procedure, invoke, allows for multiple binding, or protocol modes,
including HTTP, SOAP11, and SOAP12.
+<programlisting>Procedure invoke(binding in STRING, action in STRING, request in
OBJECT, endpoint in STRING) returns XML</programlisting>
+</para>
+<para>The binding may be one of null (to use the default) HTTP, SOAP11, or SOAP12.
Action with a SOAP binding indicates the SOAPAction value. Action with a HTTP binding
indicates the HTTP method (GET, POST, etc.), which defaults to POST.</para>
+<para>A null value for the binding or endpoint will use the default value. The
default endpoint is specified in the WS resource adapter configuration. The endpoint URL
may be absolute or relative. If it's relative then it will be combined with the
default endpoint.</para>
+<para>Since multiple parameters are not required to have values, it is often more
clear to call the invoke procedure with named parameter syntax. e.g.
<programlisting>call invoke(binding='HTTP',
action='GET')</programlisting></para>
+<para>The request can be an XML, STRING, or CLOB value and should be a valid XML
document.</para>
+<para>See the ws-weather example in the kit and database metadata for a full
description of invoke.</para>
+</sect3>
+</sect2>
+</sect1>
+<sect1 id="dynamic_vdbs">
+<title>Dynamic VDBs</title>
+<para>
+Teiid integration is available via a "Dynamic VDB" without the need for Teiid
Designer tooling. While this mode of operation does not yet allow for the creation of
view layers, the underlying sources can still be queried as if they are a single source.
See the kit's "teiid-example/dynamicvdb-*" for working examples.
+</para>
+<para>
+To build a dynamic vdb, you'll need to create a
"<some-name>-vdb.xml" file. The XML file captures information
about the VDB, the sources it integrate, and preferences for importing metadata.
+</para>
+<note>
+<para>
+VDB name pattern must adhere to "-vdb.xml" for the Teiid VDB deployer to
recognize this file as a dynamic VDB.
+</para>
+</note>
+<para>
+my-vdb.xml: (The vdb-deployer.xml schema for this file is available in the schema folder
under the docs with the Teiid distribution.)
+</para>
+<programlisting><![CDATA[<vdb name="${vdb-name}"
version=${vdb-version}>
+
+ <property name="UseConnectorMetadata" value="..."/>
+
+ <!-- define a model fragment for each data source -->
+ <model name="${model-name}">
+
+ <property name="..." value="..." />
+ ...
+
+ <source name="${source-name}"
translator-name="${translator-name}"
+
+ connection-jndi-name="${deployed-jndi-name}">
+ </model>
+
+ <!-- create translator instances that override default properties -->
+
+ <translator name="${translator-name}"
type="${translator-type}"/>
+
+ <property name="..." value="..."/>
+ ...
+
+ </translator>
+</vdb>
+]]></programlisting>
+<sect2>
+<title>VDB Element</title>
+<itemizedlist>
+ <title>Attributes</title>
+ <listitem><para><emphasis>name</emphasis> - The name of the VDB.
The VDB name referenced through the driver or datasource during the connection
time.</para>
+ </listitem>
+ <listitem><para><emphasis>version</emphasis> - The version of
the VDB (should be an positive integer). This determines the deployed directory location
(see Name), and provides an explicit versioning mechanism to the VDB name.</para>
+ </listitem>
+</itemizedlist>
+<itemizedlist>
+ <title>Property Elements</title>
+ <listitem><para><emphasis>UseConnectorMetadata</emphasis> -
Setting to use connector supplied metadata. Can be "true" or "cached".
"true" will obtain metadata once for every launch of Teiid.
"cached" will save a file containing the metadata into the
<jboss-install>/server/<profile>/data/teiid
directory</para>
+ </listitem>
+</itemizedlist>
+</sect2>
+<sect2>
+<title>Model Element</title>
+<itemizedlist>
+ <title>Attributes</title>
+ <listitem><para><emphasis>name</emphasis> - The name of the
model is used as a top level schema name for all of the metadata imported from the
connector. The name should be unique among all Models in the VDB and should not contain
the '.' character.</para>
+ </listitem>
+ <listitem><para><emphasis>version</emphasis> - The version of
the VDB (should be an positive integer). This determines the deployed directory location
(see Name), and provides an explicit versioning mechanism to the VDB name.</para>
+ </listitem>
+</itemizedlist>
+<itemizedlist>
+ <title>Source Element</title>
+ <listitem><para><emphasis>name</emphasis> - The name of the
source to use for this model. This can be any name you like, but will typically be the
same as the model name. Having a name different than the model name is only useful in
multi-source scenarios.
+ </para></listitem>
+ <listitem><para><emphasis>translator-name</emphasis> - The name
or type of the Teiid Translator to use. Possible values include the built-in types (ws,
file, ldap, oracle, sqlserver, db2, derby, etc.) and translators defined in the
translators section.
+ </para></listitem>
+ <listitem><para><emphasis>connection-jndi-name</emphasis> - The
JNDI name of this source's connection factory. There should be a corresponding
"-ds.xml" file that defines the connection factory in the JBoss AS. Check out
the deploying vdb dependencies section for info. You also need to deploy these connection
factories before you can deploy the vdb.
+ </para></listitem>
+</itemizedlist>
+<itemizedlist>
+ <title>Property Elements</title>
+ <listitem><para><emphasis>importer.<propertyname></emphasis>
- Property to be used by the connector importer for the model for purposes importing
metadata. See possible property name/values in the Translator specific section. Note that
using these properties you can narrow or widen the data elements available for
integration.
+ </para></listitem>
+</itemizedlist>
+</sect2>
+<sect2>
+<title>Translator Element</title>
+<itemizedlist>
+ <title>Attributes</title>
+ <listitem><para><emphasis>name</emphasis> - The name of the the
Translator. Referenced by the source element.</para>
+ </listitem>
+ <listitem><para><emphasis>type</emphasis> - The base type of the
Translator. Can be one of the built-in types (ws, file, ldap, oracle, sqlserver, db2,
derby, etc.).
+ </para>
+ </listitem>
+</itemizedlist>
+<itemizedlist>
+ <title>Property Elements</title>
+ <listitem><para>Set a value that overrides a translator default property.
See possible property name/values in the Translator specific section.
+ </para></listitem>
+</itemizedlist>
+</sect2>
+</sect1>
+</chapter>
\ No newline at end of file
Property changes on:
trunk/documentation/reference/src/main/docbook/en-US/content/translators.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/documentation/reference/src/main/docbook/en-US/content/xml_queries.xml
===================================================================
---
trunk/documentation/reference/src/main/docbook/en-US/content/xml_queries.xml 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/documentation/reference/src/main/docbook/en-US/content/xml_queries.xml 2010-06-14
15:40:48 UTC (rev 2228)
@@ -4,11 +4,12 @@
<title>XML SELECT Command</title>
<sect1>
<title>Overview</title>
- <para>XML documents can be dynamically constructed by Teiid. The
- structure of the document is defined by a document model, which is
+ <para>Complex XML documents can be dynamically constructed by Teiid using XML
Document Models. A document model is
generally created from a schema. The document model is bound to
relevant SQL statements through mapping classes. See the Designer
guide for more on creating document models.</para>
+ <para>XML documents may also created via XQuery with the <link
linkend="xmlquery">XMLQuery</link> function
+ or with various other <link
linkend="xml_functions">SQL/XML</link> functions.</para>
<para>Querying XML documents is similar to querying relational
tables. An idiomatic SQL variant with special scalar functions gives
control over which parts of a given document to return.</para>
@@ -261,7 +262,7 @@
<note>
<title>Document Correctness</title>
<para>
- By default XML generated XML documents are not checked for
+ By default XML generated by XML documents are not checked for
correctness vs. the relevant schema. It is possible that the mapping
class queries, the usage of specific SELECT or WHERE clause values
will generated a document that is not valid with respect to the
Modified:
trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/preface.xml
===================================================================
---
trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/preface.xml 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/preface.xml 2010-06-14
15:40:48 UTC (rev 2228)
@@ -4,7 +4,7 @@
<title>Preface</title>
<para> This document shows how to model the metadata of an hosted
Salesforce application with Teiid Designer, and details the SQL semantics
- supported by the connector in Teiid Embedded. This document contains
+ supported by the connector in Teiid. This document contains
an overview of the process, including:</para>
<itemizedlist>
<listitem>
@@ -32,7 +32,7 @@
application. This example takes advantage of only a
minimal set of
features from
- Teiid Embedded for the sake of simplicity and time.
+ Teiid for the sake of simplicity and time.
</para>
</note>
</preface>
\ No newline at end of file
Modified:
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/CapabilitiesConverter.java
===================================================================
---
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/CapabilitiesConverter.java 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/CapabilitiesConverter.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -41,10 +41,10 @@
}
public static SourceCapabilities convertCapabilities(ExecutionFactory srcCaps) {
- return convertCapabilities(srcCaps, null, false);
+ return convertCapabilities(srcCaps, null);
}
- public static BasicSourceCapabilities convertCapabilities(ExecutionFactory srcCaps,
String connectorID, boolean isXa) {
+ public static BasicSourceCapabilities convertCapabilities(ExecutionFactory srcCaps,
String connectorID) {
BasicSourceCapabilities tgtCaps = new BasicSourceCapabilities();
tgtCaps.setCapabilitySupport(Capability.QUERY_SELECT_EXPRESSION,
srcCaps.supportsSelectExpression());
Modified:
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorManager.java
===================================================================
---
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorManager.java 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorManager.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -88,7 +88,7 @@
private LinkedList<ConnectorWorkItem> queuedRequests = new
LinkedList<ConnectorWorkItem>();
private volatile boolean stopped;
- private ExecutionFactory executionFactory;
+ private ExecutionFactory<Object, Object> executionFactory;
public ConnectorManager(String translatorName, String connectionName) {
this.translatorName = translatorName;
@@ -97,7 +97,7 @@
public String getStausMessage() {
StringBuilder sb = new StringBuilder();
- ExecutionFactory ef = getExecutionFactory();
+ ExecutionFactory<Object, Object> ef = getExecutionFactory();
if(ef != null) {
if (ef.isSourceRequired()) {
@@ -127,11 +127,10 @@
throw BlockedException.INSTANCE;
}
}
-
public MetadataStore getMetadata(String modelName, Map<String, Datatype>
datatypes, Properties importProperties) throws TranslatorException {
MetadataFactory factory = new MetadataFactory(modelName, datatypes, importProperties);
- ExecutionFactory executionFactory = getExecutionFactory();
+ ExecutionFactory<Object, Object> executionFactory = getExecutionFactory();
Object connectionFactory = getConnectionFactory();
Object connection = executionFactory.getConnection(connectionFactory);
try {
@@ -148,8 +147,8 @@
}
checkStatus();
- ExecutionFactory translator = getExecutionFactory();
- BasicSourceCapabilities resultCaps =
CapabilitiesConverter.convertCapabilities(translator, this.connectorId,
translator.isXaCapable());
+ ExecutionFactory<Object, Object> translator = getExecutionFactory();
+ BasicSourceCapabilities resultCaps =
CapabilitiesConverter.convertCapabilities(translator, this.connectorId);
resultCaps.setScope(Scope.SCOPE_GLOBAL);
cachedCapabilities = resultCaps;
return resultCaps;
@@ -255,19 +254,18 @@
* Get the <code>Translator</code> object managed by this manager.
* @return the <code>ExecutionFactory</code>.
*/
- @SuppressWarnings("unused")
- protected ExecutionFactory getExecutionFactory() {
+ protected ExecutionFactory<Object, Object> getExecutionFactory() {
if (this.executionFactory == null) {
try {
InitialContext ic = new InitialContext();
- return (ExecutionFactory)ic.lookup(this.translatorName);
+ return (ExecutionFactory<Object, Object>)ic.lookup(this.translatorName);
} catch (NamingException e) {
}
}
return this.executionFactory;
}
- public void setExecutionFactory(ExecutionFactory ef) {
+ public void setExecutionFactory(ExecutionFactory<Object, Object> ef) {
this.executionFactory = ef;
}
Modified:
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorWorkItem.java
===================================================================
---
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorWorkItem.java 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorWorkItem.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -117,10 +117,7 @@
VDBMetaData vdb = requestMsg.getWorkContext().getVDB();
this.queryMetadata = vdb.getAttachment(QueryMetadataInterface.class);
this.queryMetadata = new TempMetadataAdapter(this.queryMetadata, new
TempMetadataStore());
-
- if (requestMsg.isTransactional() && this.connector.isXaCapable()) {
- this.securityContext.setTransactional(true);
- }
+ this.securityContext.setTransactional(requestMsg.isTransactional());
this.awi = awi;
}
@@ -329,13 +326,13 @@
correctTypes(row);
rows.add(row);
// Check for max result rows exceeded
- if(this.connector.getMaxResultRows() > -1 && this.rowCount >=
this.connector.getMaxResultRows()){
- if (this.rowCount == this.connector.getMaxResultRows() &&
!this.connector.isExceptionOnMaxRows()) {
- LogManager.logDetail(LogConstants.CTX_CONNECTOR, new Object[] {this.id,
"Exceeded max, returning", this.connector.getMaxResultRows()}); //$NON-NLS-1$
+ if(this.requestMsg.getMaxResultRows() > -1 && this.rowCount >=
this.requestMsg.getMaxResultRows()){
+ if (this.rowCount == this.requestMsg.getMaxResultRows() &&
!this.requestMsg.isExceptionOnMaxRows()) {
+ LogManager.logDetail(LogConstants.CTX_CONNECTOR, new Object[] {this.id,
"Exceeded max, returning", this.requestMsg.getMaxResultRows()}); //$NON-NLS-1$
this.lastBatch = true;
break;
- } else if (this.rowCount > this.connector.getMaxResultRows() &&
this.connector.isExceptionOnMaxRows()) {
- String msg =
DQPPlugin.Util.getString("ConnectorWorker.MaxResultRowsExceed",
this.connector.getMaxResultRows()); //$NON-NLS-1$
+ } else if (this.rowCount > this.requestMsg.getMaxResultRows() &&
this.requestMsg.isExceptionOnMaxRows()) {
+ String msg =
DQPPlugin.Util.getString("ConnectorWorker.MaxResultRowsExceed",
this.requestMsg.getMaxResultRows()); //$NON-NLS-1$
throw new TranslatorException(msg);
}
}
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPConfiguration.java
===================================================================
---
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPConfiguration.java 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPConfiguration.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -37,8 +37,8 @@
static final int DEFAULT_MAX_RESULTSET_CACHE_ENTRIES = 1024;
static final int DEFAULT_QUERY_THRESHOLD = 600;
static final String PROCESS_PLAN_QUEUE_NAME = "QueryProcessorQueue";
//$NON-NLS-1$
- public static final int DEFAULT_MAX_PROCESS_WORKERS = 16;
-
+ public static final int DEFAULT_MAX_PROCESS_WORKERS = 32;
+ public static final int DEFAULT_MAX_SOURCE_ROWS = -1;
private int maxThreads = DEFAULT_MAX_PROCESS_WORKERS;
private int timeSliceInMilli = DEFAULT_PROCESSOR_TIMESLICE;
@@ -53,8 +53,10 @@
private int maxResultSetCacheEntries =
DQPConfiguration.DEFAULT_MAX_RESULTSET_CACHE_ENTRIES;
private boolean useEntitlements = false;
private int queryThresholdInSecs = DEFAULT_QUERY_THRESHOLD;
+ private boolean exceptionOnMaxSourceRows = true;
+ private int maxSourceRows = -1;
- @ManagementProperty(description="Process pool maximum thread count. (default 16)
Increase this value if your load includes a large number of XQueries or if the
system's available processors is larger than 8")
+ @ManagementProperty(description="Process pool maximum thread count. (default 32)
Increase this value if the system's available processors is larger than 8")
public int getMaxThreads() {
return maxThreads;
}
@@ -179,4 +181,30 @@
public String getRuntimeVersion() {
return ApplicationInfo.getInstance().getBuildNumber();
}
+
+ /**
+ * Throw exception if there are more rows in the result set than specified in the
MaxSourceRows setting.
+ * @return
+ */
+ @ManagementProperty(description="Indicates if an exception should be thrown if the
specified value for Maximum Source Rows is exceeded; only up to the maximum rows will be
consumed.")
+ public boolean isExceptionOnMaxSourceRows() {
+ return exceptionOnMaxSourceRows;
+ }
+
+ public void setExceptionOnMaxSourceRows(boolean exceptionOnMaxSourceRows) {
+ this.exceptionOnMaxSourceRows = exceptionOnMaxSourceRows;
+ }
+
+ /**
+ * Maximum source set rows to fetch
+ * @return
+ */
+ @ManagementProperty(description="Maximum rows allowed from a source query. -1
indicates no limit. (default -1)")
+ public int getMaxSourceRows() {
+ return maxSourceRows;
+ }
+
+ public void setMaxSourceRows(int maxSourceRows) {
+ this.maxSourceRows = maxSourceRows;
+ }
}
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 2010-06-14
14:44:05 UTC (rev 2227)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -188,6 +188,9 @@
private int processorTimeslice = DQPConfiguration.DEFAULT_PROCESSOR_TIMESLICE;
private boolean processorDebugAllowed;
+ private int maxSourceRows = DQPConfiguration.DEFAULT_MAX_SOURCE_ROWS;
+ private boolean exceptionOnMaxSourceRows = true;
+
private int chunkSize = Streamable.STREAMING_BATCH_SIZE_IN_BYTES;
private Map<RequestID, RequestWorkItem> requests = new
ConcurrentHashMap<RequestID, RequestWorkItem>();
@@ -321,7 +324,7 @@
request.initialize(requestMsg, bufferManager,
dataTierMgr, transactionService, processorDebugAllowed,
state.tempTableStoreImpl, workContext,
- chunkSize, connectorManagerRepository, this.useEntitlements);
+ connectorManagerRepository, this.useEntitlements);
ResultsFuture<ResultsMessage> resultsFuture = new
ResultsFuture<ResultsMessage>();
RequestWorkItem workItem = new RequestWorkItem(this, requestMsg, request,
resultsFuture.getResultsReceiver(), requestID, workContext);
@@ -635,6 +638,8 @@
this.maxCodeRecords = config.getCodeTablesMaxRows();
this.useEntitlements = config.useEntitlements();
this.queryThreshold = config.getQueryThresholdInSecs();
+ this.maxSourceRows = config.getMaxSourceRows();
+ this.exceptionOnMaxSourceRows = config.isExceptionOnMaxSourceRows();
this.chunkSize = config.getLobChunkSizeInKB() * 1024;
@@ -819,4 +824,13 @@
public ConnectorManagerRepository getConnectorManagerRepository() {
return this.connectorManagerRepository;
}
+
+ public boolean isExceptionOnMaxSourceRows() {
+ return exceptionOnMaxSourceRows;
+ }
+
+ public int getMaxSourceRows() {
+ return maxSourceRows;
+ }
+
}
\ No newline at end of file
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 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -182,12 +182,12 @@
for (Procedure proc : schema.getProcedures().values()) {
for (ProcedureParameter param : proc.getParameters()) {
rows.add(Arrays.asList(vdbName, proc.getParent().getName(), proc.getName(),
param.getName(), param.getDatatype().getRuntimeTypeName(), param.getPosition(),
param.getType().toString(), param.isOptional(),
- param.getPrecision(), param.getLength(), param.getScale(), param.getRadix(),
param.getNullType().toString(), param.getUUID()));
+ param.getPrecision(), param.getLength(), param.getScale(), param.getRadix(),
param.getNullType().toString(), param.getUUID(), param.getAnnotation()));
}
if (proc.getResultSet() != null) {
for (Column param : proc.getResultSet().getColumns()) {
rows.add(Arrays.asList(vdbName, proc.getParent().getName(), proc.getName(),
param.getName(), param.getDatatype().getRuntimeTypeName(), param.getPosition(),
"ResultSet", false, //$NON-NLS-1$
- param.getPrecision(), param.getLength(), param.getScale(), param.getRadix(),
param.getNullType().toString(), param.getUUID()));
+ param.getPrecision(), param.getLength(), param.getScale(), param.getRadix(),
param.getNullType().toString(), param.getUUID(), param.getAnnotation()));
}
}
}
@@ -326,6 +326,8 @@
AtomicRequestMessage aqr = new AtomicRequestMessage(request,
workItem.getDqpWorkContext(), nodeID);
aqr.setCommand(command);
aqr.setModelName(modelName);
+ aqr.setMaxResultRows(requestMgr.getMaxSourceRows());
+ aqr.setExceptionOnMaxRows(requestMgr.isExceptionOnMaxSourceRows());
aqr.setPartialResults(request.supportsPartialResults());
if (nodeID >= 0) {
aqr.setTransactionContext(workItem.getTransactionContext());
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java 2010-06-14
14:44:05 UTC (rev 2227)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -126,7 +126,6 @@
protected TransactionContext transactionContext;
protected ConnectorManagerRepository connectorManagerRepo;
- private int chunkSize;
protected Command userCommand;
protected boolean returnsUpdateCount;
@@ -139,7 +138,6 @@
boolean procDebugAllowed,
TempTableStore tempTableStore,
DQPWorkContext workContext,
- int chunckSize,
ConnectorManagerRepository repo,
boolean useEntitlements) {
@@ -154,7 +152,6 @@
idGenerator.setDefaultFactory(new IntegerIDFactory());
this.workContext = workContext;
this.requestId = workContext.getRequestID(this.requestMsg.getExecutionId());
- this.chunkSize = chunckSize;
this.connectorManagerRepo = repo;
this.useEntitlements = useEntitlements;
}
@@ -237,7 +234,6 @@
this.requestMsg.getShowPlan() != ShowPlan.OFF);
this.context.setProcessorBatchSize(bufferManager.getProcessorBatchSize());
this.context.setConnectorBatchSize(bufferManager.getConnectorBatchSize());
- this.context.setStreamingBatchSize(chunkSize);
if (multiSourceModels != null) {
MultiSourcePlanToProcessConverter modifier = new
MultiSourcePlanToProcessConverter(
Modified: trunk/engine/src/main/java/org/teiid/dqp/message/AtomicRequestMessage.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/message/AtomicRequestMessage.java 2010-06-14
14:44:05 UTC (rev 2227)
+++ trunk/engine/src/main/java/org/teiid/dqp/message/AtomicRequestMessage.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -78,6 +78,9 @@
private RequestID requestID;
private Serializable executionPayload;
+ private boolean exceptionOnMaxRows;
+ private int maxRows;
+
private DQPWorkContext workContext;
public AtomicRequestMessage() {
@@ -90,6 +93,22 @@
this.requestID = new RequestID(parent.getSessionId(),
requestMessage.getExecutionId());
this.atomicRequestId = new AtomicRequestID(this.requestID, nodeId,
EXECUTION_COUNT.getAndIncrement());
}
+
+ public int getMaxResultRows() {
+ return maxRows;
+ }
+
+ public void setMaxResultRows(int maxRows) {
+ this.maxRows = maxRows;
+ }
+
+ public boolean isExceptionOnMaxRows() {
+ return exceptionOnMaxRows;
+ }
+
+ public void setExceptionOnMaxRows(boolean exceptionOnMaxRows) {
+ this.exceptionOnMaxRows = exceptionOnMaxRows;
+ }
public AtomicRequestID getAtomicRequestID() {
return this.atomicRequestId;
Modified: trunk/engine/src/main/java/org/teiid/query/rewriter/QueryRewriter.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/rewriter/QueryRewriter.java 2010-06-14
14:44:05 UTC (rev 2227)
+++ trunk/engine/src/main/java/org/teiid/query/rewriter/QueryRewriter.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -134,15 +134,10 @@
import org.teiid.query.sql.symbol.ExpressionSymbol;
import org.teiid.query.sql.symbol.Function;
import org.teiid.query.sql.symbol.GroupSymbol;
-import org.teiid.query.sql.symbol.QueryString;
import org.teiid.query.sql.symbol.Reference;
import org.teiid.query.sql.symbol.ScalarSubquery;
import org.teiid.query.sql.symbol.SearchedCaseExpression;
import org.teiid.query.sql.symbol.SingleElementSymbol;
-import org.teiid.query.sql.symbol.XMLElement;
-import org.teiid.query.sql.symbol.XMLForest;
-import org.teiid.query.sql.symbol.XMLQuery;
-import org.teiid.query.sql.symbol.XMLSerialize;
import org.teiid.query.sql.util.SymbolMap;
import org.teiid.query.sql.util.ValueIterator;
import org.teiid.query.sql.visitor.AggregateSymbolCollectorVisitor;
@@ -1905,17 +1900,9 @@
} else {
expression =
rewriteExpressionDirect(((ExpressionSymbol)expression).getExpression());
}
- } else if (expression instanceof XMLElement) {
+ } else {
rewriteExpressions(expression);
- } else if (expression instanceof XMLForest) {
- rewriteExpressions(expression);
- } else if (expression instanceof XMLSerialize) {
- rewriteExpressions(expression);
- } else if (expression instanceof XMLQuery) {
- rewriteExpressions(expression);
- } else if (expression instanceof QueryString) {
- rewriteExpressions(expression);
- }
+ }
if(dataMgr == null) {
if (!EvaluatableVisitor.isFullyEvaluatable(expression, true)) {
Modified: trunk/engine/src/main/java/org/teiid/query/util/CommandContext.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/util/CommandContext.java 2010-06-14
14:44:05 UTC (rev 2227)
+++ trunk/engine/src/main/java/org/teiid/query/util/CommandContext.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -32,7 +32,6 @@
import org.teiid.api.exception.query.QueryProcessingException;
import org.teiid.common.buffer.BufferManager;
import org.teiid.core.TeiidComponentException;
-import org.teiid.core.types.Streamable;
import org.teiid.core.util.ArgCheck;
import org.teiid.query.QueryPlugin;
import org.teiid.query.eval.SecurityFunctionEvaluator;
@@ -44,7 +43,6 @@
import org.teiid.query.sql.symbol.Expression;
import org.teiid.query.sql.util.VariableContext;
-
/**
* Defines the context that a command is processing in. For example, this defines
* who is processing the command and why. Also, this class (or subclasses) provide
@@ -80,8 +78,6 @@
/** Indicate whether statistics should be collected for relational node
processing*/
private boolean collectNodeStatistics;
- private int streamingBatchSize = Streamable.STREAMING_BATCH_SIZE_IN_BYTES;
-
private Random random = null;
private SecurityFunctionEvaluator securityFunctionEvaluator;
@@ -275,15 +271,6 @@
return this.globalState.collectNodeStatistics;
}
- public int getStreamingBatchSize() {
- return globalState.streamingBatchSize;
- }
-
- public void setStreamingBatchSize(int streamingBatchSize) {
- this.globalState.streamingBatchSize = streamingBatchSize;
- }
-
-
public int getConnectorBatchSize() {
return this.globalState.connectorBatchSize;
}
Modified: trunk/engine/src/main/resources/org/teiid/query/i18n.properties
===================================================================
--- trunk/engine/src/main/resources/org/teiid/query/i18n.properties 2010-06-14 14:44:05
UTC (rev 2227)
+++ trunk/engine/src/main/resources/org/teiid/query/i18n.properties 2010-06-14 15:40:48
UTC (rev 2228)
@@ -904,6 +904,7 @@
ValidationVisitor.one_ordinal=Only one FOR ORDINALITY column is allowed for an XMLTABLE.
ValidationVisitor.invalid_default=XMLTABLE DEFAULT expression is invalid:
"{0}"
ValidationVisitor.context_required=The XQuery requires a context item, but none exists in
the PASSING clause.
+ValidationVisitor.xmlserialize_type=XMLSERIALIZE expects a STRING, CLOB, or BLOB value.
UpdateProcedureResolver.only_variables=Element symbol "{0}" cannot be assigned
a value. Only declared VARIABLES can be assigned values.
wrong_result_type=No results found; or non-XML result object has been produced as a
result of the execution of XQuery expression. Please note that only XML type results are
supported.
MappingLoader.unknown_node_type=Unknown Node Type "{0}" being loaded by the XML
mapping document.
Modified: trunk/metadata/src/main/resources/System.vdb
===================================================================
(Binary files differ)
Modified: trunk/runtime/src/main/java/org/teiid/deployers/VDBDeployer.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/deployers/VDBDeployer.java 2010-06-14 14:44:05
UTC (rev 2227)
+++ trunk/runtime/src/main/java/org/teiid/deployers/VDBDeployer.java 2010-06-14 15:40:48
UTC (rev 2228)
@@ -166,7 +166,7 @@
}
private void createConnectorManagers(final VDBMetaData deployment) throws
DeploymentException {
- IdentityHashMap<Translator, ExecutionFactory> map = new
IdentityHashMap<Translator, ExecutionFactory>();
+ IdentityHashMap<Translator, ExecutionFactory<Object, Object>> map = new
IdentityHashMap<Translator, ExecutionFactory<Object, Object>>();
for (Model model:deployment.getModels()) {
if (model.getName().equals(CoreConstants.SYSTEM_MODEL)){
@@ -183,7 +183,7 @@
throw new
DeploymentException(RuntimePlugin.Util.getString("translator_not_found", name));
//$NON-NLS-1$
}
- ExecutionFactory ef = map.get(translator);
+ ExecutionFactory<Object, Object> ef = map.get(translator);
if ( ef == null) {
ef = TranslatorUtil.buildExecutionFactory(translator);
map.put(translator, ef);
Modified:
trunk/test-integration/common/src/test/java/org/teiid/jdbc/AbstractMMQueryTestCase.java
===================================================================
---
trunk/test-integration/common/src/test/java/org/teiid/jdbc/AbstractMMQueryTestCase.java 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/test-integration/common/src/test/java/org/teiid/jdbc/AbstractMMQueryTestCase.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -86,14 +86,4 @@
closeConnection();
}
- protected void checkResult(String testName, ResultSet actualResults, String
testsuite) throws Exception {
- ResultSetMetaData resultMetadata = actualResults.getMetaData();
-
- String metafilename = UnitTestUtil.getTestDataPath() +
File.separator+testsuite+File.separator + "expected" + File.separator+
testName.substring(4) + ".metadata.txt"; //$NON-NLS-1$ //$NON-NLS-2$
- assertResultsSetMetadataEquals(resultMetadata, new File(metafilename));
-
- String filename = UnitTestUtil.getTestDataPath() +
File.separator+testsuite+File.separator + "expected" + File.separator+
testName.substring(4) + ".txt"; //$NON-NLS-1$ //$NON-NLS-2$
- assertResultsSetEquals(actualResults, new File(filename));
- }
-
}
\ No newline at end of file
Modified: trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestCase3473.java
===================================================================
---
trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestCase3473.java 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/test-integration/common/src/test/java/org/teiid/jdbc/TestCase3473.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -33,6 +33,7 @@
/**
*/
+@SuppressWarnings("nls")
public class TestCase3473 {
private DatabaseMetaData dbmd;
@@ -42,7 +43,7 @@
@Before public void setUp() throws Exception {
FakeServer server = new FakeServer();
server.deployVDB("test", UnitTestUtil.getTestDataPath() +
"/TestCase3473/test.vdb");
- Connection conn = server.createConnection("jdbc:teiid:test");
//$NON-NLS-1$ //$NON-NLS-2$
+ Connection conn = server.createConnection("jdbc:teiid:test");
//$NON-NLS-1$
dbmd = conn.getMetaData();
}
Modified:
trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestSystemVirtualModel.java
===================================================================
---
trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestSystemVirtualModel.java 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/test-integration/common/src/test/java/org/teiid/systemmodel/TestSystemVirtualModel.java 2010-06-14
15:40:48 UTC (rev 2228)
@@ -28,6 +28,7 @@
import org.teiid.core.util.UnitTestUtil;
import org.teiid.jdbc.AbstractMMQueryTestCase;
import org.teiid.jdbc.FakeServer;
+import org.teiid.jdbc.TestMMDatabaseMetaData;
/**
@@ -66,7 +67,7 @@
protected void checkResult(String testName, String query) throws Exception {
execute(query);
- super.checkResult(testName, this.internalResultSet, "system");
//$NON-NLS-1$
+ TestMMDatabaseMetaData.compareResultSet("TestSystemVirtualModel/" +
testName, this.internalResultSet);
}
@Test public void testModels() throws Exception {
Modified:
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetColumns.expected 2010-06-14
15:40:48 UTC (rev 2228)
@@ -440,6 +440,7 @@
QT_Ora9DS SYS
ProcedureParams
Radix 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 12
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
ProcedureParams
NullType 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 13
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
ProcedureParams
UID 12
string 50
<null> 0
10 1 <null>
<null>
<null> <null>
50 14
NO <null>
<null>
<null> !
<null>
NO
+QT_Ora9DS SYS
ProcedureParams
Description 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 15
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
Procedures
VDBName 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
Procedures
SchemaName 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 2
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS SYS
Procedures
Name 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
@@ -971,7 +972,7 @@
QT_Ora9DS XQT
xqtFullData
BigIntegerValue 2
biginteger 19
<null> 0
10 1 <null>
<null>
<null> <null>
28 15
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS XQT
xqtFullData
BigDecimalValue 2
bigdecimal 20
<null> 0
10 1 <null>
<null>
<null> <null>
126 16
NO <null>
<null>
<null> !
<null>
NO
QT_Ora9DS XQT
xqtFullData
ObjectValue
2000 object 2048
<null> 0
10 1 <null>
<null>
<null> <null>
2048 17
NO <null>
<null>
<null> !
<null>
NO
-Row Count : 971
+Row Count : 972
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
TABLE_CAT 12 QT_Ora9DS java.lang.String TABLE_CAT
string SYS Columns 255 255 0
false false false false 0 true
true false false
TABLE_SCHEM 12 QT_Ora9DS java.lang.String TABLE_SCHEM
string SYS Columns 255 255 0
false true false true 1 false
true true true
Modified:
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedureColumns.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedureColumns.expected 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/test-integration/common/src/test/resources/TestMMDatabaseMetaData/testGetProcedureColumns.expected 2010-06-14
15:40:48 UTC (rev 2228)
@@ -63,7 +63,7 @@
SCALE 5 QT_Ora9DS java.lang.Short SCALE
short <null> <null> 6 5
0 false false false true 1
false true true true
RADIX 4 QT_Ora9DS java.lang.Integer RADIX
integer SYS ProcedureParams 11 10 0
false false false false 0 true
true false false
NULLABLE 4 QT_Ora9DS java.lang.Integer NULLABLE
integer <null> <null> 11 10
0 false false false true 1
false true true true
-REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string SYS ProcedureParams 255 255 0
false true false true 1
false true true true
COLUMN_DEF 12 QT_Ora9DS java.lang.String COLUMN_DEF
string <null> <null> 4000 4000
0 false false false true 1
false true true true
SQL_DATA_TYPE 12 QT_Ora9DS java.lang.String SQL_DATA_TYPE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
SQL_DATETIME_SUB 12 QT_Ora9DS java.lang.String SQL_DATETIME_SUB
string <null> <null> 4000 4000
0 false false false true 1
false true true true
@@ -87,7 +87,7 @@
SCALE 5 QT_Ora9DS java.lang.Short SCALE
short <null> <null> 6 5
0 false false false true 1
false true true true
RADIX 4 QT_Ora9DS java.lang.Integer RADIX
integer SYS ProcedureParams 11 10 0
false false false false 0 true
true false false
NULLABLE 4 QT_Ora9DS java.lang.Integer NULLABLE
integer <null> <null> 11 10
0 false false false true 1
false true true true
-REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string SYS ProcedureParams 255 255 0
false true false true 1
false true true true
COLUMN_DEF 12 QT_Ora9DS java.lang.String COLUMN_DEF
string <null> <null> 4000 4000
0 false false false true 1
false true true true
SQL_DATA_TYPE 12 QT_Ora9DS java.lang.String SQL_DATA_TYPE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
SQL_DATETIME_SUB 12 QT_Ora9DS java.lang.String SQL_DATETIME_SUB
string <null> <null> 4000 4000
0 false false false true 1
false true true true
@@ -111,7 +111,7 @@
SCALE 5 QT_Ora9DS java.lang.Short SCALE
short <null> <null> 6 5
0 false false false true 1
false true true true
RADIX 4 QT_Ora9DS java.lang.Integer RADIX
integer SYS ProcedureParams 11 10 0
false false false false 0 true
true false false
NULLABLE 4 QT_Ora9DS java.lang.Integer NULLABLE
integer <null> <null> 11 10
0 false false false true 1
false true true true
-REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+REMARKS 12 QT_Ora9DS java.lang.String REMARKS
string SYS ProcedureParams 255 255 0
false true false true 1
false true true true
COLUMN_DEF 12 QT_Ora9DS java.lang.String COLUMN_DEF
string <null> <null> 4000 4000
0 false false false true 1
false true true true
SQL_DATA_TYPE 12 QT_Ora9DS java.lang.String SQL_DATA_TYPE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
SQL_DATETIME_SUB 12 QT_Ora9DS java.lang.String SQL_DATETIME_SUB
string <null> <null> 4000 4000
0 false false false true 1
false true true true
Modified:
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testColumns.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testColumns.expected 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testColumns.expected 2010-06-14
15:40:48 UTC (rev 2228)
@@ -96,6 +96,7 @@
PartsSupplier SYS
ProcedureParams
Radix 4
integer 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 12
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
ProcedureParams
NullType 12
string 10
<null> 0
10 0 <null>
<null>
<null> <null>
10 13
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
ProcedureParams
UID 12
string 50
<null> 0
10 1 <null>
<null>
<null> <null>
50 14
NO <null>
<null>
<null> !
<null>
NO
+PartsSupplier SYS
ProcedureParams
Description 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 15
NO <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Procedures
VDBName 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Procedures
SchemaName 12
string 255
<null> 0
10 1 <null>
<null>
<null> <null>
255 2
NO <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
Procedures
Name 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 3
YES <null>
<null>
<null> !
<null>
NO
@@ -140,7 +141,7 @@
PartsSupplier SYS
Tables
IsMaterialized -7
boolean 1
<null> 0
10 0 <null>
<null>
<null> <null>
0 12
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
VirtualDatabases
Name 12
string 255
<null> 0
10 0 <null>
<null>
<null> <null>
255 1
YES <null>
<null>
<null> !
<null>
NO
PartsSupplier SYS
VirtualDatabases
Version 12
string 50
<null> 0
10 0 <null>
<null>
<null> <null>
50 2
YES <null>
<null>
<null> !
<null>
NO
-Row Count : 140
+Row Count : 141
getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
TABLE_CAT 12 PartsSupplier java.lang.String TABLE_CAT
string SYS Columns 255 255 0
false false false false 0 true
true false false
TABLE_SCHEM 12 PartsSupplier java.lang.String TABLE_SCHEM
string SYS Columns 255 255 0
false true false true 1 false
true true true
Modified:
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testProcedureColumns.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testProcedureColumns.expected 2010-06-14
14:44:05 UTC (rev 2227)
+++
trunk/test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testProcedureColumns.expected 2010-06-14
15:40:48 UTC (rev 2228)
@@ -22,7 +22,7 @@
SCALE 5 PartsSupplier java.lang.Short SCALE
short <null> <null> 6 5
0 false false false true 1
false true true true
RADIX 4 PartsSupplier java.lang.Integer RADIX
integer SYS ProcedureParams 11 10 0
false false false false 0 true
true false false
NULLABLE 4 PartsSupplier java.lang.Integer NULLABLE
integer <null> <null> 11 10
0 false false false true 1
false true true true
-REMARKS 12 PartsSupplier java.lang.String REMARKS
string <null> <null> 4000 4000
0 false false false true 1
false true true true
+REMARKS 12 PartsSupplier java.lang.String REMARKS
string SYS ProcedureParams 255 255 0
false true false true 1
false true true true
COLUMN_DEF 12 PartsSupplier java.lang.String COLUMN_DEF
string <null> <null> 4000 4000
0 false false false true 1
false true true true
SQL_DATA_TYPE 12 PartsSupplier java.lang.String SQL_DATA_TYPE
string <null> <null> 4000 4000
0 false false false true 1
false true true true
SQL_DATETIME_SUB 12 PartsSupplier java.lang.String SQL_DATETIME_SUB
string <null> <null> 4000 4000
0 false false false true 1
false true true true
Added:
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testColumns.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testColumns.expected
(rev 0)
+++
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testColumns.expected 2010-06-14
15:40:48 UTC (rev 2228)
@@ -0,0 +1,173 @@
+string string
string
string
integer string string
integer integer boolean
boolean boolean boolean boolean boolean boolean
string string string
string string
string
string integer
integer integer string !
string
+VDBName SchemaName
TableName
Name
Position NameInSource DataType
Scale Length
IsLengthFixed SupportsSelect SupportsUpdates IsCaseSensitive IsSigned IsCurrency
IsAutoIncremented NullType MinRange
MaxRange SearchType Format
DefaultValue
JavaClass
Precision CharOctetLength Radix UID
!
Description
+PartsSupplier SYS
DataTypes
BaseType 17
<null> string
0 64 true
true false true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
64 64 10
mmuuid:03beb57c-968b-4821-a6ae-cb1154cfadee !
<null>
+PartsSupplier SYS
Tables
Cardinality 9
<null> integer
0 10 false
true false true true false false
No Nulls <null>
<null> All Except Like
<null> <null>
java.lang.Integer
10 10 10
mmuuid:24cdad3a-e8f7-4376-bb32-79f8bc8eeed2 !
<null>
+PartsSupplier SYS
Columns
CharOctetLength 25
<null> integer
0 10 true
true false false false false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.Integer
10 10 10
mmuuid:de5def94-2804-4c91-91ed-26d630ce8afe !
<null>
+PartsSupplier SYS
ReferenceKeyColumns
DEFERRABILITY 14
<null> integer
0 10 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.Integer
10 10 10
mmuuid:88380f55-2cbd-4325-b9a3-9dcaa88a690e !
<null>
+PartsSupplier SYS
ReferenceKeyColumns
DELETE_RULE 11
<null> integer
0 10 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.Integer
10 10 10
mmuuid:9207f4df-a5ce-43bd-b3b2-fee57e459849 !
<null>
+PartsSupplier SYS
Columns
DataType 7
<null> string
0 100 true
true false true true false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
100 100 10
mmuuid:9a8dc0d5-e65c-4032-a066-187f8d2e73ea !
<null>
+PartsSupplier SYS
ProcedureParams
DataType 5
<null> string
0 25 true
true false true true false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
25 25 10
mmuuid:207a09af-65b8-405f-b1cb-537bc8632fa4 !
<null>
+PartsSupplier SYS
Columns
DefaultValue 22
<null> string
0 255 true
true false false false false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:7e853988-356b-4c7c-83d4-a9f015bff279 !
<null>
+PartsSupplier SYS
Columns
Description 28
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:74d73b53-b723-419e-9fea-de56408409ee !
<null>
+PartsSupplier SYS
DataTypes
Description 18
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:b7d95ef6-63a3-441c-8de5-c98e2e577ea3 !
<null>
+PartsSupplier SYS
Keys
Description 5
<null> string
0 255 true
true false false false false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:175e21b2-24c3-4677-a253-6d7cdb513a9a !
<null>
+PartsSupplier SYS
ProcedureParams
Description 15
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
0 255 10
mmuuid:05ac4703-5c2c-4410-93b7-19b39d90c803 !
<null>
+PartsSupplier SYS
Procedures
Description 7
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
225 255 10
mmuuid:fa0b5db7-acb1-4975-8410-d5d27df46040 !
<null>
+PartsSupplier SYS
Schemas
Description 5
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:1cb99300-a527-4a26-b4e6-08ebd92a781d !
<null>
+PartsSupplier SYS
Tables
Description 10
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:51605e41-5cb0-40ca-8c4a-4eca52780afc !
<null>
+PartsSupplier SYS
ReferenceKeyColumns
FKCOLUMN_NAME 8
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:f4b2b32c-e411-45e6-a236-fec4718f0874 !
<null>
+PartsSupplier SYS
ReferenceKeyColumns
FKTABLE_CAT 5
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
1 255 10
mmuuid:a0095da3-1258-44dc-bab9-33eacf886a28 !
<null>
+PartsSupplier SYS
ReferenceKeyColumns
FKTABLE_NAME 7
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:53284aaa-4c07-4930-8a0e-5e2aaa2da5cb !
<null>
+PartsSupplier SYS
ReferenceKeyColumns
FKTABLE_SCHEM 6
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:93a35adf-b6b1-4d9c-bdef-d336a84f478e !
<null>
+PartsSupplier SYS
ReferenceKeyColumns
FK_NAME 12
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:a9ca7516-6898-419d-b1ad-7d174d946d07 !
<null>
+PartsSupplier SYS
Columns
Format 21
<null> string
0 255 true
true false false false false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:172b133e-5bf1-4020-953c-de4446b1e64a !
<null>
+PartsSupplier SYS
Columns
IsAutoIncremented 16
<null> boolean
0 1 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Boolean
1 1 10
mmuuid:0d41e284-f274-4fd1-8576-7696f4b758d0 !
<null>
+PartsSupplier SYS
DataTypes
IsAutoIncremented 10
<null> boolean
0 1 true
true false true true false false
No Nulls <null>
<null> Searchable
<null> ('0')
java.lang.Boolean
1 1 10
mmuuid:2a1568e2-776a-474b-981f-040a6ad63361 !
<null>
+PartsSupplier SYS
Columns
IsCaseSensitive 13
<null> boolean
0 1 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Boolean
1 1 10
mmuuid:21ee166a-b462-41a1-b88d-dc79f63d6e17 !
<null>
+PartsSupplier SYS
DataTypes
IsCaseSensitive 11
<null> boolean
0 1 true
true false true false false false
No Nulls <null>
<null> Searchable
<null> ('0')
java.lang.Boolean
1 1 10
mmuuid:1468aaf2-6481-4d10-9554-44d0363fe571 !
<null>
+PartsSupplier SYS
Columns
IsCurrency 15
<null> boolean
0 1 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Boolean
1 1 10
mmuuid:b28a2963-36e0-4b4a-a8f8-a2c06f2b440a !
<null>
+PartsSupplier SYS
Keys
IsIndexed 8
<null> boolean
0 1 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Boolean
1 1 10
mmuuid:ea96cb7c-2dcf-453c-b83a-1aaa921d8f92 !
<null>
+PartsSupplier SYS
Columns
IsLengthFixed 10
<null> boolean
0 1 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Boolean
1 1 10
mmuuid:571aa4ce-3254-4a2b-aa48-1cb23a0c47ed !
<null>
+PartsSupplier SYS
Tables
IsMaterialized 12
<null> boolean
0 0 false
true true false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Boolean
0 0 10
mmuuid:89265cba-ab85-48c2-960a-a5a9594ba6d0 !
<null>
+PartsSupplier SYS
DataTypes
IsPhysical 3
<null> boolean
0 1 true
true false true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.Boolean
1 1 10
mmuuid:983714a2-bd0b-4fad-b4e8-dfb7832e9c4b !
<null>
+PartsSupplier SYS
Schemas
IsPhysical 3
<null> boolean
0 1 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Boolean
1 1 10
mmuuid:bab257d7-cced-4605-9b40-8ca6c078aca7 !
<null>
+PartsSupplier SYS
Tables
IsPhysical 6
<null> boolean
0 1 true
true false true false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Boolean
1 1 10
mmuuid:e27712f6-a0a6-452e-848d-9de77691e939 !
<null>
+PartsSupplier SYS
Columns
IsSigned 14
<null> boolean
0 1 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Boolean
1 1 10
mmuuid:36be2afa-8ebc-4af8-acc5-a887cf2b5a86 !
<null>
+PartsSupplier SYS
DataTypes
IsSigned 9
<null> boolean
0 1 true
true false true false false false
No Nulls <null>
<null> Searchable
<null> ('0')
java.lang.Boolean
1 1 10
mmuuid:235cea48-b2b9-41d5-b296-8ab9c649b6e7 !
<null>
+PartsSupplier SYS
DataTypes
IsStandard 2
<null> boolean
0 1 true
true false true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.Boolean
1 1 10
mmuuid:02f27c5d-af55-4677-b91b-8690793671b2 !
<null>
+PartsSupplier SYS
Tables
IsSystem 11
<null> boolean
0 1 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.Boolean
1 1 10
mmuuid:9fa7987c-7dc8-4102-9cc0-5658d5b46382 !
<null>
+PartsSupplier SYS
Columns
JavaClass 23
<null> string
0 500 true
true false true false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
500 500 10
mmuuid:6b8d5df5-7bd2-425c-8b2b-e427e026ef66 !
<null>
+PartsSupplier SYS
DataTypes
JavaClass 5
<null> string
0 500 true
true false true false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
500 500 10
mmuuid:4c68ef90-8042-44ab-896a-bb3890a8fe04 !
<null>
+PartsSupplier SYS
ReferenceKeyColumns
KEY_SEQ 9
<null> short
0 5 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.Short
5 5 10
mmuuid:4884ac83-84ed-4b67-9f1a-bd79c0199269 !
<null>
+PartsSupplier SYS
KeyColumns
KeyName 5
<null> string
0 255 true
true false false false false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:da4bef58-83f4-4b88-8bb0-2dc8990be539 !
<null>
+PartsSupplier SYS
KeyColumns
KeyType 6
<null> string
0 20 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
20 20 10
mmuuid:df9e15e6-ab77-486d-bfe0-0adc378aa99d !
<null>
+PartsSupplier SYS
Columns
Length 9
<null> integer
0 10 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Integer
10 10 10
mmuuid:b36ea0f6-cbff-4049-bc9c-8ec9928be048 !
<null>
+PartsSupplier SYS
Columns
MaxRange 19
<null> string
0 50 true
true false false false false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
50 50 10
mmuuid:0b0df4a5-7de5-4315-94f7-22c84958302e !
<null>
+PartsSupplier SYS
Columns
MinRange 18
<null> string
0 50 true
true false false false false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
50 50 10
mmuuid:dba0f97d-fab5-45f6-a1eb-3459ab3fcc74 !
<null>
+PartsSupplier SYS
Columns
Name 4
<null> string
0 255 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:d1f44a6d-3e39-4251-b873-1280c2b035b3 !
<null>
+PartsSupplier SYS
DataTypes
Name 1
<null> string
0 100 true
true false true true false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
100 100 10
mmuuid:17f7de33-e6f0-4b9c-b55e-a87f6b7bb9b3 !
<null>
+PartsSupplier SYS
KeyColumns
Name 4
<null> string
0 255 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:08bda0c7-5f66-4fed-8285-d74b63eeb0e2 !
<null>
+PartsSupplier SYS
Keys
Name 4
<null> string
0 255 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:149de302-2107-45ca-839d-fc0dd1e7d7f4 !
<null>
+PartsSupplier SYS
ProcedureParams
Name 4
<null> string
0 255 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:2bf20c6f-5a95-436d-8f30-a24d164e77a4 !
<null>
+PartsSupplier SYS
Procedures
Name 3
<null> string
0 255 true
true false true false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:bd17e98a-c40a-43b1-93ac-88d62937c051 !
<null>
+PartsSupplier SYS
Properties
Name 1
<null> string
0 255 true
true false true true false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:ba007c56-04b6-4981-ab89-3fdd33ff0de8 !
<null>
+PartsSupplier SYS
Schemas
Name 2
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
0 255 10
mmuuid:654112f8-bb4c-4453-9e4d-f3a96fba61ec !
<null>
+PartsSupplier SYS
Tables
Name 3
<null> string
0 255 true
true false true false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:ef487cc2-1214-439c-af6e-da431df00d2c !
<null>
+PartsSupplier SYS
VirtualDatabases
Name 1
<null> string
0 255 true
true false true false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:42fa1249-8b24-4aae-a252-0a347db6ec30 !
<null>
+PartsSupplier SYS
Columns
NameInSource 6
<null> string
0 255 true
true false false false false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:fac72c6e-41dc-4a1b-8af3-f0796690d9cc !
<null>
+PartsSupplier SYS
Keys
NameInSource 6
<null> string
0 255 true
true false false false false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:a52a6169-99e0-4b7e-9dc6-3a93ffa6094a !
<null>
+PartsSupplier SYS
Procedures
NameInSource 4
<null> string
0 255 true
true false false false false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:a4e7a0fd-c340-49a9-9ac0-8328caaffda8 !
<null>
+PartsSupplier SYS
Tables
NameInSource 5
<null> string
0 255 true
true false true false false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:1f036fb0-b841-450c-8462-986cdd57e921 !
<null>
+PartsSupplier SYS
Columns
NullType 17
<null> string
0 20 true
true false true false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
20 20 10
mmuuid:4d83bdbb-a7ce-44cc-a201-021a517d3c1a !
<null>
+PartsSupplier SYS
DataTypes
NullType 8
<null> string
0 20 true
true false true false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
20 20 10
mmuuid:278b0534-1164-495e-a8c6-de45e0ff53a4 !
<null>
+PartsSupplier SYS
ProcedureParams
NullType 13
<null> string
0 10 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
10 10 10
mmuuid:d887c203-6bf5-462b-b2f0-f5302e2f4bcd !
<null>
+PartsSupplier SYS
ProcedureParams
Optional 8
<null> boolean
0 1 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Boolean
1 1 10
mmuuid:4033f891-5ef5-4a75-8a50-bd1d021e43ad !
<null>
+PartsSupplier PartsSupplier
PARTSSUPPLIER.PARTS
PART_COLOR 3
PART_COLOR string
0 30 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
0 30 10
mmuuid:015c0d00-73ff-1edc-a81c-ecf397b10590 !
<null>
+PartsSupplier PartsSupplier
PARTSSUPPLIER.PARTS
PART_ID 1
PART_ID string
0 4 true
true true true true false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
0 4 10
mmuuid:fadcd7c0-73fe-1edc-a81c-ecf397b10590 !
<null>
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
PART_ID 2
PART_ID string
0 4 true
true true true true false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
0 4 10
mmuuid:3fc400c0-73ff-1edc-a81c-ecf397b10590 !
<null>
+PartsSupplier PartsSupplier
PARTSSUPPLIER.PARTS
PART_NAME 2
PART_NAME string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
0 255 10
mmuuid:0067e900-73ff-1edc-a81c-ecf397b10590 !
<null>
+PartsSupplier PartsSupplier
PARTSSUPPLIER.PARTS
PART_WEIGHT 4
PART_WEIGHT string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
0 255 10
mmuuid:015c0d01-73ff-1edc-a81c-ecf397b10590 !
<null>
+PartsSupplier SYS
ReferenceKeyColumns
PKCOLUMN_NAME 4
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:0125a80a-95f9-486f-aa90-debb21cb5f1b !
<null>
+PartsSupplier SYS
ReferenceKeyColumns
PKTABLE_CAT 1
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
1 255 10
mmuuid:f615a661-2c36-4ab1-b72b-5e13e99e052c !
<null>
+PartsSupplier SYS
ReferenceKeyColumns
PKTABLE_NAME 3
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:6d420bc2-0f85-4da9-833d-d71b428b0743 !
<null>
+PartsSupplier SYS
ReferenceKeyColumns
PKTABLE_SCHEM 2
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:ef7b3b79-fb51-42ef-a723-080ed0a6e3bc !
<null>
+PartsSupplier SYS
ReferenceKeyColumns
PK_NAME 13
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:ac210a6d-4de6-4d71-aa9b-e3d34baca81a !
<null>
+PartsSupplier SYS
Columns
Position 5
<null> integer
0 10 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Integer
10 10 10
mmuuid:dbc8cd09-1b47-43c5-82ec-aba525b85cc4 !
<null>
+PartsSupplier SYS
KeyColumns
Position 9
<null> integer
0 10 true
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.Integer
10 10 10
mmuuid:92a4849c-ed0e-4f5f-a108-d7d71a5aba25 !
<null>
+PartsSupplier SYS
ProcedureParams
Position 6
<null> integer
0 10 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Integer
10 10 10
mmuuid:5fdefd17-65f4-4350-9ee0-0ed3c34d10ae !
<null>
+PartsSupplier SYS
Columns
Precision 24
<null> integer
0 10 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Integer
10 10 10
mmuuid:db3d49e2-fe1d-438b-8d07-847bf58506ab !
<null>
+PartsSupplier SYS
DataTypes
Precision 12
<null> integer
0 10 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Integer
10 10 10
mmuuid:8673c810-7162-4331-ba0b-6fc3530d2d1c !
<null>
+PartsSupplier SYS
ProcedureParams
Precision 9
<null> integer
0 10 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Integer
10 10 10
mmuuid:00fe7cad-0a83-42f0-90f2-d6a9584916b2 !
<null>
+PartsSupplier SYS
Schemas
PrimaryMetamodelURI 6
<null> string
0 255 false
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:eadfaba5-ce44-4529-816f-6af94666baec !
<null>
+PartsSupplier SYS
ProcedureParams
ProcedureName 3
<null> string
0 255 true
true false true false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:8081b3a6-fc79-42fd-b7c9-a19d682a1658 !
<null>
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
QUANTITY 3
QUANTITY short
0 0 true
true true false true false false
Nullable <null>
<null> All Except Like
<null> <null>
java.lang.Short
3 0 10
mmuuid:3fc400c1-73ff-1edc-a81c-ecf397b10590 !
<null>
+PartsSupplier SYS
Columns
Radix 26
<null> integer
0 10 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Integer
10 10 10
mmuuid:43a6124c-972f-4c4c-af05-24080c2a8ad7 !
<null>
+PartsSupplier SYS
DataTypes
Radix 13
<null> integer
0 10 true
true false false false false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.Integer
10 10 10
mmuuid:967ab8fd-3226-4a78-8cf2-2eb7fbf2981a !
<null>
+PartsSupplier SYS
ProcedureParams
Radix 12
<null> integer
0 10 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Integer
10 10 10
mmuuid:8df37c99-3b12-4789-8128-4aa496f895c4 !
<null>
+PartsSupplier SYS
KeyColumns
RefKeyUID 7
<null> string
0 50 true
true false false false false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
50 50 10
mmuuid:aafbdf50-25aa-427b-b322-7cb36094a1e2 !
<null>
+PartsSupplier SYS
Keys
RefKeyUID 9
<null> string
0 50 true
true false false false false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
50 50 10
mmuuid:1cf4c5ad-5932-47ec-8593-385b75bfeba8 !
<null>
+PartsSupplier SYS
Procedures
ReturnsResults 5
<null> boolean
0 1 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Boolean
1 1 10
mmuuid:b01164c8-dd10-410d-a91b-fcb2fc0450ce !
<null>
+PartsSupplier SYS
DataTypes
RuntimeType 16
<null> string
0 64 true
true false true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
64 64 10
mmuuid:3c7bc9d0-b73f-49a0-b9ab-dc97a4d2a124 !
<null>
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SHIP_VIA
SHIPPER_ID 1
SHIPPER_ID short
0 0 true
true true false true false false
No Nulls <null>
<null> All Except Like
<null> <null>
java.lang.Short
2 0 10
mmuuid:121bc540-73ff-1edc-a81c-ecf397b10590 !
<null>
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
SHIPPER_ID 4
SHIPPER_ID short
0 0 true
true true false true false false
Nullable <null>
<null> All Except Like
<null> <null>
java.lang.Short
2 0 10
mmuuid:3fc400c2-73ff-1edc-a81c-ecf397b10590 !
<null>
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SHIP_VIA
SHIPPER_NAME 2
SHIPPER_NAME string
0 30 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
0 30 10
mmuuid:130fe940-73ff-1edc-a81c-ecf397b10590 !
<null>
+PartsSupplier PartsSupplier
PARTSSUPPLIER.STATUS
STATUS_ID 1
STATUS_ID short
0 0 true
true true false true false false
No Nulls <null>
<null> All Except Like
<null> <null>
java.lang.Short
2 0 10
mmuuid:201d9600-73ff-1edc-a81c-ecf397b10590 !
<null>
+PartsSupplier PartsSupplier
PARTSSUPPLIER.STATUS
STATUS_NAME 2
STATUS_NAME string
0 30 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
0 30 10
mmuuid:201d9601-73ff-1edc-a81c-ecf397b10590 !
<null>
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
SUPPLIER_CITY 4
SUPPLIER_CITY string
0 30 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
0 30 10
mmuuid:2fe92a40-73ff-1edc-a81c-ecf397b10590 !
<null>
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
SUPPLIER_ID 1
SUPPLIER_ID string
0 10 false
true true true true false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
0 10 10
mmuuid:3ecfdcc0-73ff-1edc-a81c-ecf397b10590 !
<null>
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
SUPPLIER_ID 1
SUPPLIER_ID string
0 10 false
true true true true false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
0 10 10
mmuuid:2f044880-73ff-1edc-a81c-ecf397b10590 !
<null>
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
SUPPLIER_NAME 2
SUPPLIER_NAME string
0 30 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
0 30 10
mmuuid:2f044881-73ff-1edc-a81c-ecf397b10590 !
<null>
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
SUPPLIER_STATE 5
SUPPLIER_STATE string
0 2 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
0 2 10
mmuuid:2fe92a41-73ff-1edc-a81c-ecf397b10590 !
<null>
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
SUPPLIER_STATUS 3
SUPPLIER_STATUS short
0 0 true
true true false true false false
Nullable <null>
<null> All Except Like
<null> <null>
java.lang.Short
2 0 10
mmuuid:2f044882-73ff-1edc-a81c-ecf397b10590 !
<null>
+PartsSupplier SYS
Columns
Scale 8
<null> integer
0 10 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Integer
10 10 10
mmuuid:cc6c6113-8d70-40c8-84c0-94e17c14e22e !
<null>
+PartsSupplier SYS
DataTypes
Scale 6
<null> integer
0 10 true
true false false false false false
Nullable <null>
<null> Searchable
<null> (0)
java.lang.Integer
10 10 10
mmuuid:e8655204-e97a-45cd-909b-1e37731e9546 !
<null>
+PartsSupplier SYS
ProcedureParams
Scale 11
<null> integer
0 10 true
true true false false false false
No Nulls <null>
<null> Searchable
<null> (0)
java.lang.Integer
10 10 10
mmuuid:360c8b1d-4b3d-42fd-952c-bf5763cad69e !
<null>
+PartsSupplier SYS
Columns
SchemaName 2
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
0 255 10
mmuuid:859288c9-cd78-4407-90fc-61b5d310e2ab !
<null>
+PartsSupplier SYS
KeyColumns
SchemaName 2
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
0 255 10
mmuuid:787be966-cf12-4956-907f-a8e6dc1009dc !
<null>
+PartsSupplier SYS
Keys
SchemaName 2
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
0 255 10
mmuuid:4a7fc059-208e-4f98-b6ef-cb7c6102a327 !
<null>
+PartsSupplier SYS
ProcedureParams
SchemaName 2
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
0 255 10
mmuuid:88497911-619c-4ca8-b482-8885d940706a !
<null>
+PartsSupplier SYS
Procedures
SchemaName 2
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
0 255 10
mmuuid:53a84865-334e-4750-b343-de2411d56e3e !
<null>
+PartsSupplier SYS
Tables
SchemaName 2
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
0 255 10
mmuuid:95bd960c-fd84-44c9-9831-692376f69b46 !
<null>
+PartsSupplier SYS
Columns
SearchType 20
<null> string
0 20 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
20 20 10
mmuuid:3037138a-bb20-4485-ba01-75bc20b1a532 !
<null>
+PartsSupplier SYS
DataTypes
SearchType 14
<null> string
0 20 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
20 20 10
mmuuid:d8494fa3-40e4-44cd-b0d8-da5c83685a75 !
<null>
+PartsSupplier SYS
Columns
SupportsSelect 11
<null> boolean
0 1 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Boolean
1 1 10
mmuuid:c2a50f93-0040-41ec-ad7b-e8511296555f !
<null>
+PartsSupplier SYS
Columns
SupportsUpdates 12
<null> boolean
0 1 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Boolean
1 1 10
mmuuid:fab660d1-36bf-4a5b-bbe6-9a543e0ebd76 !
<null>
+PartsSupplier SYS
Tables
SupportsUpdates 7
<null> boolean
0 1 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.Boolean
1 1 10
mmuuid:5144d230-2b0e-4255-b321-65b9f6f6f76c !
<null>
+PartsSupplier SYS
Columns
TableName 3
<null> string
0 255 true
true false true false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:2c09c9d1-2f25-45de-81cf-eeb2a5157d34 !
<null>
+PartsSupplier SYS
KeyColumns
TableName 3
<null> string
0 2048 true
true false true false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
2048 2048 10
mmuuid:c24fad72-0c0d-4260-96ae-f188ad77b137 !
<null>
+PartsSupplier SYS
Keys
TableName 3
<null> string
0 2048 true
true false true false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
2048 2048 10
mmuuid:7d9540bd-b51f-4206-8c33-b39c5ba8bb8b !
<null>
+PartsSupplier SYS
Keys
Type 7
<null> string
0 20 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
20 20 10
mmuuid:29e73c18-afec-43a9-81ab-7378d6daf20b !
<null>
+PartsSupplier SYS
ProcedureParams
Type 7
<null> string
0 100 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
100 100 10
mmuuid:76a1981b-1226-4a55-9acf-82a061cc8642 !
<null>
+PartsSupplier SYS
Tables
Type 4
<null> string
0 20 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
20 20 10
mmuuid:4814a0af-4e8f-4f55-9b25-3148d90d3d9b !
<null>
+PartsSupplier SYS
DataTypes
TypeLength 7
<null> integer
0 10 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> (0)
java.lang.Integer
10 10 10
mmuuid:0668382a-f9c3-4507-8b0f-df65a2ebbf2f !
<null>
+PartsSupplier SYS
ProcedureParams
TypeLength 10
<null> integer
0 10 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> (0)
java.lang.Integer
10 10 10
mmuuid:791d7a29-8fc5-4735-9144-1accc114b58e !
<null>
+PartsSupplier SYS
DataTypes
TypeName 4
<null> string
0 100 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
100 100 10
mmuuid:48081cdd-9e90-4440-a956-4a32af96d7f4 !
<null>
+PartsSupplier SYS
Columns
UID 27
<null> string
0 50 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
50 50 10
mmuuid:5f491c75-769b-4908-9f68-2a9a486607bb !
<null>
+PartsSupplier SYS
DataTypes
UID 15
<null> string
0 50 true
true false false true false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
50 50 10
mmuuid:dd57f577-ffc4-4b55-8f7f-355b9ea3ce37 !
<null>
+PartsSupplier SYS
KeyColumns
UID 8
<null> string
0 50 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
50 50 10
mmuuid:0d994a45-4f52-4b79-9b31-7ef22331fee2 !
<null>
+PartsSupplier SYS
Keys
UID 10
<null> string
0 50 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
50 50 10
mmuuid:782218d1-5337-48c6-9070-0aafd4c6cd20 !
<null>
+PartsSupplier SYS
ProcedureParams
UID 14
<null> string
0 50 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
0 50 10
mmuuid:a278de2e-89f1-4281-9e63-54aebb6062ce !
<null>
+PartsSupplier SYS
Procedures
UID 6
<null> string
0 50 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
50 50 10
mmuuid:de9df25a-c886-46e0-ae3a-8eb6792e43f4 !
<null>
+PartsSupplier SYS
Properties
UID 3
<null> string
0 50 true
true false false true false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
50 50 10
mmuuid:b333969a-83e0-4010-9463-9a0088da6c83 !
<null>
+PartsSupplier SYS
Schemas
UID 4
<null> string
0 50 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
50 50 10
mmuuid:ad232e4d-9c01-4d0c-bc57-0459d9db918a !
<null>
+PartsSupplier SYS
Tables
UID 8
<null> string
0 50 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
50 50 10
mmuuid:6afe3737-26f9-43a8-88db-86531b5dc66c !
<null>
+PartsSupplier SYS
ReferenceKeyColumns
UPDATE_RULE 10
<null> integer
0 10 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.Integer
10 10 10
mmuuid:30d5ae74-b19e-4186-97e1-aeff5801e44f !
<null>
+PartsSupplier SYS
Columns
VDBName 1
<null> string
0 255 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:83f19a81-1243-4751-8c99-daddbf37b1d7 !
<null>
+PartsSupplier SYS
KeyColumns
VDBName 1
<null> string
0 255 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:f062eb9c-4854-47fb-b7bd-a4e23c782b62 !
<null>
+PartsSupplier SYS
Keys
VDBName 1
<null> string
0 255 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:5785b523-7da3-42c1-8920-66daa1f7fa1d !
<null>
+PartsSupplier SYS
ProcedureParams
VDBName 1
<null> string
0 255 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:f832f316-2403-43fa-9ccc-c3ab9d38acca !
<null>
+PartsSupplier SYS
Procedures
VDBName 1
<null> string
0 255 true
true false false false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:1d664747-4a95-4605-8b28-381bed3121f1 !
<null>
+PartsSupplier SYS
Schemas
VDBName 1
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
0 255 10
mmuuid:73dbf95b-a283-4f0a-81b9-9b98e09c2906 !
<null>
+PartsSupplier SYS
Tables
VDBName 1
<null> string
0 255 false
true true true true false false
Nullable <null>
<null> Searchable
<null> <null>
java.lang.String
0 255 10
mmuuid:58de905f-9d64-4831-a985-da6d082ff709 !
<null>
+PartsSupplier SYS
Properties
Value 2
<null> string
0 255 true
true false true true false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
255 255 10
mmuuid:c917257d-06b7-41dd-a6cb-44c0ff0f897e !
<null>
+PartsSupplier SYS
VirtualDatabases
Version 2
<null> string
0 50 true
true false true false false false
No Nulls <null>
<null> Searchable
<null> <null>
java.lang.String
50 50 10
mmuuid:c876d749-a512-4810-9910-3034ca524c45 !
<null>
+Row Count : 141
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+VDBName 12 PartsSupplier java.lang.String VDBName
string SYS Columns 255 255 0
false false false false 0 true
true false false
+SchemaName 12 PartsSupplier java.lang.String SchemaName
string SYS Columns 255 255 0
false true false true 1 false
true true true
+TableName 12 PartsSupplier java.lang.String TableName
string SYS Columns 255 255 0
false true false false 0 true
true false false
+Name 12 PartsSupplier java.lang.String Name
string SYS Columns 255 255 0
false false false false 0 true
true false false
+Position 4 PartsSupplier java.lang.Integer Position
integer SYS Columns 11 10 0
false false false false 0 true
true false false
+NameInSource 12 PartsSupplier java.lang.String NameInSource
string SYS Columns 255 255 0
false false false false 1 true
true false false
+DataType 12 PartsSupplier java.lang.String DataType
string SYS Columns 100 100 0
false true false false 0 true
true true false
+Scale 4 PartsSupplier java.lang.Integer Scale
integer SYS Columns 11 10 0
false false false false 0 true
true false false
+Length 4 PartsSupplier java.lang.Integer Length
integer SYS Columns 11 10 0
false false false false 0 true
true false false
+IsLengthFixed -7 PartsSupplier java.lang.Boolean IsLengthFixed
boolean SYS Columns 5 1 0
false false false false 0 true
true false false
+SupportsSelect -7 PartsSupplier java.lang.Boolean SupportsSelect
boolean SYS Columns 5 1 0
false false false false 0 true
true false false
+SupportsUpdates -7 PartsSupplier java.lang.Boolean SupportsUpdates
boolean SYS Columns 5 1 0
false false false false 0 true
true false false
+IsCaseSensitive -7 PartsSupplier java.lang.Boolean IsCaseSensitive
boolean SYS Columns 5 1 0
false false false false 0 true
true false false
+IsSigned -7 PartsSupplier java.lang.Boolean IsSigned
boolean SYS Columns 5 1 0
false false false false 0 true
true false false
+IsCurrency -7 PartsSupplier java.lang.Boolean IsCurrency
boolean SYS Columns 5 1 0
false false false false 0 true
true false false
+IsAutoIncremented -7 PartsSupplier java.lang.Boolean IsAutoIncremented
boolean SYS Columns 5 1 0
false false false false 0 true
true false false
+NullType 12 PartsSupplier java.lang.String NullType
string SYS Columns 20 20 0
false true false false 0 true
true false false
+MinRange 12 PartsSupplier java.lang.String MinRange
string SYS Columns 50 50 0
false false false false 1 true
true false false
+MaxRange 12 PartsSupplier java.lang.String MaxRange
string SYS Columns 50 50 0
false false false false 1 true
true false false
+SearchType 12 PartsSupplier java.lang.String SearchType
string SYS Columns 20 20 0
false false false false 0 true
true false false
+Format 12 PartsSupplier java.lang.String Format
string SYS Columns 255 255 0
false false false false 1 true
true false false
+DefaultValue 12 PartsSupplier java.lang.String DefaultValue
string SYS Columns 255 255 0
false false false false 1 true
true false false
+JavaClass 12 PartsSupplier java.lang.String JavaClass
string SYS Columns 500 500 0
false true false false 0 true
true false false
+Precision 4 PartsSupplier java.lang.Integer Precision
integer SYS Columns 11 10 0
false false false false 0 true
true false false
+CharOctetLength 4 PartsSupplier java.lang.Integer CharOctetLength
integer SYS Columns 11 10 0
false false false false 1 true
true false false
+Radix 4 PartsSupplier java.lang.Integer Radix
integer SYS Columns 11 10 0
false false false false 0 true
true false false
+UID 12 PartsSupplier java.lang.String UID
string SYS Columns 50 50 0
false false false false 0 true
true false false
+Description 12 PartsSupplier java.lang.String Description
string SYS Columns 255 255 0
false true false true 1 false
true true true
Added:
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testDataTypes.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testDataTypes.expected
(rev 0)
+++
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testDataTypes.expected 2010-06-14
15:40:48 UTC (rev 2228)
@@ -0,0 +1,74 @@
+string boolean boolean
string string
integer integer string
boolean boolean boolean integer integer string
string string
string
string
+Name IsStandard IsPhysical
TypeName JavaClass
Scale TypeLength NullType
IsSigned IsAutoIncremented IsCaseSensitive Precision Radix SearchType
UID RuntimeType
BaseType
Description
+ENTITIES false false
ENTITIES java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:20360100-e742-1e20-8c26-a038c6ed7576 string
ENTITY
<null>
+ENTITY false false
ENTITY java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:9fece300-e71a-1e20-8c26-a038c6ed7576 string
NCName
<null>
+ID false false
ID java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:88b13dc0-e702-1e20-8c26-a038c6ed7576 string
NCName
<null>
+IDREF false false
IDREF java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:dd33ff40-e6df-1e20-8c26-a038c6ed7576 string
NCName
<null>
+IDREFS false false
IDREFS java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:3c99f780-e72d-1e20-8c26-a038c6ed7576 string
IDREF
<null>
+NCName false false
NCName java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:ac00e000-e676-1e20-8c26-a038c6ed7576 string
Name
<null>
+NMTOKEN false false
NMTOKEN java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:4ca2ae00-3a95-1e20-921b-eeee28353879 string
token
<null>
+NMTOKENS false false
NMTOKENS java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:4b0f8500-e6a6-1e20-8c26-a038c6ed7576 string
NMTOKEN
<null>
+NOTATION false false
NOTATION java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:3dcaf900-e8dc-1e2a-b433-fb67ea35c07e string
anySimpleType
<null>
+Name false false
Name java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:e66c4600-e65b-1e20-8c26-a038c6ed7576 string
token
<null>
+QName false false
QName java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:eeb5d780-e8c3-1e2a-b433-fb67ea35c07e string
anySimpleType
<null>
+XMLLiteral false false
XMLLiteral
org.teiid.core.types.XMLType 0 0
No Nulls false false false 0 0
Searchable mmuuid:43f5274e-55e1-1f87-ba1c-eea49143eb32 xml
string
<null>
+anyURI false false
anyURI java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:6247ec80-e8a4-1e2a-b433-fb67ea35c07e string
anySimpleType
<null>
+base64Binary false false
base64Binary java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:b4c99380-ebc6-1e2a-9319-8eaa9b2276c7 string
anySimpleType
<null>
+bigdecimal false false
bigdecimal java.math.BigDecimal
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:f2249740-a078-1e26-9b08-d6079ebe1f0d bigdecimal
decimal
<null>
+biginteger false false
biginteger java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:822b9a40-a066-1e26-9b08-d6079ebe1f0d biginteger
decimal
<null>
+blob false false
blob
org.teiid.core.types.BlobType 0 0
No Nulls false false false 0 0
Searchable mmuuid:5a793100-1836-1ed0-ba0f-f2334f5fbf95 blob
base64Binary
<null>
+boolean false false
boolean java.lang.Boolean
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:dc476100-c483-1e24-9b01-c8207cd53eb7 boolean
anySimpleType
<null>
+byte false false
byte java.lang.Byte
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:26dc1cc0-b9c8-1e21-b812-969c8fc8b016 byte
short
<null>
+char false false
char java.lang.Character
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:62472700-a064-1e26-9b08-d6079ebe1f0d char
string
<null>
+clob false false
clob
org.teiid.core.types.ClobType 0 0
No Nulls false false false 0 0
Searchable mmuuid:559646c0-4941-1ece-b22b-f49159d22ad3 clob
string
<null>
+date false false
date java.sql.Date
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:65dcde00-c4ab-1e24-9b01-c8207cd53eb7 date
anySimpleType
<null>
+dateTime false false
dateTime java.sql.Timestamp
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:5c69dec0-b3ea-1e2a-9a03-beb8638ffd21 timestamp
anySimpleType
<null>
+decimal false false
decimal java.math.BigDecimal
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:569dfa00-c456-1e24-9b01-c8207cd53eb7 bigdecimal
anySimpleType
<null>
+double false false
double java.lang.Double
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:1f18b140-c4a3-1e24-9b01-c8207cd53eb7 double
anySimpleType
<null>
+duration false false
duration java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:28d98540-b3e7-1e2a-9a03-beb8638ffd21 string
anySimpleType
<null>
+float false false
float java.lang.Float
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:d86b0d00-c48a-1e24-9b01-c8207cd53eb7 float
anySimpleType
<null>
+gDay false false
gDay java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:860b7dc0-b3f8-1e2a-9a03-beb8638ffd21 biginteger
anySimpleType
<null>
+gMonth false false
gMonth java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:187f5580-b3fb-1e2a-9a03-beb8638ffd21 biginteger
anySimpleType
<null>
+gMonthDay false false
gMonthDay java.sql.Timestamp
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:6e604140-b3f5-1e2a-9a03-beb8638ffd21 timestamp
anySimpleType
<null>
+gYear false false
gYear java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:b02c7600-b3f2-1e2a-9a03-beb8638ffd21 biginteger
anySimpleType
<null>
+gYearMonth false false
gYearMonth java.sql.Timestamp
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:17d08040-b3ed-1e2a-9a03-beb8638ffd21 timestamp
anySimpleType
<null>
+hexBinary false false
hexBinary java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:d9998500-ebba-1e2a-9319-8eaa9b2276c7 string
anySimpleType
<null>
+int false false
int java.lang.Integer
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:33add3c0-b98d-1e21-b812-969c8fc8b016 integer
long
<null>
+integer false false
integer java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:45da3500-e78f-1e20-8c26-a038c6ed7576 biginteger
decimal
<null>
+language false false
language java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:d4d980c0-e623-1e20-8c26-a038c6ed7576 string
token
<null>
+long false false
long java.lang.Long
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:8cdee840-b900-1e21-b812-969c8fc8b016 long
integer
<null>
+negativeInteger false false
negativeInteger java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:86d29280-b8d3-1e21-b812-969c8fc8b016 biginteger
nonPositiveInteger
<null>
+nonNegativeInteger false false
nonNegativeInteger java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:0e081200-b8a4-1e21-b812-969c8fc8b016 biginteger
integer
<null>
+nonPositiveInteger false false
nonPositiveInteger java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:cbdd6e40-b9d2-1e21-8c26-a038c6ed7576 biginteger
integer
<null>
+normalizedString false false
normalizedString java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:4df43700-3b13-1e20-921b-eeee28353879 string
string
<null>
+object false false
object java.lang.Object
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:051a0640-b4e8-1e26-9f33-b76fd9d5fa79 object
base64Binary
<null>
+positiveInteger false false
positiveInteger java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:1cbbd380-b9ea-1e21-b812-969c8fc8b016 biginteger
nonNegativeInteger
<null>
+short false false
short java.lang.Short
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:5bbcf140-b9ae-1e21-b812-969c8fc8b016 short
int
<null>
+string false false
string java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:bf6c34c0-c442-1e24-9b01-c8207cd53eb7 string
anySimpleType
<null>
+time false false
time java.sql.Time
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:3b892180-c4a7-1e24-9b01-c8207cd53eb7 time
anySimpleType
<null>
+timestamp false false
timestamp java.sql.Timestamp
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:6d9809c0-a07e-1e26-9b08-d6079ebe1f0d timestamp
string
<null>
+token false false
token java.lang.String
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:3425cb80-d844-1e20-9027-be6d2c3b8b3a string
normalizedString
<null>
+unsignedByte false false
unsignedByte java.lang.Short
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:cff745c0-baa2-1e21-b812-969c8fc8b016 short
unsignedShort
<null>
+unsignedInt false false
unsignedInt java.lang.Long
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:badcbd80-ba63-1e21-b812-969c8fc8b016 long
unsignedLong
<null>
+unsignedLong false false
unsignedLong java.math.BigInteger
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:54b98780-ba14-1e21-b812-969c8fc8b016 biginteger
nonNegativeInteger
<null>
+unsignedShort false false
unsignedShort java.lang.Integer
0 0 No Nulls
false false false 0 0 Searchable
mmuuid:327093c0-ba88-1e21-b812-969c8fc8b016 integer
unsignedInt
<null>
+Row Count : 52
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+Name 12 PartsSupplier java.lang.String Name
string SYS DataTypes 100 100 0
false true false false 0 true
true true false
+IsStandard -7 PartsSupplier java.lang.Boolean IsStandard
boolean SYS DataTypes 5 1 0
false true false false 1 true
true true false
+IsPhysical -7 PartsSupplier java.lang.Boolean IsPhysical
boolean SYS DataTypes 5 1 0
false true false false 1 true
true true false
+TypeName 12 PartsSupplier java.lang.String TypeName
string SYS DataTypes 100 100 0
false false false false 0 true
true false false
+JavaClass 12 PartsSupplier java.lang.String JavaClass
string SYS DataTypes 500 500 0
false true false false 0 true
true false false
+Scale 4 PartsSupplier java.lang.Integer Scale
integer SYS DataTypes 11 10 0
false false false false 1 true
true false false
+TypeLength 4 PartsSupplier java.lang.Integer TypeLength
integer SYS DataTypes 11 10 0
false false false false 0 true
true false false
+NullType 12 PartsSupplier java.lang.String NullType
string SYS DataTypes 20 20 0
false true false false 0 true
true false false
+IsSigned -7 PartsSupplier java.lang.Boolean IsSigned
boolean SYS DataTypes 5 1 0
false true false false 0 true
true false false
+IsAutoIncremented -7 PartsSupplier java.lang.Boolean IsAutoIncremented
boolean SYS DataTypes 5 1 0
false true false false 0 true
true true false
+IsCaseSensitive -7 PartsSupplier java.lang.Boolean IsCaseSensitive
boolean SYS DataTypes 5 1 0
false true false false 0 true
true false false
+Precision 4 PartsSupplier java.lang.Integer Precision
integer SYS DataTypes 11 10 0
false false false false 0 true
true false false
+Radix 4 PartsSupplier java.lang.Integer Radix
integer SYS DataTypes 11 10 0
false false false false 1 true
true false false
+SearchType 12 PartsSupplier java.lang.String SearchType
string SYS DataTypes 20 20 0
false false false false 0 true
true false false
+UID 12 PartsSupplier java.lang.String UID
string SYS DataTypes 50 50 0
false false false false 0 true
true true false
+RuntimeType 12 PartsSupplier java.lang.String RuntimeType
string SYS DataTypes 64 64 0
false true false false 1 true
true true false
+BaseType 12 PartsSupplier java.lang.String BaseType
string SYS DataTypes 64 64 0
false true false false 1 true
true true false
+Description 12 PartsSupplier java.lang.String Description
string SYS DataTypes 255 255 0
false true false true 1 false
true true true
Added:
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeyColumns.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeyColumns.expected
(rev 0)
+++
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeyColumns.expected 2010-06-14
15:40:48 UTC (rev 2228)
@@ -0,0 +1,22 @@
+string string
string
string
string string
string string
integer
+VDBName SchemaName
TableName
Name
KeyName KeyType
RefKeyUID UID
Position
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
PART_ID
FK_SPLIER_PRTS_PRTS Foreign
mmuuid:07db4240-73ff-1edc-a81c-ecf397b10590
mmuuid:66ddc4c0-73ff-1edc-a81c-ecf397b10590 1
+PartsSupplier PartsSupplier
PARTSSUPPLIER.PARTS
PART_ID
PK_PARTS Primary
<null>
mmuuid:07db4240-73ff-1edc-a81c-ecf397b10590 1
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
PART_ID
PK_SUPPLIER_PARTS Primary
<null>
mmuuid:455e5440-73ff-1edc-a81c-ecf397b10590 2
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SHIP_VIA
SHIPPER_ID
PK_SHIP_VIA Primary
<null>
mmuuid:18aa3cc0-73ff-1edc-a81c-ecf397b10590 1
+PartsSupplier PartsSupplier
PARTSSUPPLIER.STATUS
STATUS_ID
PK_STATUS Primary
<null>
mmuuid:25a8a740-73ff-1edc-a81c-ecf397b10590 1
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
SUPPLIER_ID
FK_SPLY_PRTS_SPLY Foreign
mmuuid:375c8380-73ff-1edc-a81c-ecf397b10590
mmuuid:66ddc4c1-73ff-1edc-a81c-ecf397b10590 1
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
SUPPLIER_ID
PK_SUPPLIER Primary
<null>
mmuuid:375c8380-73ff-1edc-a81c-ecf397b10590 1
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
SUPPLIER_ID
PK_SUPPLIER_PARTS Primary
<null>
mmuuid:455e5440-73ff-1edc-a81c-ecf397b10590 1
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
SUPPLIER_STATUS
FK_SPLIER_STATS Foreign
mmuuid:25a8a740-73ff-1edc-a81c-ecf397b10590
mmuuid:5ac43c00-73ff-1edc-a81c-ecf397b10590 1
+Row Count : 9
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+VDBName 12 PartsSupplier java.lang.String VDBName string
SYS KeyColumns 255 255 0
false false false false 0 true
true false false
+SchemaName 12 PartsSupplier java.lang.String SchemaName string
SYS KeyColumns 255 255 0
false true false true 1 false
true true true
+TableName 12 PartsSupplier java.lang.String TableName string
SYS KeyColumns 2048 2048 0
false true false false 0 true
true false false
+Name 12 PartsSupplier java.lang.String Name string
SYS KeyColumns 255 255 0
false false false false 0 true
true false false
+KeyName 12 PartsSupplier java.lang.String KeyName string
SYS KeyColumns 255 255 0
false false false false 1 true
true false false
+KeyType 12 PartsSupplier java.lang.String KeyType string
SYS KeyColumns 20 20 0
false false false false 0 true
true false false
+RefKeyUID 12 PartsSupplier java.lang.String RefKeyUID string
SYS KeyColumns 50 50 0
false false false false 1 true
true false false
+UID 12 PartsSupplier java.lang.String UID string
SYS KeyColumns 50 50 0
false false false false 0 true
true false false
+Position 4 PartsSupplier java.lang.Integer Position integer
SYS KeyColumns 11 10 0
false true false true 1 false
true true true
Added:
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeys.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeys.expected
(rev 0)
+++
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testKeys.expected 2010-06-14
15:40:48 UTC (rev 2228)
@@ -0,0 +1,22 @@
+string string
string
string
string string
string boolean string
string
+VDBName SchemaName
TableName
Name
Description NameInSource
Type IsIndexed RefKeyUID
UID
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
FK_SPLIER_PRTS_PRTS
<null>
FK_SPLIER_PRTS_PRTS Foreign
false mmuuid:07db4240-73ff-1edc-a81c-ecf397b10590
mmuuid:66ddc4c0-73ff-1edc-a81c-ecf397b10590
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
FK_SPLIER_STATS
<null> FK_SPLIER_STATS
Foreign false
mmuuid:25a8a740-73ff-1edc-a81c-ecf397b10590
mmuuid:5ac43c00-73ff-1edc-a81c-ecf397b10590
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
FK_SPLY_PRTS_SPLY
<null> FK_SPLY_PRTS_SPLY
Foreign false
mmuuid:375c8380-73ff-1edc-a81c-ecf397b10590
mmuuid:66ddc4c1-73ff-1edc-a81c-ecf397b10590
+PartsSupplier PartsSupplier
PARTSSUPPLIER.PARTS
PK_PARTS
<null> <null>
Primary false
<null>
mmuuid:07db4240-73ff-1edc-a81c-ecf397b10590
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SHIP_VIA
PK_SHIP_VIA
<null> <null>
Primary false
<null>
mmuuid:18aa3cc0-73ff-1edc-a81c-ecf397b10590
+PartsSupplier PartsSupplier
PARTSSUPPLIER.STATUS
PK_STATUS
<null> <null>
Primary false
<null>
mmuuid:25a8a740-73ff-1edc-a81c-ecf397b10590
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
PK_SUPPLIER
<null> <null>
Primary false
<null>
mmuuid:375c8380-73ff-1edc-a81c-ecf397b10590
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
PK_SUPPLIER_PARTS
<null> <null>
Primary false
<null>
mmuuid:455e5440-73ff-1edc-a81c-ecf397b10590
+Row Count : 8
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+VDBName 12 PartsSupplier java.lang.String VDBName string
SYS Keys 255 255 0
false false false false 0 true
true false false
+SchemaName 12 PartsSupplier java.lang.String SchemaName string
SYS Keys 255 255 0
false true false true 1 false
true true true
+TableName 12 PartsSupplier java.lang.String TableName string
SYS Keys 2048 2048 0
false true false false 0 true
true false false
+Name 12 PartsSupplier java.lang.String Name string
SYS Keys 255 255 0
false false false false 0 true
true false false
+Description 12 PartsSupplier java.lang.String Description string
SYS Keys 255 255 0
false false false false 1 true
true false false
+NameInSource 12 PartsSupplier java.lang.String NameInSource string
SYS Keys 255 255 0
false false false false 1 true
true false false
+Type 12 PartsSupplier java.lang.String Type string
SYS Keys 20 20 0
false false false false 0 true
true false false
+IsIndexed -7 PartsSupplier java.lang.Boolean IsIndexed boolean
SYS Keys 5 1 0
false false false false 0 true
true false false
+RefKeyUID 12 PartsSupplier java.lang.String RefKeyUID string
SYS Keys 50 50 0
false false false false 1 true
true false false
+UID 12 PartsSupplier java.lang.String UID string
SYS Keys 50 50 0
false false false false 0 true
true false false
Added:
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedureParams.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedureParams.expected
(rev 0)
+++
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedureParams.expected 2010-06-14
15:40:48 UTC (rev 2228)
@@ -0,0 +1,27 @@
+string string
string
string
string integer string
boolean integer integer integer integer string
string string
+VDBName SchemaName
ProcedureName
Name
DataType Position Type
Optional Precision TypeLength Scale Radix NullType
UID Description
+PartsSupplier SYS
getVDBResourcePaths
ResourcePath
string 1 ResultSet
false 50 50 0 10 Nullable
mmuuid:ebbffdab-ac7e-41ab-974f-62785b3086f9 <null>
+PartsSupplier SYS
getBinaryVDBResource
VdbResource
blob 1 ResultSet
false 0 0 0 10 Nullable
mmuuid:90d1f79d-bd98-46f4-ae8f-adacc329cf0b <null>
+PartsSupplier SYS
getCharacterVDBResource
VdbResource
clob 1 ResultSet
false 0 0 0 10 Nullable
mmuuid:111f9fa8-74c9-479a-a184-8db64a1eab3c <null>
+PartsSupplier SYS
getXMLSchemas
document
string 1 In
false 0 0 0 10 No Nulls
mmuuid:41f00dca-7bc1-4593-b2a7-a7d64936c2d4 <null>
+PartsSupplier SYS
getVDBResourcePaths
isBinary
boolean 2 ResultSet
false 1 1 0 10 Nullable
mmuuid:e8d087da-9833-4422-a255-f0e0fea2cb61 <null>
+PartsSupplier SYS
getBinaryVDBResource
resourcePath
string 1 In
false 50 50 0 10 No Nulls
mmuuid:25e5065a-454e-4a87-bf71-b6f71b98319f <null>
+PartsSupplier SYS
getCharacterVDBResource
resourcePath
string 1 In
false 50 50 0 10 No Nulls
mmuuid:c54e777f-3cd0-45ad-a18b-e4e93532984f <null>
+PartsSupplier SYS
getXMLSchemas
schema xml
1 ResultSet
false 0 0 0 10 Nullable
mmuuid:f0cb82f2-111e-4433-ae77-59a27fa93991 <null>
+Row Count : 8
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+VDBName 12 PartsSupplier java.lang.String VDBName string
SYS ProcedureParams 255 255 0
false false false false 0 true
true false false
+SchemaName 12 PartsSupplier java.lang.String SchemaName string
SYS ProcedureParams 255 255 0
false true false true 1 false
true true true
+ProcedureName 12 PartsSupplier java.lang.String ProcedureName string
SYS ProcedureParams 255 255 0
false true false false 0 true
true false false
+Name 12 PartsSupplier java.lang.String Name string
SYS ProcedureParams 255 255 0
false false false false 0 true
true false false
+DataType 12 PartsSupplier java.lang.String DataType string
SYS ProcedureParams 25 25 0
false true false false 0 true
true true false
+Position 4 PartsSupplier java.lang.Integer Position integer
SYS ProcedureParams 11 10 0
false false false false 0 true
true false false
+Type 12 PartsSupplier java.lang.String Type string
SYS ProcedureParams 100 100 0
false false false false 0 true
true false false
+Optional -7 PartsSupplier java.lang.Boolean Optional boolean
SYS ProcedureParams 5 1 0
false false false false 0 true
true false false
+Precision 4 PartsSupplier java.lang.Integer Precision integer
SYS ProcedureParams 11 10 0
false false false false 0 true
true false false
+TypeLength 4 PartsSupplier java.lang.Integer TypeLength integer
SYS ProcedureParams 11 10 0
false false false false 0 true
true false false
+Scale 4 PartsSupplier java.lang.Integer Scale integer
SYS ProcedureParams 11 10 0
false false false true 0 false
true false true
+Radix 4 PartsSupplier java.lang.Integer Radix integer
SYS ProcedureParams 11 10 0
false false false false 0 true
true false false
+NullType 12 PartsSupplier java.lang.String NullType string
SYS ProcedureParams 10 10 0
false false false false 0 true
true false false
+UID 12 PartsSupplier java.lang.String UID string
SYS ProcedureParams 50 50 0
false true false true 1 false
true true true
+Description 12 PartsSupplier java.lang.String Description string
SYS ProcedureParams 255 255 0
false true false true 1 false
true true true
Added:
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedures.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedures.expected
(rev 0)
+++
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testProcedures.expected 2010-06-14
15:40:48 UTC (rev 2228)
@@ -0,0 +1,15 @@
+string string
string
string
boolean string string
+VDBName SchemaName
Name
NameInSource
ReturnsResults UID Description
+PartsSupplier SYS
getBinaryVDBResource
<null>
true mmuuid:9bc0b701-b36e-4209-a986-9d38420d2c20 <null>
+PartsSupplier SYS
getCharacterVDBResource
<null>
true mmuuid:72464082-00fc-44f0-98b9-8c8f637c6570 <null>
+PartsSupplier SYS
getVDBResourcePaths
<null>
true mmuuid:1204d4b2-6f92-428d-bcc5-7b3a0da9a113 <null>
+PartsSupplier SYS
getXMLSchemas
<null>
true mmuuid:2d51a2a4-9966-4bd8-861d-9c0ae8e4b869 <null>
+Row Count : 4
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+VDBName 12 PartsSupplier java.lang.String VDBName string
SYS Procedures 255 255 0
false false false false 0 true
true false false
+SchemaName 12 PartsSupplier java.lang.String SchemaName string
SYS Procedures 255 255 0
false true false true 1 false
true true true
+Name 12 PartsSupplier java.lang.String Name string
SYS Procedures 255 255 0
false true false false 0 true
true false false
+NameInSource 12 PartsSupplier java.lang.String NameInSource string
SYS Procedures 255 255 0
false false false false 1 true
true false false
+ReturnsResults -7 PartsSupplier java.lang.Boolean ReturnsResults
boolean SYS Procedures 5 1 0
false false false false 0 true
true false false
+UID 12 PartsSupplier java.lang.String UID string
SYS Procedures 50 50 0
false false false false 0 true
true false false
+Description 12 PartsSupplier java.lang.String Description string
SYS Procedures 255 255 0
false true false true 1 false
true true true
Added:
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testReferenceKeyColumns.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testReferenceKeyColumns.expected
(rev 0)
+++
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testReferenceKeyColumns.expected 2010-06-14
15:40:48 UTC (rev 2228)
@@ -0,0 +1,21 @@
+string string
string
string
string string
string
string
short integer integer string
string integer
+PKTABLE_CAT PKTABLE_SCHEM
PKTABLE_NAME
PKCOLUMN_NAME
FKTABLE_CAT FKTABLE_SCHEM
FKTABLE_NAME
FKCOLUMN_NAME
KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME
PK_NAME
DEFERRABILITY
+PartsSupplier PartsSupplier
PARTSSUPPLIER.PARTS
PART_ID
PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
PART_ID 1
3 3 FK_SPLIER_PRTS_PRTS
PK_PARTS 5
+PartsSupplier PartsSupplier
PARTSSUPPLIER.STATUS
STATUS_ID
PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
SUPPLIER_STATUS 1
3 3 FK_SPLIER_STATS
PK_STATUS 5
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
SUPPLIER_ID
PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
SUPPLIER_ID 1
3 3 FK_SPLY_PRTS_SPLY
PK_SUPPLIER 5
+Row Count : 3
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+PKTABLE_CAT 12 PartsSupplier java.lang.String PKTABLE_CAT string
SYS ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_SCHEM 12 PartsSupplier java.lang.String PKTABLE_SCHEM string
SYS ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKTABLE_NAME 12 PartsSupplier java.lang.String PKTABLE_NAME string
SYS ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PKCOLUMN_NAME 12 PartsSupplier java.lang.String PKCOLUMN_NAME string
SYS ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_CAT 12 PartsSupplier java.lang.String FKTABLE_CAT string
SYS ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_SCHEM 12 PartsSupplier java.lang.String FKTABLE_SCHEM string
SYS ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKTABLE_NAME 12 PartsSupplier java.lang.String FKTABLE_NAME string
SYS ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+FKCOLUMN_NAME 12 PartsSupplier java.lang.String FKCOLUMN_NAME string
SYS ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+KEY_SEQ 5 PartsSupplier java.lang.Short KEY_SEQ short
SYS ReferenceKeyColumns 6 5 0
false true false true 1 false
true true true
+UPDATE_RULE 4 PartsSupplier java.lang.Integer UPDATE_RULE integer
SYS ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+DELETE_RULE 4 PartsSupplier java.lang.Integer DELETE_RULE integer
SYS ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
+FK_NAME 12 PartsSupplier java.lang.String FK_NAME string
SYS ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+PK_NAME 12 PartsSupplier java.lang.String PK_NAME string
SYS ReferenceKeyColumns 255 255 0
false true false true 1 false
true true true
+DEFERRABILITY 4 PartsSupplier java.lang.Integer DEFERRABILITY integer
SYS ReferenceKeyColumns 11 10 0
false true false true 1 false
true true true
Added:
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testSchemas.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testSchemas.expected
(rev 0)
+++
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testSchemas.expected 2010-06-14
15:40:48 UTC (rev 2228)
@@ -0,0 +1,12 @@
+string string
boolean string
string string
+VDBName Name
IsPhysical UID
Description
PrimaryMetamodelURI
+PartsSupplier PartsSupplier
true
mmuuid:19c7f380-73d8-1edc-a81c-ecf397b10590 <null>
http://www.metamatrix.com/metamodels/Relational
+PartsSupplier SYS
true
mmuuid:49b9c0f9-2c4c-42d3-9409-2d847d29a1de System
http://www.metamatrix.com/metamodels/Relational
+Row Count : 2
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+VDBName 12 PartsSupplier java.lang.String VDBName
string SYS Schemas 255 255 0
false true false true 1
false true true true
+Name 12 PartsSupplier java.lang.String Name
string SYS Schemas 255 255 0
false true false true 1
false true true true
+IsPhysical -7 PartsSupplier java.lang.Boolean IsPhysical
boolean SYS Schemas 5 1 0
false false false false 0 true
true false false
+UID 12 PartsSupplier java.lang.String UID
string SYS Schemas 50 50 0
false false false false 0 true
true false false
+Description 12 PartsSupplier java.lang.String Description
string SYS Schemas 255 255 0
false true false true 1
false true true true
+PrimaryMetamodelURI 12 PartsSupplier java.lang.String
PrimaryMetamodelURI string SYS Schemas 255
255 0 false false false false
0 true true false false
Added:
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testTableIsSystem.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testTableIsSystem.expected
(rev 0)
+++
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testTableIsSystem.expected 2010-06-14
15:40:48 UTC (rev 2228)
@@ -0,0 +1,10 @@
+string
+Name
+PARTSSUPPLIER.PARTS
+PARTSSUPPLIER.SHIP_VIA
+PARTSSUPPLIER.STATUS
+PARTSSUPPLIER.SUPPLIER
+PARTSSUPPLIER.SUPPLIER_PARTS
+Row Count : 5
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+Name 12 PartsSupplier java.lang.String Name string
SYS Tables 255 255 0
false true false false 0 true
true false false
Added:
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testTables.expected
===================================================================
---
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testTables.expected
(rev 0)
+++
trunk/test-integration/common/src/test/resources/TestSystemVirtualModel/testTables.expected 2010-06-14
15:40:48 UTC (rev 2228)
@@ -0,0 +1,32 @@
+string string
string
string string
boolean boolean string
integer string
boolean boolean
+VDBName SchemaName
Name
Type NameInSource
IsPhysical SupportsUpdates UID
Cardinality Description
IsSystem IsMaterialized
+PartsSupplier SYS
Columns
Table <null>
true false
mmuuid:1c9a5cb2-17b1-4e4a-8b0e-3a42bd052509 0 <null>
true false
+PartsSupplier SYS
DataTypes
Table <null>
true false
mmuuid:9a8794f9-66f8-49e8-8576-89d212d0f957 0 <null>
true false
+PartsSupplier SYS
KeyColumns
Table <null>
true false
mmuuid:14946083-3bd5-42d5-8283-1c0694347c29 0 <null>
true false
+PartsSupplier SYS
Keys
Table <null>
true false
mmuuid:1e5135dc-ce5d-4b25-a8ff-63f5440b3108 0 <null>
true false
+PartsSupplier PartsSupplier
PARTSSUPPLIER.PARTS
Table PARTS
true true mmuuid:f6276601-73fe-1edc-a81c-ecf397b10590
16 <null>
false false
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SHIP_VIA
Table SHIP_VIA
true true mmuuid:0f4e9b80-73ff-1edc-a81c-ecf397b10590
4 <null>
false false
+PartsSupplier PartsSupplier
PARTSSUPPLIER.STATUS
Table STATUS
true true mmuuid:1f297200-73ff-1edc-a81c-ecf397b10590
3 <null>
false false
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER
Table SUPPLIER
true true mmuuid:2c371ec0-73ff-1edc-a81c-ecf397b10590
16 <null>
false false
+PartsSupplier PartsSupplier
PARTSSUPPLIER.SUPPLIER_PARTS
Table SUPPLIER_PARTS
true true mmuuid:3deafb00-73ff-1edc-a81c-ecf397b10590
227 <null>
false false
+PartsSupplier SYS
ProcedureParams
Table <null>
true false
mmuuid:a56bd7fe-c87a-411c-8f5d-661975a25626 0 <null>
true false
+PartsSupplier SYS
Procedures
Table <null>
true false
mmuuid:0bc132a5-9f8d-4a3c-9f5d-98156a98a962 0 <null>
true false
+PartsSupplier SYS
Properties
Table <null>
true false
mmuuid:7a45e50a-d03f-4548-ba35-761651bbca85 0 <null>
true false
+PartsSupplier SYS
ReferenceKeyColumns
Table <null>
true false
mmuuid:6a9653e8-a337-41b2-86fa-77b98f409a29 0 <null>
true false
+PartsSupplier SYS
Schemas
Table <null>
true false
mmuuid:8648a554-b2ad-4e8e-84ca-2ec618b311a9 0 <null>
true false
+PartsSupplier SYS
Tables
Table <null>
true false
mmuuid:8551b3bd-11cc-4049-9bcf-fe91a0eb7ba7 0 <null>
true false
+PartsSupplier SYS
VirtualDatabases
Table <null>
true false
mmuuid:47297c72-d621-4f4e-af4e-74060ac5f489 0 <null>
true false
+Row Count : 16
+getColumnName getColumnType getCatalogName getColumnClassName getColumnLabel
getColumnTypeName getSchemaName getTableName getColumnDisplaySize getPrecision
getScale isAutoIncrement isCaseSensitive isCurrency isDefinitelyWritable isNullable
isReadOnly isSearchable isSigned isWritable
+VDBName 12 PartsSupplier java.lang.String VDBName
string SYS Tables 255 255 0
false true false true 1 false
true true true
+SchemaName 12 PartsSupplier java.lang.String SchemaName
string SYS Tables 255 255 0
false true false true 1 false
true true true
+Name 12 PartsSupplier java.lang.String Name
string SYS Tables 255 255 0
false true false false 0 true
true false false
+Type 12 PartsSupplier java.lang.String Type
string SYS Tables 20 20 0
false false false false 0 true
true false false
+NameInSource 12 PartsSupplier java.lang.String NameInSource
string SYS Tables 255 255 0
false true false false 1 true
true false false
+IsPhysical -7 PartsSupplier java.lang.Boolean IsPhysical
boolean SYS Tables 5 1 0
false true false false 0 true
true false false
+SupportsUpdates -7 PartsSupplier java.lang.Boolean SupportsUpdates
boolean SYS Tables 5 1 0
false false false false 0 true
true false false
+UID 12 PartsSupplier java.lang.String UID
string SYS Tables 50 50 0
false false false false 0 true
true false false
+Cardinality 4 PartsSupplier java.lang.Integer Cardinality
integer SYS Tables 11 10 0
false true false false 0 true
true true false
+Description 12 PartsSupplier java.lang.String Description
string SYS Tables 255 255 0
false true false true 1 false
true true true
+IsSystem -7 PartsSupplier java.lang.Boolean IsSystem
boolean SYS Tables 5 1 0
false true false true 1 false
true true true
+IsMaterialized -7 PartsSupplier java.lang.Boolean IsMaterialized
boolean SYS Tables 5 1 0
false false false true 0 false
true false true