sqlite3

package module
v0.0.0-...-cda2479 Latest Latest
Warning

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

Go to latest
Published: Sep 23, 2014 License: BSD-3-Clause Imports: 7 Imported by: 0

README

sqlite3

sqlite3 is a pure Go package decoding the SQLite file format as described by: http://www.sqlite.org/fileformat.html

Installation

$ go get github.com/sbinet/sqlite3

Example

package main

import (
	"fmt"

	"github.com/sbinet/sqlite3"
)

func main() {
	db, err := sqlite3.Open("test.sqlite")
	if err != nil {
		panic(err)
	}
	defer db.Close()

	for _, table := range db.Tables() {
		fmt.Printf(">>> table=%#v\n", table)
	}
}

Documentation

Documentation is available on godoc

Documentation

Overview

Package sqlite3 decodes the SQLite-3 file format

Index

Constants

View Source
const (
	BTreeInteriorIndexKind = zeroDataKind
	BTreeInteriorTableKind = leafDataKind | intKeyKind
	BTreeLeafIndexKind     = zeroDataKind | leafKind
	BTreeLeafTableKind     = leafDataKind | intKeyKind | leafKind
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Column

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

Column describes a column in a SQLite table

func (*Column) Name

func (col *Column) Name() string

Name returns the name of the column

func (*Column) Type

func (col *Column) Type() reflect.Type

Type returns the SQLite type of the column

type DbFile

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

func Open

func Open(fname string) (*DbFile, error)

func (*DbFile) Close

func (db *DbFile) Close() error

func (*DbFile) Dumpdb

func (db *DbFile) Dumpdb() error

func (*DbFile) Encoding

func (db *DbFile) Encoding() int

Encoding returns the text encoding for this database

func (*DbFile) NumPage

func (db *DbFile) NumPage() int

NumPage returns the number of pages for this database

func (*DbFile) PageSize

func (db *DbFile) PageSize() int

PageSize returns the database page size in bytes

func (*DbFile) Tables

func (db *DbFile) Tables() []Table

func (*DbFile) Version

func (db *DbFile) Version() int

Version returns the sqlite version number used to create this database

type PageKind

type PageKind byte

PageKind describes what kind of page is.

func (PageKind) String

func (pk PageKind) String() string

type Record

type Record struct {
	Header RecordHeader
	Body   []byte
	Values []interface{}
}

type RecordHeader

type RecordHeader struct {
	Len   int
	Types []SerialType
}

type SerialType

type SerialType int

SerialType represents SQLite types on disk

const (
	StNull SerialType = iota
	StInt8
	StInt16
	StInt24
	StInt32
	StInt48
	StInt64
	StFloat
	StC0
	StC1

	StBlob SerialType = 12
	StText            = 13
)

func (SerialType) IsBlob

func (st SerialType) IsBlob() bool

func (SerialType) IsText

func (st SerialType) IsText() bool

func (SerialType) NBytes

func (st SerialType) NBytes() int

NBytes returns the number of bytes on disk for this SerialType NBytes returns -1 if the SerialType is invalid.

func (SerialType) String

func (st SerialType) String() string

type Table

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

Table is a SQLite table

func (*Table) Columns

func (t *Table) Columns() []Column

Columns returns the columns of the table

func (*Table) Name

func (t *Table) Name() string

Name returns the name of the table

func (*Table) NumRow

func (t *Table) NumRow() int64

NumRow returns the number of rows in the table

Jump to

Keyboard shortcuts

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