33 pg_excpt(
const char* e_query,
const char *msg, std::string code=
"") {
42 std::string
query()
const {
return m_query; }
43 std::string
errmsg()
const {
return m_err_msg; }
44 std::string
errcode()
const {
return m_err_code; }
45 std::string full_error_txt()
const;
47 static pg_excpt mk_excpt(PGresult *r,
const char* query=NULL);
65 void connect(
const char* cnx_string);
66 void set_option(
const char* param,
bool bvalue);
67 bool get_option(
const char* param)
const;
69 bool opt_true_false(
const char* value,
bool* b);
100 void execute(
const char* stmt,
pg_cnx& db);
125 m_initial_offset=m_offset=param_pos;
133 m_offset=m_initial_offset;
135 const std::string
name()
const {
return m_name; }
136 const std::string
type_name()
const {
return m_type_name; }
137 const std::string
value()
const {
return m_value; }
138 bool null()
const {
return m_null; }
140 int pos()
const {
return m_offset; }
153 void set_type(
enum type_oid o);
154 void set_type(
const char*);
160 const void*
data_ptr()
const {
return m_data_ptr; }
172 static const char* m_type_names[];
181 pg_bytea(
void* ptr,
unsigned int len);
194 return m_data_ptr==NULL;
218 pg_stream& operator<<(
const std::string&);
225 pg_stream& operator<<(
unsigned long long);
244 m_prepare_wanted=prep;
247 m_cursor_step = step;
250 m_inline_params = !u;
259 int eos() {
return eof(); }
264 return m_affected_rows;
267 void init(
const char* query,
int prepare_mode,
unsigned int cursor_step);
276 void create_cursor();
279 void reset_results();
282 void query_make_space(
int len);
283 void replace_placeholder(
unsigned int argpos,
const char* buf,
int size,
bool binary=
false);
292 char m_localQueryBuf[1024+1];
326 #endif // INC_PGSTREAM_H