DCL 4.1
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#if __DCL_DEBUG
37 void onBeforeExecute();
38#endif
39 bool onAfterExecute();
40
42 virtual ~PgParam();
43
44 // interfaces
45 virtual const wchar_t* serverDataTypeName() const;
46 virtual void setNull();
47 virtual bool __setData(
48 _CONST void* _pv,
49 size_t _size,
50 SQL::DataType _dataType,
51 SQL::DataType _assignType
52 );
53};
54
55inline void PgParam::setErrorStatus(SQL::Error _error, long _SQLCODE,
56 const wchar_t* _filename, int _line)
57{
58 ((PgConnection*)Param::connection())->setErrorStatus(
59 _error,
60 _SQLCODE,
61 _filename,
62 _line
63 );
64}
65
66inline void PgParam::setErrorStatus(const ByteString& _message,
67 const wchar_t* _filename, int _line)
68{
69 ((PgConnection*)Param::connection())->setErrorStatus(
70 _message,
71 _filename,
72 _line
73 );
74}
75
76inline PgQuery* PgParam::query() const
77{
78 return (PgQuery*)Param::__queryHandle;
79}
80
81
82__DCL_END_NAMESPACE
83
84#endif // __DCL_PG_PARAM_H__
85
86
#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:76
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:53
int64_t i64
Definition PgParam.h:14
virtual const wchar_t * serverDataTypeName() const
Definition PgParam.cpp:106
uint32_t u32
Definition PgParam.h:15
uint64_t u64
Definition PgParam.h:16
bool onAfterExecute()
Definition PgParam.cpp:91
virtual bool __setData(_CONST void *_pv, size_t _size, SQL::DataType _dataType, SQL::DataType _assignType)
Definition PgParam.cpp:120
numeric nu
Definition PgParam.h:19
interval ival
Definition PgParam.h:22
bool init(SQL::Query *_query, sqlvar_t *_sqlvar)
Definition PgParam.cpp:57
void setErrorStatus(SQL::Error _error, long _SQLCODE, const wchar_t *_filename, int _line)
Definition PgParam.h:55
virtual void setNull()
Definition PgParam.cpp:111
DataType
Definition SQLCore.h:62
Error
Definition SQLCore.h:19