1.0

Table Of Contents
Note: To avoid degrading the performance of the network server, use the smallest number of concurrent
single-hop threads that satisfy performance requirements.
Thin Client Driver Limitations
When the default batching mode is enabled for transactions, SQLFire detects any conicts in DML operations
lazily. DML conicts may be thrown by the system at some point later in the transaction (for example, even
when executing queries or at commit time). You can congure SQLFire to immediately detect conicts at
operation time by setting the gemfire.tx-disable-batching system property to "true" on all data store
members in the distributed system.
Note: Enabling gemfire.tx-disable-batching can degrade performance signicantly. Enable
this option only after you have thoroughly tested the setting in your system and have determined that the
performance tradeoff is necessary to provide immediate conict detection with thin clients.
If you use the thin client driver to perform an insert to table that has no primary key, an automatic retry of the
insert due to a failover (available when connecting via a locator member) can result in duplicate rows being
added to the table.
The thin-client driver has the following limitations when the single-hop connection property is enabled:
Single-hop access is only supported for partitioned tables where the partitioning column(s) are of the basic
data types: integer, long, double, decimal, char, varchar, and real. If a table is partitioned on a column having
any other data type (like date, time, timestamp, blob, clob, and so forth), then queries on that tables are not
considered for single-hop execution.
Single hop execution is attempted only for prepared statements, and not for simple statements.
Single hop execution is attempted only for SELECT, UPDATE and DELETE statements, but not for INSERT
statements.
Single-hop access is not provided when using transactions or WAN replication.
Note: Do not enable single-hop access when using transactions or WAN congurations, as it can lead
to unexpected behavior.
SQLFire does not support single-hop access for queries that require data from multiple data stores to be merged
together. Typically, queries having aggregates like MAX, MIN, AVG, ORDER BY, and so forth are executed
as if single-hop were disabled.
Tables that have an expression resolver are not considered for single-hop access.
Start a SQLFire Peer with the Peer Client JDBC Driver
The peer client driver class is packaged in com.vmware.sqlre.jdbc.EmbeddedDriver. In addition to the basic
JDBC Connection URL, peer client driver connections require one or more boot and/or connection properties
to congure the embedded SQLFire peer process for member discovery and other features.
For example:
jdbc:sqlfire:;mcast-port=33666;host-data=false
The connection properties can be specied either in the connection URL or passed in the Properties parameter
to the DriverManager.getConnection method.
In the connection URL, you specify attributes as key=value pairs: [;attributes] preceded by and separated
by semicolons. For more on these properties, see Conguration Properties on page 299.
In this case, all peers, including peer clients and SQLFire servers, are part of the same distributed system,
discovering each other using either locator(s) or multicast. SQL statements that you execute in the peer client
107
Developing Java Clients and Peers