Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

isc_dsql_exec* should allow list of parameter sets [CORE820] #1206

Closed
firebird-automations opened this issue Mar 15, 2005 · 16 comments
Closed

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: rdebay (rdebay)

Is duplicated by CORE3821
Relate to CORE5951
Is replaced by CORE5951

Votes: 3

SFID: 1164037#⁠
Submitted By: rdebay

JDBC has a feature called batched statements. To put it simply, an SQL statement is prepared, sets of parameters are added to the batch, and then the batch is executed.

Currently, Jaybird takes the list of parameter sets, and executes each one with isc_dsql_exec2. Other databases have APIs that allow the entire list of parameter sets to be sent across, and the server then loops through them, executing each one in turn against the prepared SQL statement.

This greatly reduces wire traffic, with equally large gains in performance.

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

issuetype: New Feature [ 2 ] => Improvement [ 4 ]

assignee: Dmitry Yemanov [ dimitr ]

SF_ID: 1164037 =>

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

assignee: Dmitry Yemanov [ dimitr ] => Vlad Horsun [ hvlad ]

issuetype: Improvement [ 4 ] => New Feature [ 2 ]

SF_ID: 1164037 =>

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

Component: API / Client Library [ 10040 ]

SF_ID: 1164037 =>

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

Workflow: jira [ 10844 ] => Firebird [ 15284 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: Sean Leyne (seanleyne)

description: SFID: 1164037#⁠
Submitted By: rdebay

JDBC has a feature called batched statements. To put
it simply, an SQL statement is prepared, sets of
parameters are added to the batch, and then the batch
is executed.
Currently, Jaybird takes the list of parameter sets,
and executes each one with isc_dsql_exec2. Other
databases have APIs that allow the entire list of
parameter sets to be sent across, and the server then
loops through them, executing each one in turn against
the prepared SQL statement.
This greatly reduces wire traffic, with equally large
gains in performance.

=>

SFID: 1164037#⁠
Submitted By: rdebay

JDBC has a feature called batched statements. To put it simply, an SQL statement is prepared, sets of parameters are added to the batch, and then the batch is executed.

Currently, Jaybird takes the list of parameter sets, and executes each one with isc_dsql_exec2. Other databases have APIs that allow the entire list of parameter sets to be sent across, and the server then loops through them, executing each one in turn against the prepared SQL statement.

This greatly reduces wire traffic, with equally large gains in performance.

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

Link: This issue is duplicated by CORE3821 [ CORE3821 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: TIP Group, S.A. (Olivier Mascia) (tipgroup)

This imply a batch of results too. What if the statement is a SELECT, the results sets are batched too? What about failures (one of the exec instances could trigger errors - depending on the parameter values). How would it be expected to behave?

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

assignee: Vlad Khorsun [ hvlad ] => Alexander Peshkov [ alexpeshkoff ]

Fix Version: 4.0 Alpha 1 [ 10731 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

Fix Version: 4.0 Beta 1 [ 10750 ]

Fix Version: 4.0 Alpha 1 [ 10731 ] =>

@firebird-automations
Copy link
Collaborator Author

Commented by: Thomas Kragh (realic)

Hey
I can see in the planning bord and in the git repository that hvis feature i under development at the moment. Out of curiosity, will this new batch feature make it possible to execute multiple select statements in a single roundtrip to the database?

for example
select * from houses where owner = @ownerid
;
select * from cars where model = @modelnr

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

In v4 - definitely not. Primary goal is to support JDBC requirements. May be an ability to execute select statement with parameters sending sets of different parameters' values in a batch will be added in v4 too, but what about execution of different select statements with different sets of output columns that requires changing a way we work with result sets and is out of v4 scope.

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

Implemented new Batch interface performing everything needed for JDBC compliance and additionally:
- detailed information about error happened when processing particular message in batch,
- ability to use BLOBs in batches (efficient in a case of relatively small blobs).

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

Link: This issue relate to CORE5951 [ CORE5951 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

Link: This issue is replaced by CORE5951 [ CORE5951 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

Fix Version: 4.0 Beta 1 [ 10750 ] =>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants