DCL 3.7.4
Loading...
Searching...
No Matches
PqField.h
Go to the documentation of this file.
1#ifndef __DCL_PQ_FIELD_H__
2#define __DCL_PQ_FIELD_H__ 20260106
3
4__DCL_BEGIN_NAMESPACE
5
6class OutputStream;
7
8class PqField : public SQL::Field
9{
11protected:
12 int __index;
13 Oid __type;
14 int __size;
15 int __format;
16 size_t __maxDataSize;
17
18protected:
19 PqQuery* query() const;
20 PqConnection* conn() const;
21
22public:
24 virtual ~PqField();
25
26 bool init(SQL::Query* _query, int _index, const PGresult* _res);
27
28 // interfaces
29 virtual const wchar_t* serverDataTypeName() const;
30 virtual bool __getDataSize(size_t* _size, bool _maxsize);
31
32 virtual bool __getData(
33 void* _buf,
34 size_t* _size,
35 SQL::DataType _bufType
36 );
37
38protected:
39 // implementation
40 bool getInteger(void* _buf, size_t* _size);
41 bool getUInteger(void* _buf, size_t* _size);
42 bool getFloat(void* _buf, size_t* _size);
43 bool getDate(SQL::Date* _buf, size_t* _size);
44 bool getTime(SQL::Time* _buf, size_t* _size);
45 bool getTimeStamp(SQL::TimeStamp* _buf, size_t* _size);
46 bool getInterval(SQL::Interval* _buf, size_t* _size);
47 bool getNumeric(char* _buf, size_t* _size);
48 bool getBytes(char* _buf, size_t* _size);
49 bool writeTo(OutputStream* _output, size_t* _size);
50};
51
52inline PqQuery* PqField::query() const
53{
54 return (PqQuery*)Field::__queryHandle;
55}
56
58{
59 return query()->conn();
60}
61
62__DCL_END_NAMESPACE
63
64#endif // __DCL_PQ_FIELD_H__
#define DECLARE_CLASSINFO(class_name)
Definition Object.h:227
virtual ~PqField()
Definition PqField.cpp:73
bool init(SQL::Query *_query, int _index, const PGresult *_res)
Definition PqField.cpp:78
PqConnection * conn() const
Definition PqField.h:57
bool getTimeStamp(SQL::TimeStamp *_buf, size_t *_size)
Definition PqField.cpp:915
bool writeTo(OutputStream *_output, size_t *_size)
Definition PqField.cpp:1022
bool getNumeric(char *_buf, size_t *_size)
Definition PqField.cpp:968
virtual bool __getDataSize(size_t *_size, bool _maxsize)
Definition PqField.cpp:234
virtual bool __getData(void *_buf, size_t *_size, SQL::DataType _bufType)
Definition PqField.cpp:253
bool getDate(SQL::Date *_buf, size_t *_size)
Definition PqField.cpp:853
virtual const wchar_t * serverDataTypeName() const
Definition PqField.cpp:229
bool getFloat(void *_buf, size_t *_size)
Definition PqField.cpp:698
bool getInteger(void *_buf, size_t *_size)
Definition PqField.cpp:288
bool getBytes(char *_buf, size_t *_size)
Definition PqField.cpp:988
bool getUInteger(void *_buf, size_t *_size)
Definition PqField.cpp:493
bool getInterval(SQL::Interval *_buf, size_t *_size)
Definition PqField.cpp:941
PqQuery * query() const
Definition PqField.h:52
bool getTime(SQL::Time *_buf, size_t *_size)
Definition PqField.cpp:883
DataType
Definition SQLCore.h:59