db

package
v0.0.0-...-1e4470a Latest Latest
Warning

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

Go to latest
Published: Jan 11, 2023 License: GPL-3.0 Imports: 12 Imported by: 0

Documentation

Overview

Copyright © 2022 Antonin Portelli <antonin.portelli@me.com>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more detaild.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Copyright © 2022 Antonin Portelli <antonin.portelli@me.com>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more detaild.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Copyright © 2022 Antonin Portelli <antonin.portelli@me.com>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more detaild.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Copyright © 2022 Antonin Portelli <antonin.portelli@me.com>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more detaild.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Copyright © 2022 Antonin Portelli <antonin.portelli@me.com>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more detaild.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FileEntry

type FileEntry struct {
	Id       int64
	ParentId any
	Path     string
	Depth    uint
	Name     string
	Type     string
	Size     int64
}

type IndexDb

type IndexDb struct {
	Insertions uint64
	BatchSize  uint
	// contains filtered or unexported fields
}

func NewIndexDb

func NewIndexDb(path string, opt IndexDbOpt) (*IndexDb, error)

func (*IndexDb) Close

func (d *IndexDb) Close() error

func (*IndexDb) CreateIndices

func (d *IndexDb) CreateIndices() error

func (*IndexDb) GetId

func (d *IndexDb) GetId(path string) (int64, error)

func (*IndexDb) GetName

func (d *IndexDb) GetName(id int64) (string, error)

func (*IndexDb) GetParentId

func (d *IndexDb) GetParentId(id int64) (int64, error)

func (*IndexDb) GetPath

func (d *IndexDb) GetPath(id int64) (string, error)

func (*IndexDb) GetValue

func (d *IndexDb) GetValue(key string) (any, error)

func (*IndexDb) InsertData

func (d *IndexDb) InsertData(c InsertChan, wg *sync.WaitGroup)

func (*IndexDb) SetValue

func (d *IndexDb) SetValue(key string, value any) error

type IndexDbOpt

type IndexDbOpt struct {
	Reset     bool
	BatchSize uint
}

type InsertChan

type InsertChan struct {
	Entries <-chan *FileEntry
	Quit    <-chan struct{}
	Errors  chan<- error
}

Jump to

Keyboard shortcuts

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