[teiid-commits] teiid SVN: r2324 - in trunk: build/assembly/jboss-container and 8 other directories.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Wed Jun 30 13:09:47 EDT 2010


Author: shawkins
Date: 2010-06-30 13:09:46 -0400 (Wed, 30 Jun 2010)
New Revision: 2324

Added:
   trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/customer-schema.sql
   trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/data/
   trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/data/marketdata-price.txt
   trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/data/marketdata-price1.txt
   trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/marketdata-file-ds.xml
   trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/portfolio-ds.xml
   trunk/engine/src/main/java/org/teiid/common/buffer/AbstractTupleSource.java
Removed:
   trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/data/marketdata-price.txt
   trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/data/marketdata-price1.txt
   trunk/build/kits/jboss-container/teiid-examples/portfolio/
Modified:
   trunk/
   trunk/build/assembly/jboss-container/dist.xml
   trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/README.txt
   trunk/build/kits/jboss-container/teiid-examples/simpleclient/README.txt
   trunk/build/kits/jboss-container/teiid-releasenotes.html
   trunk/engine/src/main/java/org/teiid/common/buffer/TupleBuffer.java
   trunk/engine/src/main/java/org/teiid/query/processor/BatchIterator.java
   trunk/engine/src/test/java/org/teiid/query/processor/TestBatchIterator.java
   trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java
Log:
forward merge of 7.0 (the last!)


Property changes on: trunk
___________________________________________________________________
Name: svn:ignore
   - .classpath

.settings

target

.project

build.xml

   + .classpath

.settings

target

.project

build.xml

Legal_Notice.html


Modified: trunk/build/assembly/jboss-container/dist.xml
===================================================================
--- trunk/build/assembly/jboss-container/dist.xml	2010-06-29 21:15:38 UTC (rev 2323)
+++ trunk/build/assembly/jboss-container/dist.xml	2010-06-30 17:09:46 UTC (rev 2324)
@@ -27,6 +27,8 @@
         <excludes>
           <exclude>**/*.sh</exclude>
         </excludes>      
+        <fileMode>0644</fileMode>
+        <directoryMode>0755</directoryMode>
     </fileSet>
           
     <!-- only true dependency file for any client --> 
@@ -35,7 +37,8 @@
       <includes>
         <include>teiid-${version}-client.jar</include>
       </includes>
-      <outputDirectory>lib</outputDirectory>      
+      <outputDirectory>lib</outputDirectory>
+      <fileMode>0644</fileMode>
     </fileSet>
 
     <fileSet>
@@ -44,31 +47,50 @@
             <include>vdb-deployer.xsd</include>
         </includes>                
         <outputDirectory>teiid-docs/schema</outputDirectory>
-    </fileSet>        
+        <fileMode>0644</fileMode>        
+    </fileSet>
+    
+	<!-- We may want to do this if including multiple doc types or languages
+	     as the parent directory structure will be copied.  However the parent
+	     directory permissions still seem wrong.
+	<fileSet>
+	  	<directory>target/distribution/teiid-${version}-docs</directory>
+	  	<includes>
+	  		<include>**/*.pdf</include>
+	  	</includes>
+	    <outputDirectory>teiid-docs</outputDirectory>
+	    <fileMode>0644</fileMode>
+	    <directoryMode>0755</directoryMode>
+	</fileSet> -->
+	
   </fileSets>
   
     <files>
         <file>
             <source>target/distribution/teiid-${version}-docs/admin-guide/en-US/pdf/teiid_admin_guide.pdf</source>
             <outputDirectory>teiid-docs</outputDirectory>
+            <fileMode>0644</fileMode>
         </file>
         <file>
             <source>target/distribution/teiid-${version}-docs/reference/en-US/pdf/teiid_reference.pdf</source>
             <outputDirectory>teiid-docs</outputDirectory>
+            <fileMode>0644</fileMode>
         </file>
         <file>
             <source>target/distribution/teiid-${version}-docs/quick-start-example/en-US/pdf/teiid_quick_start_example.pdf</source>
             <outputDirectory>teiid-docs</outputDirectory>
+            <fileMode>0644</fileMode>
         </file>
         <file>
             <source>target/distribution/teiid-${version}-docs/developer-guide/en-US/pdf/teiid_developer_guide.pdf</source>
             <outputDirectory>teiid-docs</outputDirectory>
+            <fileMode>0644</fileMode>
         </file>
         <file>
-            <source>target/distribution/teiid-${version}-docs/client-developers-guide/en-US/pdf/client_developers_guide.pdf</source>
+            <source>target/distribution/teiid-${version}-docs/client-developers-guide/en-US/pdf/teiid_client_developers_guide.pdf</source>
             <outputDirectory>teiid-docs</outputDirectory>
-        </file>        
-        
+            <fileMode>0644</fileMode>
+        </file>       
     </files>
      
   

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-29 21:15:38 UTC (rev 2323)
+++ trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/README.txt	2010-06-30 17:09:46 UTC (rev 2324)
@@ -1,19 +1,27 @@
-Follow the same derby setup instructions as the portfolio example.
+Demonstrates how to use the File Translator to integrate text resources with
+a database.  This example assumes the use of Derby, but the creation SQL could be 
+adapted to another database if you choose.
 
+Install a recent version of Derby - see http://db.apache.org/derby/derby_downloads.html
+
+Create the example dataset in Derby by running <derby home>/bin/ij customer-schema.sql
+
+Put the <derby home>/lib/derbyclient.jar to the "<jboss home>/server/default/lib" directory.
+
 Copy the following files to the <jboss.home>/server/default/deploy directory.
 	- portfolio-vdb.xml
-	- ../portfolio/marketdata-file-ds.xml
-	- ../portfolio/portfolio-ds.xml 
+	- marketdata-file-ds.xml
+	- portfolio-ds.xml 
 
 Start the JBoss Container
 
-Use the simple client example run script e.g. 
+Use the simple client example run script, or another client, to execute a query, e.g. 
 
 $./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.  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. 
+This example will execute the query against both Derby and the text files.  The 
+files returned from 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. 
 

Copied: trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/customer-schema.sql (from rev 2320, branches/7.0.x/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/customer-schema.sql)
===================================================================
--- trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/customer-schema.sql	                        (rev 0)
+++ trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/customer-schema.sql	2010-06-30 17:09:46 UTC (rev 2324)
@@ -0,0 +1,161 @@
+CONNECT 'jdbc:derby://localhost:1527/teiid/accounts;create=true;';
+
+DROP TABLE CUSTOMER;
+CREATE TABLE CUSTOMER
+(
+   SSN char(10),
+   FIRSTNAME varchar(64),
+   LASTNAME varchar(64),
+   ST_ADDRESS varchar(256),
+   APT_NUMBER varchar(32),
+   CITY varchar(64),
+   STATE varchar(32),
+   ZIPCODE varchar(10),
+   PHONE varchar(15),
+   CONSTRAINT CUSTOMER_PK PRIMARY KEY(SSN)
+);
+
+DROP TABLE ACCOUNT;
+CREATE TABLE ACCOUNT
+(
+   ACCOUNT_ID integer,
+   SSN char(10),
+   STATUS char(10),
+   TYPE char(10),
+   DATEOPENED timestamp,
+   DATECLOSED timestamp,
+   CONSTRAINT ACCOUNT_PK PRIMARY KEY(ACCOUNT_ID),
+   CONSTRAINT CUSTOMER_FK FOREIGN KEY (SSN) REFERENCES CUSTOMER (SSN)
+);
+
+DROP TABLE PRODUCT;
+CREATE TABLE PRODUCT (
+   ID integer,
+   SYMBOL varchar(16),
+   COMPANY_NAME varchar(256),
+   CONSTRAINT PRODUCT_PK PRIMARY KEY(ID)
+);
+
+DROP TABLE HOLDINGS;
+CREATE TABLE HOLDINGS
+(
+   TRANSACTION_ID integer GENERATED ALWAYS AS IDENTITY (start with 2000, increment by 1),
+   ACCOUNT_ID integer,
+   PRODUCT_ID integer,
+   PURCHASE_DATE timestamp,
+   SHARES_COUNT integer,
+   CONSTRAINT HOLDINGS_PK PRIMARY KEY (TRANSACTION_ID),
+   CONSTRAINT ACCOUNT_FK FOREIGN KEY (ACCOUNT_ID) REFERENCES ACCOUNT (ACCOUNT_ID),
+   CONSTRAINT PRODUCT_FK FOREIGN KEY (PRODUCT_ID) REFERENCES PRODUCT (ID)
+);
+
+INSERT INTO CUSTOMER (SSN,FIRSTNAME,LASTNAME,ST_ADDRESS,APT_NUMBER,CITY,STATE,ZIPCODE,PHONE) VALUES ('CST01002','Joseph','Smith','1234 Main Street','Apartment 56','New York','New York','10174','(646)555-1776');
+INSERT INTO CUSTOMER (SSN,FIRSTNAME,LASTNAME,ST_ADDRESS,APT_NUMBER,CITY,STATE,ZIPCODE,PHONE) VALUES ('CST01003','Nicholas','Ferguson','202 Palomino Drive',null,'Pittsburgh','Pennsylvania','15071','(412)555-4327');
+INSERT INTO CUSTOMER (SSN,FIRSTNAME,LASTNAME,ST_ADDRESS,APT_NUMBER,CITY,STATE,ZIPCODE,PHONE) VALUES ('CST01004','Jane','Aire','15 State Street',null,'Philadelphia','Pennsylvania','19154','(814)555-6789');
+INSERT INTO CUSTOMER (SSN,FIRSTNAME,LASTNAME,ST_ADDRESS,APT_NUMBER,CITY,STATE,ZIPCODE,PHONE) VALUES ('CST01005','Charles','Jones','1819 Maple Street','Apartment 17F','Stratford','Connecticut','06614','(203)555-3947');
+INSERT INTO CUSTOMER (SSN,FIRSTNAME,LASTNAME,ST_ADDRESS,APT_NUMBER,CITY,STATE,ZIPCODE,PHONE) VALUES ('CST01006','Virginia','Jefferson','1710 South 51st Street','Apartment 3245','New York','New York','10175','(718)555-2693');
+INSERT INTO CUSTOMER (SSN,FIRSTNAME,LASTNAME,ST_ADDRESS,APT_NUMBER,CITY,STATE,ZIPCODE,PHONE) VALUES ('CST01007','Ralph','Bacon','57 Barn Swallow Avenue',null,'Charlotte','North Carolina','28205','(704)555-4576');
+INSERT INTO CUSTOMER (SSN,FIRSTNAME,LASTNAME,ST_ADDRESS,APT_NUMBER,CITY,STATE,ZIPCODE,PHONE) VALUES ('CST01008','Bonnie','Dragon','88 Cinderella Lane',null,'Jacksonville','Florida','32225','(904)555-6514');
+INSERT INTO CUSTOMER (SSN,FIRSTNAME,LASTNAME,ST_ADDRESS,APT_NUMBER,CITY,STATE,ZIPCODE,PHONE) VALUES ('CST01009','Herbert','Smith','12225 Waterfall Way','Building 100, Suite 9','Portland','Oregon','97220','(971)555-7803');
+INSERT INTO CUSTOMER (SSN,FIRSTNAME,LASTNAME,ST_ADDRESS,APT_NUMBER,CITY,STATE,ZIPCODE,PHONE) VALUES ('CST01015','Jack','Corby','1 Lone Star Way',null,'Dallas','Texas','75231','(469)555-8023');
+INSERT INTO CUSTOMER (SSN,FIRSTNAME,LASTNAME,ST_ADDRESS,APT_NUMBER,CITY,STATE,ZIPCODE,PHONE) VALUES ('CST01019','Robin','Evers','1814 Falcon Avenue',null,'Atlanta','Georgia','30355','(470)555-4390');
+INSERT INTO CUSTOMER (SSN,FIRSTNAME,LASTNAME,ST_ADDRESS,APT_NUMBER,CITY,STATE,ZIPCODE,PHONE) VALUES ('CST01020','Lloyd','Abercrombie','1954 Hughes Parkway',null,'Los Angeles','California','90099','(213)555-2312');
+INSERT INTO CUSTOMER (SSN,FIRSTNAME,LASTNAME,ST_ADDRESS,APT_NUMBER,CITY,STATE,ZIPCODE,PHONE) VALUES ('CST01021','Scott','Watters','24 Mariner Way',null,'Seattle','Washington','98124','(206)555-6790');
+INSERT INTO CUSTOMER (SSN,FIRSTNAME,LASTNAME,ST_ADDRESS,APT_NUMBER,CITY,STATE,ZIPCODE,PHONE) VALUES ('CST01022','Sandra','King','96 Lakefront Parkway',null,'Minneapolis','Minnesota','55426','(651)555-9017');
+INSERT INTO CUSTOMER (SSN,FIRSTNAME,LASTNAME,ST_ADDRESS,APT_NUMBER,CITY,STATE,ZIPCODE,PHONE) VALUES ('CST01027','Maryanne','Peters','35 Grand View Circle','Apartment 5F','Cincinnati','Ohio','45232','(513)555-9067');
+INSERT INTO CUSTOMER (SSN,FIRSTNAME,LASTNAME,ST_ADDRESS,APT_NUMBER,CITY,STATE,ZIPCODE,PHONE) VALUES ('CST01034','Corey','Snyder','1760 Boston Commons Avenue','Suite 543','Boston','Massachusetts','02136 ','(617)555-3546');
+INSERT INTO CUSTOMER (SSN,FIRSTNAME,LASTNAME,ST_ADDRESS,APT_NUMBER,CITY,STATE,ZIPCODE,PHONE) VALUES ('CST01035','Henry','Thomas','345 Hilltop Parkway',null,'San Francisco','California','94129','(415)555-2093');
+INSERT INTO CUSTOMER (SSN,FIRSTNAME,LASTNAME,ST_ADDRESS,APT_NUMBER,CITY,STATE,ZIPCODE,PHONE) VALUES ('CST01036','James','Drew','876 Lakefront Lane',null,'Cleveland','Ohio','44107','(216)555-6523');
+
+
+INSERT INTO ACCOUNT (ACCOUNT_ID,SSN,STATUS,TYPE,DATEOPENED,DATECLOSED) VALUES (19980002,'CST01002','Personal  ','Active    ',{ts '1998-02-01 00:00:00.000'},null);
+INSERT INTO ACCOUNT (ACCOUNT_ID,SSN,STATUS,TYPE,DATEOPENED,DATECLOSED) VALUES (19980003,'CST01003','Personal  ','Active    ',{ts '1998-03-06 00:00:00.000'},null);
+INSERT INTO ACCOUNT (ACCOUNT_ID,SSN,STATUS,TYPE,DATEOPENED,DATECLOSED) VALUES (19980004,'CST01004','Personal  ','Active    ',{ts '1998-03-07 00:00:00.000'},null);
+INSERT INTO ACCOUNT (ACCOUNT_ID,SSN,STATUS,TYPE,DATEOPENED,DATECLOSED) VALUES (19980005,'CST01005','Personal  ','Active    ',{ts '1998-06-15 00:00:00.000'},null);
+INSERT INTO ACCOUNT (ACCOUNT_ID,SSN,STATUS,TYPE,DATEOPENED,DATECLOSED) VALUES (19980006,'CST01006','Personal  ','Active    ',{ts '1998-09-15 00:00:00.000'},null);
+INSERT INTO ACCOUNT (ACCOUNT_ID,SSN,STATUS,TYPE,DATEOPENED,DATECLOSED) VALUES (19990007,'CST01007','Personal  ','Active    ',{ts '1999-01-20 00:00:00.000'},null);
+INSERT INTO ACCOUNT (ACCOUNT_ID,SSN,STATUS,TYPE,DATEOPENED,DATECLOSED) VALUES (19990008,'CST01008','Personal  ','Active    ',{ts '1999-04-16 00:00:00.000'},null);
+INSERT INTO ACCOUNT (ACCOUNT_ID,SSN,STATUS,TYPE,DATEOPENED,DATECLOSED) VALUES (19990009,'CST01009','Business  ','Active    ',{ts '1999-06-25 00:00:00.000'},null);
+INSERT INTO ACCOUNT (ACCOUNT_ID,SSN,STATUS,TYPE,DATEOPENED,DATECLOSED) VALUES (20000015,'CST01015','Personal  ','Closed    ',{ts '2000-04-20 00:00:00.000'},{ts '2001-06-22 00:00:00.000'});
+INSERT INTO ACCOUNT (ACCOUNT_ID,SSN,STATUS,TYPE,DATEOPENED,DATECLOSED) VALUES (20000019,'CST01019','Personal  ','Active    ',{ts '2000-10-08 00:00:00.000'},null);
+INSERT INTO ACCOUNT (ACCOUNT_ID,SSN,STATUS,TYPE,DATEOPENED,DATECLOSED) VALUES (20000020,'CST01020','Personal  ','Active    ',{ts '2000-10-20 00:00:00.000'},null);
+INSERT INTO ACCOUNT (ACCOUNT_ID,SSN,STATUS,TYPE,DATEOPENED,DATECLOSED) VALUES (20000021,'CST01021','Personal  ','Active    ',{ts '2000-12-05 00:00:00.000'},null);
+INSERT INTO ACCOUNT (ACCOUNT_ID,SSN,STATUS,TYPE,DATEOPENED,DATECLOSED) VALUES (20010022,'CST01022','Personal  ','Active    ',{ts '2001-01-05 00:00:00.000'},null);
+INSERT INTO ACCOUNT (ACCOUNT_ID,SSN,STATUS,TYPE,DATEOPENED,DATECLOSED) VALUES (20010027,'CST01027','Personal  ','Active    ',{ts '2001-08-22 00:00:00.000'},null);
+INSERT INTO ACCOUNT (ACCOUNT_ID,SSN,STATUS,TYPE,DATEOPENED,DATECLOSED) VALUES (20020034,'CST01034','Business  ','Active    ',{ts '2002-01-22 00:00:00.000'},null);
+INSERT INTO ACCOUNT (ACCOUNT_ID,SSN,STATUS,TYPE,DATEOPENED,DATECLOSED) VALUES (20020035,'CST01035','Personal  ','Active    ',{ts '2002-02-12 00:00:00.000'},null);
+INSERT INTO ACCOUNT (ACCOUNT_ID,SSN,STATUS,TYPE,DATEOPENED,DATECLOSED) VALUES (20020036,'CST01036','Personal  ','Active    ',{ts '2002-03-22 00:00:00.000'},null);
+
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1002,'BA','The Boeing Company');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1003,'MON','Monsanto Company');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1004,'PNRA','Panera Bread Company');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1005,'SY','Sybase Incorporated');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1006,'BTU','Peabody Energy');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1007,'IBM','International Business Machines Corporation');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1008,'DELL','Dell Computer Corporation');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1010,'HPQ','Hewlett-Packard Company');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1011,'GTW','Gateway, Incorporated');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1012,'GE','General Electric Company');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1013,'MRK','Merck and Company Incorporated');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1014,'DIS','Walt Disney Company');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1015,'MCD','McDonalds Corporation');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1016,'DOW','Dow Chemical Company');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1018,'GM','General Motors Corporation');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1024,'SBGI','Sinclair Broadcast Group Incorporated');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1025,'COLM','Columbia Sportsware Company');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1026,'COLB','Columbia Banking System Incorporated');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1028,'BSY','British Sky Broadcasting Group PLC');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1029,'CSVFX','Columbia Strategic Value Fund');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1030,'CMTFX','Columbia Technology Fund');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1031,'F','Ford Motor Company');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1033,'FCZ','Ford Motor Credit Company');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1034,'SAP','SAP AG');
+INSERT INTO PRODUCT (ID,SYMBOL,COMPANY_NAME) VALUES(1036,'TM','Toyota Motor Corporation');
+
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (19980002,1008,{ts '1998-02-01 00:00:00.000'},50);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (19980002,1036,{ts '1998-02-01 00:00:00.000'},25);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (19980003,1002,{ts '1998-03-06 00:00:00.000'},100);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (19980003,1029,{ts '1998-03-06 00:00:00.000'},25);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (19980003,1016,{ts '1998-03-06 00:00:00.000'},51);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (19980004,1011,{ts '1998-03-07 00:00:00.000'},30);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (19980005,1024,{ts '1998-06-15 00:00:00.000'},18);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (19980006,1033,{ts '1998-09-15 00:00:00.000'},200);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (19990007,1031,{ts '1999-01-20 00:00:00.000'},65);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (19990008,1012,{ts '1999-04-16 00:00:00.000'},102);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (19990007,1008,{ts '1999-05-11 00:00:00.000'},85);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (19990008,1005,{ts '1999-05-21 00:00:00.000'},105);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (19990009,1004,{ts '1999-06-25 00:00:00.000'},120);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (19980003,1020,{ts '1999-07-22 00:00:00.000'},150);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (20000015,1018,{ts '2000-04-20 00:00:00.000'},135);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (19980006,1030,{ts '2000-06-12 00:00:00.000'},91);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (20000019,1029,{ts '2000-10-08 00:00:00.000'},351);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (20000020,1030,{ts '2000-10-20 00:00:00.000'},127);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (20000020,1018,{ts '2000-11-14 00:00:00.000'},100);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (20000019,1031,{ts '2000-11-15 00:00:00.000'},125);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (20000021,1028,{ts '2000-12-05 00:00:00.000'},400);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (20010022,1006,{ts '2001-01-05 00:00:00.000'},237);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (19990008,1015,{ts '2001-01-23 00:00:00.000'},180);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (19980005,1025,{ts '2001-03-23 00:00:00.000'},125);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (20010027,1020,{ts '2001-08-22 00:00:00.000'},70);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (20000020,1006,{ts '2001-11-14 00:00:00.000'},125);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (19980003,1029,{ts '2001-11-15 00:00:00.000'},100);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (20000021,1011,{ts '2001-12-18 00:00:00.000'},44);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (20010027,1022,{ts '2001-12-19 00:00:00.000'},115);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (20020034,1024,{ts '2002-01-22 00:00:00.000'},189);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (19990009,1022,{ts '2002-01-24 00:00:00.000'},30);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (20020035,1013,{ts '2002-02-12 00:00:00.000'},110);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (20020035,1034,{ts '2002-02-13 00:00:00.000'},70);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (20020034,1003,{ts '2002-02-22 00:00:00.000'},25);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (20000019,1013,{ts '2002-02-26 00:00:00.000'},195);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (19980004,1007,{ts '2002-03-05 00:00:00.000'},250);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (20000021,1014,{ts '2002-03-12 00:00:00.000'},300);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (20010027,1024,{ts '2002-03-14 00:00:00.000'},136);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (20020036,1012,{ts '2002-03-22 00:00:00.000'},54);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (20020036,1010,{ts '2002-03-26 00:00:00.000'},189);
+INSERT INTO HOLDINGS (ACCOUNT_ID,PRODUCT_ID,PURCHASE_DATE,SHARES_COUNT) VALUES (19980005,1010,{ts '2002-04-01 00:00:00.000'},26);
+
+
+COMMIT;
+
+DISCONNECT CURRENT;
+

Copied: trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/data (from rev 2320, branches/7.0.x/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/data)

Deleted: trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/data/marketdata-price.txt
===================================================================
--- branches/7.0.x/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/data/marketdata-price.txt	2010-06-29 21:09:36 UTC (rev 2320)
+++ trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/data/marketdata-price.txt	2010-06-30 17:09:46 UTC (rev 2324)
@@ -1,11 +0,0 @@
-SYMBOL,PRICE
-RHT,30.00
-BA,42.75
-MON,78.75
-PNRA,84.97
-SY,24.30
-BTU,41.25
-IBM,80.89
-DELL,10.75
-HPQ,31.52
-GE,16.45

Copied: trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/data/marketdata-price.txt (from rev 2320, branches/7.0.x/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/data/marketdata-price.txt)
===================================================================
--- trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/data/marketdata-price.txt	                        (rev 0)
+++ trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/data/marketdata-price.txt	2010-06-30 17:09:46 UTC (rev 2324)
@@ -0,0 +1,11 @@
+SYMBOL,PRICE
+RHT,30.00
+BA,42.75
+MON,78.75
+PNRA,84.97
+SY,24.30
+BTU,41.25
+IBM,80.89
+DELL,10.75
+HPQ,31.52
+GE,16.45

Deleted: trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/data/marketdata-price1.txt
===================================================================
--- branches/7.0.x/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/data/marketdata-price1.txt	2010-06-29 21:09:36 UTC (rev 2320)
+++ trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/data/marketdata-price1.txt	2010-06-30 17:09:46 UTC (rev 2324)
@@ -1,10 +0,0 @@
-SYMBOL,PRICE
-MRK,27.20
-DIS,20.53
-MCD,54.55
-DOW,21.80
-GM,3.15
-SBGI,2.19
-COLM,33.89
-COLB,12.64
-BSY,23.81
\ No newline at end of file

Copied: trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/data/marketdata-price1.txt (from rev 2320, branches/7.0.x/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/data/marketdata-price1.txt)
===================================================================
--- trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/data/marketdata-price1.txt	                        (rev 0)
+++ trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/data/marketdata-price1.txt	2010-06-30 17:09:46 UTC (rev 2324)
@@ -0,0 +1,10 @@
+SYMBOL,PRICE
+MRK,27.20
+DIS,20.53
+MCD,54.55
+DOW,21.80
+GM,3.15
+SBGI,2.19
+COLM,33.89
+COLB,12.64
+BSY,23.81
\ No newline at end of file

Copied: trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/marketdata-file-ds.xml (from rev 2320, branches/7.0.x/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/marketdata-file-ds.xml)
===================================================================
--- trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/marketdata-file-ds.xml	                        (rev 0)
+++ trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/marketdata-file-ds.xml	2010-06-30 17:09:46 UTC (rev 2324)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<connection-factories>
+
+   <no-tx-connection-factory>
+      <jndi-name>marketdata-file</jndi-name>
+      <rar-name>connector-file-${project.version}.rar</rar-name>
+      <connection-definition>javax.resource.cci.ConnectionFactory</connection-definition>      
+      <!--
+        All the available properties for this connector are defined inside the "ra.xml" defined inside the rar
+        file mentioned above. 
+       -->
+             
+      <config-property name="ParentDirectory" type="java.lang.String">${jboss.server.home.dir}/teiid-examples/dynamicvdb-portfolio/data</config-property>
+            
+      <max-pool-size>20</max-pool-size>
+
+    </no-tx-connection-factory>
+
+</connection-factories>
\ No newline at end of file

Copied: trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/portfolio-ds.xml (from rev 2320, branches/7.0.x/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/portfolio-ds.xml)
===================================================================
--- trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/portfolio-ds.xml	                        (rev 0)
+++ trunk/build/kits/jboss-container/teiid-examples/dynamicvdb-portfolio/portfolio-ds.xml	2010-06-30 17:09:46 UTC (rev 2324)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<datasources>
+   <xa-datasource>
+      <jndi-name>PortfolioDS</jndi-name>
+        <isSameRM-override-value>false</isSameRM-override-value>
+        <xa-datasource-class>org.apache.derby.jdbc.ClientXADataSource</xa-datasource-class>
+        <xa-datasource-property name="DatabaseName">teiid/accounts</xa-datasource-property>
+        <xa-datasource-property name="PortNumber">1527</xa-datasource-property>
+        <xa-datasource-property name="ServerName">localhost</xa-datasource-property>
+
+        <track-connection-by-tx>true</track-connection-by-tx>
+        <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
+
+        <max-pool-size>5</max-pool-size>
+        <min-pool-size>1</min-pool-size>
+      <metadata>
+         <type-mapping>Derby</type-mapping>
+      </metadata>
+   </xa-datasource>
+</datasources>
+

Modified: trunk/build/kits/jboss-container/teiid-examples/simpleclient/README.txt
===================================================================
--- trunk/build/kits/jboss-container/teiid-examples/simpleclient/README.txt	2010-06-29 21:15:38 UTC (rev 2323)
+++ trunk/build/kits/jboss-container/teiid-examples/simpleclient/README.txt	2010-06-30 17:09:46 UTC (rev 2324)
@@ -10,7 +10,7 @@
 
 e.g. With the portfolio vdb deployed:
 
-$./run.sh localhost 31000 portfolio "select * from customeraccounts"
+$./run.sh localhost 31000 dynamicportfolio "select * from tables"
 
 See the other examples for deployable .vdb and .xml files to create vdbs.
 

Modified: trunk/build/kits/jboss-container/teiid-releasenotes.html
===================================================================
--- trunk/build/kits/jboss-container/teiid-releasenotes.html	2010-06-29 21:15:38 UTC (rev 2323)
+++ trunk/build/kits/jboss-container/teiid-releasenotes.html	2010-06-30 17:09:46 UTC (rev 2324)
@@ -9,9 +9,8 @@
 <BODY LANG="en-US" DIR="LTR">
 <P><A HREF="http://www.teiid.org/"><IMG SRC="https://www.jboss.org/dms/teiid/images/teiid_banner.png" NAME="graphics1" ALT="Teiid" ALIGN=BOTTOM WIDTH=800></A>
 
-<H1>Teiid 7.0 Final Release Notes</H1>
-<P>Teiid 7.0 is a major redesign of the project containing many new
-features. 
+<H1>Teiid 7.1 Release Notes</H1>
+<P>Teiid 7.1 adds ODBC, clustering, and caching features. 
 
 <H2>Overview</H2>
 <UL>
@@ -27,32 +26,7 @@
 </UL>
 <H2><A NAME="Highlights"></A>Highlights</H2>
 <UL>
-	<LI><B>JBoss AS Integration</B> - Teiid now requires a <a href="http://www.jboss.org/jbossas/downloads.html">JBoss AS 5.1</a> instance.
-	 This change allows Teiid to leverage many AS/MC features, including transaction management, JCA, hot file drop VDB deployment, and the profile service for configuration.   
-	<LI><B>New Admin Console</B> - This
-	release includes a preview release of our new administration
-	console. See it's <A HREF="http://community.jboss.org/wiki/TeiidPluginforMonitoringandConfigurationusingEmbeddedJopr">feature
-	overview</A>.  Once Teiid is installed, the Teiid Admin Console is automatically contributed to the JBoss Admin Console. 
-	<LI><B>Translators and JCA components</B>
-	- This release separates the old connector API into light-weight
-	Translators and JCA components. This greatly simplifies the process
-	of adding new integration sources to Teiid, since it cleanly separates container provided functionality (JCA) from the Teiid specific 
-	classes knwon as a Translator.  See the <a href="teiid-docs/teiid_developers_guide.pdf">Developer's Guide</a> for more information.
-	<LI><B>Text Integration</B> - Structured text file processing is
-	now handled by the TEXTTABLE table function and the .
-	<LI><B>SQL/XML</B> - Nearly all of SQL/XML 2003 support has been
-	added, as well as XMLTABLE and XMLQUERY from SQL/XML 2006.
-	<LI><B>Web Services Integration</B> - XML/Relational logic has
-	been replaced by the SQL/XML XMLTABLE and web services execution is
-	now done through the WS Translator/WS Resource Adapter.
-	<LI><B>Expanded Dynamic VDB Support</B> - Every source type
-	except for LDAP can now be integrated in a Dynamic VDB.
-	<LI><B>Other SQL Support</B> - Queries can now contain nested tables
-	that allow for correlated variables to preceding from clause items.  Expressions are supported in the order by clause.  
-	Double quoted identifiers are allowed by default.  Added the functions to_bytes, to_chars, and querystring. 
-	ResultSet caching can now be utilized with the /* cache */ query hint.    
-	<LI><B>Improved Buffering</B> - Forward only cursors will typically not buffer results on the server.  Algorithms for
-	storing and retrieving buffers have also been improved.
+    <LI><B>SQL Support</B> - added NULLS FIST/LAST handling - including pushdown support and enhanced numeric stat aggregate functions STDDEV_POP, STDDEV_SAMP, VAR_POP, VAR_SAMP.  Added support for the boolean aggregate functions ANY, SOME, EVERY.
 </UL>
 
 <h2><a name="Compatibility">Compatibility Issues</a></h2>
@@ -69,7 +43,7 @@
   <li>The system information schema has changed from System to SYS.  The tables and table structures have also changed.  See <a href="https://jira.jboss.org/browse/TEIID-871">TEIID-871</a> and the <a href="teiid-docs/teiid_reference.pdf">Reference</a> guide for more information.
   <li>Client control over query plans has changed.  OPTION PLANONLY, DEBUG, and SHOWPLAN are no longer allowed.  This behavior should not be controlled by the SET statement, SET SHOWPLAN (ON|OFF|DEBUG) and SET NOEXEC (ON|OFF).  Usage of the client PlanNode class will also need to be updated.   
   <li>Teiid specific JDBC client interfaces and methods have changed.  In general these custom features have mostly been moved to other more standard locations or been removed. See <a href="https://jira.jboss.org/browse/TEIID-1020">TEIID-1020</a> and the <a href="teiid-docs/teiid_client_developers_guide.pdf">Client Developers</a> guide for more information.  
-  <li>Teiid's reserved words have changed.  Many of the Teiid specific reseverd words have become non-reserved words.  All of SQL Foundation and SQL/MED 2003, and SQL/XML from SQL 2006 reserved words have been added as reserved words.  It is generally required to double quote all reserved words.  It is advisable to double quote all non-reserved words as well.
+  <li>Teiid's reserved words have changed.  Many of the Teiid specific reseverd words have become non-reserved words.  All of SQL Foundation and SQL/MED 2003, and SQL/XML from SQL 2006 reserved words have been added as reserved words.  It is generally required to double quote all reserved words.  It is advisable to double quote all non-reserved words as well.  The use of the INPUT qualifier for procedure inputs has been deprecated in favor of INPUTS.  The use of the USING qualifier for dynamic SQL inputs has been deprecated in favor of DVARS.
   <li>The AdminApi has been redesigned for use with the new Translator/JCA split and for deployment in JBoss AS.
   <li>The AdminShell is based on Groovy.  Most BeanShell syntax is also valid in Groovy, but there are extensive changes in the AdminAPI that may necessitate rewriting scripts.
   <li>OPTION NO CACHE &lt;table list&gt; will now only by-pass cache for the given tables at their immediate view layer.  Previously all caches would have transitively been skipped.  See <a href="https://jira.jboss.org/browse/TEIID-900">TEIID-900</a> for more information.
@@ -90,7 +64,10 @@
 </ul>
 
 <h2><a name="Other">Other Issues</a></h2>
-
+<h4>from 7.0</h4>
+<ul>
+  <li>Fixed xsd type handling for SQL/XML and XML document models.  xsd:date, xsd:dateTime, and xsd:time types will now all be displayed using the GMT timezone (Z).  SQL types, such as timestamp, used for an XMLTABLE column will now expect their values to be in the form of the corresponding xsd type.
+</ul>
 <h4>From 6.2</h4>
 <ul>
   <li>Start time is now significantly longer due to the container deployment.  However many operations can be performed on configruation files that will trigger a redeployment without the need for a restart.
@@ -122,561 +99,10 @@
 <h2><a name="LibraryUpdates">Thirdparty Library Updates</a></h2>
 
 The following components have been updated:
-<ul>
-	<li>Netty was upgraded to 3.1.5
-	<li>Saxon was upgraded to 9.1.0.8
-	<li>A 5.1 container's version of Arjuna is newer than what was previously included in Teiid 6.x.
-	<li>Various other dependencies have been removed as they are no longer needed or now provided by the container.
-</ul>
 
 <h2><a name="Details">Detailed Release Notes</a></h2>
-        Detailed Release Notes - Teiid - Version 7.0
+        Detailed Release Notes - Teiid - Version 7.1
     
-<h2>        Bug
-</h2>
-<ul>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-26'>TEIID-26</a>] -         Need to add logic to determine if a command is deterministic
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-41'>TEIID-41</a>] -         Non selectable columns should be omitted from metadata
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-46'>TEIID-46</a>] -         Fully-qualified names should not be required when referencing virtual procedures that have unique unqualified names
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-93'>TEIID-93</a>] -         when a fairly complex query is pushed down to the XML-HTTP Connector, it fails
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-409'>TEIID-409</a>] -         server port number should be checked for availability when creating a second mmprocess
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-430'>TEIID-430</a>] -         Root access needs enforced for subsystem admin api edits of security properties
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-465'>TEIID-465</a>] -         Error message in server process log refers to binding by UUID, not name
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-563'>TEIID-563</a>] -         Exporting the configuration, via console or utility, the configuration system properties now contains everything in the system, not just defined by the Configuration component type
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-608'>TEIID-608</a>] -         Prevent duplicate hostcontroller launches
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-610'>TEIID-610</a>] -         Deleted connector bindings remain in the system state
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-704'>TEIID-704</a>] -         Missing message for key &quot;MembershipServiceImpl.Logon_failed&quot;
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-728'>TEIID-728</a>] -         Pushing blank-padded literals to source may fail to return correct results
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-792'>TEIID-792</a>] -         Index connector does not accept certian criteria forms
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-803'>TEIID-803</a>] -         The AdminAPI connector binding name needs to be assigned the name assigned by the designer
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-830'>TEIID-830</a>] -         AdminShell row count is not accurate
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-848'>TEIID-848</a>] -         Insert with out of order variables and query expression is incorrect
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-849'>TEIID-849</a>] -         subquery as input to procedure fails
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-850'>TEIID-850</a>] -         Misspellings in Teiid Reference Guide
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-852'>TEIID-852</a>] -         Oracle timestamp to time conversion null handling
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-858'>TEIID-858</a>] -         DependentSetCriteria not being replaced
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-865'>TEIID-865</a>] -         WS-Relational SOAP Connector is sending empty SOAP-ACTION header.
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-866'>TEIID-866</a>] -         AdminShell is not able to handle SELECT * INTO #TEMP FROM foo; (statement does not return a result set)
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-867'>TEIID-867</a>] -         Possibly Teiid embedded clients (Designer) not pinging query engine, causing session timeouts
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-875'>TEIID-875</a>] -         DatabaseMetadata issues
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-876'>TEIID-876</a>] -         Server Times Out Session Despite Configuration
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-879'>TEIID-879</a>] -         validate min/max non-comparable
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-889'>TEIID-889</a>] -         2 CommonTransactionTests Hang, commented out for now
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-890'>TEIID-890</a>] -         AdminShell issues
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-893'>TEIID-893</a>] -         XML Formatting error in Dynamic VDB (.def) file presents to user as file not found
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-894'>TEIID-894</a>] -         Query inexplicably failing Query Testing only with MySQL
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-895'>TEIID-895</a>] -         Update the SalesForce API to version 17 (winter 10).
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-896'>TEIID-896</a>] -         INSERT failing with SF connector on types other than a string
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-898'>TEIID-898</a>] -         Named procedure parameter error message too terse.
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-899'>TEIID-899</a>] -         Virtual Procedure queries with input variables failing with &quot;No value was available.&quot;
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-901'>TEIID-901</a>] -         NPE encountered when doing an INSERT into SFDC Account table
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-904'>TEIID-904</a>] -         Error executing the Procedural releational query with out a where clause
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-905'>TEIID-905</a>] -         block clone method is incorrect
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-909'>TEIID-909</a>] -         PropertiesUtils.resolveNestedProperties(Properties) goes in a loop 
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-911'>TEIID-911</a>] -         Prepared Batch Update against a view table fails with &quot;Unable to evaluate $param/pos0: No value was available&quot;
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-917'>TEIID-917</a>] -         xml stream handling is inconsistent
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-919'>TEIID-919</a>] -         Planner created incomplete identifiers when GROUP BY of inline view with UNION ALL
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-920'>TEIID-920</a>] -         Dup removal doesn't respect desc ordering if all projected columns are sorted on
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-922'>TEIID-922</a>] -         Teiid Quick Start Example documentation errors
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-923'>TEIID-923</a>] -         Oracle queries with a TimeStamp in the WHERE clause are failing if multiple TimeStamps are used in &quot;AND&quot;, &quot;OR', and &quot;IN&quot; situations
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-925'>TEIID-925</a>] -         dup removal results include duplicat rows
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-932'>TEIID-932</a>] -         Misleading error message when using quotation marks: Parse error... encountered (
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-934'>TEIID-934</a>] -         MySql Queries - SQL syntax error on pushdown queries when using functions like LPAD, REPLACE, etc
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-936'>TEIID-936</a>] -         Query never returns from processing
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-939'>TEIID-939</a>] -         MySQL nested set query pushdown failure
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-941'>TEIID-941</a>] -         MOD function in Postgres push down is producing connector error
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-945'>TEIID-945</a>] -         WS security tokens are configured but not provided to the service.
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-947'>TEIID-947</a>] -         UNION query with different datatypes on each side of UNION is producing inconsistent results 
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-948'>TEIID-948</a>] -         Spurious wake-up error with connector work item
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-949'>TEIID-949</a>] -         Criteria on constant column with aggregate function doesn't push criteria down correctly
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-969'>TEIID-969</a>] -         Time, date, and timestamp literals are being sent to Oracle as to_timestamp() regardless of their data type
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-973'>TEIID-973</a>] -         Quick Start Guide / Examples needs to add derbyclient.jar to UDFs for previewing
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-974'>TEIID-974</a>] -         XML-Relational connectors have trouble with reponse XMLs that contain DTD reference
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-981'>TEIID-981</a>] -         Ability to cache XML documents
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-988'>TEIID-988</a>] -         3 argument locate function on postgres reports the wrong value
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-989'>TEIID-989</a>] -         Pushdown query ORDER BY  is not always ordering results properly on Sql2000 
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1009'>TEIID-1009</a>] -         BQT Pushdown query &quot;ORDER BY&quot; is not always ordering results properly
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1025'>TEIID-1025</a>] -         Help incomplete for showPlan
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1036'>TEIID-1036</a>] -         AdminShell &amp; Migrate shell scripts should be executable
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1038'>TEIID-1038</a>] -         SF connector fails to connect.
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1042'>TEIID-1042</a>] -         AdminShell/AdminAPI - deployVDB assumes the -vdb.xml file is in the server's deploy folder
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1043'>TEIID-1043</a>] -         Invalid serialized attachments should be ingored.
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1044'>TEIID-1044</a>] -         Export connection factory does not always correct properties
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1046'>TEIID-1046</a>] -         Component Name of the VDB is null through Profile Service
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1047'>TEIID-1047</a>] -         Teiid host resolution should match that of the JBoss AS
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1051'>TEIID-1051</a>] -         Make the Connector (type) and RAR name be the same
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1053'>TEIID-1053</a>] -         NPE in Teiid JOPR when running control at vdb level - View VDB requests
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1054'>TEIID-1054</a>] -         When running the control:  View VDB Session, at the vdb level, the actions indicate its disabled
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1056'>TEIID-1056</a>] -         Required Connector Properties Should Have A Default Value If They Are Marked As An Expert Property
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1057'>TEIID-1057</a>] -         Calling getRequests() on RuntimeEngineDeployer Results in MethodNotFound 
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1063'>TEIID-1063</a>] -         PropertyDefinition.getPropertyTypeClassName() Should Always Return A Java Class Name
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1065'>TEIID-1065</a>] -         PropertyDefinition.getDisplayName() Should Agree With The Display Name Shown In JON
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1067'>TEIID-1067</a>] -         Managed connector  connection factory always closes the physical connection.
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1072'>TEIID-1072</a>] -         XML-Relational connector sometimes uses same ResponseOut/ResponseIn value for different web service queries
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1073'>TEIID-1073</a>] -         Logging not working in Teiid Jopr Plugin
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1076'>TEIID-1076</a>] -         When running BQT tests, an Assertion error is seen when batches are being processed
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1083'>TEIID-1083</a>] -         When running either control at the vdb level while the vdb is being access produces an exception
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1084'>TEIID-1084</a>] -         Exception in BatchIterator
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1085'>TEIID-1085</a>] -         AdminShell (Groovy) shows connectionName even after that connection has been disconnected
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1086'>TEIID-1086</a>] -         Possible missing I18N bundle for AdminShell
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1088'>TEIID-1088</a>] -         AdminShell deployVDB method prepends the path to server's deploy directory to VDB location 
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1094'>TEIID-1094</a>] -         XML literal input to HTTP-SOAP connector is being URL encoded
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1100'>TEIID-1100</a>] -         Teiid Examples run.sh should be executable when extracted from archive
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1101'>TEIID-1101</a>] -         Teiid Example PortfolioDS specifies a username &amp; password for Derby source where none is required
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1108'>TEIID-1108</a>] -         Receiving NPE when querying DynamicPortfolio VDB with more complicated query
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1109'>TEIID-1109</a>] -         NPE Connecting to a Teiid DataSource (XA) Without Setting Expected Properties 
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1110'>TEIID-1110</a>] -         NPE Connecting to a Teiid DataSource (XA) as Anonymous User
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1115'>TEIID-1115</a>] -         java.lang.IllegalStateException: Failed to find template for: translator-file  while attempting to call Admin.getTemplatePropertyDefinitions(&quot;file&quot;)
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1116'>TEIID-1116</a>] -         AdminConsole for DataServices indicates, by default, that SSL Enabled is true, but the teiid-jboss-beans.xml indicates sslEnabled is false
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1117'>TEIID-1117</a>] -         When VDBis deleted the cached medata files are not cleaned up
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1119'>TEIID-1119</a>] -         Trying to add new functions to be supported by a new connector and the Connector developers guide refers to the JDBCCapabilities class, which doesn't exist anymore.  Have the steps changed to add a new scalar function?
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1121'>TEIID-1121</a>] -         Fix the migrate utility for the Translator changes
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1122'>TEIID-1122</a>] -         attempting to getTemplatePropertyDefinitions() for the DefaultDS or JMSDS are throwing Admin AdminComponentException exceptions. They need to get filtered out on API calls for Data Source info.
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1125'>TEIID-1125</a>] -         Re-connecting proxy may lead to error in execution
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1126'>TEIID-1126</a>] -         Web Service VDB Execution Error
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1127'>TEIID-1127</a>] -         java.lang.ClassCastException Executing Virtual Procedure from Web Service Model
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1128'>TEIID-1128</a>] -         Invalid Resolver Error 
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1129'>TEIID-1129</a>] -         Unable to execute SQL Queries through VDB's with more than one model in it from Designer/DTP
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1130'>TEIID-1130</a>] -         NPE when using exportVDB from adminshell
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1132'>TEIID-1132</a>] -         Teiid Kit missing SalesForce JAR
-</li>
-</ul>
-        
-<h2>        Feature Request
-</h2>
-<ul>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-145'>TEIID-145</a>] -         Parse double quoted literals as identifiers by default
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-150'>TEIID-150</a>] -         Improve nested loop (in merge join) matching 
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-153'>TEIID-153</a>] -         Support IS NULL criteria in the xml connector
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-155'>TEIID-155</a>] -         Revisit TransformationMetadataFacade cache sizes
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-159'>TEIID-159</a>] -         Modify our handling of BigDecimal division to use MathContext.DECIMAL128 as our rounding mode to improve scale and precision of results
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-162'>TEIID-162</a>] -         Delete and update support in temp table
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-165'>TEIID-165</a>] -         Connector support for more converts
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-168'>TEIID-168</a>] -         Refine caching behavior
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-171'>TEIID-171</a>] -         Add SQL/XML support
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-173'>TEIID-173</a>] -         ProductAdmin role can deploy a vdb but cannot create connector bindings
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-180'>TEIID-180</a>] -         Consider using Salesforce retrieve() rather than generic query() call for queries with IN criteria
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-183'>TEIID-183</a>] -         user &quot;or&quot; and &quot;in&quot; criteria should generate multiple queries in some situations
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-186'>TEIID-186</a>] -         Expose catalog information and props in Connector API metadata [PEC]
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-207'>TEIID-207</a>] -         Forward and Backward Compatibility of MetaMatrix JDBC Driver
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-208'>TEIID-208</a>] -         LDAP Connector should implement Connection.isAlive(), in order to properly report connection status when monitored
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-216'>TEIID-216</a>] -         Query timeout should be enforced by the server
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-222'>TEIID-222</a>] -         Procedural relational execution should support disjunctive criteria
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-236'>TEIID-236</a>] -         Procedural access pattern
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-249'>TEIID-249</a>] -         Need well-known multi-payload container
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-251'>TEIID-251</a>] -         Support SQL 2003 order by with expressions
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-367'>TEIID-367</a>] -         Add a validation step to security provider definition.
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-371'>TEIID-371</a>] -         System state should reflect the state and allow start/stop/restart of Membership Domains
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-404'>TEIID-404</a>] -         1-way and 2-way SSL to MMx must support different keystore file names within a cluster
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-533'>TEIID-533</a>] -         HostController Process is redundent and should be removed
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-750'>TEIID-750</a>] -         Add more filtering in the internal processing of queries so that hidden items do not requires fully qualified names to be used
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-807'>TEIID-807</a>] -         Develop the new Teiid Console using JOPR for its core framework
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-822'>TEIID-822</a>] -         Add hsql translator
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-833'>TEIID-833</a>] -         Support tighter integration with container deployments
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-844'>TEIID-844</a>] -         Implement metadata creation in the SalesForce connector.
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-845'>TEIID-845</a>] -         AdminShell needs to be able to produce and display a Query Plan
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-851'>TEIID-851</a>] -         API improvements for custom connector development
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-873'>TEIID-873</a>] -         Add support for quoted identifier aliases
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-881'>TEIID-881</a>] -         SOAP Connector should expose property to control HTTP Header Transfer-Encoding: chunked
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-891'>TEIID-891</a>] -         Add JDBC import logic to correct unsigned types
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-897'>TEIID-897</a>] -         Create a new autowrap mode to replace pessimistic/optimistic
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-900'>TEIID-900</a>] -         Refine option no cache behavior
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-906'>TEIID-906</a>] -         Add support for a set statement
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-943'>TEIID-943</a>] -         Fully implement client streaming of lobs/readers/streams
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-963'>TEIID-963</a>] -         Need to add XPath 2.0 support for services in and out of MM
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-966'>TEIID-966</a>] -         User (principal) name in MetaMatrix should be consistently the same string
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-980'>TEIID-980</a>] -         Add ability to apply XSLT stylesheets at the datasource level
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1003'>TEIID-1003</a>] -         Connector api language changes
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1005'>TEIID-1005</a>] -         Update reserved words
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1007'>TEIID-1007</a>] -         Remove unnecessary inline views over group bys
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1019'>TEIID-1019</a>] -         Request ability to turn on/off Auto Staging tables
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1021'>TEIID-1021</a>] -         Enable better support for mixed database encoding
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1029'>TEIID-1029</a>] -         Provide sample scripts that show the use of the AdminAPI in an alternative scripting manner
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1033'>TEIID-1033</a>] -         Add state to request metadata
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1039'>TEIID-1039</a>] -         Provide a solution to  'merge' two VDBs
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1040'>TEIID-1040</a>] -         Refine client control of query plans
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1045'>TEIID-1045</a>] -         Provide a admin method to &quot;export&quot; a Data Source.
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1052'>TEIID-1052</a>] -         Replace beanshell based adminshell with Groovy
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1062'>TEIID-1062</a>] -         Expose the Teiid Runtime Version as a ManagedOperation/ManagedProperty
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1071'>TEIID-1071</a>] -         Modify validation errors element in schema for VDB configuration file to include attribute for location of error
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1075'>TEIID-1075</a>] -         Separate Connector Binding into Translation Layer and Connection Layer
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1097'>TEIID-1097</a>] -         Add support for nested table references
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1102'>TEIID-1102</a>] -         Create a replacement for the text translator
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1105'>TEIID-1105</a>] -         Add Translator Instance Information from the VDB to the VDB Configuration Tab
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1112'>TEIID-1112</a>] -         Add getRequestsForVDB() Method on RuntimeEngine
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1118'>TEIID-1118</a>] -         Provide alternative webservices calling ability
-</li>
-</ul>
-        
-<h2>        Quality Risk
-</h2>
-<ul>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-254'>TEIID-254</a>] -         Metadata query for procedure columns needs work
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-853'>TEIID-853</a>] -         Dynamic command projection should be positional
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-869'>TEIID-869</a>] -         Clean up metadata
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-874'>TEIID-874</a>] -         Wiki documentation on SSL Encryption is misleading
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-880'>TEIID-880</a>] -         SQL Server uniqueidentifier handling
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-915'>TEIID-915</a>] -         Error results in illegalstateexception
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-916'>TEIID-916</a>] -         Initial client socket timeout is too low under load
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-918'>TEIID-918</a>] -         Change all package names to org.teiid
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-926'>TEIID-926</a>] -         Reduce use of map look ups for projection
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1001'>TEIID-1001</a>] -         Source string format for float/double/bigdecimal/timestamp can vary
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1004'>TEIID-1004</a>] -         Check for common math exceptions
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1012'>TEIID-1012</a>] -         Update logging contexts
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1015'>TEIID-1015</a>] -         Move threading concerns to the engine
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1016'>TEIID-1016</a>] -         Include documentation about system properties in server configuration
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1018'>TEIID-1018</a>] -         Review all translator properties
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1020'>TEIID-1020</a>] -         Remove the use of Teiid specific JDBC extensions
-</li>
-</ul>
-            
-<h2>        Task
-</h2>
-<ul>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-278'>TEIID-278</a>] -         Upgrade Axis2 to Axis2 1.4
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-673'>TEIID-673</a>] -         Need to Document Alternate Means of Achieving Web Services and XML Usage Scenarios for Teiid
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-790'>TEIID-790</a>] -         Teiid Server uses Sun JDK specific JMX server, thus portability to other JDKs is not possible
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-854'>TEIID-854</a>] -         Remove the legacy &quot;server&quot; project from the SCM
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-868'>TEIID-868</a>] -         Simplify handling of parse format date/time functions
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-878'>TEIID-878</a>] -         Fix capabilities caching
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-902'>TEIID-902</a>] -         Restructure planning
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-912'>TEIID-912</a>] -         Add unit test methods from JBEDSP-1137: StackOverflowError when top level query uses the same symbol name and group alias that is in a second level query or sub-query
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-913'>TEIID-913</a>] -         Refine buffer management
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-927'>TEIID-927</a>] -         Remove the legacy JDBC Datasource and Driver classes
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-990'>TEIID-990</a>] -         Remove the Axis library dependency on the XML Connectors
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-995'>TEIID-995</a>] -         The management console should support deploying VDB to EDS
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1002'>TEIID-1002</a>] -         Remove unnecessary sandbox connectors
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1023'>TEIID-1023</a>] -         Chanage &quot;MaxResultRows&quot; Connector Property to default to &quot;unlimited&quot;
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1026'>TEIID-1026</a>] -         Refine plan/annotation logic
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1037'>TEIID-1037</a>] -         Document execution properties in the client developers guide.
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1041'>TEIID-1041</a>] -         Create a CTC kit to be used to deploy Teiid/EDS query testing across all supported platforms in the Hudson QA Lab
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1050'>TEIID-1050</a>] -         Update the build process to use new Nexus Maven repository
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1074'>TEIID-1074</a>] -         Make VDB work with Model based index files
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1098'>TEIID-1098</a>] -         Add Long Running Query Limit Property to Teiid Engine Managed Component
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1099'>TEIID-1099</a>] -         Update Jopr Plugin to Use Long Running Query Property and Method on Teiid Engine
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1111'>TEIID-1111</a>] -         Add Teiid Version to Summary Page of Engine Resource in Teiid Jopr Plugin
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1120'>TEIID-1120</a>] -         Provide single HTML page for all the documents
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1124'>TEIID-1124</a>] -         Confusion with &quot;java:&quot; prefix in the DataSource from tooling
-</li>
-</ul>
-    
-<h2>        Thirdparty Change
-</h2>
-<ul>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-938'>TEIID-938</a>] -         MySql queries pushed down to the source producing error:  Invalid conversion from type class com.metamatrix.common.types.BlobType with value 'javax.sql.rowset.serial.SerialBlob at 1b1395dc' to type class java.lang.Character
-</li>
-</ul>
-        
-<h2>        Sub-task
-</h2>
-<ul>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-137'>TEIID-137</a>] -         Remove the HTTPClient Usage from the XML Connector and use the Common XML Connector
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-138'>TEIID-138</a>] -         Convert Common XML Connector to Axis2
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-143'>TEIID-143</a>] -         Query should 'find' connector types and jars rather than have them predefined in the config.
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-199'>TEIID-199</a>] -         Integration with JBoss Identity project
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-218'>TEIID-218</a>] -         Security URL properties handling
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-315'>TEIID-315</a>] -         Add JDBC Connector developers guide
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-396'>TEIID-396</a>] -         Authorization Provider can not deleted using the Admin API
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-429'>TEIID-429</a>] -         Use DataSources in creating the ConnectorBindings instead of creating one using the Driver
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-441'>TEIID-441</a>] -         Expand the requires restart property
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-464'>TEIID-464</a>] -         Shared Installation Option
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-502'>TEIID-502</a>] -         Allow Multiple UDF Definition Models
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-674'>TEIID-674</a>] -         Document/test a Means of Top-down WSDL Consumption
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-675'>TEIID-675</a>] -         Document/test a Means of Bottom-up Web Services in Teiid
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-676'>TEIID-676</a>] -         Document/test a means of creating service that executes ad-hoc SQL commands inTeiid
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-678'>TEIID-678</a>] -         Document/test Alternative Means to Achieve Current XML Document Scenarios
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-781'>TEIID-781</a>] -         Move the CTC testing framework to the teiid community
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-782'>TEIID-782</a>] -         Add the ability to test transactions to CTC testing client
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-788'>TEIID-788</a>] -         Change internal handling of insert with query expression
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-789'>TEIID-789</a>] -         Provide JMX access from remote computers
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-808'>TEIID-808</a>] -         Revisit the prior issues with extending the JOPR JMX plugin and verify if the problems have been fixed
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-838'>TEIID-838</a>] -         Runtime discovery of VDBs
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-859'>TEIID-859</a>] -         Connector API must extend the JCA 1.5 API
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-861'>TEIID-861</a>] -         All Teiid Connectors  must be modified and packaged as JCA Connectors.
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-862'>TEIID-862</a>] -         Teiid engine needs to be exposed as a JCA Connector
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-863'>TEIID-863</a>] -         Remove Trusted payload, credential map for authenticating connector sources
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-864'>TEIID-864</a>] -         Need new deployment packing that works with JBoss AS or JBoss Embedded
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-870'>TEIID-870</a>] -         Standardize the JDBC metadata
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-871'>TEIID-871</a>] -         Refactor system vdb
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-877'>TEIID-877</a>] -         Membership Domain Documentation is Out of Date
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-883'>TEIID-883</a>] -         Convert model/group/element to schema/table/column
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-884'>TEIID-884</a>] -         Calling restart on adminapi throws an exception
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-907'>TEIID-907</a>] -         Add a sample connector template for starting a new connector development
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-910'>TEIID-910</a>] -         Convert the Admin API implemention based on Profile Service
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-924'>TEIID-924</a>] -         Remove metadataobjects
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-944'>TEIID-944</a>] -         Provide a separate Admin connection
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-997'>TEIID-997</a>] -         Investigate adding new metrics that added value for the user to monitor their servers
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-998'>TEIID-998</a>] -         Define a new schema based VDB deployer xml (previously defined by ConfigurationInfo.def)
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1013'>TEIID-1013</a>] -         Load the UDF based on the information provided in the vdb.xml
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1017'>TEIID-1017</a>] -         Move defining the Data Roles to VDB deployer XML file. Map the roles to container roles
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1024'>TEIID-1024</a>] -         Support conversion between clob and sql/xml
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1032'>TEIID-1032</a>] -         Change nomenclature of &quot;Connector Binding&quot; to &quot;Connection Factory&quot;
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1068'>TEIID-1068</a>] -         Provide a single Connector, that represents the DS and Teiid Connector for JDBC sources.
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1069'>TEIID-1069</a>] -         Admin API Data Source method are not needed
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1077'>TEIID-1077</a>] -         Split all Connector projects to define their &quot;Translator&quot; modules and &quot;Connection&quot; modules
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1078'>TEIID-1078</a>] -         Build annotation based configuration for the Connector Translation layer 
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1079'>TEIID-1079</a>] -         Provide deployer for the Translation Layer components.
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1080'>TEIID-1080</a>] -         Change Admin API, to support the Translation Layer and Connection layer concepts.
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1081'>TEIID-1081</a>] -         Provide pre built &quot;Translator&quot; for all the popular data sources
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1087'>TEIID-1087</a>] -         Add Function to Extract fragments from XML
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1089'>TEIID-1089</a>] -         Combine the ExecutionFactory and Capabilities class into single class
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1113'>TEIID-1113</a>] -         Change Get Request for VDB Operation to Call getRequestsForVDB() on the RuntimeEngine
-</li>
-<li>[<a href='https://jira.jboss.org/browse/TEIID-1114'>TEIID-1114</a>] -         Add support for xmltable
-</li>
-</ul>
-
- 
 <h2><a name="Documentation">Documentation and Help</a></h2>
 
 The <a href="http://www.jboss.org/teiid/">Teiid community project</a> is hosted on jboss.org.

Copied: trunk/engine/src/main/java/org/teiid/common/buffer/AbstractTupleSource.java (from rev 2320, branches/7.0.x/engine/src/main/java/org/teiid/common/buffer/AbstractTupleSource.java)
===================================================================
--- trunk/engine/src/main/java/org/teiid/common/buffer/AbstractTupleSource.java	                        (rev 0)
+++ trunk/engine/src/main/java/org/teiid/common/buffer/AbstractTupleSource.java	2010-06-30 17:09:46 UTC (rev 2324)
@@ -0,0 +1,112 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership.  Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+package org.teiid.common.buffer;
+
+import java.util.List;
+
+import org.teiid.core.TeiidComponentException;
+import org.teiid.core.TeiidProcessingException;
+
+public abstract class AbstractTupleSource implements IndexedTupleSource {
+    private int currentRow = 1;
+    private int mark = 1;
+	private List<?> currentTuple;
+	protected TupleBatch batch;
+
+    @Override
+    public int getCurrentIndex() {
+    	return this.currentRow;
+    }
+
+    @Override
+    public List<?> nextTuple()
+    throws TeiidComponentException, TeiidProcessingException{
+    	List<?> result = null;
+    	if (currentTuple != null){
+			result = currentTuple;
+			currentTuple = null;
+    	} else {
+    		result = getCurrentTuple();
+    	} 
+    	if (result != null) {
+    		currentRow++;
+    	}
+        return result;
+    }
+
+	protected List<?> getCurrentTuple() throws TeiidComponentException,
+			BlockedException, TeiidProcessingException {
+		if (available() > 0) {
+			//if (forwardOnly) {
+				if (batch == null || !batch.containsRow(currentRow)) {
+					batch = getBatch(currentRow);
+				}
+				return batch.getTuple(currentRow);
+			//} 
+			//TODO: determine if we should directly hold a soft reference here
+			//return getRow(currentRow);
+		}
+		batch = null;
+		return finalRow();
+	}
+
+	protected abstract List<?> finalRow() throws BlockedException, TeiidComponentException, TeiidProcessingException;
+	
+	protected abstract TupleBatch getBatch(int row) throws TeiidComponentException, TeiidProcessingException;
+	
+    @Override
+    public void closeSource() {
+    	batch = null;
+        mark = 1;
+        reset();
+    }
+    
+    @Override
+	public boolean hasNext() throws TeiidComponentException, TeiidProcessingException {
+        if (this.currentTuple != null) {
+            return true;
+        }
+        
+        this.currentTuple = getCurrentTuple();
+		return this.currentTuple != null;
+	}
+
+	@Override
+	public void reset() {
+		this.setPosition(mark);
+		this.mark = 1;
+	}
+
+    @Override
+    public void mark() {
+        this.mark = currentRow;
+    }
+
+    @Override
+    public void setPosition(int position) {
+        if (this.currentRow != position) {
+	        this.currentRow = position;
+	        this.currentTuple = null;
+        }
+    }
+    
+}
\ No newline at end of file

Modified: trunk/engine/src/main/java/org/teiid/common/buffer/TupleBuffer.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/common/buffer/TupleBuffer.java	2010-06-29 21:15:38 UTC (rev 2323)
+++ trunk/engine/src/main/java/org/teiid/common/buffer/TupleBuffer.java	2010-06-30 17:09:46 UTC (rev 2324)
@@ -44,100 +44,7 @@
 
 public class TupleBuffer {
 	
-	class TupleSourceImpl implements IndexedTupleSource {
-	    private int currentRow = 1;
-	    private int mark = 1;
-		private List<?> currentTuple;
-		private TupleBatch batch;
-
-	    @Override
-	    public int getCurrentIndex() {
-	    	return this.currentRow;
-	    }
-
-	    @Override
-	    public List getSchema(){
-	        return schema;
-	    }
-
-	    @Override
-	    public List<?> nextTuple()
-	    throws TeiidComponentException{
-	    	List<?> result = null;
-	    	if (currentTuple != null){
-				result = currentTuple;
-				currentTuple = null;
-	    	} else {
-	    		result = getCurrentTuple();
-	    	} 
-	    	if (result != null) {
-	    		currentRow++;
-	    	}
-	        return result;
-	    }
-
-		private List<?> getCurrentTuple() throws TeiidComponentException,
-				BlockedException {
-			if (currentRow <= rowCount) {
-				//if (forwardOnly) {
-					if (batch == null || !batch.containsRow(currentRow)) {
-						batch = getBatch(currentRow);
-					}
-					return batch.getTuple(currentRow);
-				//} 
-				//TODO: determine if we should directly hold a soft reference here
-				//return getRow(currentRow);
-			}
-			batch = null;
-			if(isFinal) {
-	            return null;
-	        } 
-	        throw BlockedException.INSTANCE;
-		}
-
-	    @Override
-	    public void closeSource() {
-	    	batch = null;
-	        mark = 1;
-	        reset();
-	    }
-	    
-	    @Override
-		public boolean hasNext() throws TeiidComponentException {
-	        if (this.currentTuple != null) {
-	            return true;
-	        }
-	        
-	        this.currentTuple = getCurrentTuple();
-			return this.currentTuple != null;
-		}
-
-		@Override
-		public void reset() {
-			this.setPosition(mark);
-			this.mark = 1;
-		}
-
-	    @Override
-	    public void mark() {
-	        this.mark = currentRow;
-	    }
-
-	    @Override
-	    public void setPosition(int position) {
-	        if (this.currentRow != position) {
-		        this.currentRow = position;
-		        this.currentTuple = null;
-	        }
-	    }
-	    
-	    @Override
-	    public int available() {
-	    	return rowCount - currentRow + 1;
-	    }
-	}
-	
-    /**
+	/**
      * Gets the data type names for each of the input expressions, in order.
      * @param expressions List of Expressions
      * @return
@@ -407,7 +314,31 @@
 	 * @return
 	 */
 	public IndexedTupleSource createIndexedTupleSource() {
-		return new TupleSourceImpl();
+		return new AbstractTupleSource() {
+			
+			@Override
+			public List<? extends Expression> getSchema() {
+				return (List<? extends Expression>) schema;
+			}
+			
+			@Override
+			protected List<?> finalRow() throws BlockedException {
+				if(isFinal) {
+		            return null;
+		        } 
+		        throw BlockedException.INSTANCE;
+			}
+			
+			@Override
+			public int available() {
+				return rowCount - getCurrentIndex() + 1;
+			}
+			
+			@Override
+			protected TupleBatch getBatch(int row) throws TeiidComponentException {
+				return TupleBuffer.this.getBatch(row);
+			}
+		};
 	}
 	
 	@Override

Modified: trunk/engine/src/main/java/org/teiid/query/processor/BatchIterator.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/processor/BatchIterator.java	2010-06-29 21:15:38 UTC (rev 2323)
+++ trunk/engine/src/main/java/org/teiid/query/processor/BatchIterator.java	2010-06-30 17:09:46 UTC (rev 2324)
@@ -24,13 +24,14 @@
 
 import java.util.List;
 
-import org.teiid.common.buffer.IndexedTupleSource;
+import org.teiid.common.buffer.AbstractTupleSource;
+import org.teiid.common.buffer.BlockedException;
 import org.teiid.common.buffer.TupleBatch;
 import org.teiid.common.buffer.TupleBuffer;
 import org.teiid.core.TeiidComponentException;
 import org.teiid.core.TeiidProcessingException;
 import org.teiid.query.processor.BatchCollector.BatchProducer;
-import org.teiid.query.sql.symbol.SingleElementSymbol;
+import org.teiid.query.sql.symbol.Expression;
 
 
 /**
@@ -40,68 +41,69 @@
  * 
  * Note that the saveOnMark buffering only lasts until the next mark is set.
  */
-public class BatchIterator implements IndexedTupleSource {
+public class BatchIterator extends AbstractTupleSource {
 
     private final BatchProducer source;
     private boolean saveOnMark;
     private TupleBuffer buffer;
-    private IndexedTupleSource bufferedTs;
+    private boolean done;
+    private boolean mark;
 
     public BatchIterator(BatchProducer source) {
         this.source = source;
     }
-
-    private boolean done;
-    private int currentRow = 1;
-    private TupleBatch currentBatch;
-    private List currentTuple;
-    private int bufferedIndex;
-    private boolean mark;
     
-    @Override
-    public boolean hasNext() throws TeiidComponentException,
-                            TeiidProcessingException {
-    	
-    	if (done && this.bufferedTs == null) {
-            return false;
-        }
-        while (currentTuple == null) {
-            if (currentBatch == null) {
-            	if (this.bufferedTs != null) {
-            		if (this.currentRow <= this.bufferedIndex) {
-	            		this.bufferedTs.setPosition(currentRow++);
-	            		this.currentTuple = this.bufferedTs.nextTuple();
-	            		return true;
-            		}
-            		if (done) {
-            			return false;
-            		}
-            	} 
-                currentBatch = this.source.nextBatch();
-                if (buffer != null && !saveOnMark) {
-                	buffer.addTupleBatch(currentBatch, true);
-                	bufferedIndex = currentBatch.getEndRow();
-                }
+	@Override
+	protected TupleBatch getBatch(int row) throws TeiidComponentException, TeiidProcessingException {
+		throw new UnsupportedOperationException();
+	}
+	
+	@Override
+	protected List<?> finalRow() throws TeiidComponentException, TeiidProcessingException {
+		if (this.buffer != null && this.getCurrentIndex() <= this.buffer.getRowCount()) {
+			batch = this.buffer.getBatch(this.getCurrentIndex());
+    	}
+		while (available() < 1) {
+			if (done) {
+				return null;
+			}
+			batch = source.nextBatch();
+			done = batch.getTerminationFlag();
+			if (buffer != null && !saveOnMark) {
+            	buffer.addTupleBatch(batch, true);
             }
-
-            if (currentBatch.containsRow(currentRow)) {
-                this.currentTuple = currentBatch.getTuple(currentRow++);
-            } else {
-                done = currentBatch.getTerminationFlag();
-                currentBatch = null;
-                if (done) {
-                    return false;
-                }
-            }
+		}
+		return getCurrentTuple();
+	}
+	
+	@Override
+	protected List<?> getCurrentTuple() throws TeiidComponentException,
+			BlockedException, TeiidProcessingException {
+		List<?> tuple = super.getCurrentTuple();
+		if (mark && saveOnMark && this.getCurrentIndex() > this.buffer.getRowCount()) {
+        	this.buffer.setRowCount(this.getCurrentIndex() - 1);
+        	this.buffer.addTuple(tuple);
         }
-        return true;
-    }
-    
+		return tuple;
+	}
+	
+	@Override
+	public int available() {
+		if (batch != null && batch.containsRow(getCurrentIndex())) {
+			return batch.getEndRow() - getCurrentIndex() + 1;
+		}
+		return 0;
+	}
+
+	@Override
+	public List<? extends Expression> getSchema() {
+		return source.getOutputElements();
+	}
+	
     public void setBuffer(TupleBuffer buffer, boolean saveOnMark) {
 		this.buffer = buffer;
-		this.bufferedTs = this.buffer.createIndexedTupleSource();
 		this.saveOnMark = saveOnMark;
-	}
+	}   
     
     @Override
     public void closeSource() {
@@ -112,80 +114,29 @@
     }
     
     @Override
-    public List<SingleElementSymbol> getSchema() {
-    	return source.getOutputElements();
-    }
-    
-    @Override
-    public List<?> nextTuple() throws TeiidComponentException,
-    		TeiidProcessingException {
-        if (currentTuple == null && !hasNext()) {
-            return null;
-        }
-        List result = currentTuple;
-        currentTuple = null;
-        if (mark && saveOnMark && this.currentRow - 1 > this.buffer.getRowCount()) {
-        	this.buffer.setRowCount(this.currentRow - 2);
-        	this.buffer.addTuple(result);
-        	this.bufferedIndex = this.currentRow - 1;
-        }
-        return result;
-    }
-
     public void reset() {
-    	if (this.bufferedTs != null) {
+    	super.reset();
+    	if (this.buffer != null) {
     		mark = false;
-    		this.bufferedTs.reset();
-    		if (this.currentRow != this.bufferedTs.getCurrentIndex()) {
-    			this.currentRow = this.bufferedTs.getCurrentIndex();
-    			this.currentTuple = null;
-    		}
     		return;
     	}
-        throw new UnsupportedOperationException();
     }
 
+    @Override
     public void mark() {
-    	if (this.bufferedTs != null) {
-    		this.bufferedTs.mark();
-    		if (saveOnMark && this.currentRow > this.bufferedIndex) {
-    			this.buffer.purge();
-    			this.bufferedIndex = 0;
-    		}
+    	super.mark();
+    	if (this.buffer != null && saveOnMark && this.getCurrentIndex() > this.buffer.getRowCount()) {
+			this.buffer.purge();
     	}
     	mark = true;
     }
-
+    
     @Override
-    public int getCurrentIndex() {
-        return currentRow;
-    }
-
     public void setPosition(int position) {
-    	if (this.bufferedTs != null) {
-    		this.bufferedTs.setPosition(position);
-    		this.currentRow = position;
-    	}
-    	if (this.currentBatch == null && position < this.currentRow) {
+    	super.setPosition(position);
+    	if (this.buffer == null && position < getCurrentIndex() && position < (this.batch != null ? batch.getBeginRow() : Integer.MAX_VALUE)) {
 			throw new UnsupportedOperationException("Backwards positioning is not allowed"); //$NON-NLS-1$
     	}
-    	this.currentRow = position;
-        this.currentTuple = null;
-    	if (this.currentBatch == null || !this.currentBatch.containsRow(position)) {
-        	this.currentBatch = null;
-    	}
     }
     
-    @Override
-    public int available() {
-    	if (this.currentRow <= this.bufferedIndex) {
-    		this.bufferedTs.setPosition(this.currentRow);
-    		return this.bufferedTs.available();
-    	}
-    	if (currentBatch != null) {
-    		return currentBatch.getEndRow() - currentRow + 1;
-    	}
-    	return 0;
-    }
-    
 }

Modified: trunk/engine/src/test/java/org/teiid/query/processor/TestBatchIterator.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/processor/TestBatchIterator.java	2010-06-29 21:15:38 UTC (rev 2323)
+++ trunk/engine/src/test/java/org/teiid/query/processor/TestBatchIterator.java	2010-06-30 17:09:46 UTC (rev 2324)
@@ -22,12 +22,15 @@
 
 package org.teiid.query.processor;
 
+import static org.junit.Assert.*;
+
 import java.util.Arrays;
 import java.util.List;
 
 import org.junit.Test;
 import org.teiid.common.buffer.BufferManager;
 import org.teiid.common.buffer.BufferManagerFactory;
+import org.teiid.common.buffer.TupleBuffer;
 import org.teiid.common.buffer.BufferManager.TupleSourceType;
 import org.teiid.query.processor.BatchIterator;
 import org.teiid.query.processor.relational.FakeRelationalNode;
@@ -52,4 +55,21 @@
 		bi.nextTuple();
 	}
 	
+	@Test public void testReset1() throws Exception {
+		BatchIterator bi = new BatchIterator(new FakeRelationalNode(1, new List[] {
+			Arrays.asList(1),
+			Arrays.asList(2),
+			Arrays.asList(3)
+		}, 2));
+		BufferManager bm = BufferManagerFactory.getStandaloneBufferManager();
+		TupleBuffer tb = bm.createTupleBuffer(Arrays.asList(new ElementSymbol("x")), "test", TupleSourceType.PROCESSOR);
+		bi.setBuffer(tb, true);  //$NON-NLS-1$
+		bi.nextTuple();
+		bi.mark();
+		bi.nextTuple();
+		bi.reset();
+		assertEquals(2, bi.getCurrentIndex());
+		assertEquals(2, bi.nextTuple().get(0));
+	}
+	
 }

Modified: trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java	2010-06-29 21:15:38 UTC (rev 2323)
+++ trunk/engine/src/test/java/org/teiid/query/processor/TestProcessor.java	2010-06-30 17:09:46 UTC (rev 2324)
@@ -93,7 +93,7 @@
 import org.teiid.query.validator.Validator;
 import org.teiid.query.validator.ValidatorReport;
 
- at SuppressWarnings("nls")
+ at SuppressWarnings({"nls", "unchecked"})
 public class TestProcessor {
 
 	// ################################## TEST HELPERS ################################
@@ -1343,6 +1343,34 @@
         helpProcess(plan, dataManager, expected);
     }   
     
+    @Test public void testSortedFullOuterJoin() throws Exception { 
+        // Create query 
+        String sql = "SELECT pm1.g1.e2, pm2.g1.e2 FROM pm1.g1 FULL OUTER JOIN pm2.g1 ON pm1.g1.e2=pm2.g1.e2 and pm1.g1.e2 > 3"; //$NON-NLS-1$
+        
+        // Create expected results
+        List[] expected = new List[] { 
+            Arrays.asList(new Object[] { null, 2 }), //$NON-NLS-1$
+            Arrays.asList(new Object[] { 3, null }), //$NON-NLS-1$ //$NON-NLS-2$
+            Arrays.asList(new Object[] { null, 3 }), //$NON-NLS-1$
+            Arrays.asList(new Object[] { null, 4 }), //$NON-NLS-1$
+        };    
+        
+        HardcodedDataManager hdm = new HardcodedDataManager();
+        hdm.addData("SELECT g_0.e2 AS c_0 FROM pm1.g1 AS g_0 ORDER BY c_0", new List[] {
+        		Arrays.asList(3),
+        });
+        hdm.addData("SELECT g_0.e2 AS c_0 FROM pm2.g1 AS g_0 ORDER BY c_0", new List[] {
+        		Arrays.asList(2),
+        		Arrays.asList(3),
+        		Arrays.asList(4),
+        		
+        });
+        ProcessorPlan plan = helpGetPlan(helpParse(sql), FakeMetadataFactory.example1Cached(), TestOptimizer.getGenericFinder());
+        CommandContext cc = createCommandContext();
+        cc.setProcessorBatchSize(2);
+        helpProcess(plan, cc, hdm, expected);
+    } 
+    
     @Test public void testFullOuterJoin3() throws Exception { 
         // Create query 
         String sql = "SELECT a.e4 c0, b.e4 c1 FROM pm1.g1 b FULL OUTER JOIN (select e4, 1 x from pm1.g1 union all select e4, 2 from pm1.g1) a ON a.e4=b.e4 and a.x = 2 order by c0"; //$NON-NLS-1$
@@ -6821,7 +6849,7 @@
         sampleData1(manager);
         helpProcess(plan, manager, expected);
         //note that the e1 column is not used in the source query
-        assertEquals("SELECT pm1.g1.e3, pm1.g1.e2 FROM pm1.g1", (String)manager.getQueries().iterator().next()); //$NON-NLS-1$
+        assertEquals("SELECT pm1.g1.e3, pm1.g1.e2 FROM pm1.g1", manager.getQueries().iterator().next()); //$NON-NLS-1$
     }
     
     @Test public void testSortWithLimit2() {



More information about the teiid-commits mailing list