View Source Csv2sql.ProgressTracker.State (Csv2sql v0.1.0)

Progress tracker state struct defination for csv2sql

Summary

Types

@type csv_col_types_list() :: [{String.t(), String.t()}]
@type db_result_types() :: MyXQL.Result.t() | Postgrex.Result.t()
@type file_status() :: :pending | :analyze | :loading | :done | :failure
@type files_map() :: %{required(String.t()) => File.t()}
Link to this type

supported_db_data_types()

View Source
@type supported_db_data_types() ::
  String.t() | number() | boolean() | Date.t() | DateTime.t() | nil
@type t() :: %Csv2sql.ProgressTracker.State{
  end_time: DateTime.t() | nil,
  files: files_map(),
  start_time: DateTime.t(),
  status:
    :init | :working | :imported | :validating | :finish | {:error, String.t()},
  subscribers: [pid()],
  validation_status: :passed | :failed
}

Csv2sql progress tracker struct

@type type_map() :: %{
  is_empty: boolean(),
  is_date: boolean(),
  is_datetime: boolean(),
  is_boolean: boolean(),
  is_integer: boolean(),
  is_float: boolean(),
  is_text: boolean(),
  max_data_length: non_neg_integer()
}