]> git.sur5r.net Git - openldap/blob - servers/slapd/back-sql/util.h
Fixup bdb_entry_release now that entry_decode uses two memory blocks
[openldap] / servers / slapd / back-sql / util.h
1 #ifndef __BACKSQL_UTIL_H__
2 #define __BACKSQL_UTIL_H__
3
4 /*
5  *       Copyright 1999, Dmitry Kovalev <mit@openldap.org>, All rights reserved.
6  *
7  *       Redistribution and use in source and binary forms are permitted only
8  *       as authorized by the OpenLDAP Public License.  A copy of this
9  *       license is available at http://www.OpenLDAP.org/license.html or
10  *       in file LICENSE in the top-level directory of the distribution.
11  */
12
13
14 #include "entry-id.h"
15 #include "schema-map.h"
16
17 #define BACKSQL_MAX(a,b) ((a)>(b)?(a):(b))
18 #define BACKSQL_MIN(a,b) ((a)<(b)?(a):(b))
19
20 #define BACKSQL_STR_GROW 64
21
22 char* backsql_strcat(char* dest,int *buflen, ...);
23
24 int backsql_entry_addattr(Entry *e,char *at_name,char *at_val,unsigned int at_val_len);
25
26 typedef struct __backsql_srch_info
27 {
28  char *base_dn;
29  int scope;
30  Filter *filter;
31  int slimit,tlimit;
32  time_t stoptime;
33  backsql_entryID *id_list,*c_eid;
34  int abandon;
35  backsql_info *bi;
36  backsql_oc_map_rec *oc;
37  char *sel,*from,*join_where,*flt_where;
38  int sel_len,from_len,jwhere_len,fwhere_len;
39  SQLHDBC dbh;
40  int status;
41  Backend *be;
42  Connection *conn;
43  Operation *op;
44  char **attrs;
45  Entry *e;
46  int isTimesTen; /* 1 if the db is TimesTen; 0 if it's not */
47 }backsql_srch_info;
48
49 int backsql_process_filter(backsql_srch_info *bsi,Filter *f);
50 void backsql_init_search(backsql_srch_info *bsi,backsql_info *bi,char *nbase,int scope,
51                                                  int slimit,int tlimit,time_t stoptime,Filter *filter,
52                                                  SQLHDBC dbh,Backend *be,Connection *conn,Operation *op,char **attrs);
53 Entry* backsql_id2entry(backsql_srch_info *bsi,Entry* e,backsql_entryID* id);
54
55 extern char backsql_def_oc_query[],backsql_def_at_query[],
56                         backsql_def_delentry_query[],backsql_def_insentry_query[],
57                         backsql_def_subtree_cond[],backsql_id_query[];
58 extern char backsql_check_dn_ru_query[];
59
60 int backsql_merge_from_clause(char **dest_from,int *dest_len,char *src_from);
61
62
63 #endif
64