>> BTW, what would be the new API methods to support it? > They will be added later, once Alex commits his changes detaching > cursor/resultset from the statement itself.
That's done. A few words about API and related changes. Prior we had allocateStatement() function which was used to create empty statement handle, which might be prepared after it. Now allocateStatement() is missing at all, instead attachment's function prepare() is the only way to create IStatement interface. That means that we do not have unprepared statements, each created statement is always prepared. If one needs to execute something w/o prepare, he can use IAttachment methods for it. Instead of single function execute(), which was used for all kinds of statements, now we have 2 different functions - execute() and openCursor(). execute() is used for all kinds of statements that do not create output cursors. For statements with output cursor openCursor() is used (ptr to IResultSet interface is returned by this function). Some statemets (namely singletone select and exec procedure) may be executed by any if this functions on your choice. Functions execute() and openCursor() are present in both IStatement and IAttachment with slightly different set of parameters - in IAttachment text of SQL request is passed directly to this functions. I.e. att->execute() is a replacement for former execute immediate, and att->openCursor() is a kind of new feature - one can open cursor (resultset) immediately, without explicit prepare step. And yes - information about columns returned is available directl;y from created this way resultset. The last big modification is that now we do not need to generate BLR to support messages-based API. All formats of messages, moving to/from user, is described in uniform way using IMessageMetadata interface - expanded IParametersMetadata interface. This should make use of messages API in client programs as simple as it was with SQLDA, but at the same time as efficient as can be use of messages. I.e. please treat IMessageMetadata as a replacement of SQLDA in new API. ------------------------------------------------------------------------------ The Go Parallel Website, sponsored by Intel - in partnership with Geeknet, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials, tech docs, whitepapers, evaluation guides, and opinion stories. Check out the most recent posts - join the conversation now. http://goparallel.sourceforge.net/ Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
