John --
This sounds fine to me.
Gary
John Gentilin wrote:
>
> Request for Comment, SQL Connection Management
>
> Inside the SQL Extension database connections are
> opened when a query or pquery is performed and held
> until a corresponding close statement is called.
>
> Now once you close a connection, assuming that streaming
> mode is off, the data is still available to use in a transformation.
> All SQL documents are incremental, meaning that data is
> not transferred from the ResultSet to the DTM until the Row
> is traversed. So if you close a connection prior to reading the
> complete data set, you can traverse the data already read but
> the unread data is lost.
>
> What I am proposing is add a new function called closeWithCopy().
> This function will release the connection set after the complete
> ResultSet is read but still retains the data.
>
> Where I see this as a benefit is a stylesheet that is reading several
> tables that specify choices in drop down boxes. i.e. a list of states
> and their codes. Each one of these connections consumes a DB
> connection which may be troublesome, most database servers
> typically allow < 100 simulations connections as a default install.
>
> The following code;
>
> <xsl:variable name="slist" select='sql:query($db, "select * from
> State")'/>
> <xsl:value-of select='sql:closeWithCopy($slist)'/>
>
> <xsl:variable name="availcolors" select='sql:query($db, "select * from
> paint_colors")'/>
> <xsl:value-of select='sql:closeWithCopy($availcolors)'/>
>
> Would only hold open the connections for a brief amount of time
> but still allow $slist and $availcolors to be used inside the
> transformation.
>
> Note: New XConnection behavior allows the XConnection to produce
> many different SQLDocuments. Previous behavior 1 connection, 1 document.
>
> Although each document produces from an XConnection will consume a
> separate
> JDBC Connection.
>
> Feedback please
>
> JohnG