~ubuntu-branches/ubuntu/wily/dovecot/wily

« back to all changes in this revision

Viewing changes to src/lib-sql/sql-api.h

  • Committer: Package Import Robot
  • Author(s): Jaldhar H. Vyas
  • Date: 2013-09-09 00:57:32 UTC
  • mfrom: (1.13.11)
  • mto: (4.8.5 experimental) (1.16.1)
  • mto: This revision was merged to the branch mainline in revision 97.
  • Revision ID: package-import@ubuntu.com-20130909005732-dn1eell8srqbhh0e
Tags: upstream-2.2.5
ImportĀ upstreamĀ versionĀ 2.2.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
78
78
   sql_result_next_row_get() */
79
79
void sql_query(struct sql_db *db, const char *query,
80
80
               sql_query_callback_t *callback, void *context);
81
 
#ifdef CONTEXT_TYPE_SAFETY
82
 
#  define sql_query(db, query, callback, context) \
83
 
        ({(void)(1 ? 0 : callback((struct sql_result *)NULL, context)); \
84
 
          sql_query(db, query, \
85
 
                (sql_query_callback_t *)callback, context); })
86
 
#else
87
 
#  define sql_query(db, query, callback, context) \
88
 
        sql_query(db, query, (sql_query_callback_t *)callback, context)
89
 
#endif
 
81
#define sql_query(db, query, callback, context) \
 
82
        sql_query(db, query + \
 
83
                CALLBACK_TYPECHECK(callback, void (*)( \
 
84
                        struct sql_result *, typeof(context))), \
 
85
                (sql_query_callback_t *)callback, context)
90
86
/* Execute blocking SQL query and return result. */
91
87
struct sql_result *sql_query_s(struct sql_db *db, const char *query);
92
88
 
131
127
/* Commit transaction. */
132
128
void sql_transaction_commit(struct sql_transaction_context **ctx,
133
129
                            sql_commit_callback_t *callback, void *context);
134
 
#ifdef CONTEXT_TYPE_SAFETY
135
 
#  define sql_transaction_commit(ctx, callback, context) \
136
 
        ({(void)(1 ? 0 : callback((const char *)NULL, context)); \
137
 
          sql_transaction_commit(ctx, \
138
 
                (sql_commit_callback_t *)callback, context); })
139
 
#else
140
 
#  define sql_transaction_commit(ctx, callback, context) \
141
 
          sql_transaction_commit(ctx, \
 
130
#define sql_transaction_commit(ctx, callback, context) \
 
131
          sql_transaction_commit(ctx + \
 
132
                CALLBACK_TYPECHECK(callback, void (*)( \
 
133
                        const char *, typeof(context))), \
142
134
                (sql_commit_callback_t *)callback, context)
143
 
#endif
144
135
/* Synchronous commit. Returns 0 if ok, -1 if error. */
145
136
int sql_transaction_commit_s(struct sql_transaction_context **ctx,
146
137
                             const char **error_r);