💾 Archived View for godocs.io › github.com › nakagami › firebirdsql captured on 2021-12-04 at 18:04:22. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2021-12-03)

➡️ Next capture (2021-12-05)

🚧 View Differences

-=-=-=-=-=-=-

Package firebirdsql - godocs.io

import "github.com/nakagami/firebirdsql"

Package firebird provides database/sql driver for Firebird RDBMS.

Constants

const (
    ISC_TIME_SECONDS_PRECISION = 10000

    // Protocol Version
    PROTOCOL_VERSION13 = 13
    PROTOCOL_VERSION16 = 16

    CNCT_user              = 1
    CNCT_passwd            = 2
    CNCT_host              = 4
    CNCT_group             = 5
    CNCT_user_verification = 6
    CNCT_specific_data     = 7
    CNCT_plugin_name       = 8
    CNCT_login             = 9
    CNCT_plugin_list       = 10
    CNCT_client_crypt      = 11
)
const (
    ISOLATION_LEVEL_READ_COMMITED_LEGACY = iota
    ISOLATION_LEVEL_READ_COMMITED
    ISOLATION_LEVEL_REPEATABLE_READ
    ISOLATION_LEVEL_SERIALIZABLE
    ISOLATION_LEVEL_READ_COMMITED_RO
)
const (
    SRP_KEY_SIZE      = 128
    SRP_SALT_SIZE     = 32
    DEBUG_PRIVATE_KEY = "60975527035CF2AD1989806F0407210BC81EDC04E2762A56AFD529DDDA2D4393"
    DEBUG_SRP         = false
)
const (
    PLUGIN_LIST       = "Srp256,Srp,Legacy_Auth"
    BUFFER_LEN        = 1024
    MAX_CHAR_LENGTH   = 32767
    BLOB_SEGMENT_SIZE = 32000
)
const (
    SQL_TYPE_TEXT         = 452
    SQL_TYPE_VARYING      = 448
    SQL_TYPE_SHORT        = 500
    SQL_TYPE_LONG         = 496
    SQL_TYPE_FLOAT        = 482
    SQL_TYPE_DOUBLE       = 480
    SQL_TYPE_D_FLOAT      = 530
    SQL_TYPE_TIMESTAMP    = 510
    SQL_TYPE_BLOB         = 520
    SQL_TYPE_ARRAY        = 540
    SQL_TYPE_QUAD         = 550
    SQL_TYPE_TIME         = 560
    SQL_TYPE_DATE         = 570
    SQL_TYPE_INT64        = 580
    SQL_TYPE_INT128       = 32752
    SQL_TYPE_TIMESTAMP_TZ = 32754
    SQL_TYPE_TIME_TZ      = 32756
    SQL_TYPE_DEC_FIXED    = 32758
    SQL_TYPE_DEC64        = 32760
    SQL_TYPE_DEC128       = 32762
    SQL_TYPE_BOOLEAN      = 32764
    SQL_TYPE_NULL         = 32766
)
const (
    EPB_version1 = 1
)

Event

Variables

var (
    ErrAlreadySubscribe = errors.New("already subscribe")
    ErrFbEventClosed    = errors.New("fbevent already closed")
)

Errors

var (
    ErrEventAlreadyRunning = errors.New("events are already running")
    ErrEventNeed           = errors.New("at least one event is needed")
    ErrWrongLengthEvent    = errors.New("length name events are longer than 255")
    ErrEventBufferLarge    = errors.New("whole events buffer is bigger than 65535")
)
var ErrDsnUserUnknown = errors.New("User unknown")
var ErrOpSqlResponse = errors.New("Error op_sql_response")

Functions

func NewErrOpResonse

func NewErrOpResonse(opRCode int32) error

Error interface implementation

Types

type ErrOpResponse

type ErrOpResponse struct {
    // contains filtered or unexported fields
}

ErrOpResponse operation request error

func (*ErrOpResponse) Error

func (e *ErrOpResponse) Error() string

type Event

type Event struct {
    Name     string
    Count    int
    ID       int32
    RemoteID int32
}

Event stores event data: the amount since the last time the event was received and id

type EventHandler

type EventHandler func(e Event)

EventHandler callback function type

type FbEvent

type FbEvent struct {
    // contains filtered or unexported fields
}

FbEvent allows you to subscribe to events, also stores subscribers. It is possible to send events to the database.

func NewFBEvent

func NewFBEvent(dsns string) (*FbEvent, error)

NewFBEvent returns FbEvent for event subscription

func (*FbEvent) Close

func (e *FbEvent) Close() error

Close closes FbEvent and all subscribers

func (*FbEvent) Count

func (e *FbEvent) Count() int

Count returns the number of subscribers

func (*FbEvent) IsClosed

func (e *FbEvent) IsClosed() bool

IsClosed returns a close flag

func (*FbEvent) PostEvent

func (e *FbEvent) PostEvent(name string) error

PostEvent posts an event to the database

func (*FbEvent) Subscribe

func (e *FbEvent) Subscribe(events []string, cb EventHandler) (*Subscription, error)

Subscribe subscribe to events using the callback function

func (*FbEvent) SubscribeChan

func (e *FbEvent) SubscribeChan(events []string, chEvent chan Event) (*Subscription, error)

SubscribeChan subscribe to events using the channel

func (*FbEvent) Subscribers

func (e *FbEvent) Subscribers() []*Subscription

Subscribers returns slice of all subscribers

type Subscription

type Subscription struct {
    // contains filtered or unexported fields
}

func (*Subscription) Close

func (s *Subscription) Close() error

func (*Subscription) IsClose

func (s *Subscription) IsClose() bool

func (*Subscription) NotifyClose

func (s *Subscription) NotifyClose(receiver chan error)

func (*Subscription) Unsubscribe

func (s *Subscription) Unsubscribe() error

Details

Version v0.9.3 (latest)

Imports 39 packages

Refresh now

Back to home

Search