DCL 4.0
Loading...
Searching...
No Matches
PgParam.h
Go to the documentation of this file.
1#ifndef __DCL_PG_PARAM_H__
2#define __DCL_PG_PARAM_H__ 20250403
3
4__DCL_BEGIN_NAMESPACE
5
6class PgParam : public SQL::Param
7{
9protected:
10 sqlvar_t* __sqlvar;
11 short __indicator;
12 union {
13 int32_t i32;
14 int64_t i64;
15 uint32_t u32;
16 uint64_t u64;
17 float f32;
18 double f64;
19 numeric nu;
20 date dt;
21 timestamp ts;
22 interval ival;
23 } __data;
24 ByteString __bytes;
25
26protected:
27 void setErrorStatus(SQL::Error _error, long _SQLCODE,
28 const wchar_t* _filename, int _line);
29 void setErrorStatus(const ByteString& _message,
30 const wchar_t* _filename, int _line);
31
32 PgQuery* query() const;
33
34public:
35 bool init(SQL::Query* _query, sqlvar_t* _sqlvar);
36 bool onAfterExecute();
37
39 virtual ~PgParam();
40
41 // interfaces
42 virtual const wchar_t* serverDataTypeName() const;
43 virtual void setNull();
44 virtual bool __setData(
45 _CONST void* _pv,
46 size_t _size,
47 SQL::DataType _dataType,
48 SQL::DataType _assignType
49 );
50};
51
52inline void PgParam::setErrorStatus(SQL::Error _error, long _SQLCODE,
53 const wchar_t* _filename, int _line)
54{
55 ((PgConnection*)Param::connection())->setErrorStatus(
56 _error,
57 _SQLCODE,
58 _filename,
59 _line
60 );
61}
62
63inline void PgParam::setErrorStatus(const ByteString& _message,
64 const wchar_t* _filename, int _line)
65{
66 ((PgConnection*)Param::connection())->setErrorStatus(
67 _message,
68 _filename,
69 _line
70 );
71}
72
73inline PgQuery* PgParam::query() const
74{
75 return (PgQuery*)Param::__queryHandle;
76}
77
78
79__DCL_END_NAMESPACE
80
81#endif // __DCL_PG_PARAM_H__
82
83
#define _CONST
Definition Config.h:353
#define DECLARE_CLASSINFO(class_name)
Definition Object.h:210
float f32
Definition PgParam.h:17
PgQuery * query() const
Definition PgParam.h:73
double f64
Definition PgParam.h:18
date dt
Definition PgParam.h:20
timestamp ts
Definition PgParam.h:21
int32_t i32
Definition PgParam.h:13
virtual ~PgParam()
Definition PgParam.cpp:38
int64_t i64
Definition PgParam.h:14
virtual const wchar_t * serverDataTypeName() const
Definition PgParam.cpp:77
uint32_t u32
Definition PgParam.h:15
uint64_t u64
Definition PgParam.h:16
bool onAfterExecute()
Definition PgParam.cpp:62
virtual bool __setData(_CONST void *_pv, size_t _size, SQL::DataType _dataType, SQL::DataType _assignType)
Definition PgParam.cpp:91
numeric nu
Definition PgParam.h:19
interval ival
Definition PgParam.h:22
bool init(SQL::Query *_query, sqlvar_t *_sqlvar)
Definition PgParam.cpp:42
void setErrorStatus(SQL::Error _error, long _SQLCODE, const wchar_t *_filename, int _line)
Definition PgParam.h:52
virtual void setNull()
Definition PgParam.cpp:82
DataType
Definition SQLCore.h:62
Error
Definition SQLCore.h:19