Backend
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
#ifndef __PGSQL_WRAPPER_H__
|
||||
#define __PGSQL_WRAPPER_H__
|
||||
|
||||
#include "exceptions.h"
|
||||
|
||||
enum { DBS_ALL=0, DBS_VALID=1, DBS_STREAM=2 };
|
||||
|
||||
class CEscape;
|
||||
|
||||
#define NEED_ESC CEscape __esc( cmd );
|
||||
#define esc( param ) __esc.Escape( param )
|
||||
|
||||
#define ESCAPE_MAX_VARS 50
|
||||
|
||||
void map_to_cvars(map<const char *,const char *>f, CVars &rec);
|
||||
void load_db_record( const char * table, CVars &rec, const char * where, ... );
|
||||
long load_db_record( CVars &rec, const char * query, ... );
|
||||
long insert_db_record( int mode, const char *table, const char *seq, CVars &rec );
|
||||
void update_db_record( int mode, const char * table, CVars &rec, long id, const char * where=NULL, ... ) throw ( bad_parameter );
|
||||
void v_update_db_record( int mode, const char * table, CVars &rec, const char *index, long id, const char * where=NULL, va_list ap=NULL ) throw ( bad_parameter );
|
||||
void update_db_record( int mode, const char * table, CVars &rec, const char *index, long id, const char * where=NULL, ... ) throw ( bad_parameter );
|
||||
long curr_val( const char *seq );
|
||||
|
||||
class CEscape
|
||||
{
|
||||
public:
|
||||
char * New( int sz );
|
||||
CEscape( char * st );
|
||||
~CEscape();
|
||||
char * Escape( const char * param );
|
||||
|
||||
private:
|
||||
char * vars[ESCAPE_MAX_VARS];
|
||||
int n;
|
||||
char * st;
|
||||
char esc[1000];
|
||||
int EscapeLength( const char * par ); // Calculate the required buffer size for escaped par
|
||||
char *EscapeReal( const char * cmd, char * _esc=NULL, int sz=0 ); // Escape a string for SQL server
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user