Add direct access to result_set's buffer bytes, and it's structure
This commit is contained in:
parent
924e06392e
commit
5b9edc9c31
@ -855,11 +855,52 @@ public:
|
|||||||
return static_cast<T>(portable_integer(m_buffer.data() + f.offset, sizeof(T)));
|
return static_cast<T>(portable_integer(m_buffer.data() + f.offset, sizeof(T)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
Firebird::IResultSet* operator->() const
|
Firebird::IResultSet* operator->() const
|
||||||
{
|
{
|
||||||
return m_rs;
|
return m_rs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
Firebird::IMessageMetadata* get_message_metadata() const
|
||||||
|
{
|
||||||
|
return m_meta;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
octets const& get_message_buffer() const
|
||||||
|
{
|
||||||
|
return m_buffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
struct field
|
||||||
|
{
|
||||||
|
const char* name;
|
||||||
|
unsigned type, subtype, length, offset, null_offset;
|
||||||
|
int scale;
|
||||||
|
};
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
std::vector<field> const& get_fields() const
|
||||||
|
{
|
||||||
|
return m_fields;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// buffer low level accessor
|
// buffer low level accessor
|
||||||
template <typename T>
|
template <typename T>
|
||||||
@ -891,13 +932,6 @@ private:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct field
|
|
||||||
{
|
|
||||||
const char* name;
|
|
||||||
unsigned type, subtype, length, offset, null_offset;
|
|
||||||
int scale;
|
|
||||||
};
|
|
||||||
|
|
||||||
void cache_metadata(unsigned count)
|
void cache_metadata(unsigned count)
|
||||||
{
|
{
|
||||||
m_fields.resize(count);
|
m_fields.resize(count);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user