Basic SQL query builder.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public, | parameter | :: | DB_QUERY_TYPE_NONE | = | 0 |
No type (invalid). |
integer, | public, | parameter | :: | DB_QUERY_TYPE_DOUBLE | = | 1 |
SQLite double precision. |
integer, | public, | parameter | :: | DB_QUERY_TYPE_INT | = | 2 |
SQLite 32-bit integer. |
integer, | public, | parameter | :: | DB_QUERY_TYPE_INT64 | = | 3 |
SQLite 64-bit integer. |
integer, | public, | parameter | :: | DB_QUERY_TYPE_TEXT | = | 4 |
SQLite text. |
Database query parameter.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | type | = | DB_QUERY_TYPE_NONE |
Value type. |
|
real(kind=r8), | public | :: | value_double | = | 0.0_r8 |
Double value. |
|
integer, | public | :: | value_int | = | 0 |
Integer value. |
|
integer(kind=i8), | public | :: | value_int64 | = | 0.0_i8 |
64-bit integer value. |
|
character(len=:), | public, | allocatable | :: | value_text |
Text value. |
||
character(len=:), | public, | allocatable | :: | sql |
Query parameter string. |
Database query.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=:), | public, | allocatable | :: | order_by |
ORDER BY clause. |
||
logical, | public | :: | order_desc | = | .false. |
ASC or DESC order. |
|
integer(kind=i8), | public | :: | limit | = | 0_i8 |
Row limit. |
|
integer, | public | :: | nparams | = | 0 |
Current parameter array size. |
|
type(db_query_param_type), | public | :: | params(DB_QUERY_NPARAMS) |
Parameter array. |
Returns SQL string from query.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(db_query_type), | intent(inout) | :: | db_query |
Database query type. |
||
character(len=*), | intent(in), | optional | :: | base |
Base query string. |
SQL string.
Adds double precision parameter to query. Returns E_LIMIT
in
error
if parameter limit has been reached.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(db_query_type), | intent(inout) | :: | db_query |
Database query type. |
||
character(len=*), | intent(in) | :: | param |
Query parameter. |
||
real(kind=r8), | intent(in), | optional | :: | value |
Query parameter value. |
|
integer, | intent(out), | optional | :: | error |
Error code. |
Adds 32-bit integer parameter to query. Returns E_LIMIT
if
parameter limit has been reached.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(db_query_type), | intent(inout) | :: | db_query |
Database query type. |
||
character(len=*), | intent(in) | :: | param |
Query parameter. |
||
integer(kind=i4), | intent(in), | optional | :: | value |
Query parameter value. |
|
integer, | intent(out), | optional | :: | error |
Error code. |
Adds 64-bit integer parameter to query. Returns E_LIMIT
if
parameter limit has been reached.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(db_query_type), | intent(inout) | :: | db_query |
Database query type. |
||
character(len=*), | intent(in) | :: | param |
Query parameter. |
||
integer(kind=i8), | intent(in), | optional | :: | value |
Query parameter value. |
|
integer, | intent(out), | optional | :: | error |
Error code. |
Adds text parameter to query. Returns E_LIMIT
if parameter limit
has been reached. Empty strings and strings containing only
white-space characters are ignored, unless argument empty
is set
to .true.
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(db_query_type), | intent(inout) | :: | db_query |
Database query type. |
||
character(len=*), | intent(in) | :: | param |
Query parameter. |
||
character(len=*), | intent(in), | optional | :: | value |
Query parameter value. |
|
logical, | intent(in), | optional | :: | empty |
Add empty string. |
|
integer, | intent(out), | optional | :: | error |
Error code. |
Resets query.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(db_query_type), | intent(inout) | :: | db_query |
Database query type. |
Sets LIMIT
clause of query.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(db_query_type), | intent(inout) | :: | db_query |
Database query type. |
||
integer(kind=i8), | intent(in), | optional | :: | limit |
Limit value. |
Sets ORDER BY
clause of query.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(db_query_type), | intent(inout) | :: | db_query |
Database query type. |
||
character(len=*), | intent(in) | :: | by |
Field name. |
||
logical, | intent(in), | optional | :: | desc |
Descending order. |