GetOptions - Maple Help

Connection

 GetOptions
 get the current value of Connection module options

 Calling Sequence connection:-GetOptions( opts )

Parameters

 connection - Connection module opts - (optional) name of the option to get, one of readonly, autocommit or isolation

Description

 • GetOptions gets the current values of connection's options.
 • GetOptions can query all the options that are set by SetOptions.
 readonly= true or false
 The readonly argument informs the database that it can enable optimizations associated with a read-only connection.  The effect that this has depends on the database.  Setting readonly=true may not prevent the execution of updates.  By default, connections are not opened read-only.
 autocommit = true or false
 The autocommit optional argument controls if updates are automatically committed on execution.  If autocommit is true, then updates are automatically committed to the database. Otherwise, transactions will be used and updates will need to be committed before they are reflected in the database (see Commit and Rollback for more information). By default, autocommit is false.
 The isolation argument determines how isolated transactions using this connection are from transactions occurring at the same time.
 - At serializable isolation, dirty reads (reading uncommitted data from parallel transactions), non-repeatable reads (reading the same row multiple times producing different results due to parallel updates), and phantom reads (WHERE conditions matching different numbers of rows due to parallel updates) are all prevented.
 - At repeatableread isolation, dirty reads and non-repeatable reads are prevented.
 - At committedread isolation, only dirty reads are prevented.
 - At uncommittedread isolation, dirty reads are also allowed.
 The default isolation is database specific.  The isolation option can only be set at the beginning of a transaction, before any SQL statements have been executed.
 • Calling GetOptions with no arguments returns the current values of all the arguments that GetOptions can query.

Examples

 > $\mathrm{driver}≔\mathrm{Database}\left[\mathrm{LoadDriver}\right]\left(\right):$
 > $\mathrm{conn}≔\mathrm{driver}:-\mathrm{OpenConnection}\left(\mathrm{url},\mathrm{name},\mathrm{pass}\right):$$\mathrm{conn}:-\mathrm{GetOptions}\left(\right)$
 $\left[{\mathrm{readonly}}{=}{\mathrm{false}}{,}{\mathrm{isolation}}{=}{\mathrm{committedread}}\right]$ (1)
 > $\mathrm{conn}:-\mathrm{SetOptions}\left('\mathrm{readonly}'=\mathrm{true}\right);$$\mathrm{conn}:-\mathrm{GetOptions}\left('\mathrm{readonly}'\right)$
 $\left[{\mathrm{readonly}}{=}{\mathrm{true}}\right]$ (2)
 > $\mathrm{conn}:-\mathrm{SetOptions}\left('\mathrm{isolation}'='\mathrm{serializable}'\right);$$\mathrm{conn}:-\mathrm{GetOptions}\left('\mathrm{readonly}','\mathrm{isolation}'\right)$
 $\left[{\mathrm{readonly}}{=}{\mathrm{true}}{,}{\mathrm{isolation}}{=}{\mathrm{serializable}}\right]$ (3)
 > $\mathrm{conn}:-\mathrm{SetOptions}\left('\mathrm{isolation}'='\mathrm{committedread}','\mathrm{readonly}'=\mathrm{false}\right);$$\mathrm{conn}:-\mathrm{GetOptions}\left('\mathrm{readonly}','\mathrm{isolation}'\right)$
 $\left[{\mathrm{readonly}}{=}{\mathrm{false}}{,}{\mathrm{isolation}}{=}{\mathrm{committedread}}\right]$ (4)