DuroDBMS API  1.7
operator.h
1 /*
2  * Operator functions.
3  *
4  * Copyright (C) 2013, 2015 Rene Hartmann.
5  * See the file COPYING for redistribution information.
6  */
7 
8 #ifndef OPERATOR_H_
9 #define OPERATOR_H_
10 
11 #include "object.h"
12 
13 typedef struct RDB_op_data RDB_operator;
14 typedef struct RDB_transaction RDB_transaction;
15 typedef struct RDB_exec_context RDB_exec_context;
16 
17 typedef int RDB_ro_op_func(int, RDB_object *[], RDB_operator *,
18  RDB_exec_context *, RDB_transaction *,
19  RDB_object *);
20 
21 typedef int RDB_upd_op_func(int, RDB_object *[], RDB_operator *,
22  RDB_exec_context *, RDB_transaction *);
23 
31 typedef void RDB_op_cleanup_func(RDB_operator *);
32 
36 typedef struct RDB_parameter {
41 
46  RDB_bool update;
48 
54 RDB_get_parameter(const RDB_operator *, int);
55 
56 const char *
57 RDB_operator_name(const RDB_operator *);
58 
59 RDB_type *
60 RDB_operator_type(const RDB_operator *);
61 
62 int
63 RDB_operator_param_count(const RDB_operator *);
64 
68 RDB_type *
69 RDB_return_type(const RDB_operator *);
70 
77 const char *
78 RDB_operator_source(const RDB_operator *);
79 
81 RDB_get_parameter(const RDB_operator *, int);
82 
83 const char *
84 RDB_operator_name(const RDB_operator *);
85 
86 RDB_type *
87 RDB_return_type(const RDB_operator *);
88 
89 const char *
90 RDB_operator_source(const RDB_operator *);
91 
92 RDB_object *
93 RDB_operator_creation_time(RDB_operator *);
94 
95 void *
96 RDB_operator_u_data(const RDB_operator *);
97 
98 void
99 RDB_set_operator_u_data(RDB_operator *, void *);
100 
101 void
103 
104 RDB_operator *
105 RDB_new_op_data(const char *, const char *, int, RDB_type *[],
106  RDB_type *, RDB_exec_context *);
107 
108 int
109 RDB_free_op_data(RDB_operator *, RDB_exec_context *);
110 
111 RDB_bool
112 RDB_operator_is_implemented(const RDB_operator *);
113 
114 #endif /* OPERATOR_H_ */
RDB_type * typ
Definition: operator.h:40
Definition: type.h:78
const char * RDB_operator_source(const RDB_operator *)
Definition: operator.c:87
Definition: operator.h:36
struct RDB_parameter RDB_parameter
const char * RDB_operator_name(const RDB_operator *)
Definition: operator.c:33
RDB_parameter * RDB_get_parameter(const RDB_operator *, int)
Definition: operator.c:22
RDB_bool update
Definition: operator.h:46
RDB_object * RDB_operator_creation_time(RDB_operator *)
Definition: operator.c:100
void RDB_op_cleanup_func(RDB_operator *)
Definition: operator.h:31
int RDB_operator_param_count(const RDB_operator *)
Definition: operator.c:53
void RDB_set_op_cleanup_fn(RDB_operator *, RDB_op_cleanup_func *)
Definition: operator.c:110
RDB_type * RDB_operator_type(const RDB_operator *)
Definition: operator.c:44
RDB_type * RDB_return_type(const RDB_operator *)
Definition: operator.c:63