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/TeiidPluginforMonitoringandCon...
- 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<... 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&l... 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 <table list> 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<... 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 "MembershipServiceImpl.Logon_failed"
-</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 "No value was
available."
-</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 "Unable to evaluate
$param/pos0: No value was available"
-</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 "AND", "OR', and "IN" 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 "ORDER BY" 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 & 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 & 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("file")
-</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 "or" and "in" 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 "export" 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 "server" 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 "MaxResultRows" Connector Property to default to
"unlimited"
-</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 "java:" 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@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 "Connector Binding" to "Connection
Factory"
-</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 "Translator" modules and
"Connection" 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 "Translator" 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;
-@SuppressWarnings("nls")
+@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() {