public function dm_db_open(db, path, create, foreign_keys, read_only, threaded, timeout, validate, wal) result(rc)
proc~~dm_db_open~~UsesGraph
proc~dm_db_open
dm_db_open
module~dm_file
dm_file
proc~dm_db_open->module~dm_file
module~dm_error
dm_error
module~dm_file->module~dm_error
module~dm_kind
dm_kind
module~dm_file->module~dm_kind
module~dm_error->module~dm_kind
module~dm_ascii
dm_ascii
module~dm_error->module~dm_ascii
iso_fortran_env
iso_fortran_env
module~dm_kind->iso_fortran_env
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Opens connection to the SQLite database at path
, or creates a new
database with given file path if create
is passed and .true.
.
The foreign key constraint is enabled unless foreign_keys
is
.false.
.
The databases is opened in read-only mode if read_only
is .true.
.
Threaded access to the database is disabled by default. The busy
timeout is 0 mseconds unless argument timeout
is passed.
If argument validate
is passed and .true.
, the application id of
the database is validated. The function returns E_DB_ID
if the id
is missing or invalid.
Write-Ahead Logging is enabled if wal
is .true.
.
The function returns the following error codes:
E_DB
if opening the database failed.
E_DB_ID
if the database has a wrong application id.
E_DB_PREPARE
if statement preparation failed.
E_DB_STEP
if step execution failed or no write permission.
E_DB_VERSION
if the user version is incompatible.
E_EXIST
if database is already opened.
E_NOT_FOUND
if database has not been found.
Arguments
Type
Intent Optional Attributes
Name
type(db_type ),
intent(inout)
::
db
Database type.
character(len=*),
intent(in)
::
path
File path of database.
logical,
intent(in),
optional
::
create
Create flag (off by default).
logical,
intent(in),
optional
::
foreign_keys
Foreign keys contraint flag (on by default).
logical,
intent(in),
optional
::
read_only
Read-only mode (off by default).
logical,
intent(in),
optional
::
threaded
Threaded access flag (off by default).
integer,
intent(in),
optional
::
timeout
Busy timeout in mseconds (0 by default).
logical,
intent(in),
optional
::
validate
Validate application id (off by default).
logical,
intent(in),
optional
::
wal
WAL journal mode flag (off by default).
Return Value
integer
proc~~dm_db_open~~CallsGraph
proc~dm_db_open
dm_db_open
interface~dm_present
dm_present
proc~dm_db_open->interface~dm_present
proc~dm_db_is_connected
dm_db_is_connected
proc~dm_db_open->proc~dm_db_is_connected
proc~dm_db_set_application_id
dm_db_set_application_id
proc~dm_db_open->proc~dm_db_set_application_id
proc~dm_db_set_busy_timeout
dm_db_set_busy_timeout
proc~dm_db_open->proc~dm_db_set_busy_timeout
proc~dm_db_set_foreign_keys
dm_db_set_foreign_keys
proc~dm_db_open->proc~dm_db_set_foreign_keys
proc~dm_db_set_journal_mode
dm_db_set_journal_mode
proc~dm_db_open->proc~dm_db_set_journal_mode
proc~dm_db_set_schema_version
dm_db_set_schema_version
proc~dm_db_open->proc~dm_db_set_schema_version
proc~dm_db_validate
dm_db_validate
proc~dm_db_open->proc~dm_db_validate
proc~dm_file_exists
dm_file_exists
proc~dm_db_open->proc~dm_file_exists
proc~dm_is_error
dm_is_error
proc~dm_db_open->proc~dm_is_error
sqlite3_initialize
sqlite3_initialize
proc~dm_db_open->sqlite3_initialize
sqlite3_open_v2
sqlite3_open_v2
proc~dm_db_open->sqlite3_open_v2
proc~dm_db_set_application_id->proc~dm_is_error
interface~dm_itoa
dm_itoa
proc~dm_db_set_application_id->interface~dm_itoa
proc~dm_db_finalize
dm_db_finalize
proc~dm_db_set_application_id->proc~dm_db_finalize
proc~dm_db_prepare
dm_db_prepare
proc~dm_db_set_application_id->proc~dm_db_prepare
proc~dm_db_step
dm_db_step
proc~dm_db_set_application_id->proc~dm_db_step
sqlite3_busy_timeout
sqlite3_busy_timeout
proc~dm_db_set_busy_timeout->sqlite3_busy_timeout
proc~dm_db_set_foreign_keys->proc~dm_is_error
proc~dm_btoa
dm_btoa
proc~dm_db_set_foreign_keys->proc~dm_btoa
proc~dm_db_set_foreign_keys->proc~dm_db_finalize
proc~dm_db_set_foreign_keys->proc~dm_db_prepare
proc~dm_db_set_foreign_keys->proc~dm_db_step
proc~dm_db_set_journal_mode->proc~dm_is_error
proc~dm_db_set_journal_mode->proc~dm_db_finalize
proc~dm_db_set_journal_mode->proc~dm_db_prepare
proc~dm_db_set_journal_mode->proc~dm_db_step
proc~dm_db_set_schema_version->proc~dm_is_error
proc~dm_db_set_schema_version->interface~dm_itoa
proc~dm_db_set_schema_version->proc~dm_db_finalize
proc~dm_db_set_schema_version->proc~dm_db_prepare
proc~dm_db_set_schema_version->proc~dm_db_step
proc~dm_db_validate->proc~dm_is_error
proc~dm_db_get_application_id
dm_db_get_application_id
proc~dm_db_validate->proc~dm_db_get_application_id
proc~dm_db_get_schema_version
dm_db_get_schema_version
proc~dm_db_validate->proc~dm_db_get_schema_version
sqlite3_finalize
sqlite3_finalize
proc~dm_db_finalize->sqlite3_finalize
proc~dm_db_get_application_id->proc~dm_is_error
proc~dm_db_get_application_id->proc~dm_db_finalize
proc~dm_db_get_application_id->proc~dm_db_prepare
proc~dm_db_get_application_id->proc~dm_db_step
interface~dm_db_column
dm_db_column
proc~dm_db_get_application_id->interface~dm_db_column
proc~dm_db_column_is_integer
dm_db_column_is_integer
proc~dm_db_get_application_id->proc~dm_db_column_is_integer
proc~dm_db_get_schema_version->proc~dm_is_error
proc~dm_db_get_schema_version->proc~dm_db_finalize
proc~dm_db_get_schema_version->proc~dm_db_prepare
proc~dm_db_get_schema_version->proc~dm_db_step
proc~dm_db_get_schema_version->interface~dm_db_column
proc~dm_db_get_schema_version->proc~dm_db_column_is_integer
sqlite3_prepare_v2
sqlite3_prepare_v2
proc~dm_db_prepare->sqlite3_prepare_v2
sqlite3_step
sqlite3_step
proc~dm_db_step->sqlite3_step
sqlite3_column_type
sqlite3_column_type
proc~dm_db_column_is_integer->sqlite3_column_type
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
proc~~dm_db_open~~CalledByGraph
proc~dm_db_open
dm_db_open
proc~dm_db_backup
dm_db_backup
proc~dm_db_backup->proc~dm_db_open
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.