sqlsol

package
v0.25.0 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2019 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

This package defines our Solidity to SQL relational database mapping layer which aims to describe tables realised as a projection of all EVM Log events emitted by the chain.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ValidateJSONEventSpec

func ValidateJSONEventSpec(bs []byte) error

Types

type BlockData

type BlockData struct {
	Data types.EventData
}

BlockData contains EventData definition

func NewBlockData

func NewBlockData(height uint64) *BlockData

NewBlockData returns a pointer to an empty BlockData structure

func (*BlockData) AddRow

func (b *BlockData) AddRow(tableName string, row types.EventDataRow)

AddRow appends a row to a specific table name in structure

func (*BlockData) GetRows

func (b *BlockData) GetRows(tableName string) (types.EventDataTable, error)

GetRows gets data rows for a given table name from structure

func (*BlockData) PendingRows

func (b *BlockData) PendingRows(height uint64) bool

PendingRows returns true if the given block has at least one pending row to upsert

type Projection

type Projection struct {
	Tables    types.EventTables
	EventSpec types.EventSpec
}

Projection contains EventTable, Event & Abi specifications

func NewProjectionFromBytes

func NewProjectionFromBytes(bs []byte) (*Projection, error)

NewProjectionFromBytes creates a Projection from a stream of bytes

func NewProjectionFromEventSpec

func NewProjectionFromEventSpec(eventSpec types.EventSpec) (*Projection, error)

NewProjectionFromEventSpec receives a sqlsol event specification and returns a pointer to a filled projection structure that contains event types mapped to SQL column types and Event tables structures with table and columns info

func NewProjectionFromFolder

func NewProjectionFromFolder(specFileOrDirs ...string) (*Projection, error)

NewProjectionFromFolder creates a Projection from a folder containing spec files

func SpecLoader

func SpecLoader(specFileOrDirs []string, createBlkTxTables bool) (*Projection, error)

SpecLoader loads spec files and parses them

func (*Projection) GetColumn

func (p *Projection) GetColumn(tableName, columnName string) (*types.SQLTableColumn, error)

Get the column for a particular table and column name

Jump to

Keyboard shortcuts

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