dm_db_insert_observ Function

public function dm_db_insert_observ(db, observ, db_stmt, validate) result(rc)

Uses

  • proc~~dm_db_insert_observ~~UsesGraph proc~dm_db_insert_observ dm_db_insert_observ module~dm_observ dm_observ proc~dm_db_insert_observ->module~dm_observ module~dm_error dm_error module~dm_observ->module~dm_error module~dm_id dm_id module~dm_observ->module~dm_id module~dm_kind dm_kind module~dm_observ->module~dm_kind module~dm_node dm_node module~dm_observ->module~dm_node module~dm_request dm_request module~dm_observ->module~dm_request module~dm_response dm_response module~dm_observ->module~dm_response module~dm_sensor dm_sensor module~dm_observ->module~dm_sensor module~dm_target dm_target module~dm_observ->module~dm_target module~dm_time dm_time module~dm_observ->module~dm_time module~dm_util dm_util module~dm_observ->module~dm_util module~dm_uuid dm_uuid module~dm_observ->module~dm_uuid 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 module~dm_node->module~dm_id module~dm_node->module~dm_kind module~dm_request->module~dm_error module~dm_request->module~dm_id module~dm_request->module~dm_kind module~dm_request->module~dm_response module~dm_request->module~dm_time module~dm_request->module~dm_util module~dm_string dm_string module~dm_request->module~dm_string module~dm_response->module~dm_error module~dm_response->module~dm_id module~dm_response->module~dm_kind module~dm_response->module~dm_util module~dm_sensor->module~dm_id module~dm_sensor->module~dm_kind module~dm_sensor->module~dm_node module~dm_target->module~dm_id module~dm_target->module~dm_kind module~dm_target->module~dm_util module~dm_time->module~dm_error module~dm_time->module~dm_kind module~dm_time->module~dm_util module~dm_util->module~dm_error module~dm_util->module~dm_kind module~dm_string->module~dm_error module~dm_string->module~dm_kind

Adds single observation to database, including receivers, requests, and responses. If the insert query fails, the transaction will be rolled back, i.e., no part of the observation is written to the database on error. The observation data is validated by default.

The function returns the following error codes:

  • E_DB if statement reset failed.
  • E_DB_BIND if value binding failed.
  • E_DB_EXEC if execution of transaction statement failed.
  • E_DB_PREPARE if statement preparation failed.
  • E_DB_ROLLBACK if transaction rollback failed.
  • E_DB_STEP if step execution failed or no write permission.
  • E_DB_TRANSACTION if transaction failed.
  • E_INVALID if argument observ is invalid.
  • E_READ_ONLY if database is opened read-only.

Arguments

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

Database type.

type(observ_type), intent(inout) :: observ

Observation type.

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

Database statement type.

logical, intent(in), optional :: validate

Validate observation.

Return Value integer


Calls

proc~~dm_db_insert_observ~~CallsGraph proc~dm_db_insert_observ dm_db_insert_observ proc~dm_db_error dm_db_error proc~dm_db_insert_observ->proc~dm_db_error proc~dm_id_valid dm_id_valid proc~dm_db_insert_observ->proc~dm_id_valid proc~dm_is_error dm_is_error proc~dm_db_insert_observ->proc~dm_is_error proc~dm_observ_valid dm_observ_valid proc~dm_db_insert_observ->proc~dm_observ_valid sqlite3_bind_double sqlite3_bind_double proc~dm_db_insert_observ->sqlite3_bind_double sqlite3_bind_int sqlite3_bind_int proc~dm_db_insert_observ->sqlite3_bind_int sqlite3_bind_text sqlite3_bind_text proc~dm_db_insert_observ->sqlite3_bind_text sqlite3_exec sqlite3_exec proc~dm_db_insert_observ->sqlite3_exec sqlite3_finalize sqlite3_finalize proc~dm_db_insert_observ->sqlite3_finalize sqlite3_prepare_v2 sqlite3_prepare_v2 proc~dm_db_insert_observ->sqlite3_prepare_v2 sqlite3_reset sqlite3_reset proc~dm_db_insert_observ->sqlite3_reset sqlite3_step sqlite3_step proc~dm_db_insert_observ->sqlite3_step sqlite3_errcode sqlite3_errcode proc~dm_db_error->sqlite3_errcode proc~dm_observ_valid->proc~dm_id_valid proc~dm_error_valid dm_error_valid proc~dm_observ_valid->proc~dm_error_valid proc~dm_request_valid dm_request_valid proc~dm_observ_valid->proc~dm_request_valid proc~dm_time_valid dm_time_valid proc~dm_observ_valid->proc~dm_time_valid proc~dm_uuid4_valid dm_uuid4_valid proc~dm_observ_valid->proc~dm_uuid4_valid proc~dm_request_valid->proc~dm_id_valid proc~dm_request_valid->proc~dm_error_valid proc~dm_request_valid->proc~dm_time_valid proc~dm_response_valid dm_response_valid proc~dm_request_valid->proc~dm_response_valid proc~dm_string_is_printable dm_string_is_printable proc~dm_request_valid->proc~dm_string_is_printable proc~dm_ascii_is_digit dm_ascii_is_digit proc~dm_time_valid->proc~dm_ascii_is_digit proc~dm_response_valid->proc~dm_id_valid proc~dm_response_valid->proc~dm_error_valid proc~dm_response_type_valid dm_response_type_valid proc~dm_response_valid->proc~dm_response_type_valid proc~dm_ascii_is_printable dm_ascii_is_printable proc~dm_string_is_printable->proc~dm_ascii_is_printable

Called by

proc~~dm_db_insert_observ~~CalledByGraph proc~dm_db_insert_observ dm_db_insert_observ interface~dm_db_insert dm_db_insert interface~dm_db_insert->proc~dm_db_insert_observ proc~dm_db_insert_observs dm_db_insert_observs interface~dm_db_insert->proc~dm_db_insert_observs proc~dm_db_insert_observs->proc~dm_db_insert_observ