1.0

Table Of Contents
SQLFire converts this query into an equijoin because both the inner and outer query tables are replicated:
select * from trade.securities s where s.sec_id IN ( select so.sid from
trade.sellorders so ) and s.tid = ?
Correlated subquery with outer and inner queries of partitioned tables
SQLFire can execute a correlated subquery having inner and outer queries of partitioned tables only if the query
satises the colocation criteria.
For example, SQLFire can execute this query because of the presence of an equijoin condition on cid columns
of the customers and portfolio tables:
select * from trade.customers c where exists (select * from trade.portfolio
f where c.cid = f.cid and qty > 297) and tid =?
Correlated subquery with inner query of replicated table
SQLFire can execute a correlated subquery when inner query is against a replicated table and the outer query is
against a partitioned or replicated table.
For example, the following query contains two correlated subqueries. SQLFire can execute the rst subquery
because both the customers and portfolio tables satisfy the colocation criteria, and it can execute the
second subquery because the inner query is against a replicated table, sellorders.
select * from trade.customers c where EXISTS (select * from trade.portfolio
f where c.cid = f.cid and tid =?)
and NOT EXISTS (select * from trade.sellorders s where c.cid = s.cid and
status IN ('open','filled'))
Table Subquery having table expression in a From Clause and involving Partitioned Table
Query of a partitioned table with a table query in the FROM clause
Any query that includes a partitioned table cannot include a table query in the FROM clause. For example, SQLFire
cannot execute this query because the FROM clause includes a table subquery and the query references a partitioned
table:
select * from (select cid, sid, qty, tid from trade.portfolio f) where tid
= 7
Correlated subquery with outer query of a replicated table inner query of a partitioned table
If an outer query involves only replicated tables, then the presence of a partitioned table in the correlated subquery
renders the query incompatible with SQLFire. For example, SQLFire cannot execute the query:
select sec_id, price from securities s
where price > (select Avg(qty) from portfolio f where sec_id = f.sid
and f.tid =4 and qty <> 0 ) and tid =4
ADO.NET Driver Limitations
This release of the ADO.NET driver has known limitations.
You cannot register a custom .NET type as a user-dened type in SQLFire.
Support for DbProviderFactory has not been implemented. You must explicitly create some classes and then
use the base abstract classes of System.Data.Common namespace as described in Generic Coding with the
SQLFire ADO.NET Driver on page 129.
There is no implementation for the following classes of the System.Data.Common namespace:
vFabric SQLFire User's Guide660
vFabric SQLFire Reference