Issue Details (XML | Word | Printable)

Key: CORE-1741
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Bill Oliver
Reporter: Bill Oliver
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Firebird Core

API change for efficient unprepare

Created: 12/Feb/08 12:23 PM   Updated: 12/Nov/09 04:07 PM
Component/s: None
Affects Version/s: None
Fix Version/s: 2.5 Alpha 1

Time Tracking:
Not Specified

SF_ID: 1469591
Target: 2.5.0
Development: Finished
Implementation: Trivial
Planning Status: Included to release


 Description  « Hide
SFID: 1469591#
Submitted By: verbguy

We've added "efficient unprepare". The current API
isc_dsql_free_stmt() only supports DSQL_close (which
only closes a named cursor) and DSQL_drop (which
frees the statement handle). This change adds
DSQL_unprepare.

The api addition is:

#define DSQL_close 1
#define DSQL_drop 2
#define DSQL_unprepare 4


Here is the code change for dsql/DStatement.cpp

ISC_STATUS DStatement::freeStatement(ISC_STATUS*
statusVector, int options)
{
 ThreadData thread (statusVector, attachment);

 try
  {
  if (options & (DSQL_close | DSQL_unprepare))
   closeCursor();

  if (options & (DSQL_drop | DSQL_unprepare))
   {
   closeStatement();
   if (options & DSQL_drop)
    delete this;
   }
  }
 catch (OSRIException& exception)
  {
  return exception.copy (statusVector);
  }

 return 0;
}

 All   Comments   Work Log   Change History   Version Control   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
There are no comments yet on this issue.