4 EXEC SQL INCLUDE SQLDA;
8 typedef struct ing_field {
12 unsigned int flags; // 1 == not null
15 typedef struct ing_row {
16 IISQLVAR *sqlvar; /* ptr to sqlvar[sqld] for one row */
21 typedef enum ing_status {
25 ING_NO_ROWS_PROCESSED,
30 typedef struct ing_varchar {
35 /* It seems, Bacula needs the complete query result stored in one data structure */
36 typedef struct ing_result {
37 IISQLDA *sqlda; /* descriptor */
43 ING_ROW *act_row; /* just for iterating */
44 char numrowstring[10];
48 typedef struct ing_conn {
52 char connection_name[32];
57 /* ---Prototypes--- */
59 ING_STATUS INGresultStatus(INGresult *res);
60 short INGgetCols(const char *stmt);
61 IISQLDA *INGgetDescriptor(short numCols, const char *stmt);
62 void INGfreeDescriptor(IISQLDA *sqlda);
63 int INGgetTypeSize(IISQLVAR *ingvar);
64 INGresult *INGgetINGresult(IISQLDA *sqlda);
65 void INGfreeINGresult(INGresult *ing_res);
66 ING_ROW *INGgetRowSpace(INGresult *ing_res);
67 void INGfreeRowSpace(ING_ROW *row, IISQLDA *sqlda);
68 int INGfetchAll(const char *stmt, INGresult *ing_res);
69 void INGrowSeek(INGresult *res, int row_number);
70 char *INGgetvalue(INGresult *res, int row_number, int column_number);
71 int INGgetisnull(INGresult *res, int row_number, int column_number);
72 int INGntuples(const INGresult *res);
73 int INGnfields(const INGresult *res);
74 char *INGfname(const INGresult *res, int column_number);
75 short INGftype(const INGresult *res, int column_number);
76 INGresult *INGexec(INGconn *db, const char *query);
77 void INGclear(INGresult *res);
78 INGconn *INGconnectDB(char *dbname, char *user, char *passwd);
79 void INGdisconnectDB(INGconn *dbconn);
80 char *INGerrorMessage(const INGconn *conn);
81 char *INGcmdTuples(INGresult *res);
83 #endif /* _MYINGRES_SH */