dbt_res.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef _DBT_RES_H_
00032 #define _DBT_RES_H_
00033
00034 #include "../../db/db_op.h"
00035 #include "../../db/db_res.h"
00036
00037 #include "dbt_lib.h"
00038
00039 typedef struct _dbt_result
00040 {
00041 int nrcols;
00042 int nrrows;
00043 dbt_column_p colv;
00044 dbt_row_p rows;
00045 } dbt_result_t, *dbt_result_p;
00046
00047
00048
00049 typedef struct _dbt_con
00050 {
00051 dbt_cache_p con;
00052 dbt_result_p res;
00053 dbt_row_p row;
00054 } dbt_con_t, *dbt_con_p;
00055
00056 #define DBT_CON_CONNECTION(db_con) (((dbt_con_p)((db_con)->tail))->con)
00057 #define DBT_CON_RESULT(db_con) (((dbt_con_p)((db_con)->tail))->res)
00058 #define DBT_CON_ROW(db_con) (((dbt_con_p)((db_con)->tail))->row)
00059
00060 dbt_result_p dbt_result_new(dbt_table_p, int*, int);
00061 int dbt_result_free(dbt_result_p);
00062 int dbt_row_match(dbt_table_p _dtp, dbt_row_p _drp, int* _lkey,
00063 db_op_t* _op, db_val_t* _v, int _n);
00064 int dbt_result_extract_fields(dbt_table_p _dtp, dbt_row_p _drp,
00065 int* lres, dbt_result_p _dres);
00066 int dbt_result_print(dbt_result_p _dres);
00067
00068 int* dbt_get_refs(dbt_table_p, db_key_t*, int);
00069 int dbt_cmp_val(dbt_val_p _vp, db_val_t* _v);
00070 dbt_row_p dbt_result_new_row(dbt_result_p _dres);
00071
00072 int dbt_parse_orderbyclause(db_key_t **_o_k, char **_o_op, int *_o_n, db_key_t _o);
00073 int dbt_mangle_columnselection(int **_lres, int *_nc, int *_o_nc, int *_o_l, int _o_n);
00074 int dbt_sort_result(dbt_result_p _dres, int *_o_l, char *_o_op, int _o_n, int *_lres, int _nc);
00075 void dbt_project_result(dbt_result_p _dres, int _o_nc);
00076
00077 #endif
00078