res_odbc_transaction: correctly initialise forcecommit value from DSN.

Also improve the in-process documentation to clarify that the value is
initialised from the DSN and not default false, but that the DSN's value
is default false if unset.

ASTERISK-29311 #close

Change-Id: I46e2379f7b0656034442bce77cb37ccd4e61098d
Signed-off-by: Jaco Kroon <jaco@uls.co.za>
This commit is contained in:
Jaco Kroon 2021-02-23 13:28:08 +02:00 committed by George Joseph
parent e1126ffc10
commit 6d2614be68
1 changed files with 3 additions and 2 deletions

View File

@ -44,7 +44,8 @@
</enum>
<enum name="forcecommit">
<para>Controls whether a transaction will be automatically committed when the channel
hangs up. Defaults to false. If a <replaceable>transaction ID</replaceable> is specified in the optional argument,
hangs up. Defaults to forcecommit value from the relevant DSN (which defaults to false).
If a <replaceable>transaction ID</replaceable> is specified in the optional argument,
the property will be applied to that ID, otherwise to the current active ID.</para>
</enum>
<enum name="isolation">
@ -175,7 +176,7 @@ static struct odbc_txn_frame *create_transaction(struct ast_channel *chan, const
return NULL;
}
txn->isolation = ast_odbc_class_get_isolation(txn->obj->parent);
txn->forcecommit = ast_odbc_class_get_isolation(txn->obj->parent);
txn->forcecommit = ast_odbc_class_get_forcecommit(txn->obj->parent);
txn->active = 1;
if (SQLSetConnectAttr(txn->obj->con, SQL_ATTR_AUTOCOMMIT, (void *)SQL_AUTOCOMMIT_OFF, 0) == SQL_ERROR) {