This repository has been archived on 2026-04-03. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
core/server/store/sqlite/ext_data.go
Jeffrey Smith 115004a3ab Changeset 0.29.2 (#197)
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com>
Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
2026-03-17 22:31:34 +00:00

50 lines
1.1 KiB
Go

package sqlite
import "context"
// ExtDataStore implements store.ExtDataStore for SQLite.
type ExtDataStore struct{}
func NewExtDataStore() *ExtDataStore {
return &ExtDataStore{}
}
func (s *ExtDataStore) RegisterTable(ctx context.Context, packageID, tableName string) error {
_, err := DB.ExecContext(ctx,
`INSERT OR IGNORE INTO ext_data_tables (package_id, table_name)
VALUES (?, ?)`,
packageID, tableName)
return err
}
func (s *ExtDataStore) ListTables(ctx context.Context, packageID string) ([]string, error) {
rows, err := DB.QueryContext(ctx,
`SELECT table_name FROM ext_data_tables
WHERE package_id = ?
ORDER BY table_name`,
packageID)
if err != nil {
return nil, err
}
defer rows.Close()
var names []string
for rows.Next() {
var n string
if err := rows.Scan(&n); err != nil {
return nil, err
}
names = append(names, n)
}
if names == nil {
names = []string{}
}
return names, nil
}
func (s *ExtDataStore) DeletePackageTables(ctx context.Context, packageID string) error {
_, err := DB.ExecContext(ctx,
`DELETE FROM ext_data_tables WHERE package_id = ?`, packageID)
return err
}