dm_db_select_logs Interface

public interface dm_db_select_logs

Generic logs select function.


Module Procedures

private function db_select_logs_array(db, logs, node_id, sensor_id, target_id, source, from, to, min_level, max_level, error, desc, limit, nlogs) result(rc)

Returns logs in allocatable array logs.

The function returns the following error codes:

  • E_ALLOC if memory allocation failed.
  • E_DB_BIND if value binding failed.
  • E_DB_FINALIZE if statement finalisation failed.
  • E_DB_NO_ROWS if no rows are returned.
  • E_DB_PREPARE if statement preparation failed.
  • E_DB_TYPE if returned columns are unexpected.

Arguments

Type IntentOptional Attributes Name
type(db_type), intent(inout) :: db

Database type.

type(log_type), intent(out), allocatable :: logs(:)

Returned log data array.

character(len=*), intent(in), optional :: node_id

Node id.

character(len=*), intent(in), optional :: sensor_id

Sensor id.

character(len=*), intent(in), optional :: target_id

Target id.

character(len=*), intent(in), optional :: source

Source name.

character(len=*), intent(in), optional :: from

Begin of time range.

character(len=*), intent(in), optional :: to

End of time range.

integer, intent(in), optional :: min_level

Minimum log level.

integer, intent(in), optional :: max_level

Maximum log level.

integer, intent(in), optional :: error

Error code.

logical, intent(in), optional :: desc

Descending order.

integer(kind=i8), intent(in), optional :: limit

Max. numbers of logs.

integer(kind=i8), intent(out), optional :: nlogs

Total number of logs.

Return Value integer

private function db_select_logs_iter(db, db_stmt, log, node_id, sensor_id, target_id, source, from, to, min_level, max_level, error, desc, limit) result(rc)

Iterator function that returns logs in logs. The statement db_stmt must be finalised once finished.

The function returns the following error codes:

  • E_DB_BIND if value binding failed.
  • E_DB_NO_ROWS if no rows are returned.
  • E_DB_PREPARE if statement preparation failed.
  • E_DB_TYPE if returned columns are unexpected.

Arguments

Type IntentOptional Attributes Name
type(db_type), intent(inout) :: db

Database type.

type(db_stmt_type), intent(inout) :: db_stmt

Database statement type.

type(log_type), intent(out) :: log

Returned log type.

character(len=*), intent(in), optional :: node_id

Node id.

character(len=*), intent(in), optional :: sensor_id

Sensor id.

character(len=*), intent(in), optional :: target_id

Target id.

character(len=*), intent(in), optional :: source

Source name.

character(len=*), intent(in), optional :: from

Begin of time range.

character(len=*), intent(in), optional :: to

End of time range.

integer, intent(in), optional :: min_level

Minimum log level.

integer, intent(in), optional :: max_level

Maximum log level.

integer, intent(in), optional :: error

Error code.

logical, intent(in), optional :: desc

Descending order.

integer(kind=i8), intent(in), optional :: limit

Max. numbers of logs.

Return Value integer