godbf

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2025 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DbaseDataType

type DbaseDataType byte

A dBase data type, as per https://www.dbase.com/Knowledgebase/INT/db7_file_fmt.htm, under heading "Storage of dBASE Data Types".

const (
	Character DbaseDataType = 'C'
	Logical   DbaseDataType = 'L'
	Date      DbaseDataType = 'D'
	Numeric   DbaseDataType = 'N'
	Float     DbaseDataType = 'F'
)

type DbfTable

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

func New

func New(encoding string, opts ...OptionFn) (table *DbfTable)

New creates a new dbase table from scratch for the given character encoding

func NewFromByteArray

func NewFromByteArray(data []byte, fileEncoding string, opts ...OptionFn) (table *DbfTable, err error)

func NewFromFile

func NewFromFile(fileName string, fileEncoding string, opts ...OptionFn) (table *DbfTable, err error)

func (*DbfTable) AddBooleanField

func (dt *DbfTable) AddBooleanField(fieldName string) (err error)

func (*DbfTable) AddDateField

func (dt *DbfTable) AddDateField(fieldName string) (err error)

func (*DbfTable) AddFloatField

func (dt *DbfTable) AddFloatField(fieldName string, length byte, decimalPlaces uint8) (err error)

func (*DbfTable) AddNewRecord

func (dt *DbfTable) AddNewRecord() (newRecordNumber int)

AddNewRecord adds a new empty record to the table, and returns the index number of the record.

func (*DbfTable) AddNumberField

func (dt *DbfTable) AddNumberField(fieldName string, length byte, decimalPlaces uint8) (err error)

func (*DbfTable) AddTextField

func (dt *DbfTable) AddTextField(fieldName string, length byte) (err error)

func (*DbfTable) DecimalPlacesInField

func (dt *DbfTable) DecimalPlacesInField(fieldName string) (uint8, error)

DecimalPlacesInField returns the number of decimal places for the field with the given name. If the field does not exist, or does not use decimal places, an error is returned.

func (*DbfTable) FieldNames

func (dt *DbfTable) FieldNames() []string

FieldNames return the names of fields in the table as a slice

func (*DbfTable) FieldValue

func (dt *DbfTable) FieldValue(row int, fieldIndex int) (value string)

FieldValue returns the content for the record at the given row and field index as a string If the row or field index is invalid, an error is returned .

func (*DbfTable) FieldValueByName

func (dt *DbfTable) FieldValueByName(row int, fieldName string) (value string, err error)

FieldValueByName returns the value of a field given row number and name provided

func (*DbfTable) Fields

func (dt *DbfTable) Fields() []FieldDescriptor

Fields return the fields of the table as a slice

func (*DbfTable) Float64FieldValueByName

func (dt *DbfTable) Float64FieldValueByName(row int, fieldName string) (value float64, err error)

Float64FieldValueByName returns the value of a field given row number and name provided as a float64

func (*DbfTable) GetRowAsSlice

func (dt *DbfTable) GetRowAsSlice(row int) []string

GetRowAsSlice return the record values for the row specified as a string slice

func (*DbfTable) HasField

func (dt *DbfTable) HasField(fieldName string) bool

HasField returns true if the table has a field with the given name If the field does not exist an error is returned.

func (*DbfTable) Int64FieldValueByName

func (dt *DbfTable) Int64FieldValueByName(row int, fieldName string) (value int64, err error)

Int64FieldValueByName returns the value of a field given row number and name provided as an int64

func (*DbfTable) NumberOfRecords

func (dt *DbfTable) NumberOfRecords() int

NumberOfRecords returns the number of records in the table

func (*DbfTable) OnMDXFlag

func (dt *DbfTable) OnMDXFlag(mdx bool)

func (*DbfTable) RowIsDeleted

func (dt *DbfTable) RowIsDeleted(row int) bool

RowIsDeleted returns whether a row has marked as deleted

func (*DbfTable) SaveFile

func (dt *DbfTable) SaveFile(filename string) (err error)

func (*DbfTable) SetCodeFlag

func (dt *DbfTable) SetCodeFlag(code byte)

func (*DbfTable) SetFieldValue

func (dt *DbfTable) SetFieldValue(row int, fieldIndex int, value string) (err error)

SetFieldValue sets the value for the given row and field index as specified If the field index is invalid, or the value is incompatible with the field's type, an error is returned.

func (*DbfTable) SetFieldValueByName

func (dt *DbfTable) SetFieldValueByName(row int, fieldName string, value string) (err error)

SetFieldValueByName sets the value for the given row and field name as specified If the field name does not exist, or the value is incompatible with the field's type, an error is returned.

func (*DbfTable) WriteTo added in v0.1.0

func (dt *DbfTable) WriteTo(data io.Writer) (int64, error)

WriteTo write dbftable to data. Return len dbftable or error.

type FieldDescriptor

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

FieldDescriptor describes one field/column in a DbfTable as per https://www.dbase.com/Knowledgebase/INT/db7_file_fmt.htm, Heading 1.2.

func (*FieldDescriptor) DecimalCount

func (fd *FieldDescriptor) DecimalCount() byte

FieldType returns the count of decimal places for the field

func (*FieldDescriptor) FieldType

func (fd *FieldDescriptor) FieldType() DbaseDataType

FieldType returns the type of data stored for the field as a DbaseDataType

func (*FieldDescriptor) Length

func (fd *FieldDescriptor) Length() byte

FieldType returns the fixedFieldLength of data stored for the field

func (*FieldDescriptor) Name

func (fd *FieldDescriptor) Name() string

Name returns the column name of the field

type OptionFn

type OptionFn func(*DbfTable)

func NoTrimSpace added in v0.2.0

func NoTrimSpace() OptionFn

func WithIncreasedDatastore

func WithIncreasedDatastore(increasedSize int) OptionFn

Jump to

Keyboard shortcuts

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