The web service creates the database sessions in the following ways:
- Implicit Sessions: A client submits a query without referencing a session ID. If an idle session does not already exist for the specified credentials, a new session is created based on the default settings configured for the target system.The implicit sessions are reused if the following criteria are met:
- The sessions are idle
- The credentials specified by the client are the same as when the session was created
A new implicit session can be created if no sessions match the criteria. The maximum number of implicit sessions allowed per user is defined by Max implicit sessions. If the maximum number of implicit sessions are reached and none are idle, then the request is queued.
- Explicit Sessions: A client calls POST /system/[systemName]/sessions to open a session.
The explicit sessions are only reused if a client references the sessions in a query request. If a request references an explicit session already in use, the request is queued. Explicit sessions are used when a transaction needs to span multiple requests or when using volatile tables.
Each session remains open until the session is idle for the configured maxIdleTime or until closed by calling DELETE /system/[systemName]/sessions/[sessionId].