Versant's submission totals 16 hits. It is a single server submission made with HSQLDB 1.7.2, the configuration file sets default-fetch-group on bids and item fields and adds fetch groups for the partial listing. The new bid creation was optimized to avoid extra reads.
This is the lowest number of hits possible since there are 8 tests and each test requires at least one query and one commit statement.
This additional quote was made by the Verstan Open Access team upon their submission:
Questions have been asked about the database portabilty of previous Torpedo submissions. We have tested Torpedo against some of the databases that Versant Open Access supports with consistently good results.To see all of the results: http://MiddlewareRESEARCH.com/TORPEDO/
The following databases have 16 hits:
Oracle 8.1.7
Oracle 10.1.0 (10g)
IBM DB2 V8.1
MySQL 4.0.16
MySQL 3.23
Microsoft SQL Server 2000
Postgres 7.3.1
Hypersonic SQL 1.7.2 RC2
We do not use batch inserts for the following databases (due to no or buggy JDBC driver support) so they require one more insert (17 hits):
Sybase 12.5
Informix Dynamic Server 9.30.UC1
Informix Dynamic Server 7.31.UD1
SAP DB 7.4.3.17
Firebird 1.0.2
It is often claimed that SQL and JDBC are portable. Well even for the simple query used for the the find all auctions test we have to generate 4 different pieces of SQL. The situation is much worse in real applications that need to use subqueries and BLOB columns.
Oracle 8.1.7, Oracle 10.1.0 (10g), SAP DB 7.4.3.17
SELECT a.AUCTION_ID, a.ITEM, a.LOW_PRICE, a.SELLER, b.ITEM_ID, b.DESCRIPTION,
b.GRAPHIC_FILENAME, b.ITEM_NAME, c.AUCTION, c.BID_ID, c.AMOUNT, c.AUCTION,
c.BUYER, c.MAX_AMOUNT, d.USER_ID
FROM AUCTION a, ITEM b, BID c, AUCTION_USER d
WHERE a.ITEM = b.ITEM_ID (+)
AND a.AUCTION_ID = c.AUCTION (+)
AND c.BUYER = d.USER_ID (+)
ORDER BY 1
MySQL 4.0.16, MySQL 3.23, Microsoft SQL Server 2000, Sybase 12.5,
Postgres 7.3.1, IBM DB2 V8.1
SELECT a.AUCTION_ID, a.ITEM, a.LOW_PRICE, a.SELLER, b.ITEM_ID, b.DESCRIPTION,
b.GRAPHIC_FILENAME, b.ITEM_NAME, c.AUCTION, c.BID_ID, c.AMOUNT, c.AUCTION,
c.BUYER, c.MAX_AMOUNT, d.USER_ID
FROM AUCTION a
LEFT JOIN ITEM AS b ON (a.ITEM = b.ITEM_ID)
LEFT JOIN BID AS c ON (a.AUCTION_ID = c.AUCTION)
LEFT JOIN AUCTION_USER AS d ON (c.BUYER = d.USER_ID)
ORDER BY a.AUCTION_ID
Informix Dynamic Server 9.30.UC1 and 7.31.UD1, Hypersonic SQL 1.7.2 RC2
SELECT a.AUCTION_ID, a.ITEM, a.LOW_PRICE, a.SELLER, b.ITEM_ID, b.DESCRIPTION,
b.GRAPHIC_FILENAME, b.ITEM_NAME, c.AUCTION, c.BID_ID, c.AMOUNT, c.AUCTION,
c.BUYER, c.MAX_AMOUNT, d.USER_ID
FROM AUCTION a
LEFT JOIN ITEM AS b ON (a.ITEM = b.ITEM_ID)
LEFT JOIN BID AS c ON (a.AUCTION_ID = c.AUCTION)
LEFT JOIN AUCTION_USER AS d ON (c.BUYER = d.USER_ID)
ORDER BY 1
Firebird 1.0.2
SELECT a.AUCTION_ID, a.ITEM, a.LOW_PRICE, a.SELLER, b.ITEM_ID, b.DESCRIPTION,
b.GRAPHIC_FILENAME, b.ITEM_NAME, c.AUCTION, c.BID_ID, c.AMOUNT, c.AUCTION,
c.BUYER, c.MAX_AMOUNT, d.USER_ID
FROM AUCTION a
LEFT JOIN ITEM b ON (a.ITEM = b.ITEM_ID)
LEFT JOIN BID c ON (a.AUCTION_ID = c.AUCTION)
LEFT JOIN AUCTION_USER d ON (c.BUYER = d.USER_ID)
ORDER BY a.AUCTION_ID
The TORPEDO Launch Discussion.
The Oracle TopLink Discussion.
The BEA WLS Discussion.