diff --git a/src/db_transaction.c b/src/db_transaction.c index cd8eb08..308de30 100644 --- a/src/db_transaction.c +++ b/src/db_transaction.c @@ -52,4 +52,4 @@ int transactionRollback(struct stored_conn_t *sconn) } sconn->inTransaction = 0; return 0; -} \ No newline at end of file +} diff --git a/src/db_value.c b/src/db_value.c index 6c0feed..2b04d13 100644 --- a/src/db_value.c +++ b/src/db_value.c @@ -6,8 +6,8 @@ #include #include -#include "strext.h" #include "db_value.h" +#include "strext.h" char *db_value(char **str, size_t *len, e_column_type type, uint32_t n_args, ...) { diff --git a/src/db_where-builder_p.h b/src/db_where-builder_p.h index c85d689..780823a 100644 --- a/src/db_where-builder_p.h +++ b/src/db_where-builder_p.h @@ -3,6 +3,18 @@ #include "db_where-builder.h" +#ifndef DLL_LOCAL +# if defined _WIN32 || defined __CYGWIN__ +# define DLL_LOCAL +# else +# if __GNUC__ >= 4 +# define DLL_LOCAL __attribute__ ((visibility ("hidden"))) +# else +# define DLL_LOCAL +# endif +# endif +#endif + struct where_logic_t { where_builder *up; e_where_logic logic_type; @@ -36,24 +48,32 @@ struct where_clause_t { }; typedef struct where_clause_t where_clause; - +DLL_LOCAL where_logic *createLogic(e_where_logic type, size_t initial_size); +DLL_LOCAL int compileLogic(where_logic *logic, char **str, size_t *str_len); +DLL_LOCAL void freeLogic(where_logic **logic_ptr); +DLL_LOCAL where_builder *appendLogicClause(where_builder *wb, where_builder *wb_clause); - +DLL_LOCAL where_clause *createWhere(const char *tbl, const char *col, e_where_op op); +DLL_LOCAL int compileWhere(where_clause *clause, char **str, size_t *str_len); +DLL_LOCAL void freeWhere(where_clause **where_ptr); +DLL_LOCAL int ensureWhereValueSize(where_clause *clause, size_t new_size); - +DLL_LOCAL where_builder *where_And_Or(where_builder *wb, where_builder *wb_clause, e_where_logic and_or); +DLL_LOCAL where_builder *where_In_notIn(where_builder *wb, const char *tbl, const char *col, e_where_op op, e_column_type type, uint32_t n_args, ...); +DLL_LOCAL where_builder *where_In_notIn_va(where_builder *wb, const char *tbl, const char *col, e_where_op op, e_column_type type, uint32_t n_args, va_list args);