summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/oci8/oci8.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/ext/oci8/oci8.c b/ext/oci8/oci8.c
index baccacd562..45d15fecb4 100644
--- a/ext/oci8/oci8.c
+++ b/ext/oci8/oci8.c
@@ -2578,7 +2578,13 @@ static void oci_do_connect(INTERNAL_FUNCTION_PARAMETERS,int persistent,int exclu
goto CLEANUP;
}
- persistent = server->persistent; /* if our server-context is not persistent we can't */
+ if (exclusive) {
+ /* exlusive session can never be persistent!*/
+ persistent = 0;
+ } else {
+ /* if our server-context is not persistent we can't */
+ persistent = server->persistent;
+ }
session = _oci_open_session(server,username,password,persistent,exclusive);