postgres

package
v1.3.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 22, 2020 License: Apache-2.0 Imports: 28 Imported by: 0

README

Postgres LogStorage

Notes and Caveats

The current LogStorage part of the Postgres implementation was based off what was already written for MySQL. Thus, the two user-defined functions included in storage.sql. MySQL doesn't kill a transaction when a duplicate is detected, but PostgreSQL does. So, to preserve the workflow, I included the two functions which trap this error and allow the code to continue executing. The only other change I made was to fully translate the MySQL queries to PostgreSQL compatible ones and tidy up some of the extant tree storage code.

storage_unsafe.sql really isn't unsafe, but I have pulled some of the safety rails from the tables to improve performance. It also works under the notion that there will only be a single tree in a given database. An improvement on this theme would be to add all layers below the trees table in their own separate schemas.
This would further eliminate indexs and foreign key requirements, but it should be left for those who require enhanced performance. Storage.sql should be fine for most applications

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewAdminStorage

func NewAdminStorage(db *sql.DB) storage.AdminStorage

NewAdminStorage returns a storage.AdminStorage implementation

func NewLogStorage

func NewLogStorage(db *sql.DB, mf monitoring.MetricFactory) storage.LogStorage

NewLogStorage creates a storage.LogStorage instance for the specified PostgreSQL URL. It assumes storage.AdminStorage is backed by the same PostgreSQL database as well.

func OpenDB

func OpenDB(connStr string) (*sql.DB, error)

OpenDB opens a database connection for all PG-based storage implementations.

Types

This section is empty.

Directories

Path Synopsis
Package testdb creates new databases for tests.
Package testdb creates new databases for tests.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL