KiCad PCB EDA Suite
Loading...
Searching...
No Matches
database_backend.h File Reference
#include <functional>
#include <limits>
#include <memory>
#include <optional>
#include <string>
#include <vector>
#include <wx/string.h>
#include <database/database_value.h>
#include <trace_helpers.h>

Go to the source code of this file.

Classes

struct  DB_COLUMN
 A column as the backend reports it. More...
 
struct  DB_TABLE_INFO
 
struct  DB_BACKEND_RESULT
 The outcome of building a backend; backend is null when failure and error say why. More...
 
class  DATABASE_BACKEND
 A read-only source of tables. More...
 

Typedefs

using DB_ROW_SINK = std::function<void( std::vector<DB_VALUE>&& )>
 Receives one row at a time, in the order of the labels the read produced.
 
using DB_RESTART_SINK = std::function<void()>
 Told that the rows delivered so far are void, because the read starts the table again from its first row.
 
using DB_STOP_CHECK = std::function<bool()>
 True once the caller no longer wants what a read would deliver.
 

Enumerations

enum class  DB_FAILURE {
  UNKNOWN , LOGIN , UNREACHABLE , TIMEOUT ,
  NO_DSN , NO_DRIVER , FILE_NOT_FOUND , FILE_IN_USE ,
  PROVIDER_MISSING , NOT_SUPPORTED_ON_PLATFORM , INVALID_TYPE , NETWORK_WAL
}
 Why a connection attempt failed, as far as the backend's report tells. More...
 

Typedef Documentation

◆ DB_RESTART_SINK

using DB_RESTART_SINK = std::function<void()>

Told that the rows delivered so far are void, because the read starts the table again from its first row.

Definition at line 79 of file database_backend.h.

◆ DB_ROW_SINK

using DB_ROW_SINK = std::function<void( std::vector<DB_VALUE>&& )>

Receives one row at a time, in the order of the labels the read produced.

Definition at line 76 of file database_backend.h.

◆ DB_STOP_CHECK

using DB_STOP_CHECK = std::function<bool()>

True once the caller no longer wants what a read would deliver.

Definition at line 82 of file database_backend.h.

Enumeration Type Documentation

◆ DB_FAILURE

enum class DB_FAILURE
strong

Why a connection attempt failed, as far as the backend's report tells.

Enumerator
UNKNOWN 
LOGIN 

The server rejected the user name or password.

UNREACHABLE 

Nothing answered at the server address, or it refused the connection.

TIMEOUT 

The source did not answer within the timeout.

NO_DSN 

The data source name is not configured.

NO_DRIVER 

The driver named by the data source could not be loaded.

FILE_NOT_FOUND 

The database file does not exist.

FILE_IN_USE 

The database file is locked by another process.

PROVIDER_MISSING 

The database engine needed to open the file is not installed.

NOT_SUPPORTED_ON_PLATFORM 

No backend for the source type exists on this platform.

INVALID_TYPE 

The source type is not one KiCad knows.

NETWORK_WAL 

A write-ahead-log database on a network path cannot be read safely.

Definition at line 39 of file database_backend.h.