]> git.sur5r.net Git - openldap/blob - servers/slapd/back-sql/util.h
even more back-sql files
[openldap] / servers / slapd / back-sql / util.h
1 #ifndef __BACKSQL_UTIL_H__
2 #define __BACKSQL_UTIL_H__
3
4
5 #include "entry-id.h"
6 #include "schema-map.h"
7
8 #define BACKSQL_MAX(a,b) ((a)>(b)?(a):(b))
9 #define BACKSQL_MIN(a,b) ((a)<(b)?(a):(b))
10
11 #define BACKSQL_STR_GROW 64
12
13 char* backsql_strcat(char* dest,int *buflen, ...);
14
15 int backsql_entry_addattr(Entry *e,char *at_name,char *at_val,unsigned int at_val_len);
16
17 typedef struct __backsql_srch_info
18 {
19  char *base_dn;
20  int scope;
21  Filter *filter;
22  int slimit,tlimit;
23  time_t stoptime;
24  backsql_entryID *id_list,*c_eid;
25  int abandon;
26  backsql_info *bi;
27  backsql_oc_map_rec *oc;
28  char *sel,*from,*join_where,*flt_where;
29  int sel_len,from_len,jwhere_len,fwhere_len;
30  SQLHDBC dbh;
31  int status;
32  Backend *be;
33  Connection *conn;
34  Operation *op;
35  char **attrs;
36  Entry *e;
37 }backsql_srch_info;
38
39 int backsql_process_filter(backsql_srch_info *bsi,Filter *f);
40 void backsql_init_search(backsql_srch_info *bsi,backsql_info *bi,char *nbase,int scope,
41                                                  int slimit,int tlimit,time_t stoptime,Filter *filter,
42                                                  SQLHDBC dbh,Backend *be,Connection *conn,Operation *op,char **attrs);
43 Entry* backsql_id2entry(backsql_srch_info *bsi,Entry* e,backsql_entryID* id);
44
45 extern char backsql_def_oc_query[],backsql_def_at_query[],
46                         backsql_def_delentry_query[],backsql_def_insentry_query[],
47                         backsql_def_subtree_cond[];
48
49 int backsql_merge_from_clause(char **dest_from,int *dest_len,char *src_from);
50
51 #endif