Mattia Tollari 9520fe2efd Patch level : 12.0 598
Files correlati     : cg, ve, ba, fp
Commento            : Prima release del modulo fp

BA:
- Aggiunto campo "Modalità di Pagamento" alla tabella "Ulteriore classificazione"
- Aggiunto campo "Tipo di pagamento SDI" al programma di gestione dei tipi pagamento

CG:
Modifiche programma clienti/fornitori:
- Rinominato gruppo da "Numeri telefonici" a "Contatti"
- Spostati e modificati campi delle email per aggiungere la PEC

Modifiche cgpagame:
- Aggiunto _cond_pag e gestione del campo

VE:
Modifiche ai tipidoc
- Aggiunto tipo documenti SDI
- Aggiunto il regime fiscale

FP:
- prima implementazione del modulo

Interne:
- In applicat rimosso blocco in caso di programma non abilitato per rangers
- Aggiunto in modaut il nuovo programma fp
- Resa cid2index static con metodo in xvtility
- Perfezionata libreria tsdb + xvtdb grazie ai test fatti da me medesimo per l'fp
2018-07-06 16:30:37 +02:00

178 lines
6.4 KiB
C

/*
* cubesql.h
*
* This file is the public interface for the cubeSQL Server SDK.
* You just need to include this header file in your projects.
*
* (c) 2006-2011 SQLabs s.r.l. -- All Rights Reserved
* Author: Marco Bambini (MB)
*
*/
#ifndef CUBESQLSDK_H
#define CUBESQLSDK_H
#ifdef __cplusplus
extern "C" {
#endif
#ifdef CUBESQL_BUILD_DLL
#define CUBESQL_APIEXPORT __declspec(dllexport)
#else
#define CUBESQL_APIEXPORT
#endif
// custom boolean values
#ifndef kTRUE
#define kTRUE 1
#endif
#ifndef kFALSE
#define kFALSE 0
#endif
// default values
#define kDEFAULT_PORT 4430
#define kDEFAULT_TIMEOUT 12
#define kNOERR 0
#define kERR -1
// client side errors
#define kMEMORY_ERROR -2
#define kPARAMETER_ERROR -3
#define kPROTOCOL_ERROR -4
#define kZLIB_ERROR -5
#define kSSL_ERROR -6
#define kSSL_CERT_ERROR -7
// encryption flags used in cubesql_connect
#define kAESNONE 0
#define kAES128 2
#define kAES192 3
#define kAES256 4
#define kSSL 8
#define kSSL_AES128 kSSL+kAES128
#define kSSL_AES192 kSSL+kAES192
#define kSSL_AES256 kSSL+kAES256
// flag used in cubesql_cursor_getfield
#define kCUBESQL_COLNAME 0
#define kCUBESQL_CURROW -1
#define kCUBESQL_COLTABLE -2
#define kCUBESQL_ROWID -666
// flag used in cubesql_cursor_seek
#define kCUBESQL_SEEKNEXT -2
#define kCUBESQL_SEEKFIRST -3
#define kCUBESQL_SEEKLAST -4
#define kCUBESQL_SEEKPREV -5
// SSL
#define kSSL_LIBRARY_PATH 1
#define kCRYPTO_LIBRARY_PATH 2
#ifndef int64
#ifdef WIN32
typedef __int64 int64;
#else
typedef long long int int64;
#endif
#endif
// column types coming from the server
enum {
TYPE_None = 0,
TYPE_Integer = 1,
TYPE_Float = 2,
TYPE_Text = 3,
TYPE_Blob = 4,
TYPE_Boolean = 5,
TYPE_Date = 6,
TYPE_Time = 7,
TYPE_Timestamp = 8,
TYPE_Currency = 9
};
// column types to specify in the cubesql_bind command (coltype)
#define kBIND_INTEGER 1
#define kBIND_DOUBLE 2
#define kBIND_TEXT 3
#define kBIND_BLOB 4
#define kBIND_NULL 5
#define kBIND_INT64 8
#define kBIND_ZEROBLOB 9
// define opaque datatypes
typedef struct csqldb csqldb;
typedef struct csqlc csqlc;
typedef struct csqlvm csqlvm;
typedef void (*trace_function) (const char*, void*);
// function prototypes
CUBESQL_APIEXPORT int cubesql_connect (csqldb **db, const char *host, int port, const char *username, const char *password, int timeout, int encryption);
CUBESQL_APIEXPORT int cubesql_connect_ssl (csqldb **db, const char *host, int port, const char *username, const char *password, int timeout, char *ssl_certificate_path);
CUBESQL_APIEXPORT void cubesql_disconnect (csqldb *db, int gracefully);
CUBESQL_APIEXPORT int cubesql_execute (csqldb *db, const char *sql);
CUBESQL_APIEXPORT csqlc *cubesql_select (csqldb *db, const char *sql, int unused);
CUBESQL_APIEXPORT int cubesql_commit (csqldb *db);
CUBESQL_APIEXPORT int cubesql_rollback (csqldb *db);
CUBESQL_APIEXPORT int cubesql_bind (csqldb *db, const char *sql, char **colvalue, int *colsize, int *coltype, int ncols);
CUBESQL_APIEXPORT int cubesql_ping (csqldb *db);
CUBESQL_APIEXPORT void cubesql_cancel (csqldb *db);
CUBESQL_APIEXPORT int cubesql_errcode (csqldb *db);
CUBESQL_APIEXPORT char *cubesql_errmsg (csqldb *db);
CUBESQL_APIEXPORT int64 cubesql_changes (csqldb *db);
CUBESQL_APIEXPORT void cubesql_trace (csqldb *db, trace_function trace, void *arg);
CUBESQL_APIEXPORT csqlvm *cubesql_vmprepare (csqldb *db, const char *sql);
CUBESQL_APIEXPORT int cubesql_vmbind_int (csqlvm *vm, int index, int value);
CUBESQL_APIEXPORT int cubesql_vmbind_double (csqlvm *vm, int index, double value);
CUBESQL_APIEXPORT int cubesql_vmbind_text (csqlvm *vm, int index, char *value, int len);
CUBESQL_APIEXPORT int cubesql_vmbind_blob (csqlvm *vm, int index, void *value, int len);
CUBESQL_APIEXPORT int cubesql_vmbind_null (csqlvm *vm, int index);
CUBESQL_APIEXPORT int cubesql_vmbind_int64 (csqlvm *vm, int index, int64 value);
CUBESQL_APIEXPORT int cubesql_vmbind_zeroblob (csqlvm *vm, int index, int len);
CUBESQL_APIEXPORT int cubesql_vmexecute (csqlvm *vm);
CUBESQL_APIEXPORT csqlc *cubesql_vmselect (csqlvm *vm);
CUBESQL_APIEXPORT int cubesql_vmclose (csqlvm *vm);
CUBESQL_APIEXPORT int cubesql_cursor_numrows (csqlc *c);
CUBESQL_APIEXPORT int cubesql_cursor_numcolumns (csqlc *c);
CUBESQL_APIEXPORT int cubesql_cursor_currentrow (csqlc *c);
CUBESQL_APIEXPORT int cubesql_cursor_seek (csqlc *c, int index);
CUBESQL_APIEXPORT int cubesql_cursor_iseof (csqlc *c);
CUBESQL_APIEXPORT int cubesql_cursor_columntype (csqlc *c, int index);
CUBESQL_APIEXPORT char *cubesql_cursor_field (csqlc *c, int row, int column, int *len);
CUBESQL_APIEXPORT int64 cubesql_cursor_rowid (csqlc *c, int row);
CUBESQL_APIEXPORT int64 cubesql_cursor_int64 (csqlc *c, int row, int column, int64 default_value);
CUBESQL_APIEXPORT int cubesql_cursor_int (csqlc *c, int row, int column, int default_value);
CUBESQL_APIEXPORT double cubesql_cursor_double (csqlc *c, int row, int column, double default_value);
CUBESQL_APIEXPORT char *cubesql_cursor_cstring (csqlc *c, int row, int column);
CUBESQL_APIEXPORT char *cubesql_cursor_cstring_static (csqlc *c, int row, int column, char *static_buffer, int bufferlen);
CUBESQL_APIEXPORT void cubesql_cursor_free (csqlc *c);
// private functions
int cubesql_connect_token (csqldb **db, const char *host, int port, const char *username, const char *password,
int timeout, int encryption, char *token, int useOldProtocol, const char *ssl_certificate,
const char *root_certificate, const char *ssl_certificate_password, const char *ssl_chiper_list);
int cubesql_connect_old_protocol (csqldb **db, const char *host, int port, const char *username, const char *password, int timeout, int encryption);
void cubesql_clear_errors (csqldb *db);
csqldb *cubesql_cursor_db (csqlc *cursor);
csqlc *cubesql_cursor_create (csqldb *db, int nrows, int ncolumns, int *types, char **names);
int cubesql_cursor_addrow (csqlc *cursor, char **row, int *len);
int cubesql_cursor_columntypebind (csqlc *c, int index);
void cubesql_setuserptr (csqldb *db, void *userptr);
void *cubesql_getuserptr (csqldb *db);
void cubesql_settoken (csqldb *db, char *token);
void cubesql_sethostverification (csqldb *db, char *hostverification);
char *cubesql_gettoken (csqldb *db);
void cubesql_setpath (int type, char *path);
void cubesql_seterror (csqldb *db, int errcode, char *errmsg);
const char *cubesql_sslversion (void);
#ifdef __cplusplus
} /* End of the 'extern "C"' block */
#endif
#endif