From teiid-commits at lists.jboss.org Wed Jul 28 14:27:59 2010
Content-Type: multipart/mixed; boundary="===============5438220590264745684=="
MIME-Version: 1.0
From: teiid-commits at lists.jboss.org
To: teiid-commits at lists.jboss.org
Subject: [teiid-commits] teiid SVN: r2387 - in trunk:
build/kits/jboss-container/deploy/teiid and 11 other directories.
Date: Wed, 28 Jul 2010 14:27:58 -0400
Message-ID: <201007281827.o6SIRwHU015532@svn01.web.mwc.hst.phx2.redhat.com>
--===============5438220590264745684==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Author: shawkins
Date: 2010-07-28 14:27:57 -0400 (Wed, 28 Jul 2010)
New Revision: 2387
Added:
trunk/engine/src/main/java/org/teiid/common/buffer/LobManager.java
Removed:
trunk/runtime/src/test/java/com/metamatrix/
Modified:
trunk/build/kits/jboss-container/deploy/teiid/teiid-jboss-beans.xml
trunk/build/kits/jboss-container/teiid-releasenotes.html
trunk/client/src/test/java/org/teiid/jdbc/TestResultSet.java
trunk/common-core/src/main/java/org/teiid/core/types/Streamable.java
trunk/common-core/src/test/java/org/teiid/core/types/TestBlobValue.java
trunk/common-core/src/test/java/org/teiid/core/types/TestClobValue.java
trunk/common-core/src/test/java/org/teiid/core/types/TestXMLValue.java
trunk/documentation/client-developers-guide/src/main/docbook/en-US/conte=
nt/odbc.xml
trunk/documentation/reference/src/main/docbook/en-US/content/grammar.xml
trunk/documentation/reference/src/main/docbook/en-US/content/sql_support=
.xml
trunk/engine/src/main/java/org/teiid/common/buffer/SPage.java
trunk/engine/src/main/java/org/teiid/common/buffer/STree.java
trunk/engine/src/main/java/org/teiid/common/buffer/TupleBatch.java
trunk/engine/src/main/java/org/teiid/common/buffer/TupleBuffer.java
trunk/engine/src/main/java/org/teiid/common/buffer/impl/BufferManagerImp=
l.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkIte=
m.java
trunk/engine/src/main/java/org/teiid/query/tempdata/TempTable.java
trunk/engine/src/test/java/org/teiid/common/buffer/TestTupleBuffer.java
Log:
TEIID-1167 fixed lob handling in temp tables, added primary key info to the=
docs, updated the release notes, and made minor edits to the odbc info.
Modified: trunk/build/kits/jboss-container/deploy/teiid/teiid-jboss-beans.x=
ml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/build/kits/jboss-container/deploy/teiid/teiid-jboss-beans.xml 201=
0-07-28 18:04:14 UTC (rev 2386)
+++ trunk/build/kits/jboss-container/deploy/teiid/teiid-jboss-beans.xml 201=
0-07-28 18:27:57 UTC (rev 2387)
@@ -164,7 +164,7 @@
00
-
+
=
Modified: trunk/build/kits/jboss-container/teiid-releasenotes.html
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/build/kits/jboss-container/teiid-releasenotes.html 2010-07-28 18:=
04:14 UTC (rev 2386)
+++ trunk/build/kits/jboss-container/teiid-releasenotes.html 2010-07-28 18:=
27:57 UTC (rev 2387)
@@ -10,7 +10,7 @@
=
Teiid ${project.version} Release Notes
-
Teiid ${project.version} adds ODBC and caching features. =
+
Teiid ${project.version} adds ODBC, SQL, and caching features. =
=
Overview
@@ -26,6 +26,8 @@
Highlights
+
ODBC Support - Support for ODBC access is now available thr=
ough PostgreSQL ODBC driver clients. See the Client Developer's Guide for =
more on how
+ to use Teiid's ODBC access. =
Added support for the boolean aggregate functions ANY, SOME=
, EVERY.
Added support for using boolean value expression as both cr=
iteria and expressions, e.g. "... where boolean_value" or "select x =3D 1 a=
s boolean_value ...".
Changed named procedure syntax to accept param=3D>value, ra=
ther than param=3Dvalue.
+
Added PRIMARY KEY and the associated index support to temp =
tables.
Parallel Source Queries - reestablished parallel execution =
of source queries within a query plan along with a prioritized work system =
to help prevent resource contention.
SHOW Statement - added client handling for the SHOW stateme=
nt to retrieve query plan information and see parameter values.
Modified: trunk/client/src/test/java/org/teiid/jdbc/TestResultSet.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/client/src/test/java/org/teiid/jdbc/TestResultSet.java 2010-07-28=
18:04:14 UTC (rev 2386)
+++ trunk/client/src/test/java/org/teiid/jdbc/TestResultSet.java 2010-07-28=
18:27:57 UTC (rev 2387)
@@ -712,9 +712,9 @@
StatementImpl statement =3D createMockStatement(ResultSet.TYPE_FORWAR=
D_ONLY);
ResultsFuture future =3D new ResultsFuture();
future.getResultsReceiver().receiveResults(new LobChunk("".getByt=
es(Charset.forName("UTF-8")), true));
- Mockito.stub(statement.getDQP().requestNextLobChunk(0, 0, null)).toRe=
turn(future);
+ XMLType result =3D new XMLType();
+ Mockito.stub(statement.getDQP().requestNextLobChunk(0, 0, result.getR=
eferenceStreamId())).toReturn(future);
ResultsMessage resultsMsg =3D new ResultsMessage();
- XMLType result =3D new XMLType();
result.setEncoding("UTF-8");
resultsMsg.setResults(new List>[] {Arrays.asList(result)});
resultsMsg.setLastRow(1);
Modified: trunk/common-core/src/main/java/org/teiid/core/types/Streamable.j=
ava
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/common-core/src/main/java/org/teiid/core/types/Streamable.java 20=
10-07-28 18:04:14 UTC (rev 2386)
+++ trunk/common-core/src/main/java/org/teiid/core/types/Streamable.java 20=
10-07-28 18:27:57 UTC (rev 2387)
@@ -27,6 +27,7 @@
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.nio.charset.Charset;
+import java.util.concurrent.atomic.AtomicInteger;
=
import org.teiid.core.CorePlugin;
=
@@ -43,12 +44,14 @@
=
private static final long serialVersionUID =3D -8252488562134729374L;
=
+ private static AtomicInteger counter =3D new AtomicInteger();
+ =
public static final String ENCODING =3D "UTF-8"; //$NON-NLS-1$
public static final Charset CHARSET =3D Charset.forName(ENCODING);
public static final String FORCE_STREAMING =3D "FORCE_STREAMING"; //$N=
ON-NLS-1$
public static final int STREAMING_BATCH_SIZE_IN_BYTES =3D 102400; // 1=
00K
=
- private String referenceStreamId;
+ private String referenceStreamId =3D String.valueOf(counter.getAndIncr=
ement());
protected transient T reference;
protected long length =3D -1;
=
@@ -80,9 +83,9 @@
return this.referenceStreamId;
}
=
- public void setReferenceStreamId(String id) {
+ /*public void setReferenceStreamId(String id) {
this.referenceStreamId =3D id;
- }
+ }*/
=
@Override
public String toString() {
Modified: trunk/common-core/src/test/java/org/teiid/core/types/TestBlobValu=
e.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/common-core/src/test/java/org/teiid/core/types/TestBlobValue.java=
2010-07-28 18:04:14 UTC (rev 2386)
+++ trunk/common-core/src/test/java/org/teiid/core/types/TestBlobValue.java=
2010-07-28 18:27:57 UTC (rev 2387)
@@ -51,9 +51,8 @@
String testString =3D "this is test clob"; //$NON-NLS-1$
SerialBlob blob =3D new SerialBlob(testString.getBytes());
=
- String key =3D "keytodata"; //$NON-NLS-1$
BlobType bv =3D new BlobType(blob);
- bv.setReferenceStreamId(key); =
+ String key =3D bv.getReferenceStreamId();
=
// now force to serialize
File saved =3D new File(UnitTestUtil.getTestScratchPath()+"/blobas=
saved.bin"); //$NON-NLS-1$
Modified: trunk/common-core/src/test/java/org/teiid/core/types/TestClobValu=
e.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/common-core/src/test/java/org/teiid/core/types/TestClobValue.java=
2010-07-28 18:04:14 UTC (rev 2386)
+++ trunk/common-core/src/test/java/org/teiid/core/types/TestClobValue.java=
2010-07-28 18:27:57 UTC (rev 2387)
@@ -52,9 +52,8 @@
String testString =3D "this is test clob"; //$NON-NLS-1$
SerialClob clob =3D new SerialClob(testString.toCharArray());
=
- String key =3D "keytodata"; //$NON-NLS-1$
ClobType cv =3D new ClobType(clob);
- cv.setReferenceStreamId(key); =
+ String key =3D cv.getReferenceStreamId();
=
// now force to serialize
File saved =3D new File(UnitTestUtil.getTestScratchPath()+"/clobas=
saved.bin"); //$NON-NLS-1$
Modified: trunk/common-core/src/test/java/org/teiid/core/types/TestXMLValue=
.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/common-core/src/test/java/org/teiid/core/types/TestXMLValue.java =
2010-07-28 18:04:14 UTC (rev 2386)
+++ trunk/common-core/src/test/java/org/teiid/core/types/TestXMLValue.java =
2010-07-28 18:27:57 UTC (rev 2387)
@@ -51,10 +51,8 @@
String testString =3D "this is an xml value test"; //$N=
ON-NLS-1$
SQLXMLImpl xml =3D new SQLXMLImpl(testString); =
=
- String key =3D "keytodata"; //$NON-NLS-1$
- String pkey =3D "peresistkeytodata"; //$NON-NLS-1$
XMLType xv =3D new XMLType(xml);
- xv.setReferenceStreamId(key); =
+ String key =3D xv.getReferenceStreamId();
=
// now force to serialize
File saved =3D new File(UnitTestUtil.getTestScratchPath()+"/xmlsav=
ed.bin"); //$NON-NLS-1$
Modified: trunk/documentation/client-developers-guide/src/main/docbook/en-U=
S/content/odbc.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/documentation/client-developers-guide/src/main/docbook/en-US/cont=
ent/odbc.xml 2010-07-28 18:04:14 UTC (rev 2386)
+++ trunk/documentation/client-developers-guide/src/main/docbook/en-US/cont=
ent/odbc.xml 2010-07-28 18:27:57 UTC (rev 2387)
@@ -6,37 +6,36 @@
ODBC Support
=
- Short for Open DataBase Connectivity, a standard database access=
method developed by the SQL Access group in 1992. =
- The goal of ODBC is to make it possible to access any data from any ap=
plication, regardless of which database management =
- system (DBMS) is handling the data. ODBC manages this by inserting a m=
iddle layer, called a database driver , =
- between an application and the DBMS. The purpose of this layer is to t=
ranslate the application's data queries =
+ Open DataBase Connectivity (ODBC) is a standard database access =
method developed by the SQL Access group in 1992. =
+ ODBC, just like JDBC in Java, allows consistent client access regardle=
ss of which database management =
+ system (DBMS) is handling the data. ODBC uses a driver to translate t=
he application's data queries =
into commands that the DBMS understands. For this to work, both the ap=
plication and the DBMS must be ODBC-compliant =
-- that is, the application must be capable of issuing ODBC commands a=
nd the =
- DBMS must be capable of responding to them
+ DBMS must be capable of responding to them.
=
- Teiid provides the ODBC access to deployed VDBs in the Teiid run=
time through =
- PostgreSQL's ODBC d=
river. This is possible by redirecting the ODBC commands =
- from a client application to a different port than default PostgreSQL=
port.
+ Teiid can provide ODBC access to deployed VDBs in the Teiid runt=
ime through =
+ PostgreSQL's ODBC d=
river. =
+ This is possible because Teiid has specialized handling that allows i=
t emulate a PostgreSQL server and respond appropriate to expected
+ metadata queries.
=
By default, ODBC on the Teiid is enabled and running on o=
n port 35432.
=
- Before your application can use the ODBC, you must first instal=
l ODBC driver on same machine that =
- your application is running and then create Data Source Name (DSN) fo=
r that represents a connection profile for your Teiid VDB.
+ Before an application can use ODBC, you must first install the =
ODBC driver on same machine that =
+ the application is running on and then create Data Source Name (DSN) =
that represents a connection profile for your Teiid VDB.
=
Installing the ODBC Driver Client
- The PostgreSQL ODBC driver that is needed to make the ODBC c=
onnection to Teiid is not =
- bundled with Teiid distribution. The driver needs be downloaded =
- directly from PostgreSQL web site. We have tested with 8=
.04.200 version of the ODBC driver for =
- this release.
+ A PostgreSQL ODBC driver needed to make the ODBC connection =
to Teiid is not =
+ bundled with the Teiid distribution. The appropriate driver needs =
be downloaded=
ulink> =
+ directly from the PostgreSQL web site. We have tested with 8.04.200 version of the ODBC driver.
=
Microsoft WindowsDownload the ODBC driver from
PostgreSQL download site. If you are looking for 6=
4-bit Windows driver download the driver from here.
- Extract the contents of the ZIP file into =
a temporary location on you system. For example: "c:\temp\pgodbc"
+ Extract the contents of the ZIP file into =
a temporary location on your system. For example: "c:\temp\pgodbc"=
listitem>
Double click on "psqlodbc.msi" file or (.e=
xe file in the case of 64 bit) to start installation of the driver.<=
/listitem>
The Wizard appears as
@@ -62,7 +61,7 @@
If you want to install in a different directory =
than the default that is already selected, =
- click the "Browse" button and select a directory if yo=
u want install. =
+ click the "Browse" button and select a directory. =
Click "Next" to start installing in the selected direc=
tory.
@@ -88,10 +87,10 @@
Other *nix Platform Installations
- For all other platforms other than Microsoft Windows, th=
e ODBC driver needs compiled and built from the =
+ For all other platforms other than Microsoft Windows, th=
e ODBC driver needs built from the =
source files provided. Download the ODBC driver source files f=
rom =
- PostgreSQL download site. Untar the files to a tem=
porary location. For example: "~/tmp/pgodbc". =
+ the PostgreSQL download site. Untar the files to a=
temporary location. For example: "~/tmp/pgodbc". =
Build and install the driver by running the commands below=
.You should use super user account or use "sudo" co=
mmand for running the "make install" command.
- =
- The the next step in the process is to create a DSN for =
accessing the Teiid VDB.
+ Some *nix distributions may already provide binary forms=
of the appropriate driver, which can be used as an alternative to
+ building from source.
=
Modified: trunk/documentation/reference/src/main/docbook/en-US/content/gram=
mar.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/documentation/reference/src/main/docbook/en-US/content/grammar.xm=
l 2010-07-28 18:04:14 UTC (rev 2386)
+++ trunk/documentation/reference/src/main/docbook/en-US/content/grammar.xm=
l 2010-07-28 18:27:57 UTC (rev 2387)
@@ -415,179 +415,179 @@
createTempTable::=3D =
-<CREATE> <LOCAL> <TEMPORARY> <TABLE> id <LPAREN> createElements=
WithTypes <RPAREN>
+<CREATE> <LOCAL> <TEMPORARY> <TABLE> id <LPAREN> createElements=
WithTypes ( <COMMA> <PRIMARY> n=
onReserved <LPAREN> id ( <CO=
MMA> id )* <RPAREN> )? <RPAREN&g=
t;
-errorStatement
+errorStatement::=3D =
-<ERROR> expression
+<ERROR> expression
-statement
+statement::=3D =
-( ifStatement | l=
oopStatement | whileStatement | delimitedStatement )
+( ifStatement | l=
oopStatement | whileStatement | delimitedStatement )
-delimitedStatement
+delimitedStatement::=3D =
-( sqlStatement | =
errorStatement | assignStatement | <=
link linkend=3D"prod24">declareStatement | =
continueStatement | breakStatement )=
<SEMICOLON>
+( sqlStatement | =
errorStatement | assignStatement | <=
link linkend=3D"prod25">declareStatement | =
continueStatement | breakStatement )=
<SEMICOLON>
-block
+block::=3D =
-( statement | ( <BEGIN> ( statement )* <END> ) )
+( statement | ( <BEGIN> ( statement )* <END> ) )
-breakStatement
+breakStatement::=3D =
<BREAK>
-continueStatement
+continueStatement::=3D =
<CONTINUE>
-whileStatement
+whileStatement::=3D =
-<WHILE> <LPAREN> criteria <=
RPAREN> block
+<WHILE> <LPAREN> criteria <=
RPAREN> block
-loopStatement
+loopStatement::=3D =
-<LOOP> <ON> <LPAREN> queryExpres=
sion <RPAREN> <AS> id
block
+<LOOP> <ON> <LPAREN> queryExpres=
sion <RPAREN> <AS> id