diff --git a/include/fbsqlxx.hpp b/include/fbsqlxx.hpp index e1d3c25..5250977 100644 --- a/include/fbsqlxx.hpp +++ b/include/fbsqlxx.hpp @@ -855,11 +855,52 @@ public: return static_cast(portable_integer(m_buffer.data() + f.offset, sizeof(T))); } + /// + /// + /// + /// Firebird::IResultSet* operator->() const { return m_rs; } + /// + /// + /// + /// + Firebird::IMessageMetadata* get_message_metadata() const + { + return m_meta; + } + + /// + /// + /// + /// + octets const& get_message_buffer() const + { + return m_buffer; + } + + /// + /// + /// + struct field + { + const char* name; + unsigned type, subtype, length, offset, null_offset; + int scale; + }; + + /// + /// + /// + /// + std::vector const& get_fields() const + { + return m_fields; + } + private: // buffer low level accessor template @@ -891,13 +932,6 @@ private: } } - struct field - { - const char* name; - unsigned type, subtype, length, offset, null_offset; - int scale; - }; - void cache_metadata(unsigned count) { m_fields.resize(count);