* Don't repeat yourself
*/
#define DO_PART(_x) if(sqlippool_command(inst->_x, &handle, inst, request) <0) goto error
+#define RESERVE_CONNECTION(_handle, _pool, _request) _handle = fr_pool_connection_get(_pool, _request); \
+ if (!_handle) { \
+ REDEBUG("Failed reserving SQL connection"); \
+ RETURN_MODULE_FAIL; \
+ }
+
/*
* Query the database expecting a single result row
return do_logging(p_result, inst, request, inst->log_nopool, RLM_MODULE_NOOP);
}
- handle = fr_pool_connection_get(inst->sql->pool, request);
- if (!handle) {
- REDEBUG("Failed reserving SQL connection");
- RETURN_MODULE_FAIL;
- }
+ RESERVE_CONNECTION(handle, inst->sql->pool, request);
if (inst->sql->sql_set_user(inst->sql, request, NULL) < 0) {
RETURN_MODULE_FAIL;
rlm_sql_handle_t *handle;
int affected;
- handle = fr_pool_connection_get(inst->sql->pool, request);
- if (!handle) {
- REDEBUG("Failed reserving SQL connection");
- RETURN_MODULE_FAIL;
- }
+ RESERVE_CONNECTION(handle, inst->sql->pool, request);
if (inst->sql->sql_set_user(inst->sql, request, NULL) < 0) {
RETURN_MODULE_FAIL;
rlm_sqlippool_t *inst = talloc_get_type_abort(mctx->inst->data, rlm_sqlippool_t);
rlm_sql_handle_t *handle;
- handle = fr_pool_connection_get(inst->sql->pool, request);
- if (!handle) {
- REDEBUG("Failed reserving SQL connection");
- RETURN_MODULE_FAIL;
- }
+ RESERVE_CONNECTION(handle, inst->sql->pool, request);
if (inst->sql->sql_set_user(inst->sql, request, NULL) < 0) {
RETURN_MODULE_FAIL;
rlm_sqlippool_t *inst = talloc_get_type_abort(mctx->inst->data, rlm_sqlippool_t);
rlm_sql_handle_t *handle;
- handle = fr_pool_connection_get(inst->sql->pool, request);
- if (!handle) {
- REDEBUG("Failed reserving SQL connection");
- RETURN_MODULE_FAIL;
- }
+ RESERVE_CONNECTION(handle, inst->sql->pool, request);
if (inst->sql->sql_set_user(inst->sql, request, NULL) < 0) {
RETURN_MODULE_FAIL;
rlm_sqlippool_t *inst = talloc_get_type_abort(mctx->inst->data, rlm_sqlippool_t);
rlm_sql_handle_t *handle;
- handle = fr_pool_connection_get(inst->sql->pool, request);
- if (!handle) {
- REDEBUG("Failed reserving SQL connection");
- RETURN_MODULE_FAIL;
- }
+ RESERVE_CONNECTION(handle, inst->sql->pool, request);
if (inst->sql->sql_set_user(inst->sql, request, NULL) < 0) {
RETURN_MODULE_FAIL;