From: | Vadim Nasardinov <vadimn(at)redhat(dot)com> |
---|---|
To: | Oliver Jowett <oliver(at)opencloud(dot)com> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: summary of new features in JDBC 3.0 |
Date: | 2004-10-27 22:55:03 |
Message-ID: | 200410271855.03938@vadim.nasardinov |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
On Wednesday 27 October 2004 17:16, Oliver Jowett wrote:
> > * Connection pool configuration
>
> What does this entail?
Section 3.1 (p. 21) of the spec says,
| * Connection pool configuration
|
| Defined a number of properties for the ConnectionPoolDataSource
| interface. These properties can be used to describe how
| PooledConnection objects created by DataSource objects should be
| pooled.
From my cursory reading of some of the sections that seem relevant, I
think this means the following. Section 9.4.1 "DataSource Properties"
(p. 58) defines the following DataSource properties:
TABLE 9-1 Standard Data Source Properties
+------------------------------------------------------------------------+
| Property Name | Type | Description |
|-----------------+--------+---------------------------------------------|
| databaseName | String | name of a particular database on a server |
|-----------------+--------+---------------------------------------------|
| dataSourceName | String | a data source name; used to name an |
| | | underlying XADataSource object or |
| | | ConnectionPoolDataSource object when |
| | | pooling of connections is done |
|-----------------+--------+---------------------------------------------|
| description | String | description of this data source |
|-----------------+--------+---------------------------------------------|
| networkProtocol | String | network protocol used to communicate with |
| | | the server |
|-----------------+--------+---------------------------------------------|
| password | String | a database password |
|-----------------+--------+---------------------------------------------|
| portNumber | int | port number where a server is listening for |
| | | requests |
|-----------------+--------+---------------------------------------------|
| roleName | String | the initial SQL rolename |
|-----------------+--------+---------------------------------------------|
| serverName | String | database server name |
|-----------------+--------+---------------------------------------------|
| user | String | user 's account name |
+------------------------------------------------------------------------+
In addition to these, Section 11.7 "ConnectionPoolDataSource
Properties" (p. 78), defines these:
TABLE 11-1 Standard Connection Pool Properties
+------------------------------------------------------------------------+
| Property Name | Type | Description |
|-----------------+------+-----------------------------------------------|
| maxStatements | int | The total number of statements that the pool |
| | | should keep open. 0 (zero) indicates that |
| | | caching of statements is disabled. |
|-----------------+------+-----------------------------------------------|
| initialPoolSize | int | The number of physical connections the pool |
| | | should contain when it is created |
|-----------------+------+-----------------------------------------------|
| minPoolSize | int | The number of physical connections the pool |
| | | should keep available at all times. 0 (zero) |
| | | indicates that connections should be created |
| | | as needed. |
|-----------------+------+-----------------------------------------------|
| maxPoolSize | int | The maximum number of physical connections |
| | | that the pool should contain. 0 (zero) |
| | | indicates no maximum size. |
|-----------------+------+-----------------------------------------------|
| maxIdleTime | int | The number of seconds that a physical |
| | | connection should remain unused in the pool |
| | | before the connection is closed. 0 (zero) |
| | | indicates no limit. |
|-----------------+------+-----------------------------------------------|
| propertyCycle | int | The interval, in seconds, that the pool |
| | | should wait before enforcing the current |
| | | policy defined by the values of the above |
| | | connection pool properties |
+------------------------------------------------------------------------+
> Aren't connection pools in the realm of the appserver?
Perhaps. I can neither confirm nor deny untill I read the spec, which I
haven't done yet.
> > * Making internal updates to the data in Blob and Clob objects
>
> I assume this is the positioned write stuff? Not implemented, but
> doesn't look too hard to do. See the todo list.
Yes, I think you're right. The spec says (Section 3.1):
| * Making internal updates to the data in Blob and Clob objects
|
| Added methods to allow the data contained in Blob and Clob objects
| to be altered.
They appear to be talking about these added methods:
http://people.redhat.com/~vadimn/scratch/pgsql-jdbc/api-diff/java.sql.Blob.html
http://people.redhat.com/~vadimn/scratch/pgsql-jdbc/api-diff/java.sql.Clob.html
> > * Transform groups and type mapping
>
> If this is the SQL type maps stuff, then not implemented. Kris is
> working on SQLInput/SQLOutput implementations that would allow this
> to be implemented. See the todo list.
I'm not sure what this is about. First time I've ever heard of
"transform groups". Section 3.1 says
| * Transform groups and type mapping
|
| Described the effect of transform groups and how this is
| reflected in the metadata.
Section 17.5 "Effect of Transform Groups" goes on to say
| Transform groups (SQL99) can be used to convert a user-defined SQL
| type into predefined SQL types. This transformation is performed
| by the underlying data source before it is returned to the JDBC
| driver.
|
| If transform groups are used for a user-defined type, and the
| application has not defined a mapping for that type to a Java
| class, then the ResultSetMetaData method getColumnClass should
| return the Java class corresponding to the data type produced by
| the transformation function (that is, String for a VARCHAR).
> > * Relationship between the JDBC SPI (Service Provider Interface) and
> > the Connector architecture
>
> I don't think this imposes any implementation requirements on the driver?
I think it does, if you choose to implement what Section 19.2 refers
to as the "Mapping Connector System Contracts to JDBC Interfaces".
Thanks for your answers.
Vadim
From | Date | Subject | |
---|---|---|---|
Next Message | Vadim Nasardinov | 2004-10-27 23:06:01 | Re: JDBC CTS 1.2.1 |
Previous Message | Oliver Jowett | 2004-10-27 22:54:47 | Re: JDBC CTS 1.2.1 |