mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-08-28 10:54:59 +00:00
So in some cases, when we do a query, the results of one part of the query are innately shared-across-nodes; for instance, a hypothetical Distinct query. More generally, we allow cross-index queries; calls can have "index=foo" in them. This patch lets us handle that without duplicating that query all over. Before we actually start doing the separate calls, we run the query once from the coordinating node, then patch the results in, and send relevant subsets over to each client, etcetera. Also provides slightly friendlier (and I hope faster) support for converting bitmaps to/from sets of rows. We also add an extension interface, and some fancy stuff to let us define new calls, which use this. They're sort of tied together because the first extension I wanted to implement needed precomputed calls. The extension API lets us create extensions using `pkg/plugin` (with all its associated limitations, unfortunately), then query them at load time for functionality. This also implies some revamping of the argument validation for PQL, like verifying that functions exist and knowing things about their argument types. So basically this is an overly intrusive patch, and would be better as separate patches, but they're hard to detangle. add trivial execution-time profiling What if you could ?profile=true on a query and get some numbers back? That'd be really cool. We already have tracing/spans, but right now, those only generate any data if you have something set up for them to trace to. Add a fancy wrapper that lets us generate our own tracing data, and dump it into the request response, if ?profile=true. add a sample extension, add missing features to extension interface Implement a naive probabilistic filter extension as an example of what an extension looks like. In the process, discover multiple omissions in the bitmap API. Well, I did *say* it was experimental.
48 lines
2 KiB
Modula-2
48 lines
2 KiB
Modula-2
module github.com/pilosa/pilosa/v2
|
|
|
|
replace github.com/hashicorp/memberlist => github.com/pilosa/memberlist v0.1.4-0.20190415211605-f6512523c021
|
|
|
|
require (
|
|
github.com/CAFxX/gcnotifier v0.0.0-20190112062741-224a280d589d
|
|
github.com/DataDog/datadog-go v0.0.0-20180822151419-281ae9f2d895
|
|
github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d // indirect
|
|
github.com/boltdb/bolt v1.3.1
|
|
github.com/cespare/xxhash v1.1.0
|
|
github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd // indirect
|
|
github.com/davecgh/go-spew v1.1.1
|
|
github.com/go-ole/go-ole v1.2.4 // indirect
|
|
github.com/gogo/protobuf v1.2.0
|
|
github.com/golang/protobuf v1.3.2
|
|
github.com/google/go-cmp v0.2.0
|
|
github.com/gorilla/handlers v1.3.0
|
|
github.com/gorilla/mux v1.7.0
|
|
github.com/hashicorp/memberlist v0.1.3
|
|
github.com/inconshreveable/mousetrap v1.0.0 // indirect
|
|
github.com/molecula/apophenia v0.0.0-20190827192002-68b7a14a478b
|
|
github.com/opentracing/opentracing-go v1.1.0
|
|
github.com/pelletier/go-toml v1.2.0
|
|
github.com/pkg/errors v0.8.1
|
|
github.com/prometheus/client_golang v0.9.3
|
|
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90
|
|
github.com/remyoudompheng/bigfft v0.0.0-20190728182440-6a916e37a237 // indirect
|
|
github.com/satori/go.uuid v1.2.0
|
|
github.com/shirou/gopsutil v2.18.12+incompatible
|
|
github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4 // indirect
|
|
github.com/spf13/cobra v0.0.3
|
|
github.com/spf13/pflag v1.0.3
|
|
github.com/spf13/viper v1.3.1
|
|
github.com/uber-go/atomic v1.4.0 // indirect
|
|
github.com/uber/jaeger-client-go v2.16.0+incompatible
|
|
github.com/uber/jaeger-lib v2.2.0+incompatible // indirect
|
|
go.uber.org/atomic v1.4.0 // indirect
|
|
golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734 // indirect
|
|
golang.org/x/net v0.0.0-20190424112056-4829fb13d2c6
|
|
golang.org/x/sync v0.0.0-20190423024810-112230192c58
|
|
golang.org/x/sys v0.0.0-20190429190828-d89cdac9e872 // indirect
|
|
golang.org/x/text v0.3.2 // indirect
|
|
google.golang.org/grpc v1.24.0
|
|
modernc.org/mathutil v1.0.0
|
|
modernc.org/strutil v1.0.0
|
|
)
|
|
|
|
go 1.13
|