MCPcopy Create free account
hub / github.com/crossjoin-io/crossjoin / ReadDatasets

Method ReadDatasets

api/datasets.go:37–66  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

35}
36
37func (api *API) ReadDatasets() ([]config.Dataset, error) {
38 hash, err := api.LatestConfigHash()
39 if err != nil {
40 return nil, fmt.Errorf("read latest config hash: %w", err)
41 }
42
43 rows, err := api.db.Query("SELECT id, text FROM datasets WHERE config_hash = $1", hash)
44 if err != nil {
45 return nil, fmt.Errorf("query datasets: %w", err)
46 }
47 defer rows.Close()
48
49 datasets := []config.Dataset{}
50 for rows.Next() {
51 id := ""
52 text := ""
53 dataset := config.Dataset{}
54 err = rows.Scan(&id, &text)
55 if err != nil {
56 return nil, fmt.Errorf("scan dataset: %w", err)
57 }
58 err = yaml.Unmarshal([]byte(text), &dataset)
59 if err != nil {
60 return nil, fmt.Errorf("unmarshal datasets: %w", err)
61 }
62 dataset.ID = id
63 datasets = append(datasets, dataset)
64 }
65 return datasets, nil
66}
67
68func (api *API) PreviewDataset(id string) ([]interface{}, error) {
69 filename := filepath.Join(api.dataDir, id+".db")

Callers 1

TickMethod · 0.95

Calls 1

LatestConfigHashMethod · 0.95

Tested by

no test coverage detected