MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / ResultSet

Class ResultSet

src/remote/client/interface.cpp:313–353  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

311}
312
313class ResultSet final : public RefCntIface<IResultSetImpl<ResultSet, CheckStatusWrapper> >
314{
315public:
316 // IResultSet implementation
317 int release() override;
318 int fetchNext(CheckStatusWrapper* status, void* message) override;
319 int fetchPrior(CheckStatusWrapper* status, void* message) override;
320 int fetchFirst(CheckStatusWrapper* status, void* message) override;
321 int fetchLast(CheckStatusWrapper* status, void* message) override;
322 int fetchAbsolute(CheckStatusWrapper* status, int position, void* message) override;
323 int fetchRelative(CheckStatusWrapper* status, int offset, void* message) override;
324 FB_BOOLEAN isEof(CheckStatusWrapper* status) override;
325 FB_BOOLEAN isBof(CheckStatusWrapper* status) override;
326 IMessageMetadata* getMetadata(CheckStatusWrapper* status) override;
327 void close(CheckStatusWrapper* status) override;
328 void deprecatedClose(CheckStatusWrapper* status) override;
329 void setDelayedOutputFormat(CheckStatusWrapper* status, IMessageMetadata* format) override;
330 void getInfo(CheckStatusWrapper* status,
331 unsigned int itemsLength, const unsigned char* items,
332 unsigned int bufferLength, unsigned char* buffer) override;
333
334 ResultSet(Statement* s, IMessageMetadata* outFmt, unsigned f)
335 : stmt(s), flags(f), tmpStatement(false), delayedFormat(outFmt == DELAYED_OUT_FORMAT)
336 {
337 if (!delayedFormat)
338 outputFormat = outFmt;
339 }
340
341private:
342 bool fetch(CheckStatusWrapper* status, void* message, P_FETCH operation, int position = 0);
343 void releaseStatement();
344 void freeClientData(CheckStatusWrapper* status, bool force = false);
345 void internalClose(CheckStatusWrapper* status);
346
347 Statement* stmt;
348 const unsigned flags;
349 RefPtr<IMessageMetadata> outputFormat;
350
351public:
352 bool tmpStatement, delayedFormat;
353};
354
355int ResultSet::release()
356{

Callers 1

openCursorMethod · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected