diff options
-rw-r--r-- | ext/oci8/oci8.c | 8 |
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); |