├── .github
└── workflows
│ ├── cd.yml
│ ├── ci.yml
│ └── release.yml
├── .gitignore
├── .gitlab
├── .gitlab-ci.yml
├── Dockerfile
└── batch-ci.yml
├── .golangci.yml
├── CODE_OF_CONDUCT.md
├── Dockerfile
├── Dockerfile-clustertests
├── Dockerfile-clustertests-client
├── Dockerfile-datagen
├── Dockerfile-dax
├── Dockerfile-dax-quick
├── Dockerfile-fbsql
├── LICENSE
├── LICENSE-2.0.txt
├── Makefile
├── NOTICE
├── OPENSOURCE.md
├── README.md
├── api.go
├── api
└── client
│ └── grpc.go
├── api_directive.go
├── api_directive_internal_test.go
├── api_directive_test.go
├── api_test.go
├── apimethod_string.go
├── apply.go
├── arrow.go
├── arrow_test.go
├── audit.go
├── audit_internal_test.go
├── audit_test.go
├── authn
├── authenticate.go
├── authenticate_internal_test.go
└── context.go
├── authz
├── authorization.go
└── authorization_test.go
├── batch
├── Dockerfile-test
├── Dockerfile-wait
├── Makefile
├── README.md
├── batch.go
├── batch_test.go
├── batcher.go
├── convert.go
├── docker-compose.yml
├── egpool
│ ├── egpool.go
│ └── egpool_test.go
├── error.go
├── metrics.go
├── testdata
│ └── README.md
└── wait.sh
├── broadcast.go
├── bsi.go
├── bsi_test.go
├── buffer
└── filebuffer.go
├── bufferpool
├── bufferpool.go
├── circularlist.go
├── clockreplacer.go
├── diskmanager.go
├── inmemdiskmanager.go
└── page.go
├── cache.go
├── cache_test.go
├── catcher.go
├── cli
├── Makefile
├── batch
│ ├── inserter.go
│ ├── sql.go
│ └── sql_test.go
├── buffer.go
├── cli.go
├── cli_integration_test.go
├── cli_test.go
├── config.go
├── errors.go
├── fbcloud
│ ├── auth.go
│ └── client.go
├── kafka.go
├── kafka
│ ├── config.go
│ └── runner.go
├── meta.go
├── parts.go
├── queryer.go
├── replacer.go
├── replacer_test.go
├── splitter.go
├── splitter_test.go
├── testdata
│ ├── database
│ ├── famous.csv
│ ├── meta_bang
│ ├── meta_cd
│ ├── meta_describe
│ ├── meta_echo
│ ├── meta_file
│ ├── meta_include
│ ├── meta_output
│ ├── meta_pset_border
│ ├── meta_pset_expanded
│ ├── meta_pset_format_csv
│ ├── meta_pset_tuples_only
│ ├── meta_set
│ ├── meta_timing
│ ├── meta_write
│ ├── people.sql
│ ├── query_buffer
│ ├── setup
│ └── table
├── workingdir.go
├── writer.go
└── writer_test.go
├── client
├── README.md
├── api.go
├── client.go
├── client_it_test.go
├── client_test.go
├── cluster.go
├── cluster_test.go
├── csv
│ ├── csv.go
│ ├── csv_it_test.go
│ └── csv_test.go
├── doc.go
├── docs
│ ├── data-model-queries.md
│ ├── server-interaction.md
│ └── tracing.md
├── error.go
├── importer.go
├── logimport.go
├── logimport_test.go
├── main_test.go
├── orm.go
├── orm_test.go
├── record.go
├── record_test.go
├── response.go
├── response_test.go
├── shardnodes.go
├── tracer.go
├── types
│ └── time.go
├── validate.go
├── validate_test.go
└── version.go
├── cluster.go
├── cluster_internal_test.go
├── cmd
├── auth_token.go
├── backup.go
├── backup_tar.go
├── badloader
│ └── badloader.go
├── chksum.go
├── config.go
├── dataframe-csv-loader.go
├── dax.go
├── doc.go
├── export.go
├── export_test.go
├── fbsql
│ └── main.go
├── featurebase-parse-sql
│ └── main.go
├── featurebase
│ ├── main.go
│ └── main_test.go
├── generate_config.go
├── import.go
├── import_test.go
├── keygen.go
├── parquet-info.go
├── pilosa-bench
│ └── main.go
├── presort.go
├── rbf.go
├── restore.go
├── restore_tar.go
├── roaring-migrate
│ ├── ctim_darwin.go
│ ├── ctim_linux.go
│ ├── main.go
│ ├── main_test.go
│ └── testdata
│ │ └── data-dir
│ │ ├── .id
│ │ ├── .startup.log
│ │ ├── .topology
│ │ ├── idalloc.db
│ │ └── repository
│ │ ├── .data
│ │ ├── .meta
│ │ ├── _exists
│ │ ├── .data
│ │ ├── .meta
│ │ ├── keys
│ │ └── views
│ │ │ └── standard
│ │ │ └── fragments
│ │ │ ├── 222
│ │ │ └── 222.cache
│ │ ├── _keys
│ │ ├── 0
│ │ ├── 1
│ │ ├── 2
│ │ ├── 3
│ │ ├── 4
│ │ ├── 5
│ │ ├── 6
│ │ ├── 7
│ │ ├── 8
│ │ ├── 9
│ │ ├── 10
│ │ ├── 11
│ │ ├── 12
│ │ ├── 13
│ │ ├── 14
│ │ ├── 15
│ │ ├── 16
│ │ ├── 17
│ │ ├── 18
│ │ ├── 19
│ │ ├── 20
│ │ ├── 21
│ │ ├── 22
│ │ ├── 23
│ │ ├── 24
│ │ ├── 25
│ │ ├── 26
│ │ ├── 27
│ │ ├── 28
│ │ ├── 29
│ │ ├── 30
│ │ ├── 31
│ │ ├── 32
│ │ ├── 33
│ │ ├── 34
│ │ ├── 35
│ │ ├── 36
│ │ ├── 37
│ │ ├── 38
│ │ ├── 39
│ │ ├── 40
│ │ ├── 41
│ │ ├── 42
│ │ ├── 43
│ │ ├── 44
│ │ ├── 45
│ │ ├── 46
│ │ ├── 47
│ │ ├── 48
│ │ ├── 49
│ │ ├── 50
│ │ ├── 51
│ │ ├── 52
│ │ ├── 53
│ │ ├── 54
│ │ ├── 55
│ │ ├── 56
│ │ ├── 57
│ │ ├── 58
│ │ ├── 59
│ │ ├── 60
│ │ ├── 61
│ │ ├── 62
│ │ ├── 63
│ │ ├── 64
│ │ ├── 65
│ │ ├── 66
│ │ ├── 67
│ │ ├── 68
│ │ ├── 69
│ │ ├── 70
│ │ ├── 71
│ │ ├── 72
│ │ ├── 73
│ │ ├── 74
│ │ ├── 75
│ │ ├── 76
│ │ ├── 77
│ │ ├── 78
│ │ ├── 79
│ │ ├── 80
│ │ ├── 81
│ │ ├── 82
│ │ ├── 83
│ │ ├── 84
│ │ ├── 85
│ │ ├── 86
│ │ ├── 87
│ │ ├── 88
│ │ ├── 89
│ │ ├── 90
│ │ ├── 91
│ │ ├── 92
│ │ ├── 93
│ │ ├── 94
│ │ ├── 95
│ │ ├── 96
│ │ ├── 97
│ │ ├── 98
│ │ ├── 99
│ │ ├── 100
│ │ ├── 101
│ │ ├── 102
│ │ ├── 103
│ │ ├── 104
│ │ ├── 105
│ │ ├── 106
│ │ ├── 107
│ │ ├── 108
│ │ ├── 109
│ │ ├── 110
│ │ ├── 111
│ │ ├── 112
│ │ ├── 113
│ │ ├── 114
│ │ ├── 115
│ │ ├── 116
│ │ ├── 117
│ │ ├── 118
│ │ ├── 119
│ │ ├── 120
│ │ ├── 121
│ │ ├── 122
│ │ ├── 123
│ │ ├── 124
│ │ ├── 125
│ │ ├── 126
│ │ ├── 127
│ │ ├── 128
│ │ ├── 129
│ │ ├── 130
│ │ ├── 131
│ │ ├── 132
│ │ ├── 133
│ │ ├── 134
│ │ ├── 135
│ │ ├── 136
│ │ ├── 137
│ │ ├── 138
│ │ ├── 139
│ │ ├── 140
│ │ ├── 141
│ │ ├── 142
│ │ ├── 143
│ │ ├── 144
│ │ ├── 145
│ │ ├── 146
│ │ ├── 147
│ │ ├── 148
│ │ ├── 149
│ │ ├── 150
│ │ ├── 151
│ │ ├── 152
│ │ ├── 153
│ │ ├── 154
│ │ ├── 155
│ │ ├── 156
│ │ ├── 157
│ │ ├── 158
│ │ ├── 159
│ │ ├── 160
│ │ ├── 161
│ │ ├── 162
│ │ ├── 163
│ │ ├── 164
│ │ ├── 165
│ │ ├── 166
│ │ ├── 167
│ │ ├── 168
│ │ ├── 169
│ │ ├── 170
│ │ ├── 171
│ │ ├── 172
│ │ ├── 173
│ │ ├── 174
│ │ ├── 175
│ │ ├── 176
│ │ ├── 177
│ │ ├── 178
│ │ ├── 179
│ │ ├── 180
│ │ ├── 181
│ │ ├── 182
│ │ ├── 183
│ │ ├── 184
│ │ ├── 185
│ │ ├── 186
│ │ ├── 187
│ │ ├── 188
│ │ ├── 189
│ │ ├── 190
│ │ ├── 191
│ │ ├── 192
│ │ ├── 193
│ │ ├── 194
│ │ ├── 195
│ │ ├── 196
│ │ ├── 197
│ │ ├── 198
│ │ ├── 199
│ │ ├── 200
│ │ ├── 201
│ │ ├── 202
│ │ ├── 203
│ │ ├── 204
│ │ ├── 205
│ │ ├── 206
│ │ ├── 207
│ │ ├── 208
│ │ ├── 209
│ │ ├── 210
│ │ ├── 211
│ │ ├── 212
│ │ ├── 213
│ │ ├── 214
│ │ ├── 215
│ │ ├── 216
│ │ ├── 217
│ │ ├── 218
│ │ ├── 219
│ │ ├── 220
│ │ ├── 221
│ │ ├── 222
│ │ ├── 223
│ │ ├── 224
│ │ ├── 225
│ │ ├── 226
│ │ ├── 227
│ │ ├── 228
│ │ ├── 229
│ │ ├── 230
│ │ ├── 231
│ │ ├── 232
│ │ ├── 233
│ │ ├── 234
│ │ ├── 235
│ │ ├── 236
│ │ ├── 237
│ │ ├── 238
│ │ ├── 239
│ │ ├── 240
│ │ ├── 241
│ │ ├── 242
│ │ ├── 243
│ │ ├── 244
│ │ ├── 245
│ │ ├── 246
│ │ ├── 247
│ │ ├── 248
│ │ ├── 249
│ │ ├── 250
│ │ ├── 251
│ │ ├── 252
│ │ ├── 253
│ │ ├── 254
│ │ └── 255
│ │ ├── language
│ │ ├── .data
│ │ ├── .meta
│ │ ├── keys
│ │ └── views
│ │ │ └── standard
│ │ │ └── fragments
│ │ │ ├── 222
│ │ │ └── 222.cache
│ │ └── stargazer
│ │ ├── .data
│ │ ├── .meta
│ │ └── keys
├── root.go
├── root_test.go
├── server.go
├── server_test.go
└── slurp
│ └── slurp.go
├── const_amd64.go
├── const_other.go
├── context
└── context.go
├── ctl
├── auth_token.go
├── auth_token_internal_test.go
├── backup.go
├── backup_tar.go
├── backup_tar_test.go
├── backup_test.go
├── chksum.go
├── chksum_test.go
├── common.go
├── config.go
├── config_test.go
├── dataframe-csv-loader.go
├── dataframe-csv-loader_test.go
├── dax.go
├── doc.go
├── export.go
├── export_test.go
├── generate_config.go
├── generate_config_test.go
├── import.go
├── import_test.go
├── keygen.go
├── keygen_test.go
├── main_test.go
├── parquet-info.go
├── presort.go
├── presort_test.go
├── rbf_check.go
├── rbf_check_test.go
├── rbf_dump.go
├── rbf_dump_test.go
├── rbf_page.go
├── rbf_page_test.go
├── rbf_pages.go
├── rbf_pages_test.go
├── restore.go
├── restore_tar.go
├── restore_tar_test.go
├── restore_test.go
├── server.go
├── server_test.go
├── testdata
│ ├── certs
│ │ ├── README.md
│ │ ├── localhost.crt
│ │ ├── localhost.csr
│ │ ├── localhost.key
│ │ ├── pilosa-ca.crl
│ │ ├── pilosa-ca.crt
│ │ └── pilosa-ca.key
│ ├── err-invalid-page-type
│ │ ├── data
│ │ └── wal
│ ├── ok
│ │ ├── data
│ │ └── wal
│ └── permissions.yaml
└── util.go
├── dataframe_test.go
├── dax
├── Makefile
├── README.md
├── address.go
├── address_test.go
├── computer
│ ├── api
│ │ └── openapi.yaml
│ ├── computer.go
│ ├── interfaces.go
│ ├── keys.go
│ ├── logmessage.go
│ ├── logmessage_test.go
│ └── service
│ │ └── computer.go
├── controller.go
├── controller
│ ├── balancer.go
│ ├── balancer
│ │ ├── balancer.go
│ │ ├── free_job_test.go
│ │ ├── free_worker_test.go
│ │ ├── node_test.go
│ │ ├── sqldb_init_test.go
│ │ ├── types.go
│ │ └── worker_job_test.go
│ ├── client
│ │ └── client.go
│ ├── config.go
│ ├── controller.go
│ ├── controller_test.go
│ ├── director.go
│ ├── errors.go
│ ├── http
│ │ ├── addressmanager.go
│ │ ├── director.go
│ │ └── handler.go
│ ├── node_registerer.go
│ ├── partitioner
│ │ ├── partitioner.go
│ │ └── partitioner_test.go
│ ├── poller
│ │ ├── config.go
│ │ ├── interfaces.go
│ │ ├── poller.go
│ │ └── poller_test.go
│ ├── schemar
│ │ ├── errors.go
│ │ ├── schemar.go
│ │ └── schemar_test.go
│ ├── service
│ │ └── controller.go
│ ├── sets.go
│ ├── snapping_turtle.go
│ ├── sqldb
│ │ ├── balancer.go
│ │ ├── directiveversion.go
│ │ ├── directiveversion_test.go
│ │ ├── freejob.go
│ │ ├── freeworker.go
│ │ ├── migrator.go
│ │ ├── schemar.go
│ │ ├── test.go
│ │ ├── transactor.go
│ │ ├── util.go
│ │ ├── worker.go
│ │ ├── workerjob.go
│ │ └── workerjob_test.go
│ ├── stringers.go
│ └── worker.go
├── dax.go
├── directive.go
├── errors.go
├── http
│ └── handler.go
├── migrations.go
├── migrations
│ ├── 001_initial.down.fizz
│ ├── 001_initial.up.fizz
│ ├── 002_directiveversion_by_address.down.fizz
│ ├── 002_directiveversion_by_address.up.fizz
│ ├── 003_node_to_worker.down.fizz
│ └── 003_node_to_worker.up.fizz
├── models
│ ├── column.go
│ ├── database.go
│ ├── directiveversion.go
│ ├── job.go
│ ├── organization.go
│ ├── table.go
│ └── worker.go
├── queryer
│ ├── api
│ │ └── openapi.yaml
│ ├── client
│ │ └── client.go
│ ├── config.go
│ ├── http
│ │ └── handler.go
│ ├── orchestrator.go
│ ├── queryer.go
│ ├── schema_api.go
│ ├── service
│ │ └── queryer.go
│ ├── system_api.go
│ └── translator.go
├── role.go
├── schema.go
├── server
│ ├── config.go
│ ├── dup.go
│ ├── dup_arm64.go
│ ├── server.go
│ └── test
│ │ └── managed.go
├── service_manager.go
├── snapshot.go
├── snapshotter
│ └── snapshotter.go
├── storage
│ ├── encoding.go
│ ├── storage.go
│ ├── storage_test.go
│ └── util.go
├── table.go
├── table_test.go
├── test
│ ├── dax
│ │ ├── dax_test.go
│ │ └── wrappers_test.go
│ └── table.go
├── time.go
├── transaction.go
├── transaction_test.go
├── versioned_partition.go
├── versioned_shard.go
├── worker.go
├── workerjob.go
├── workerjob_test.go
└── writelogger
│ ├── writelogger.go
│ └── writelogger_test.go
├── dbshard.go
├── dbshard_internal_test.go
├── dbshard_test.go
├── debugstats
├── stats.go
└── stats_test.go
├── delete_test.go
├── diagnostics.go
├── diagnostics_internal_test.go
├── disco
├── disco.go
├── hasher.go
├── node.go
├── noder.go
└── snapshot.go
├── doc.go
├── encoding
└── proto
│ ├── proto.go
│ └── proto_test.go
├── errors
├── errors.go
└── errors_test.go
├── et_test.go
├── etcd
├── config_gen.go
├── embed.go
├── embed_test.go
├── enterprise_cluster.go
├── external.go
├── external_test.go
├── fake_test.go
├── leasedkv.go
├── leasedkv_test.go
└── plg_cluster.go
├── event.go
├── executor.go
├── executor_internal_test.go
├── executor_test.go
├── extendiblehash
├── extendiblehash.go
├── extendiblehash_test.go
└── key.go
├── field.go
├── field_internal_test.go
├── field_test.go
├── filesystem.go
├── fragment.go
├── fragment_internal_test.go
├── gc.go
├── gcnotify
└── gcnotify.go
├── generator
└── slice.go
├── gid.go
├── go.mod
├── go.sum
├── gopsutil
├── systeminfo.go
└── systeminfo_test.go
├── hack.go
├── handler.go
├── handler_test.go
├── hash
├── blake3.go
└── blake3_test.go
├── holder.go
├── holder_internal_test.go
├── holder_test.go
├── http_handler.go
├── http_handler_internal_test.go
├── http_handler_test.go
├── http_translator.go
├── http_translator_test.go
├── idalloc.go
├── idalloc_test.go
├── idk
├── .cloud-env.template
├── Dockerfile
├── Dockerfile-fakeIDP
├── Dockerfile-test
├── Dockerfile-wait
├── Makefile
├── README.md
├── api
│ ├── codec.go
│ ├── codec_test.go
│ ├── schema.go
│ ├── schema_test.go
│ ├── source.go
│ └── source_test.go
├── bankgen
│ ├── put.go
│ └── put_test.go
├── cmd
│ ├── bankgen
│ │ ├── main.go
│ │ └── main_test.go
│ ├── datagen
│ │ ├── main.go
│ │ └── main_test.go
│ ├── ingester
│ │ ├── README.md
│ │ └── main.go
│ ├── kafkagen
│ │ ├── main.go
│ │ └── main_test.go
│ ├── kafkaput
│ │ ├── main.go
│ │ └── main_test.go
│ ├── molecula-consumer-csv
│ │ ├── main.go
│ │ └── main_test.go
│ ├── molecula-consumer-github
│ │ ├── README.md
│ │ └── main.go
│ ├── molecula-consumer-kafka-delete
│ │ ├── main.go
│ │ └── main_test.go
│ ├── molecula-consumer-kafka-sasl
│ │ ├── main.go
│ │ └── readme.md
│ ├── molecula-consumer-kafka-static
│ │ └── main.go
│ ├── molecula-consumer-kafka
│ │ ├── main.go
│ │ └── main_test.go
│ ├── molecula-consumer-kinesis
│ │ └── main.go
│ └── molecula-consumer-sql
│ │ ├── main.go
│ │ └── main_test.go
├── common
│ └── configMap.go
├── csv
│ ├── cmd.go
│ ├── csv_test.go
│ └── source.go
├── datagen
│ ├── README.md
│ ├── all-field-types.go
│ ├── bank.go
│ ├── claim.go
│ ├── cmd.go
│ ├── common.go
│ ├── custom.go
│ ├── custom_test.go
│ ├── customer.go
│ ├── customer_segmentation.go
│ ├── customer_segmentation_test.go
│ ├── equipment.data.go
│ ├── equipment.go
│ ├── example.go
│ ├── gen
│ │ ├── constants.data.go
│ │ ├── gen.go
│ │ └── gen_test.go
│ ├── hobbies.data.go
│ ├── item.go
│ ├── kitchen-sink-keyed.go
│ ├── kitchen-sink.go
│ ├── locations.data.go
│ ├── network.go
│ ├── shared.go
│ ├── sites.data.go
│ ├── sites.go
│ ├── sizing.go
│ ├── skills.data.go
│ ├── stringpk.go
│ ├── testdata
│ │ ├── basic.yaml
│ │ ├── custom.yaml
│ │ ├── file_with_line_delimited_values
│ │ ├── gender.txt
│ │ ├── keyedtable.yaml
│ │ ├── keys_ids.yaml
│ │ ├── schema.json
│ │ ├── t_keys.yaml
│ │ └── unkeyedtable.yaml
│ ├── timeseries.go
│ ├── titles.data.go
│ ├── transactions.go
│ ├── transactions_scenario_1.go
│ ├── uscities.data.go
│ ├── warranty.go
│ └── zip_codes.data.go
├── docker-compose.yml
├── docker-sasl
│ ├── client-ssl-test.conf
│ ├── jaas_kafka_broker.conf
│ ├── jaas_zookeeper_server.conf
│ └── ssl_keys
│ │ ├── broker_kafkaBroker_cert-file
│ │ ├── broker_kafkaBroker_cert-signed
│ │ ├── broker_kafkaBroker_server.keystore.jks
│ │ ├── broker_kafkaBroker_server.truststore.jks
│ │ ├── ca-cert
│ │ ├── ca-cert.key
│ │ ├── ca-cert.srl
│ │ ├── client-ssl-test.conf
│ │ ├── client_kafkaClient_cert-file
│ │ ├── client_kafkaClient_cert-signed
│ │ ├── client_kafkaClient_client.key
│ │ ├── client_kafkaClient_client.keystore.jks
│ │ ├── client_kafkaClient_client.pem
│ │ ├── client_kafkaClient_client.req
│ │ ├── client_kafkaClient_client.truststore.jks
│ │ ├── credentials
│ │ ├── gen-ssl-certs.sh
│ │ └── jaas_kafka_broker.conf
├── dup.go
├── dup_arm64.go
├── fakeidp
│ ├── go.mod
│ ├── go.sum
│ └── server.go
├── file_with_line_delimited_values
├── header.go
├── header_test.go
├── idallocator.go
├── idallocator_test.go
├── idktest
│ ├── idktest.go
│ └── mocks
│ │ ├── kinesis.go
│ │ ├── s3.go
│ │ └── sqs.go
├── ingest.go
├── ingest_test.go
├── interfaces.go
├── interfaces_test.go
├── internal
│ ├── reader.go
│ ├── reader_test.go
│ ├── s3.go
│ └── write.go
├── kafka
│ ├── cmd.go
│ ├── cmd_delete_test.go
│ ├── cmd_test.go
│ ├── csrc
│ │ ├── csrc.go
│ │ └── csrc_integration_test.go
│ ├── put.go
│ ├── putsource.go
│ ├── putsource_test.go
│ ├── source.go
│ ├── source_test.go
│ └── testdata
│ │ ├── records
│ │ ├── alltypes.json
│ │ ├── alltypes_delete_fields.json
│ │ ├── alltypes_delete_records.json
│ │ ├── alltypes_delete_records_ids.json
│ │ ├── alltypes_delete_value.json
│ │ ├── alltypes_delete_value_ids.json
│ │ ├── alltypes_null.json
│ │ └── timeQuantum.json
│ │ └── schemas
│ │ ├── alltypes.json
│ │ ├── alltypes_delete_fields.json
│ │ ├── alltypes_delete_records.json
│ │ ├── alltypes_delete_value.json
│ │ ├── bigschema.json
│ │ ├── decimal.json
│ │ ├── delete.json
│ │ ├── delete_string.json
│ │ ├── fieldisrecord.json
│ │ ├── floatscale.json
│ │ ├── ids.json
│ │ ├── notarecord.json
│ │ ├── othertypes.json
│ │ ├── simple.json
│ │ ├── stringtypes.json
│ │ ├── timeQuantum.json
│ │ ├── timestamp.json
│ │ └── unions.json
├── kafka_sasl
│ ├── cmd.go
│ ├── cmd_test.go
│ ├── source.go
│ └── source_test.go
├── kafka_static
│ ├── cmd.go
│ ├── cmd_test.go
│ ├── source.go
│ ├── source_test.go
│ └── testdata
│ │ ├── Flat.json
│ │ ├── Lookup.json
│ │ ├── LookupDuplicate.json
│ │ ├── LookupId.json
│ │ ├── TestFieldTypes.json
│ │ └── Tree.json
├── kafkagen
│ └── cmd.go
├── kinesis
│ ├── cmd.go
│ ├── cmd_test.go
│ ├── logger.go
│ ├── logger_test.go
│ ├── reader.go
│ ├── reader_test.go
│ ├── source.go
│ ├── source_test.go
│ └── testdata
│ │ ├── header.json
│ │ ├── invalid_offsets.json
│ │ └── offsets.json
├── metrics.go
├── pilosa-sec-test.conf
├── postgres.go
├── progress.go
├── reingest_test.sh
├── sample.csv
├── serverless
│ ├── importer.go
│ └── schemamanager.go
├── sql
│ ├── odbc.go
│ ├── source.go
│ └── source_test.go
├── test_postgres.go
├── testdata
│ ├── basic.yaml
│ ├── certs
│ │ ├── README.md
│ │ ├── localhost.crt
│ │ ├── localhost.csr
│ │ ├── localhost.key
│ │ ├── pilosa-ca.crl
│ │ ├── pilosa-ca.crt
│ │ └── pilosa-ca.key
│ ├── featurebase.conf
│ ├── keyedtable.yaml
│ ├── permissions.yaml
│ └── unkeyedtable.yaml
├── tls.go
├── util.go
├── util_test.go
├── version.go
└── wait.sh
├── importer.go
├── index.go
├── index_internal_test.go
├── index_test.go
├── install
├── featurebase.conf
├── featurebase.debian.service
├── featurebase.redhat.service
├── postinstall.sh
├── postremove.sh
├── preinstall.sh
├── test_installation.Dockerfile
└── test_installation.sh
├── internal
├── clustertests
│ ├── Dockerfile-fakeIDP
│ ├── cluster_test.go
│ ├── docker-compose-replication2.yml
│ ├── docker-compose.yml
│ ├── fakeidp
│ │ ├── go.mod
│ │ ├── go.sum
│ │ └── server.go
│ ├── pause_node_test.go
│ └── testdata
│ │ ├── certs
│ │ ├── README.md
│ │ ├── localhost.crt
│ │ ├── localhost.csr
│ │ ├── localhost.key
│ │ ├── pilosa-ca.crl
│ │ ├── pilosa-ca.crt
│ │ └── pilosa-ca.key
│ │ ├── featurebase.conf
│ │ └── permissions.yaml
└── test
│ ├── querygenerator.go
│ └── querygenerator_test.go
├── internal_client.go
├── internal_client_test.go
├── iterator.go
├── iterator_internal_test.go
├── lattice
├── .gitignore
├── Caddyfile
├── Dockerfile
├── Makefile
├── README.md
├── package.json
├── public
│ ├── favicon.ico
│ ├── favicon.png
│ ├── index.html
│ └── manifest.json
├── src
│ ├── App.module.scss
│ ├── App.test.tsx
│ ├── App.tsx
│ ├── App
│ │ ├── AuthFlow
│ │ │ ├── AuthFlow.module.scss
│ │ │ ├── SignInButton.tsx
│ │ │ ├── SignOutButton.tsx
│ │ │ ├── Signin.tsx
│ │ │ └── index.ts
│ │ ├── Home
│ │ │ ├── ClusterHealth
│ │ │ │ ├── ClusterHealth.module.scss
│ │ │ │ ├── ClusterHealth.tsx
│ │ │ │ ├── ClusterInfo
│ │ │ │ │ ├── ClusterInfo.module.scss
│ │ │ │ │ ├── ClusterInfo.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ ├── ImportStatus
│ │ │ │ │ ├── ImportStatus.module.scss
│ │ │ │ │ ├── ImportStatus.tsx
│ │ │ │ │ ├── helpers.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── Metrics
│ │ │ │ │ ├── Metrics.module.scss
│ │ │ │ │ ├── Metrics.tsx
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── priorityMetrics.ts
│ │ │ │ ├── Node
│ │ │ │ │ ├── Node.module.scss
│ │ │ │ │ ├── Node.tsx
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── nodeInfo.ts
│ │ │ │ │ └── nodeStatus.ts
│ │ │ │ ├── clusterStatus.ts
│ │ │ │ └── index.ts
│ │ │ ├── Home.module.scss
│ │ │ ├── Home.tsx
│ │ │ ├── QueryHistory
│ │ │ │ ├── NodeIndicator
│ │ │ │ │ ├── NodeIndicator.module.scss
│ │ │ │ │ ├── NodeIndicator.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ ├── QueryHistory.module.scss
│ │ │ │ ├── QueryHistory.tsx
│ │ │ │ ├── QueryItem
│ │ │ │ │ ├── QueryItem.module.scss
│ │ │ │ │ ├── QueryItem.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── nodeColors.ts
│ │ │ ├── Transactions
│ │ │ │ ├── Transaction
│ │ │ │ │ ├── Transaction.module.scss
│ │ │ │ │ ├── Transaction.tsx
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── utils.test.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── Transactions.module.scss
│ │ │ │ ├── Transactions.tsx
│ │ │ │ └── index.ts
│ │ │ └── index.ts
│ │ ├── MoleculaTables
│ │ │ ├── MoleculaTable
│ │ │ │ ├── MoleculaTable.module.scss
│ │ │ │ ├── MoleculaTable.tsx
│ │ │ │ └── index.ts
│ │ │ ├── MoleculaTables.module.scss
│ │ │ ├── MoleculaTables.tsx
│ │ │ ├── MoleculaTablesContainer.tsx
│ │ │ └── index.ts
│ │ ├── NotFound
│ │ │ ├── NotFound.tsx
│ │ │ └── index.tsx
│ │ ├── Query
│ │ │ ├── Console
│ │ │ │ ├── Console.module.scss
│ │ │ │ ├── Console.tsx
│ │ │ │ ├── helpers.ts
│ │ │ │ └── index.ts
│ │ │ ├── Query.module.scss
│ │ │ ├── Query.tsx
│ │ │ ├── QueryContainer.tsx
│ │ │ ├── QueryResults
│ │ │ │ ├── QueryResults.module.scss
│ │ │ │ ├── QueryResults.tsx
│ │ │ │ └── index.ts
│ │ │ ├── RecentQueries
│ │ │ │ ├── RecentQueries.module.scss
│ │ │ │ ├── RecentQueries.tsx
│ │ │ │ └── index.ts
│ │ │ ├── index.ts
│ │ │ └── splitjs.scss
│ │ └── QueryBuilder
│ │ │ ├── ColumnSelector
│ │ │ ├── ColumnSelector.module.scss
│ │ │ ├── ColumnSelector.tsx
│ │ │ └── index.ts
│ │ │ ├── CountBuilder
│ │ │ ├── CountBuilder.tsx
│ │ │ └── index.ts
│ │ │ ├── ExtractBuilder
│ │ │ ├── ExtractBuilder.module.scss
│ │ │ ├── ExtractBuilder.tsx
│ │ │ └── index.ts
│ │ │ ├── GroupByBuilder
│ │ │ ├── GroupByBuilder.module.scss
│ │ │ ├── GroupByBuilder.tsx
│ │ │ └── index.ts
│ │ │ ├── GroupByChart
│ │ │ ├── GroupByChart.tsx
│ │ │ └── index.ts
│ │ │ ├── GroupBySort
│ │ │ ├── GroupBySort.module.scss
│ │ │ ├── GroupBySort.tsx
│ │ │ └── index.ts
│ │ │ ├── QueryBuilder.module.scss
│ │ │ ├── QueryBuilder.tsx
│ │ │ ├── QueryBuilderContainer.module.scss
│ │ │ ├── QueryBuilderContainer.tsx
│ │ │ ├── RowCallBuilder
│ │ │ ├── RowCall
│ │ │ │ ├── RowCall.module.scss
│ │ │ │ ├── RowCall.tsx
│ │ │ │ ├── helpers.ts
│ │ │ │ └── index.ts
│ │ │ ├── RowCallBuilder.module.scss
│ │ │ ├── RowCallBuilder.tsx
│ │ │ └── index.ts
│ │ │ ├── SavedQueries
│ │ │ ├── SavedQueries.tsx
│ │ │ └── index.ts
│ │ │ ├── index.ts
│ │ │ ├── rowTypes.ts
│ │ │ ├── utils.test.ts
│ │ │ └── utils.ts
│ ├── Main.tsx
│ ├── assets
│ │ ├── bg-pattern.png
│ │ ├── darkTheme
│ │ │ └── featurebase-logo.svg
│ │ ├── featurebase-icon.svg
│ │ └── lightTheme
│ │ │ └── featurebase-logo.svg
│ ├── index.scss
│ ├── index.tsx
│ ├── lattice.config.js
│ ├── proto
│ │ ├── pilosa_pb.d.ts
│ │ ├── pilosa_pb.js
│ │ ├── pilosa_pb_service.d.ts
│ │ └── pilosa_pb_service.js
│ ├── react-app-env.d.ts
│ ├── serviceWorker.tsx
│ ├── services
│ │ ├── __mocks__
│ │ │ └── eventServices.tsx
│ │ ├── baseURL.ts
│ │ ├── eventServices.tsx
│ │ ├── grpcServices.tsx
│ │ ├── useAuth.test.tsx
│ │ └── useAuth.tsx
│ ├── setupTests.ts
│ ├── shared
│ │ ├── Animations
│ │ │ ├── Animations.tsx
│ │ │ └── index.tsx
│ │ ├── Block
│ │ │ ├── Block.module.scss
│ │ │ ├── Block.tsx
│ │ │ └── index.ts
│ │ ├── DataTable
│ │ │ ├── DataTable.module.scss
│ │ │ ├── DataTable.tsx
│ │ │ └── index.ts
│ │ ├── Header
│ │ │ ├── Header.module.scss
│ │ │ ├── Header.tsx
│ │ │ └── index.tsx
│ │ ├── Nav
│ │ │ ├── Nav.module.scss
│ │ │ ├── Nav.tsx
│ │ │ └── index.tsx
│ │ ├── Pager
│ │ │ ├── Pager.module.scss
│ │ │ ├── Pager.tsx
│ │ │ └── index.ts
│ │ ├── PrivateRoute
│ │ │ └── PrivateRoute.tsx
│ │ ├── Select
│ │ │ ├── Select.module.scss
│ │ │ ├── Select.tsx
│ │ │ └── index.tsx
│ │ ├── SortBy
│ │ │ ├── SortBy.module.scss
│ │ │ ├── SortBy.tsx
│ │ │ └── index.ts
│ │ ├── StatusIndicator
│ │ │ ├── StatusIndicator.module.scss
│ │ │ ├── StatusIndicator.tsx
│ │ │ └── index.ts
│ │ ├── ThemeToggle
│ │ │ ├── ThemeToggle.module.scss
│ │ │ ├── ThemeToggle.tsx
│ │ │ └── index.tsx
│ │ ├── Toggle
│ │ │ ├── Toggle.module.scss
│ │ │ ├── Toggle.tsx
│ │ │ └── index.ts
│ │ └── utils
│ │ │ ├── formatBytes.test.ts
│ │ │ ├── formatBytes.ts
│ │ │ ├── formatDuration.test.ts
│ │ │ ├── formatDuration.ts
│ │ │ ├── formatTableCell.test.tsx
│ │ │ └── formatTableCell.tsx
│ └── theme
│ │ ├── baseTheme.tsx
│ │ ├── darkTheme.tsx
│ │ ├── index.tsx
│ │ └── lightTheme.tsx
├── tsconfig.json
├── tslint.json
└── yarn.lock
├── license.exceptions
├── like.go
├── like_test.go
├── logger
├── filewriter.go
├── filewriter_test.go
└── logger.go
├── lru
└── lru.go
├── main_test.go
├── metrics.go
├── mock
├── mock.go
└── translator.go
├── monitor
└── monitor.go
├── net
├── uri.go
└── uri_internal_test.go
├── nfpm.yaml
├── null_test.go
├── pb
├── pb.go
├── private.pb.go
├── private.proto
├── public.pb.go
└── public.proto
├── performancecounters.go
├── pilosa.go
├── pilosa_internal_test.go
├── pilosa_test.go
├── pprof.go
├── pql
├── ast.go
├── ast_test.go
├── decimal.go
├── decimal_internal_test.go
├── decimal_test.go
├── doc.go
├── parser.go
├── parser_test.go
├── pql.peg
├── pql.peg.go
├── pqlpeg_test.go
└── token.go
├── prometheus
└── prometheus_test.go
├── proto
├── interface.go
├── pilosa.pb.go
├── pilosa.proto
└── vdsm
│ ├── vdsm.pb.go
│ └── vdsm.proto
├── qa
├── fakeidp
│ ├── go.mod
│ ├── go.sum
│ └── server.go
├── scripts
│ ├── backupRestoreTest.sh
│ ├── backup_test_datagen.yaml
│ ├── bug_repro_tests.sh
│ ├── gitlabCleanupBuild.sh
│ ├── perf
│ │ └── able
│ │ │ ├── able.yaml
│ │ │ ├── ableRun.sh
│ │ │ ├── ableSetup.sh
│ │ │ ├── ableTeardown.sh
│ │ │ ├── ableTest.sh
│ │ │ ├── generateTestData.sh
│ │ │ ├── highcardinalitygroupby.js
│ │ │ └── values
│ │ │ ├── education.txt
│ │ │ ├── gender.txt
│ │ │ ├── hobbies.txt
│ │ │ ├── income.txt
│ │ │ ├── opendns-top-domains-10K.txt
│ │ │ └── political_parties.txt
│ ├── runSmokeTest.sh
│ ├── setupBackupRestoreGauntlet.sh
│ ├── setupSmokeTest.sh
│ ├── setupTLS.sh
│ ├── teardownBackupRestoreGauntlet.sh
│ ├── teardownSmokeTest.sh
│ ├── testBackupRestoreGauntlet.sh
│ └── testSmokeTest.sh
├── simulacraData
│ ├── simulacra_data.go
│ └── simulacra_data_test.go
├── testcases
│ ├── bug-repros
│ │ ├── README
│ │ ├── fb-1287-datagen.yaml
│ │ ├── fb-1287-test.sh
│ │ ├── fb-1332-datagen.yaml
│ │ ├── fb-1332.sh
│ │ ├── fb-1371-datagen.yaml
│ │ ├── fb-1371-test.sh
│ │ └── run-all.sh
│ └── smoketest
│ │ ├── config.py
│ │ └── test_smoke.py
└── tf
│ ├── .modules
│ └── featurebase-cluster
│ │ ├── README.md
│ │ ├── cloud-init.sh
│ │ ├── main.tf
│ │ ├── outputs.tf
│ │ ├── provider.tf
│ │ └── variables.tf
│ ├── README.md
│ ├── ci
│ ├── auth-smoke
│ │ ├── main.tf
│ │ ├── outputs.tf
│ │ ├── provider.tf
│ │ ├── tf.auto.tfvars
│ │ └── variables.tf
│ ├── deletetest
│ │ ├── delete_cloud_init.sh
│ │ ├── main.tf
│ │ ├── outputs.tf
│ │ ├── provider.tf
│ │ ├── tf.auto.tfvars
│ │ └── variables.tf
│ └── smoketest
│ │ ├── main.tf
│ │ ├── outputs.tf
│ │ ├── provider.tf
│ │ ├── tf.auto.tfvars
│ │ └── variables.tf
│ ├── gauntlet
│ └── backuprestore
│ │ ├── README.md
│ │ ├── main.tf
│ │ ├── outputs.tf
│ │ ├── provider.tf
│ │ ├── tf.auto.tfvars
│ │ └── variables.tf
│ └── perf
│ ├── able
│ ├── main.tf
│ ├── outputs.tf
│ ├── provider.tf
│ ├── tf.auto.tfvars
│ └── variables.tf
│ └── delete
│ ├── main.tf
│ ├── outputs.tf
│ ├── provider.tf
│ ├── tf.auto.tfvars
│ └── variables.tf
├── querycontext
├── TODO.txt
├── doc.go
├── dot_test.go
├── query_context.go
├── query_context_test.go
├── rbf.go
├── rbf_test.go
├── reduce_err_test.go
├── testdata
│ └── fuzz
│ │ └── FuzzWriteRequests
│ │ ├── 01c51b507e482b7a4ccc98283df31ce4bb08036934bffc09b9ccd1541657b485
│ │ ├── 0269def3297ec903fd7e3e9c762d1dc6228df919298caeef1245eaa4b109d246
│ │ ├── 04aeb089ec24d261afad4152bdedd690c3bee01531b22f42aa57dd9e56f547c0
│ │ └── 0677388e5f96f54bd80ce1cf365b5f68385844ae50842823f81b3b378b5c0980
├── txstore.go
└── visualize.go
├── rbf.go
├── rbf
├── README.md
├── array.go
├── cfg
│ ├── cfg.go
│ ├── os.go
│ └── os_386.go
├── cursor.go
├── cursor_internal_test.go
├── cursor_test.go
├── cursorx.go
├── db.go
├── db_test.go
├── dot.go
├── helpers_test.go
├── ingest_test.go
├── page_map.go
├── rbf.go
├── rbf
│ └── testdata
│ │ └── check
│ │ └── bad-freelist
│ │ ├── data
│ │ └── wal
├── rbf_test.go
├── testdata
│ └── check
│ │ ├── bad-bitmap
│ │ ├── data
│ │ └── wal
│ │ └── bad-freelist
│ │ ├── data
│ │ └── wal
├── tx.go
├── tx_test.go
├── util.go
└── util_test.go
├── roaring
├── README.md
├── add.go
├── add_test.go
├── benchpretty
│ └── main.go
├── btree.go
├── btree_test.go
├── container_archetypes.go
├── container_stash.go
├── containers_btree.go
├── containers_slice.go
├── containers_test.go
├── filter.go
├── filter_internal_test.go
├── fuzz_test.go
├── fuzzer.go
├── inst.go
├── naive.go
├── naive_test.go
├── nop_inst.go
├── printutil.go
├── printutil_test.go
├── roaring.go
├── roaring_container_test.go
├── roaring_helpers_test.go
├── roaring_internal_test.go
├── roaring_nop_paranoia.go
├── roaring_nop_sentinel.go
├── roaring_nop_stats.go
├── roaring_paranoia.go
├── roaring_sentinel.go
├── roaring_stats.go
├── roaring_test.go
├── testdata
│ └── bitmapcontainer.roaringbitmap
└── unmarshal_binary.go
├── row.go
├── row_test.go
├── runners
├── Dockerfile
├── Makefile
└── README.md
├── schema.go
├── scripts
├── bench_read.sh
├── bench_write.sh
├── etc
│ └── gloat
│ │ ├── gh.1d.yml
│ │ ├── gh.1m.yml
│ │ ├── gh.1w.yml
│ │ ├── gh.issues.autogenerate.yml
│ │ ├── gh.issues.keyed.yml
│ │ ├── gh.issues.unkeyed.yml
│ │ ├── query.count-keyed.yml
│ │ ├── query.count.yml
│ │ ├── query.difference.yml
│ │ ├── query.groupby.yml
│ │ ├── query.intersect.yml
│ │ ├── query.row-bsi.yml
│ │ ├── query.row-range.yml
│ │ ├── query.row.yml
│ │ ├── query.topk.yml
│ │ ├── query.union.yml
│ │ └── query.xor.yml
├── populate_query_db.keyed.sh
└── populate_query_db.sh
├── serializer.go
├── server.go
├── server
├── cluster_test.go
├── config.go
├── config_internal_test.go
├── config_test.go
├── dup.go
├── dup_arm64.go
├── grpc.go
├── grpc_internal_test.go
├── grpc_test.go
├── handler_test.go
├── server.go
├── server_internal_test.go
├── server_test.go
├── sql.go
├── testdata
│ └── certs
│ │ ├── README.md
│ │ ├── localhost.crt
│ │ ├── localhost.csr
│ │ ├── localhost.key
│ │ ├── pilosa-ca.crl
│ │ ├── pilosa-ca.crt
│ │ └── pilosa-ca.key
├── tlsconfig.go
├── tlsconfig_test.go
└── trial.go
├── server_internal_test.go
├── server_test.go
├── shardwidth
├── helper.go
└── helper_test.go
├── short_txkey
├── txkey.go
└── txkey_test.go
├── sql
├── column.go
├── ddl.go
├── extract.go
├── handler_test.go
├── main_test.go
├── mapper.go
├── mapper_test.go
├── mask.go
├── model.go
├── query.go
├── reduce.go
├── reduce_test.go
├── router.go
├── select.go
└── show.go
├── sql3
├── errors.go
├── interfaces.go
├── main_test.go
├── parser
│ ├── ast.go
│ ├── ast_test.go
│ ├── astdatatype.go
│ ├── parser.go
│ ├── parser_test.go
│ ├── scanner.go
│ ├── scanner_test.go
│ ├── token.go
│ ├── token_test.go
│ └── walk.go
├── planner
│ ├── compilealterdatabase.go
│ ├── compilealtertable.go
│ ├── compilebulkinsert.go
│ ├── compilecopy.go
│ ├── compilecreatedatabase.go
│ ├── compilecreatefunction.go
│ ├── compilecreatemodel.go
│ ├── compilecreatetable.go
│ ├── compilecreateview.go
│ ├── compiledelete.go
│ ├── compiledropdatabase.go
│ ├── compiledropmodel.go
│ ├── compiledroptable.go
│ ├── compiledropview.go
│ ├── compileinsert.go
│ ├── compilepredict.go
│ ├── compileselect.go
│ ├── compileshow.go
│ ├── executionplanner.go
│ ├── executionplannersystemtables.go
│ ├── expression.go
│ ├── expression_it_test.go
│ ├── expression_test.go
│ ├── expressionagg.go
│ ├── expressionanalyzer.go
│ ├── expressionanalyzercall.go
│ ├── expressionpql.go
│ ├── expressiontypes.go
│ ├── inbuiltfunctionsdate.go
│ ├── inbuiltfunctionsquantum.go
│ ├── inbuiltfunctionsset.go
│ ├── inbuiltfunctionsstring.go
│ ├── main_test.go
│ ├── opalterdatabase.go
│ ├── opaltertable.go
│ ├── opalterview.go
│ ├── opbulkinsert.go
│ ├── opcopy.go
│ ├── opcreatedatabase.go
│ ├── opcreatefunction.go
│ ├── opcreatemodel.go
│ ├── opcreatetable.go
│ ├── opcreateview.go
│ ├── opdistinct.go
│ ├── opdropdatabase.go
│ ├── opdropmodel.go
│ ├── opdroptable.go
│ ├── opdropview.go
│ ├── opfanout.go
│ ├── opfeaturebasecolumns.go
│ ├── opfeaturebasedatabases.go
│ ├── opfeaturebasetables.go
│ ├── opfilter.go
│ ├── opgroupby.go
│ ├── ophaving.go
│ ├── opinsert.go
│ ├── opnestedloops.go
│ ├── opnulltable.go
│ ├── oporderby.go
│ ├── oppqlaggregate.go
│ ├── oppqldelete.go
│ ├── oppqldistinctscan.go
│ ├── oppqlfiltereddelete.go
│ ├── oppqlgroupby.go
│ ├── oppqlmultiaggregate.go
│ ├── oppqlmultigroupby.go
│ ├── oppqltablescan.go
│ ├── oppqltruncate.go
│ ├── oppredict.go
│ ├── opprojection.go
│ ├── opquery.go
│ ├── oprelalias.go
│ ├── opsubquery.go
│ ├── opsystemtable.go
│ ├── optablevaluedfunction.go
│ ├── optop.go
│ ├── planoptimizer.go
│ ├── planwalker.go
│ ├── systemobjects.go
│ ├── types
│ │ ├── compile.go
│ │ ├── operator.go
│ │ ├── operator_test.go
│ │ └── planexpression.go
│ ├── userdefinedfunctions.go
│ ├── wireprotocol.go
│ └── wireprotocol_test.go
├── sql_complex_test.go
├── sql_test.go
└── test
│ ├── defs
│ ├── defs.go
│ ├── defs_aggregate.go
│ ├── defs_between.go
│ ├── defs_binops.go
│ ├── defs_bool.go
│ ├── defs_bulkinsert.go
│ ├── defs_cast.go
│ ├── defs_copy.go
│ ├── defs_create_table.go
│ ├── defs_date_functions.go
│ ├── defs_delete.go
│ ├── defs_distinct.go
│ ├── defs_filterpredicates.go
│ ├── defs_groupby.go
│ ├── defs_having.go
│ ├── defs_in.go
│ ├── defs_inserts.go
│ ├── defs_join.go
│ ├── defs_keyed.go
│ ├── defs_keyed_insert.go
│ ├── defs_like.go
│ ├── defs_minmaxnegative.go
│ ├── defs_null.go
│ ├── defs_orderby.go
│ ├── defs_select.go
│ ├── defs_set_functions.go
│ ├── defs_sql1.go
│ ├── defs_string_functions.go
│ ├── defs_subquery.go
│ ├── defs_timequantum.go
│ ├── defs_timestamp_literals.go
│ ├── defs_top.go
│ ├── defs_unkeyed.go
│ ├── defs_unops.go
│ ├── defs_views.go
│ └── types.go
│ └── helpers.go
├── sql_test.go
├── statik
├── .gitignore
└── filesystem.go
├── stats
└── main_test.go
├── stattx.go
├── storage
└── config.go
├── systemlayer.go
├── systemlayer
├── executionrequests.go
└── systemlayer.go
├── syswrap
├── mmap.go
└── os.go
├── task
├── doc.go
├── pool.go
└── pool_test.go
├── test
├── cluster.go
├── disco.go
├── field.go
├── glue.go
├── handler.go
├── holder.go
├── index.go
├── main_test.go
├── pilosa.go
├── pilosa_test.go
└── transaction.go
├── testdata
├── certs
│ ├── localhost.crt
│ └── localhost.key
├── sample_view
│ └── 0
├── schema.json
└── timeRegressionSchema.json
├── testhook
├── auditor.go
├── auditor_test.go
├── cleanup1.13.go
├── cleanup1.14.go
├── hook.go
└── registry.go
├── time.go
├── time_internal_test.go
├── toml
└── toml.go
├── tracing
├── opentracing
│ └── opentracing.go
└── tracing.go
├── tracker.go
├── tracker_test.go
├── transaction.go
├── transaction_test.go
├── translate.go
├── translate_boltdb.go
├── translate_boltdb_internal_test.go
├── translate_boltdb_test.go
├── translator_test.go
├── tx.go
├── tx_internal_test.go
├── tx_test.go
├── txfactory.go
├── txfactory_internal_test.go
├── txkey
├── txkey.go
└── txkey_test.go
├── util.go
├── util_test.go
├── utils_internal_test.go
├── verchk.go
├── version.go
├── view.go
├── view_internal_test.go
├── vprint
└── vprint.go
├── wire_response.go
└── wireprotocol
├── wireprimitives.go
└── wireprimitives_test.go
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
1 | name: Release
2 |
3 | on: workflow_dispatch
4 |
5 | jobs:
6 | build:
7 | runs-on: ubuntu-latest
8 | strategy:
9 | matrix:
10 | goos:
11 | - "darwin"
12 | - "linux"
13 | goarch:
14 | - "amd64"
15 | - "arm64"
16 |
17 | steps:
18 | - uses: actions/checkout@v3
19 |
20 | - uses: actions/setup-go@v3
21 | with:
22 | go-version: "^1.19.1"
23 |
24 | - name: build
25 | run: GOOS=${{ matrix.goos }} GOARCH=${{ matrix.goarch }} go build -o ./build/${{ matrix.goos }}-${{ matrix.goarch }}
26 |
--------------------------------------------------------------------------------
/.gitlab/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM alpine:3.14.2
2 |
3 | LABEL maintainer "dev@molecula.com"
4 | LABEL org.opencontainers.image.authors="dev@molecula.com"
5 |
6 | ARG ARCH
7 |
8 | WORKDIR /
9 |
10 | RUN apk add --no-cache curl jq
11 |
12 | COPY NOTICE .
13 | COPY featurebase_linux_$ARCH featurebase
14 |
15 | RUN chmod ugo+x .
16 | EXPOSE 10101
17 | VOLUME /data
18 |
19 | ENV PILOSA_DATA_DIR /data
20 | ENV PILOSA_BIND 0.0.0.0:10101
21 | ENV PILOSA_BIND_GRPC 0.0.0.0:20101
22 |
23 | ENTRYPOINT ["/featurebase"]
24 | CMD ["server"]
25 |
--------------------------------------------------------------------------------
/Dockerfile-dax-quick:
--------------------------------------------------------------------------------
1 | ARG GO_VERSION=latest
2 |
3 | ##########################
4 | ### FeatureBase runner ###
5 | ##########################
6 |
7 | FROM alpine:3.13.2 as runner
8 |
9 | LABEL maintainer "dev@featurebase.com"
10 |
11 | RUN apk add --no-cache curl jq tree
12 |
13 | COPY ./fb_linux /featurebase
14 |
15 | EXPOSE 8080
16 |
17 | ENTRYPOINT ["/featurebase"]
18 | CMD ["dax"]
19 |
--------------------------------------------------------------------------------
/api_directive_internal_test.go:
--------------------------------------------------------------------------------
1 | package pilosa
2 |
3 | import (
4 | "testing"
5 |
6 | "github.com/stretchr/testify/assert"
7 | )
8 |
9 | func TestThingsAddedGeneric(t *testing.T) {
10 | from := []string{"a", "b", "c"}
11 | to := []string{"b", "c", "d"}
12 |
13 | added := thingsAdded(from, to)
14 | assert.Equal(t, added, []string{"d"})
15 | }
16 |
17 | func TestSliceComparer(t *testing.T) {
18 | from := []string{"a", "b", "c"}
19 | to := []string{"b", "c", "d"}
20 |
21 | sc := newSliceComparer(from, to)
22 |
23 | added := sc.added()
24 | assert.Equal(t, added, []string{"d"})
25 | }
26 |
--------------------------------------------------------------------------------
/audit.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | package pilosa
4 |
5 | import (
6 | "github.com/featurebasedb/featurebase/v3/testhook"
7 | )
8 |
9 | var NewAuditor func() testhook.Auditor = NewNopAuditor
10 |
11 | func NewNopAuditor() testhook.Auditor {
12 | return testhook.NewNopAuditor()
13 | }
14 |
--------------------------------------------------------------------------------
/batch/Dockerfile-test:
--------------------------------------------------------------------------------
1 | ARG GO_VERSION=1.19
2 |
3 | FROM golang:${GO_VERSION}
4 |
5 | WORKDIR /go/src/github.com/featurebasedb/featurebase/
6 |
7 | COPY . .
8 |
9 | WORKDIR /go/src/github.com/featurebasedb/featurebase/batch/
10 |
11 | CMD ["go","test","-v","-mod=vendor","-tags=odbc,dynamic","./..."]
12 |
--------------------------------------------------------------------------------
/batch/Dockerfile-wait:
--------------------------------------------------------------------------------
1 | FROM ubuntu:18.04
2 |
3 | RUN ["apt-get", "update", "-y"]
4 | RUN ["apt-get", "install", "-y", "curl", "netcat"]
5 |
6 | ADD wait.sh /wait
7 |
8 | ENTRYPOINT ["/wait"]
9 |
--------------------------------------------------------------------------------
/batch/batcher.go:
--------------------------------------------------------------------------------
1 | package batch
2 |
3 | import (
4 | "time"
5 |
6 | "github.com/featurebasedb/featurebase/v3/dax"
7 | )
8 |
9 | // Batcher is an interface implemented by anything which can allocate new
10 | // batches.
11 | type Batcher interface {
12 | NewBatch(cfg Config, tbl *dax.Table, fields []*dax.Field) (RecordBatch, error)
13 | }
14 |
15 | // Config is the configuration options passed to NewBatch for any implementation
16 | // of the Batcher interface.
17 | type Config struct {
18 | Size int
19 | MaxStaleness time.Duration
20 | }
21 |
--------------------------------------------------------------------------------
/batch/error.go:
--------------------------------------------------------------------------------
1 | package batch
2 |
3 | import "github.com/pkg/errors"
4 |
5 | // Predefined batch-related errors.
6 | var (
7 | ErrPreconditionFailed = errors.New("Precondition failed")
8 | )
9 |
--------------------------------------------------------------------------------
/batch/metrics.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | package batch
4 |
--------------------------------------------------------------------------------
/batch/testdata/README.md:
--------------------------------------------------------------------------------
1 | # testdata
2 |
3 | This directory is used in CI tests. I think.
4 |
--------------------------------------------------------------------------------
/batch/wait.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | name=$1
4 | shift
5 |
6 | _start_ts=$(date +%s)
7 | elapsed=0
8 | timeout=120
9 | while :
10 | do
11 | $@ > /dev/null
12 | _ret=$?
13 | _end_ts=$(date +%s)
14 | if [ $_ret -eq 0 ]; then
15 | echo "$name is available after $((_end_ts - _start_ts)) seconds."
16 | break
17 | else
18 | echo "Waiting for $name after $((_end_ts - _start_ts)) seconds."
19 | fi
20 | sleep 1s
21 | elapsed=$((elapsed+1))
22 | if [ $elapsed -ge $timeout ]; then
23 | exit 110
24 | fi
25 | done
26 | set -ex
27 |
--------------------------------------------------------------------------------
/bufferpool/diskmanager.go:
--------------------------------------------------------------------------------
1 | package bufferpool
2 |
3 | // DiskManager is responsible for interacting with disk
4 | type DiskManager interface {
5 | // reads a page from the disk
6 | ReadPage(PageID) (*Page, error)
7 | // writes a page to the disk
8 | WritePage(*Page) error
9 |
10 | // allocates a page
11 | AllocatePage() (PageID, error)
12 |
13 | // deallocates a page
14 | DeallocatePage(PageID) error
15 |
16 | // returns on disk file size
17 | FileSize() int64
18 |
19 | // closes and does any clean up
20 | Close()
21 | }
22 |
--------------------------------------------------------------------------------
/cli/Makefile:
--------------------------------------------------------------------------------
1 | .PHONY: test testv test-integration testv-integration
2 |
3 | GO=go
4 |
5 | test:
6 | $(GO) test ./... -short
7 |
8 | testv:
9 | $(GO) test -v ./... -short
10 |
11 | test-integration:
12 | $(GO) test . -count 1 -timeout 20m -run TestCLIIntegration/$(RUN)
13 |
14 | testv-integration:
15 | $(GO) test -v . -count 1 -timeout 20m -run TestCLIIntegration/$(RUN)
16 |
--------------------------------------------------------------------------------
/cli/batch/inserter.go:
--------------------------------------------------------------------------------
1 | package batch
2 |
3 | // Inserter can be implemented by anything which can handle a SQL statement
4 | // representing a write operation. An example is `BULK INSERT`. The Insert()
5 | // method on this interface does not return any results other than an error.
6 | type Inserter interface {
7 | Insert(sql string) error
8 | }
9 |
--------------------------------------------------------------------------------
/cli/errors.go:
--------------------------------------------------------------------------------
1 | package cli
2 |
3 | import (
4 | "github.com/featurebasedb/featurebase/v3/errors"
5 | )
6 |
7 | const (
8 | ErrOrganizationRequired errors.Code = "OrganizationRequired"
9 | )
10 |
11 | func NewErrOrganizationRequired() error {
12 | return errors.New(
13 | ErrOrganizationRequired,
14 | "organization required",
15 | )
16 | }
17 |
--------------------------------------------------------------------------------
/cli/testdata/meta_bang:
--------------------------------------------------------------------------------
1 | SEND:\! echo 'foo'
2 | EXPECT:foo
3 |
4 | SEND:\! echo "foo"
5 | EXPECT:"foo"
6 |
7 | SEND:\!
8 | EXPECT:executing meta command: meta command '!' requires at least one argument
9 |
--------------------------------------------------------------------------------
/cli/testdata/meta_cd:
--------------------------------------------------------------------------------
1 | // Make a directory so we can test \cd'ing into it.
2 | SEND:\! mkdir cli-test-dir
3 | SEND:\cd cli-test-dir
4 | SEND:\cd ..
5 | SEND:\! rmdir cli-test-dir
6 |
7 | // TODO(tlt): before we do this, we should implement the ability to execute
8 | // commands in a \set like:
9 | // \set homedir `pwd`
10 | // then we can store what directory we're in so we can move back to it
11 | // at the end of the test
12 | // Switch to home directory.
13 | // SEND:\cd
14 |
15 | // Expect error on extra argument to \cd.
16 | SEND:\cd dir extra
17 | EXPECT:executing meta command: meta command 'cd' takes zero or one argument
18 |
--------------------------------------------------------------------------------
/cli/testdata/meta_echo:
--------------------------------------------------------------------------------
1 | SEND:\echo
2 | EXPECT:
3 |
4 | // Simple \echo.
5 | SEND:\echo foo bar
6 | EXPECT:foo bar
7 |
--------------------------------------------------------------------------------
/cli/testdata/meta_set:
--------------------------------------------------------------------------------
1 | SEND:\set
2 |
3 | SEND:\set var1 foo
4 | SEND:\set
5 | EXPECT:var1 = 'foo'
6 |
7 | SEND:\set var2 bar
8 | SEND:\set
9 | EXPECT:var1 = 'foo'
10 | EXPECT:var2 = 'bar'
11 |
12 | SEND:\set var3 zoo
13 | SEND:\set
14 | EXPECT:var1 = 'foo'
15 | EXPECT:var2 = 'bar'
16 | EXPECT:var3 = 'zoo'
17 |
18 | SEND:\unset
19 | EXPECT:\unset: missing required argument
20 |
21 | SEND:\unset non-existent-key
22 |
23 | SEND:\unset var1
24 | SEND:\set
25 | EXPECT:var2 = 'bar'
26 | EXPECT:var3 = 'zoo'
27 |
28 | SEND:\unset var2 extra
29 | EXPECT:\unset: extra argument "extra" ignored
30 | SEND:\set
31 | EXPECT:var3 = 'zoo'
32 |
--------------------------------------------------------------------------------
/cli/testdata/people.sql:
--------------------------------------------------------------------------------
1 | -- Create a table.
2 | create table people (_id id, name string, age int);
3 |
4 | -- Insert some values.
5 | insert into people values (1, 'Amy', 42), (2, 'Bob', 27), (3, 'Carl', 33);
6 |
7 | -- Get all rows from the table.
8 | select * from people;
9 |
10 | -- Mix in a meta-command to show that both are supported
11 | -- in the include file.
12 | \echo mix in a meta command
13 |
--------------------------------------------------------------------------------
/client/version.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | // package ctl contains all pilosa subcommands other than 'server'. These are
4 | // generally administration, testing, and debugging tools.
5 |
6 | package client
7 |
8 | // Version is the client version.
9 | const Version = "v1.3.0"
10 |
--------------------------------------------------------------------------------
/cmd/featurebase/main.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | /*
4 | This is the entrypoint for the Pilosa binary.
5 | */
6 | package main
7 |
8 | import (
9 | "fmt"
10 | "os"
11 |
12 | "github.com/featurebasedb/featurebase/v3/cmd"
13 | "github.com/featurebasedb/featurebase/v3/monitor"
14 | )
15 |
16 | func main() {
17 | defer monitor.CaptureMessage("Session:Ended")
18 | rootCmd := cmd.NewRootCommand(os.Stderr)
19 | if err := rootCmd.Execute(); err != nil {
20 | fmt.Println(err)
21 | os.Exit(1)
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/cmd/featurebase/main_test.go:
--------------------------------------------------------------------------------
1 | //go:build testrunmain
2 | // +build testrunmain
3 |
4 | package main
5 |
6 | import (
7 | "testing"
8 | )
9 |
10 | // Wrapper test for main function used to get code coverage for end2end tests
11 | func TestRunMain(t *testing.T) {
12 | main()
13 | }
14 |
--------------------------------------------------------------------------------
/cmd/roaring-migrate/ctim_darwin.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | //go:build darwin
4 | // +build darwin
5 |
6 | package main
7 |
8 | import (
9 | "syscall"
10 | )
11 |
12 | func CTimeNano(stat *syscall.Stat_t) int64 {
13 | NANOS := int64(1e9) // number of nanosecs in 1 sec
14 | ts := stat.Ctimespec
15 | return ts.Sec*NANOS + ts.Nsec
16 | }
17 |
--------------------------------------------------------------------------------
/cmd/roaring-migrate/ctim_linux.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | //go:build linux
4 | // +build linux
5 |
6 | package main
7 |
8 | import (
9 | "syscall"
10 | )
11 |
12 | func CTimeNano(stat *syscall.Stat_t) int64 {
13 | return stat.Ctim.Nano()
14 | }
15 |
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/.id:
--------------------------------------------------------------------------------
1 | 6fc20f49-edf3-4211-8f6d-c670258ee6ea
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/.startup.log:
--------------------------------------------------------------------------------
1 | 2022-02-14T11:49:34.20065623-06:00 v2.7.0
2 |
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/.topology:
--------------------------------------------------------------------------------
1 |
2 | $a317bd70-60ed-4723-99fa-3067563a708e$6fc20f49-edf3-4211-8f6d-c670258ee6ea
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/idalloc.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/idalloc.db
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/.data:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/.data
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/.meta:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_exists/.data:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_exists/.data
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_exists/.meta:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_exists/.meta
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_exists/keys:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_exists/keys
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_exists/views/standard/fragments/222:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_exists/views/standard/fragments/222
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_exists/views/standard/fragments/222.cache:
--------------------------------------------------------------------------------
1 |
2 | �
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/0
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/1
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/10:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/10
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/100:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/100
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/101:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/101
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/102:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/102
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/103:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/103
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/104:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/104
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/105:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/105
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/106:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/106
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/107:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/107
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/108:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/108
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/109:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/109
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/11:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/11
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/110:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/110
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/111:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/111
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/112:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/112
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/113:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/113
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/114:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/114
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/115:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/115
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/116:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/116
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/117:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/117
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/118:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/118
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/119:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/119
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/12:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/12
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/120:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/120
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/121:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/121
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/122:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/122
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/123:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/123
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/124:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/124
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/125:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/125
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/126:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/126
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/127:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/127
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/128:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/128
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/129:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/129
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/13:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/13
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/130:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/130
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/131:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/131
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/132:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/132
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/133:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/133
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/134:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/134
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/135:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/135
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/136:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/136
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/137:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/137
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/138:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/138
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/139:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/139
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/14:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/14
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/140:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/140
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/141:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/141
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/142:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/142
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/143:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/143
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/144:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/144
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/145:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/145
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/146:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/146
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/147:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/147
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/148:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/148
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/149:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/149
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/15:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/15
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/150:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/150
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/151:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/151
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/152:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/152
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/153:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/153
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/154:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/154
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/155:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/155
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/156:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/156
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/157:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/157
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/158:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/158
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/159:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/159
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/16
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/160:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/160
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/161:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/161
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/162:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/162
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/163:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/163
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/164:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/164
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/165:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/165
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/166:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/166
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/167:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/167
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/168:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/168
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/169:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/169
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/17:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/17
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/170:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/170
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/171:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/171
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/172:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/172
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/173:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/173
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/174:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/174
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/175:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/175
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/176:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/176
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/177:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/177
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/178:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/178
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/179:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/179
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/18:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/18
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/180:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/180
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/181:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/181
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/182:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/182
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/183:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/183
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/184:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/184
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/185:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/185
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/186:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/186
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/187:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/187
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/188:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/188
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/189:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/189
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/19:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/19
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/190:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/190
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/191:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/191
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/192:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/192
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/193:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/193
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/194:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/194
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/195:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/195
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/196:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/196
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/197:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/197
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/198:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/198
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/199:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/199
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/2
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/20:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/20
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/200:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/200
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/201:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/201
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/202:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/202
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/203:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/203
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/204:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/204
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/205:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/205
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/206:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/206
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/207:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/207
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/208:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/208
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/209:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/209
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/21:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/21
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/210:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/210
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/211:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/211
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/212:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/212
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/213:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/213
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/214:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/214
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/215:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/215
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/216:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/216
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/217:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/217
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/218:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/218
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/219:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/219
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/22:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/22
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/220:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/220
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/221:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/221
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/222:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/222
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/223:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/223
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/224:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/224
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/225:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/225
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/226:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/226
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/227:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/227
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/228:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/228
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/229:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/229
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/23:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/23
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/230:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/230
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/231:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/231
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/232:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/232
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/233:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/233
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/234:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/234
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/235:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/235
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/236:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/236
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/237:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/237
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/238:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/238
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/239:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/239
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/24:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/24
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/240:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/240
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/241:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/241
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/242:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/242
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/243:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/243
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/244:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/244
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/245:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/245
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/246:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/246
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/247:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/247
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/248:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/248
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/249:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/249
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/25:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/25
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/250:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/250
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/251:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/251
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/252:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/252
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/253:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/253
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/254:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/254
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/255:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/255
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/26:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/26
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/27:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/27
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/28:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/28
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/29:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/29
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/3
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/30:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/30
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/31:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/31
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/32:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/32
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/33:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/33
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/34:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/34
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/35:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/35
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/36:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/36
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/37:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/37
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/38:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/38
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/39:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/39
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/4
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/40:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/40
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/41:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/41
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/42:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/42
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/43:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/43
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/44:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/44
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/45:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/45
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/46:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/46
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/47:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/47
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/48:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/48
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/49:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/49
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/5:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/5
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/50:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/50
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/51:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/51
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/52:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/52
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/53:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/53
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/54:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/54
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/55:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/55
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/56:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/56
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/57:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/57
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/58:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/58
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/59:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/59
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/6:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/6
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/60:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/60
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/61:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/61
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/62:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/62
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/63:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/63
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/64:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/64
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/65:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/65
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/66:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/66
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/67:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/67
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/68:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/68
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/69:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/69
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/7:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/7
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/70:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/70
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/71:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/71
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/72:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/72
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/73:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/73
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/74:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/74
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/75:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/75
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/76:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/76
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/77:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/77
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/78:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/78
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/79:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/79
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/8:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/8
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/80:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/80
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/81:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/81
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/82:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/82
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/83:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/83
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/84:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/84
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/85:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/85
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/86:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/86
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/87:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/87
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/88:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/88
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/89:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/89
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/9:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/9
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/90:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/90
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/91:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/91
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/92:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/92
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/93:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/93
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/94:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/94
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/95:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/95
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/96:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/96
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/97:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/97
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/98:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/98
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/_keys/99:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/_keys/99
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/language/.data:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/language/.data
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/language/.meta:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/language/.meta
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/language/keys:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/language/keys
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/language/views/standard/fragments/222:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/language/views/standard/fragments/222
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/language/views/standard/fragments/222.cache:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/stargazer/.data:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/stargazer/.data
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/stargazer/.meta:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/stargazer/.meta
--------------------------------------------------------------------------------
/cmd/roaring-migrate/testdata/data-dir/repository/stargazer/keys:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/cmd/roaring-migrate/testdata/data-dir/repository/stargazer/keys
--------------------------------------------------------------------------------
/const_amd64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | //go:build amd64
4 | // +build amd64
5 |
6 | package pilosa
7 |
8 | const TxInitialMmapSize = 4 << 30 // 4GB
9 |
--------------------------------------------------------------------------------
/const_other.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | //go:build !amd64
4 | // +build !amd64
5 |
6 | package pilosa
7 |
8 | // this is a stubbed out file to let 386/arm build.
9 |
10 | const TxInitialMmapSize = 1 << 30 // 1GB
11 |
--------------------------------------------------------------------------------
/ctl/doc.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | // package ctl contains all pilosa subcommands other than 'server'. These are
4 | // generally administration, testing, and debugging tools.
5 | package ctl
6 |
--------------------------------------------------------------------------------
/ctl/testdata/certs/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | # these test certs were generated with the following commands
4 |
5 | certstrap --depot-path certs init --common-name pilosa-ca --expires "100 years"
6 | certstrap --depot-path certs request-cert --common-name localhost --domain localhost
7 | certstrap --depot-path certs sign "localhost" --CA pilosa-ca --expires "100 years"
8 |
9 | # certstrap version
10 | dev-25ea708a
11 |
12 | (built with go 1.13)
13 |
--------------------------------------------------------------------------------
/ctl/testdata/err-invalid-page-type/data:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/ctl/testdata/err-invalid-page-type/data
--------------------------------------------------------------------------------
/ctl/testdata/err-invalid-page-type/wal:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/ctl/testdata/err-invalid-page-type/wal
--------------------------------------------------------------------------------
/ctl/testdata/ok/data:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/ctl/testdata/ok/data
--------------------------------------------------------------------------------
/ctl/testdata/ok/wal:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/ctl/testdata/ok/wal
--------------------------------------------------------------------------------
/ctl/testdata/permissions.yaml:
--------------------------------------------------------------------------------
1 | user-groups:
2 | "group-id-test":
3 | "test": "write"
4 | admin: "group-id-test"
5 |
--------------------------------------------------------------------------------
/dax/computer/computer.go:
--------------------------------------------------------------------------------
1 | // Package computer contains the compute-specific portions of the DAX
2 | // architecture. In general, this is a dumb FeatureBase node (or service) which
3 | // essentially contains the Executor and its interaction with the underlying
4 | // data.
5 | package computer
6 |
--------------------------------------------------------------------------------
/dax/computer/keys.go:
--------------------------------------------------------------------------------
1 | package computer
2 |
3 | import (
4 | "fmt"
5 | "path"
6 |
7 | "github.com/featurebasedb/featurebase/v3/dax"
8 | )
9 |
10 | const (
11 | keysFileName = "keys"
12 | )
13 |
14 | func partitionBucket(table dax.TableKey, partition dax.PartitionNum) string {
15 | return path.Join(string(table), "partition", fmt.Sprintf("%d", partition))
16 | }
17 |
18 | func shardKey(shard dax.ShardNum) string {
19 | return path.Join("shard", fmt.Sprintf("%d", shard))
20 | }
21 |
22 | func fieldBucket(table dax.TableKey, field dax.FieldName) string {
23 | return path.Join(string(table), "field", string(field))
24 | }
25 |
--------------------------------------------------------------------------------
/dax/controller.go:
--------------------------------------------------------------------------------
1 | package dax
2 |
3 | type Controller interface {
4 | Noder
5 | Schemar
6 | }
7 |
8 | // Ensure type implements interface.
9 | var _ Noder = &nopController{}
10 | var _ Schemar = &nopController{}
11 |
12 | // nopController is a no-op implementation of the Controller interface.
13 | type nopController struct {
14 | nopNoder
15 | NopSchemar
16 | }
17 |
18 | func NewNopController() *nopController {
19 | return &nopController{}
20 | }
21 |
--------------------------------------------------------------------------------
/dax/controller/poller/config.go:
--------------------------------------------------------------------------------
1 | package poller
2 |
3 | import (
4 | "time"
5 |
6 | "github.com/featurebasedb/featurebase/v3/dax"
7 | "github.com/featurebasedb/featurebase/v3/logger"
8 | )
9 |
10 | type Config struct {
11 | AddressManager dax.AddressManager
12 | WorkerRegistry dax.WorkerRegistry
13 | NodePoller NodePoller
14 | PollInterval time.Duration
15 | Logger logger.Logger
16 | }
17 |
--------------------------------------------------------------------------------
/dax/controller/sqldb/balancer.go:
--------------------------------------------------------------------------------
1 | package sqldb
2 |
3 | import (
4 | "github.com/featurebasedb/featurebase/v3/dax/controller/balancer"
5 | "github.com/featurebasedb/featurebase/v3/logger"
6 | )
7 |
8 | // NewBalancer returns a new instance of controller.Balancer.
9 | func NewBalancer(log logger.Logger) *balancer.Balancer {
10 | schemar := NewSchemar(log)
11 | fjs := NewFreeJobService(log)
12 | wjs := NewWorkerJobService(log)
13 | fws := NewFreeWorkerService(log)
14 | ns := NewWorkerRegistry(log)
15 |
16 | return balancer.New(ns, fjs, wjs, fws, schemar, log)
17 | }
18 |
--------------------------------------------------------------------------------
/dax/controller/sqldb/util.go:
--------------------------------------------------------------------------------
1 | package sqldb
2 |
3 | import "strings"
4 |
5 | func isNoRowsError(err error) bool {
6 | return err != nil && strings.Contains(err.Error(), "no rows in result set")
7 | }
8 |
9 | func isViolatesUniqueConstraint(err error) bool {
10 | return err != nil && strings.Contains(err.Error(), "duplicate key value violates unique constraint")
11 | }
12 |
--------------------------------------------------------------------------------
/dax/dax.go:
--------------------------------------------------------------------------------
1 | // Package dax defines DAX domain level types.
2 | package dax
3 |
4 | // ServicePrefixes are used as the service prefix value in http handlers.
5 | const (
6 | ServicePrefixComputer = "computer"
7 | ServicePrefixController = "controller"
8 | ServicePrefixQueryer = "queryer"
9 | ServicePrefixSnapshotter = "snapshotter"
10 | ServicePrefixWritelogger = "writelogger"
11 | )
12 |
--------------------------------------------------------------------------------
/dax/migrations.go:
--------------------------------------------------------------------------------
1 | package dax
2 |
3 | import "embed"
4 |
5 | // MigrationsFS will hold the contents of the migrations directory as
6 | // a filesystem object embedded in the binary. Pretty neat!
7 | //
8 | //go:embed migrations/*
9 | var MigrationsFS embed.FS
10 |
--------------------------------------------------------------------------------
/dax/migrations/001_initial.down.fizz:
--------------------------------------------------------------------------------
1 | drop_table("organizations")
2 | drop_table("databases")
3 | drop_table("tables")
4 | drop_table("columns")
5 | drop_table("nodes")
6 | drop_table("node_roles")
7 | drop_table("workers")
8 | drop_table("jobs")
9 | drop_table("directive_versions")
--------------------------------------------------------------------------------
/dax/migrations/002_directiveversion_by_address.down.fizz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/dax/migrations/002_directiveversion_by_address.down.fizz
--------------------------------------------------------------------------------
/dax/migrations/002_directiveversion_by_address.up.fizz:
--------------------------------------------------------------------------------
1 | create_table("directive_versions_tmp") {
2 | t.Column("id", "string", {primary: true})
3 | t.Column("version", "int")
4 | t.Timestamps()
5 | }
6 |
7 | sql("insert into directive_versions_tmp (id, version, created_at, updated_at) select address, 0, created_at, updated_at from workers where role = 'compute';")
8 |
9 | sql("update directive_versions_tmp set version = (select version from directive_versions where id = 1);")
10 |
11 | drop_table("directive_versions")
12 |
13 | rename_table("directive_versions_tmp", "directive_versions")
14 |
--------------------------------------------------------------------------------
/dax/migrations/003_node_to_worker.down.fizz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/dax/migrations/003_node_to_worker.down.fizz
--------------------------------------------------------------------------------
/dax/models/directiveversion.go:
--------------------------------------------------------------------------------
1 | package models
2 |
3 | import (
4 | "encoding/json"
5 | "time"
6 | )
7 |
8 | // DirectiveVersion holds what version the current directive is
9 | type DirectiveVersion struct {
10 | ID string `json:"id" db:"id"`
11 | Version int `json:"version" db:"version"`
12 | CreatedAt time.Time `json:"created_at" db:"created_at"`
13 | UpdatedAt time.Time `json:"updated_at" db:"updated_at"`
14 | }
15 |
16 | // String is not required by pop and may be deleted
17 | func (t *DirectiveVersion) String() string {
18 | jt, _ := json.MarshalIndent(t, " ", " ") //nolint:errchkjson
19 | return string(jt)
20 | }
21 |
--------------------------------------------------------------------------------
/dax/server/dup.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. All rights reserved.
2 | //go:build darwin || (linux && !arm64)
3 | // +build darwin linux,!arm64
4 |
5 | package server
6 |
7 | import (
8 | "syscall"
9 | )
10 |
11 | // dup is an alias for syscall.Dup2 on darwin-amd64, darwin-arm64,
12 | // linux-amd64, linux-arm or syscall.Dup3 on linux-arm64
13 | func (m *Command) dup(oldfd int, newfd int) error {
14 | return syscall.Dup2(oldfd, newfd)
15 | }
16 |
--------------------------------------------------------------------------------
/dax/server/dup_arm64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. All rights reserved.
2 | //go:build linux && arm64
3 | // +build linux,arm64
4 |
5 | package server
6 |
7 | import (
8 | "syscall"
9 | )
10 |
11 | // dup is an alias for syscall.Dup2 on darwin-amd64, darwin-arm64,
12 | // linux-amd64, linux-arm or syscall.Dup3 on linux-arm64
13 | func (m *Command) dup(oldfd int, newfd int) error {
14 | return syscall.Dup3(oldfd, newfd, 0)
15 | }
16 |
--------------------------------------------------------------------------------
/dax/snapshot.go:
--------------------------------------------------------------------------------
1 | package dax
2 |
3 | type SnapshotShardDataRequest struct {
4 | Address Address `json:"address"`
5 |
6 | TableKey TableKey `json:"table-key"`
7 | ShardNum ShardNum `json:"shard"`
8 | }
9 |
10 | type SnapshotTableKeysRequest struct {
11 | Address Address `json:"address"`
12 |
13 | TableKey TableKey `json:"table-key"`
14 | PartitionNum PartitionNum `json:"partition"`
15 | }
16 |
17 | type SnapshotFieldKeysRequest struct {
18 | Address Address `json:"address"`
19 |
20 | TableKey TableKey `json:"table-key"`
21 | Field FieldName `json:"field"`
22 | }
23 |
--------------------------------------------------------------------------------
/dax/storage/util.go:
--------------------------------------------------------------------------------
1 | package storage
2 |
3 | import "io"
4 |
5 | // trackingReader wraps a Reader and calls an custom "update" function
6 | // whenever Read is called. Used by the storage layer to keep track of
7 | // how much of the writelog has been read.
8 | type trackingReader struct {
9 | r io.Reader
10 | update func(int, error)
11 | }
12 |
13 | func (tr *trackingReader) Read(p []byte) (n int, err error) {
14 | n, err = tr.r.Read(p)
15 | tr.update(n, err)
16 | return n, err
17 | }
18 |
19 | func (tr *trackingReader) Close() error {
20 | if closer, ok := tr.r.(io.Closer); ok {
21 | return closer.Close()
22 | }
23 | return nil
24 | }
25 |
--------------------------------------------------------------------------------
/doc.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | /*
4 |
5 | Package pilosa implements the core of the Pilosa distributed bitmap index. It
6 | contains all the domain objects, interfaces, and logic that defines pilosa.
7 |
8 | */
9 | package pilosa
10 |
--------------------------------------------------------------------------------
/et_test.go:
--------------------------------------------------------------------------------
1 | package pilosa_test
2 |
3 | import (
4 | "testing"
5 |
6 | "github.com/featurebasedb/featurebase/v3/test"
7 | "github.com/featurebasedb/featurebase/v3/vprint"
8 | )
9 |
10 | func TestEtcd_StartStop(t *testing.T) {
11 | c := test.MustRunUnsharedCluster(t, 1)
12 | err := c.Close()
13 | vprint.VV("DONE %v", err)
14 | }
15 |
--------------------------------------------------------------------------------
/etcd/enterprise_cluster.go:
--------------------------------------------------------------------------------
1 | //go:build !plg
2 | // +build !plg
3 |
4 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
5 | // SPDX-License-Identifier: Apache-2.0
6 | package etcd
7 |
8 | // allows us to conditionally build an enterprise version of
9 | // FB that does cluster, in contrast to the PLG version.
10 | func AllowCluster() bool {
11 | return true
12 | }
13 |
--------------------------------------------------------------------------------
/etcd/plg_cluster.go:
--------------------------------------------------------------------------------
1 | //go:build plg
2 | // +build plg
3 |
4 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
5 | // SPDX-License-Identifier: Apache-2.0
6 | package etcd
7 |
8 | // allows us to conditionally build a version of FB that does not
9 | // cluster, to make a demo available for our Product Led Growth.
10 | func AllowCluster() bool {
11 | return false
12 | }
13 |
--------------------------------------------------------------------------------
/event.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | package pilosa
4 |
5 | import "github.com/featurebasedb/featurebase/v3/disco"
6 |
7 | // NodeEventType are the types of node events.
8 | type NodeEventType int
9 |
10 | // Constant node event types.
11 | const (
12 | NodeJoin NodeEventType = iota
13 | NodeLeave
14 | NodeUpdate
15 | )
16 |
17 | // NodeEvent is a single event related to node activity in the cluster.
18 | type NodeEvent struct {
19 | Event NodeEventType
20 | Node *disco.Node
21 | }
22 |
--------------------------------------------------------------------------------
/extendiblehash/key.go:
--------------------------------------------------------------------------------
1 | package extendiblehash
2 |
3 | import (
4 | "github.com/zeebo/xxh3"
5 | )
6 |
7 | type Hashable interface {
8 | Hash() uint64
9 | }
10 |
11 | // use the same seed all the time - this is not for crypto
12 | var protoSeed uint64 = 20041973
13 |
14 | var hasher = xxh3.NewSeed(protoSeed)
15 |
16 | type Key []byte
17 |
18 | // BEWARE - not concurrent!!
19 | func (k Key) Hash() uint64 {
20 | hasher.Reset()
21 | hasher.Write(k)
22 | hash := hasher.Sum64()
23 | return hash
24 | }
25 |
--------------------------------------------------------------------------------
/idk/.cloud-env.template:
--------------------------------------------------------------------------------
1 | PROFILE = <replace with local AWS profile name>
2 | AWS_REGION = <replace with region where image should live>
3 | ECR_URL = <replace with ECR URL for the account>
4 | ECR_REPO = <replace with ECR repo name>
5 |
--------------------------------------------------------------------------------
/idk/Dockerfile-fakeIDP:
--------------------------------------------------------------------------------
1 | FROM golang:1.19
2 |
3 | WORKDIR /
4 | COPY fakeidp ./
5 | RUN go build .
6 |
7 | ENTRYPOINT ["/fakeidpidk"]
8 |
--------------------------------------------------------------------------------
/idk/Dockerfile-wait:
--------------------------------------------------------------------------------
1 | FROM ubuntu:18.04
2 |
3 | RUN ["apt-get", "update", "-y"]
4 | RUN ["apt-get", "install", "-y", "postgresql-client", "curl", "netcat"]
5 |
6 | ADD wait.sh /wait
7 |
8 | ENTRYPOINT ["/wait"]
9 |
--------------------------------------------------------------------------------
/idk/bankgen/put_test.go:
--------------------------------------------------------------------------------
1 | package bankgen
2 |
3 | import (
4 | "fmt"
5 | "math/rand"
6 | "testing"
7 | "time"
8 | )
9 |
10 | func TestBankgen(t *testing.T) {
11 | p, err := NewPutCmd()
12 | if err != nil {
13 | t.Fatalf("failed to get NewPutCmd: %v", err)
14 | }
15 |
16 | p.KafkaBootstrapServers = []string{"kafka:9092"}
17 | p.SchemaRegistryURL = "http://schema-registry:8081"
18 | p.Topic = fmt.Sprintf("topic-%d", rand.New(rand.NewSource(time.Now().Unix())).Uint64())
19 | p.NumRecords = 100
20 |
21 | err = p.Run()
22 | if err != nil {
23 | t.Fatalf("failed to run bankgen: %v", err)
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/idk/cmd/ingester/README.md:
--------------------------------------------------------------------------------
1 | ## Ingester
2 |
3 | _Ingester service_ consumes [Programmatic Ingest API](https://github.com/molecula/docs/blob/master/docs/internal/proposals/programmatic-ingest-api.md)
4 | and sends data to the _Pilosa service_.
5 |
6 | ```
7 | Usage of ./ingester:
8 | --dry-run Dry run - just flag parsing.
9 | --http-addr string HTTP address for Ingester. (default "localhost:8080")
10 | --pilosa-hosts strings Comma separated list of host:port pairs for Pilosa. (default [localhost:10101])
11 |
12 | ```
13 |
--------------------------------------------------------------------------------
/idk/cmd/molecula-consumer-github/README.md:
--------------------------------------------------------------------------------
1 | ### Example
2 | ```
3 | ./molecula-consumer-github -d id -i events --record-type event --batch-size=100000 --start-time "2015-10-13T00:00:00Z"
4 | ```
5 |
--------------------------------------------------------------------------------
/idk/datagen/testdata/file_with_line_delimited_values:
--------------------------------------------------------------------------------
1 | blah
2 | blee
3 | bloo
4 | bleh
5 | blin
--------------------------------------------------------------------------------
/idk/datagen/testdata/gender.txt:
--------------------------------------------------------------------------------
1 | Male,0.48
2 | Female,0.48
3 | Transgender,0.01
4 | Other,0.01
5 | Unspecified,0.02
6 |
--------------------------------------------------------------------------------
/idk/docker-sasl/client-ssl-test.conf:
--------------------------------------------------------------------------------
1 | sasl.mechanism=PLAIN
2 | security.protocol=SASL_SSL
3 | group.id=testGroup
4 | ssl.truststore.location=./ssl_keys/client_kafkaClient_client.truststore.jks
5 | ssl.truststore.password=123456
6 | sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
7 | username="kafkaClient1" password="kafkaClient1pw";
--------------------------------------------------------------------------------
/idk/docker-sasl/jaas_zookeeper_server.conf:
--------------------------------------------------------------------------------
1 | Server {
2 | org.apache.zookeeper.server.auth.DigestLoginModule required
3 | username="zookeperServer1"
4 | password="zookeperServer1pw"
5 | user_zookeperServer1="zookeperServer1pw"
6 | ;
7 | };
--------------------------------------------------------------------------------
/idk/docker-sasl/ssl_keys/broker_kafkaBroker_server.keystore.jks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/idk/docker-sasl/ssl_keys/broker_kafkaBroker_server.keystore.jks
--------------------------------------------------------------------------------
/idk/docker-sasl/ssl_keys/broker_kafkaBroker_server.truststore.jks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/idk/docker-sasl/ssl_keys/broker_kafkaBroker_server.truststore.jks
--------------------------------------------------------------------------------
/idk/docker-sasl/ssl_keys/ca-cert.srl:
--------------------------------------------------------------------------------
1 | F86C06627EC9FF73
2 |
--------------------------------------------------------------------------------
/idk/docker-sasl/ssl_keys/client-ssl-test.conf:
--------------------------------------------------------------------------------
1 | ssl.endpoint.identification.algorithm=https
2 | sasl.mechanism=PLAIN
3 | request.timeout.ms=20000
4 | retry.backoff.ms=500
5 | security.protocol=SASL_SSL
6 | group.id=testGroup
7 | ssl.truststore.location=client_kafkaClient_client.truststore.jks
8 | ssl.truststore.password=123456
9 | sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
10 | username="kafkaClient1" password="kafkaClient1pw";
11 | ssl.ca.location=ca-cert
12 | ssl.certificate.location=client_kafkaClient_client.pem
13 | ssl.key.location=client_kafkaClient_client.key
14 | ssl.key.password=123456
--------------------------------------------------------------------------------
/idk/docker-sasl/ssl_keys/client_kafkaClient_client.keystore.jks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/idk/docker-sasl/ssl_keys/client_kafkaClient_client.keystore.jks
--------------------------------------------------------------------------------
/idk/docker-sasl/ssl_keys/client_kafkaClient_client.truststore.jks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/idk/docker-sasl/ssl_keys/client_kafkaClient_client.truststore.jks
--------------------------------------------------------------------------------
/idk/docker-sasl/ssl_keys/credentials:
--------------------------------------------------------------------------------
1 | 123456
--------------------------------------------------------------------------------
/idk/dup.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | //go:build darwin || (linux && !arm64)
4 | // +build darwin linux,!arm64
5 |
6 | package idk
7 |
8 | import (
9 | "syscall"
10 | )
11 |
12 | // dup is an alias for syscall.Dup2 on darwin-amd64, darwin-arm64,
13 | // linux-amd64, linux-arm or syscall.Dup3 on linux-arm64
14 | func dup(oldfd int, newfd int) error {
15 | return syscall.Dup2(oldfd, newfd)
16 | }
17 |
--------------------------------------------------------------------------------
/idk/dup_arm64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | //go:build linux && arm64
5 | // +build linux,arm64
6 |
7 | package idk
8 |
9 | import (
10 | "syscall"
11 | )
12 |
13 | // dup is an alias for syscall.Dup2 on darwin-amd64, darwin-arm64,
14 | // linux-amd64, linux-arm or syscall.Dup3 on linux-arm64
15 | func dup(oldfd int, newfd int) error {
16 | return syscall.Dup3(oldfd, newfd, 0)
17 | }
18 |
--------------------------------------------------------------------------------
/idk/fakeidp/go.mod:
--------------------------------------------------------------------------------
1 | module fakeidpidk
2 |
3 | go 1.17
4 |
5 | require github.com/golang-jwt/jwt v3.2.2+incompatible
6 |
--------------------------------------------------------------------------------
/idk/fakeidp/go.sum:
--------------------------------------------------------------------------------
1 | github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY=
2 | github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
3 |
--------------------------------------------------------------------------------
/idk/file_with_line_delimited_values:
--------------------------------------------------------------------------------
1 | blah
2 | bleh
3 | bloo
4 | blee
5 | blin
6 |
--------------------------------------------------------------------------------
/idk/kafka/testdata/records/alltypes_delete_fields.json:
--------------------------------------------------------------------------------
1 | {"pk0": "9z4aw", "pk1": "5ptDx", "pk2": "CKs1F", "fields": ["int_long","int_int"]}
2 | {"pk0": "6TKzc", "pk1": "YKLk9", "pk2": "h1iqc", "fields": ["stringset_string","string_string","stringset_bytes","string_bytes","stringset_stringarray","stringset_bytesarray","idset_long","id_long","idset_int","id_int","idset_longarray","idset_intarray"]}
3 | {"pk0": "RKE3c", "pk1": "6TKzc", "pk2": "RKE3c", "fields": ["decimal_bytes","decimal_float","decimal_double"]}
4 | {"pk0": "ASSAw", "pk1": "kauLy", "pk2": "oxjI0", "fields": ["bools","bools-exists"]}
5 | {"pk0": "yg8hY", "pk1": "tvNOB", "pk2": "byHh9", "fields": ["dateint_bytes_ts"]}
--------------------------------------------------------------------------------
/idk/kafka/testdata/records/alltypes_delete_records.json:
--------------------------------------------------------------------------------
1 | {"ids": {"null": null}, "keys": {"array": ["9z4aw|5ptDx|CKs1F", "ASSAw|kauLy|oxjI0"]}, "filter": {"null": null}}
2 | {"ids": {"null": null}, "keys": {"null": null}, "filter": {"string": "Row(stringset_string='58KIR')"}}
3 |
--------------------------------------------------------------------------------
/idk/kafka/testdata/records/alltypes_delete_records_ids.json:
--------------------------------------------------------------------------------
1 | {"ids": {"array": [1,2]}, "keys": {"null": null}, "filter": {"null": null}}
2 | {"ids": {"null": null}, "keys": {"null": null}, "filter": {"string": "Row(stringset_string='58KIR')"}}
3 |
--------------------------------------------------------------------------------
/idk/kafka/testdata/schemas/alltypes_delete_fields.json:
--------------------------------------------------------------------------------
1 | {
2 | "namespace": "org.test",
3 | "type": "record",
4 | "name": "alltypes_delete_fields",
5 | "delete": "fields",
6 | "fields": [
7 | {"name": "pk0", "type": "string"},
8 | {"name": "pk1", "type": "string"},
9 | {"name": "pk2", "type": "string"},
10 | {"name": "fields", "type": {"type": "array", "items": "string"}}
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/idk/kafka/testdata/schemas/alltypes_delete_records.json:
--------------------------------------------------------------------------------
1 | {
2 | "namespace": "org.test",
3 | "type": "record",
4 | "name": "alltypes_delete_records",
5 | "docs": "supply list of keys or a PQL filter",
6 | "delete": "records",
7 | "fields": [
8 | {"name": "ids", "type": [{"type": "array", "items": "int"}, "null"]},
9 | {"name": "keys", "type": [{"type": "array", "items": "string"}, "null"]},
10 | {"name": "filter", "type": ["string", "null"]}
11 | ]
12 | }
--------------------------------------------------------------------------------
/idk/kafka/testdata/schemas/decimal.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "record",
3 | "namespace": "com.example",
4 | "name": "Decimal",
5 | "fields": [
6 | { "name": "somenum", "type": "bytes", "logicalType": "decimal", "scale": 2, "precision": 5 }
7 | ]
8 | }
9 |
--------------------------------------------------------------------------------
/idk/kafka/testdata/schemas/delete.json:
--------------------------------------------------------------------------------
1 | {
2 | "namespace": "org.test",
3 | "type": "record",
4 | "name": "deletes",
5 | "doc": "",
6 | "fields": [
7 | {
8 | "name": "pk",
9 | "type": "long"
10 | },
11 | {
12 | "name": "fields",
13 | "type": {
14 | "type": "array",
15 | "items": "string"
16 | }
17 | }
18 | ]
19 | }
20 |
--------------------------------------------------------------------------------
/idk/kafka/testdata/schemas/fieldisrecord.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "record",
3 | "namespace": "com.example",
4 | "name": "FullName",
5 | "fields": [
6 | { "name": "first", "type": "string" },
7 | { "name": "last", "type":
8 | {"type": "record",
9 | "name": "blah",
10 | "fields": [{"name": "field0", "type": "long"}]
11 | }
12 | }
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/idk/kafka/testdata/schemas/floatscale.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "record",
3 | "namespace": "com.example",
4 | "name": "FullName",
5 | "fields": [
6 | { "name": "first", "type": "float", "scale": 4 }
7 | ]
8 | }
9 |
--------------------------------------------------------------------------------
/idk/kafka/testdata/schemas/ids.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "record",
3 | "namespace": "com.example",
4 | "name": "ids",
5 | "fields": [
6 | { "name": "val", "type": "int" }
7 | ]
8 | }
9 |
--------------------------------------------------------------------------------
/idk/kafka/testdata/schemas/notarecord.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "map",
3 | "values": "long"
4 | }
5 |
--------------------------------------------------------------------------------
/idk/kafka/testdata/schemas/simple.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "record",
3 | "namespace": "com.example",
4 | "name": "FullName",
5 | "fields": [
6 | { "name": "first", "type": "string" },
7 | { "name": "last", "type": "string" }
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/idk/kafka/testdata/schemas/stringtypes.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "record",
3 | "namespace": "com.example",
4 | "name": "FullName",
5 | "fields": [
6 | { "name": "first", "type": {"name": "firsts", "type": "enum", "symbols": ["blah", "bleh"]} },
7 | { "name": "last", "type": "bytes" },
8 | {"name": "middle", "type": {"type": "fixed", "name": "middlefixed", "size": 9}}
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/idk/kafka/testdata/schemas/timestamp.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "record",
3 | "namespace": "com.example",
4 | "name": "TimeName",
5 | "fields": [
6 | { "name": "time_samir", "type": "bytes", "logicalType":"timestamp", "fieldType": "timestamp", "granularity": "s", "unit":"ms"}
7 | ]
8 | }
9 |
--------------------------------------------------------------------------------
/idk/kafka/testdata/schemas/unions.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "record",
3 | "namespace": "com.example",
4 | "name": "FullName",
5 | "fields": [
6 | { "name": "first", "type": ["null", "string"]},
7 | { "name": "second", "type": ["null", "boolean"]},
8 | { "name": "third", "type": ["null", "long"]},
9 | { "name": "fourth", "type": ["null", {"type": "bytes", "logicalType": "decimal", "scale": 3, "precision": 8}]},
10 | { "name": "fifth", "type": ["null", {"type": "double", "scale": 2}]}
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/idk/kafka_static/testdata/Flat.json:
--------------------------------------------------------------------------------
1 | [
2 | {"name": "first", "path": ["first"], "type": "string"}
3 | ]
--------------------------------------------------------------------------------
/idk/kafka_static/testdata/Lookup.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name": "int",
4 | "path": [
5 | "int"
6 | ],
7 | "type": "int"
8 | },
9 | {
10 | "name": "text",
11 | "path": [
12 | "text"
13 | ],
14 | "type": "lookupText"
15 | }
16 | ]
17 |
--------------------------------------------------------------------------------
/idk/kafka_static/testdata/LookupDuplicate.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name": "int",
4 | "path": [
5 | "int"
6 | ],
7 | "type": "int"
8 | },
9 | {
10 | "name": "text",
11 | "path": [
12 | "text"
13 | ],
14 | "type": "lookupText"
15 | },
16 | {
17 | "name": "text",
18 | "path": [
19 | "text"
20 | ],
21 | "type": "lookupText"
22 | }
23 | ]
24 |
--------------------------------------------------------------------------------
/idk/kafka_static/testdata/LookupId.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name": "int",
4 | "path": [
5 | "int"
6 | ],
7 | "type": "int"
8 | },
9 | {
10 | "name": "id",
11 | "path": [
12 | "text"
13 | ],
14 | "type": "lookupText"
15 | }
16 | ]
17 |
--------------------------------------------------------------------------------
/idk/kafka_static/testdata/Tree.json:
--------------------------------------------------------------------------------
1 | [
2 | {"name": "protocol", "path": ["protocol"], "type": "string", "config": {"Mutex": true}},
3 | {"name": "port", "path": ["port"], "type": "int"},
4 | {"name": "client", "path": ["client"], "type": "string", "config": {"Mutex": true}},
5 | {"name": "server", "path": ["server"], "type": "string", "config": {"Mutex": true}},
6 | {"name": "suspicious", "path": ["metadata", "suspicious"], "type": "bool"},
7 | {"name": "region", "path": ["metadata", "region"], "type": "string", "config": {"Mutex": true}}
8 | ]
--------------------------------------------------------------------------------
/idk/kinesis/cmd_test.go:
--------------------------------------------------------------------------------
1 | package kinesis
2 |
3 | import (
4 | "testing"
5 |
6 | "github.com/stretchr/testify/assert"
7 | )
8 |
9 | func TestNewMain(t *testing.T) {
10 | m := NewMain()
11 | assert.NotNil(t, m)
12 | }
13 |
--------------------------------------------------------------------------------
/idk/kinesis/testdata/header.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name": "language",
4 | "path": [
5 | "language"
6 | ],
7 | "type": "id",
8 | "config": {
9 | "Mutex": false
10 | }
11 | },
12 | {
13 | "name": "project_id",
14 | "path": [
15 | "project_id"
16 | ],
17 | "type": "id",
18 | "config": {
19 | "Mutex": false
20 | }
21 | }
22 | ]
--------------------------------------------------------------------------------
/idk/kinesis/testdata/invalid_offsets.json:
--------------------------------------------------------------------------------
1 | invalid contents
--------------------------------------------------------------------------------
/idk/sample.csv:
--------------------------------------------------------------------------------
1 | asset_tag__String,fan_time__RecordTime_2006-01-02,fan_val__String_F_YMD
2 | ABCD,2019-01-02,70%
3 | ABCD,2019-01-03,20%
4 | ABCD,2019-01-04,30%
5 | BEDF,2019-01-02,70%
6 | BEDF,2019-01-05,90%
7 | BEDF,2019-01-08,10%
8 | BEDF,2019-01-08,20%
9 | ABCD,2019-01-30,40%
10 |
--------------------------------------------------------------------------------
/idk/sql/odbc.go:
--------------------------------------------------------------------------------
1 | //go:build odbc
2 | // +build odbc
3 |
4 | package sql
5 |
6 | import _ "github.com/alexbrainman/odbc"
7 |
--------------------------------------------------------------------------------
/idk/testdata/certs/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | # these test certs were generated with the following commands
4 |
5 | certstrap --depot-path certs init --common-name pilosa-ca --expires "100 years"
6 | certstrap --depot-path certs request-cert --common-name localhost --domain localhost
7 | certstrap --depot-path certs sign "localhost" --CA pilosa-ca --expires "100 years"
8 |
9 | # certstrap version
10 | dev-25ea708a
11 |
12 | (built with go 1.13)
13 |
--------------------------------------------------------------------------------
/idk/testdata/permissions.yaml:
--------------------------------------------------------------------------------
1 | user-groups:
2 | "group-id-test":
3 | "test": "write"
4 | admin: "group-id-test"
5 |
--------------------------------------------------------------------------------
/idk/util.go:
--------------------------------------------------------------------------------
1 | package idk
2 |
3 | import (
4 | "github.com/featurebasedb/featurebase/v3/pql"
5 | )
6 |
7 | func scaledStringToInt(scale int64, num string) (int64, error) {
8 | d, err := pql.ParseDecimal(num)
9 | if err != nil {
10 | return 0, err
11 | }
12 | return d.ToInt64(scale), nil
13 | }
14 |
--------------------------------------------------------------------------------
/idk/version.go:
--------------------------------------------------------------------------------
1 | package idk
2 |
3 | var Version = "v0.0.0"
4 | var BuildTime = "not recorded"
5 |
--------------------------------------------------------------------------------
/idk/wait.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | name=$1
4 | shift
5 |
6 | _start_ts=$(date +%s)
7 | elapsed=0
8 | timeout=120
9 | while :
10 | do
11 | $@ > /dev/null
12 | _ret=$?
13 | _end_ts=$(date +%s)
14 | if [ $_ret -eq 0 ]; then
15 | echo "$name is available after $((_end_ts - _start_ts)) seconds."
16 | break
17 | else
18 | echo "Waiting for $name after $((_end_ts - _start_ts)) seconds."
19 | fi
20 | sleep 1s
21 | elapsed=$((elapsed+1))
22 | if [ $elapsed -ge $timeout ]; then
23 | exit 110
24 | fi
25 | done
26 | set -ex
27 |
--------------------------------------------------------------------------------
/index_internal_test.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | package pilosa
4 |
5 | import (
6 | "testing"
7 | )
8 |
9 | // mustOpenIndex returns a new, opened index at a temporary path. Panic on error.
10 | func mustOpenIndex(tb testing.TB, opt IndexOptions) *Index {
11 | h := newTestHolder(tb)
12 | index, err := h.CreateIndex("i", "", opt)
13 |
14 | if err != nil {
15 | panic(err)
16 | }
17 |
18 | index.keys = opt.Keys
19 | index.trackExistence = opt.TrackExistence
20 |
21 | return index
22 | }
23 |
--------------------------------------------------------------------------------
/install/featurebase.debian.service:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description="Service for FeatureBase"
3 | After=network.target
4 |
5 | [Service]
6 | Restart=on-failure
7 | EnvironmentFile=
8 | User=molecula
9 | ExecStart=/usr/bin/featurebase server -c /etc/featurebase/featurebase.conf
10 |
11 | [Install]
12 | WantedBy=multi-user.target
13 |
--------------------------------------------------------------------------------
/install/featurebase.redhat.service:
--------------------------------------------------------------------------------
1 | [Unit]
2 | After=network.target
3 | Description=Service for FeatureBase
4 | Documentation=https://docs.featurebase.com/
5 | DefaultDependencies=no
6 | ConditionPathExists=/etc/featurebase/featurebase.conf
7 |
8 | [Service]
9 | User=featurebase
10 | Group=featurebase
11 | WorkingDirectory=/var/lib/featurebase
12 | EnvironmentFile=
13 | ExecStart=/usr/bin/featurebase server -c /etc/featurebase/featurebase.conf
14 | Restart=on-failure
15 |
16 | [Install]
17 | WantedBy=multi-user.target
18 |
--------------------------------------------------------------------------------
/install/test_installation.Dockerfile:
--------------------------------------------------------------------------------
1 | FROM fedora:rawhide
2 |
3 | RUN yum -y install systemd procps
4 |
5 | ARG release_tarball
6 |
7 | COPY $release_tarball .
8 |
9 | COPY test_installation.sh test_installation.sh
10 |
11 | RUN mkdir install && \
12 | tar -xf $release_tarball -C install --strip-components 1 && \
13 | cd install && \
14 | cp featurebase /usr/local/bin/featurebase && \
15 | cp featurebase.redhat.service /etc/systemd/system/featurebase.service && \
16 | cp featurebase.conf /etc/featurebase.conf
17 |
18 | CMD ["/bin/bash", "test_installation.sh"]
19 |
--------------------------------------------------------------------------------
/internal/clustertests/Dockerfile-fakeIDP:
--------------------------------------------------------------------------------
1 | FROM golang:1.16
2 |
3 | WORKDIR /
4 | COPY fakeidp ./
5 | RUN go build .
6 |
7 | ENTRYPOINT ["/fakeidpclustertests"]
8 |
--------------------------------------------------------------------------------
/internal/clustertests/fakeidp/go.mod:
--------------------------------------------------------------------------------
1 | module fakeidpclustertests
2 |
3 | go 1.17
4 |
5 | require github.com/golang-jwt/jwt v3.2.2+incompatible
6 |
--------------------------------------------------------------------------------
/internal/clustertests/fakeidp/go.sum:
--------------------------------------------------------------------------------
1 | github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY=
2 | github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
3 |
--------------------------------------------------------------------------------
/internal/clustertests/testdata/certs/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | # these test certs were generated with the following commands
4 |
5 | certstrap --depot-path certs init --common-name pilosa-ca --expires "100 years"
6 | certstrap --depot-path certs request-cert --common-name localhost --domain localhost
7 | certstrap --depot-path certs sign "localhost" --CA pilosa-ca --expires "100 years"
8 |
9 | # certstrap version
10 | dev-25ea708a
11 |
12 | (built with go 1.13)
13 |
--------------------------------------------------------------------------------
/internal/clustertests/testdata/permissions.yaml:
--------------------------------------------------------------------------------
1 | user-groups:
2 | "group-id-test":
3 | "test": "write"
4 | admin: "group-id-test"
5 |
--------------------------------------------------------------------------------
/lattice/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | npm-debug.log*
15 | yarn-debug.log*
16 | yarn-error.log*
17 |
--------------------------------------------------------------------------------
/lattice/Caddyfile:
--------------------------------------------------------------------------------
1 | :80
2 | root * /lattice
3 | file_server
4 |
--------------------------------------------------------------------------------
/lattice/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM ghcr.io/featurebasedb/nodejs:0.0.1 as build
2 | # make sure that your docker settings allow for at least like 4gb of ram, it
3 | # takes a lot to build this
4 | WORKDIR /lattice
5 | COPY package.json ./
6 | RUN apk update && apk upgrade yarn
7 | RUN yarn install --network-timeout 100000
8 |
9 | COPY . ./
10 | RUN yarn build
11 |
12 | FROM caddy
13 | COPY --from=build /lattice/build /lattice
14 | COPY Caddyfile /etc/caddy/Caddyfile
15 |
--------------------------------------------------------------------------------
/lattice/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/lattice/public/favicon.ico
--------------------------------------------------------------------------------
/lattice/public/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/lattice/public/favicon.png
--------------------------------------------------------------------------------
/lattice/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "FeatureBase",
3 | "name": "FeatureBase Demo App",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "64x64 32x32 24x24 16x16",
8 | "type": "image/x-icon"
9 | }
10 | ],
11 | "start_url": ".",
12 | "display": "standalone",
13 | "theme_color": "#000000",
14 | "background_color": "#ffffff"
15 | }
16 |
--------------------------------------------------------------------------------
/lattice/src/App.module.scss:
--------------------------------------------------------------------------------
1 | .container {
2 | height: calc(100vh - 64px);
3 | }
4 |
5 | .layout {
6 | display: grid;
7 | height: 100%;
8 | grid-template-areas: 'left-nav main-content';
9 | grid-template-columns: 250px calc(100vw - 250px);
10 | grid-template-rows: 1fr;
11 | }
12 |
13 | .mainContent {
14 | grid-area: main-content;
15 | }
16 |
--------------------------------------------------------------------------------
/lattice/src/App.test.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import App from './App';
4 |
5 | xit('renders without crashing', () => {
6 | const div = document.createElement('div');
7 | ReactDOM.render(<App />, div);
8 | ReactDOM.unmountComponentAtNode(div);
9 | });
10 |
--------------------------------------------------------------------------------
/lattice/src/App/AuthFlow/SignInButton.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Button } from '@material-ui/core';
3 |
4 | interface Props {
5 | children?: React.ReactNode;
6 | }
7 |
8 | const SignInButton: React.FC<Props> = ({ children }) => {
9 | const signinOnClick = (e) => {
10 | window.location.href = '/login';
11 | };
12 |
13 | return (
14 | <Button variant="contained" color="primary" size="large" onClick={signinOnClick} fullWidth>
15 | Sign in
16 | </Button>
17 | );
18 | };
19 |
20 | export default SignInButton;
21 |
--------------------------------------------------------------------------------
/lattice/src/App/AuthFlow/SignOutButton.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Button } from '@material-ui/core';
3 |
4 | interface Props {
5 | children?: React.ReactNode;
6 | }
7 |
8 | const SignOutButton: React.FC<Props> = ({ children }) => {
9 | const signoutOnClick = (e) => {
10 | localStorage.clear();
11 | window.location.href = '/logout';
12 | };
13 |
14 | return (
15 | <Button variant="contained" color="secondary" onClick={signoutOnClick}>
16 | Sign out
17 | </Button>
18 | );
19 | };
20 |
21 | export default SignOutButton;
22 |
--------------------------------------------------------------------------------
/lattice/src/App/AuthFlow/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Signin';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/Home/ClusterHealth/ClusterHealth.module.scss:
--------------------------------------------------------------------------------
1 | .header {
2 | display: flex;
3 | align-items: center;
4 |
5 | .expandAllIcon {
6 | flex-grow: 1;
7 | text-align: right;
8 | padding-right: 12px;
9 | }
10 | }
11 |
12 | .nodes {
13 | padding: 20px 0;
14 | }
15 |
16 | .activity {
17 | margin-top: 16px;
18 | }
19 |
20 | .pilosaError {
21 | padding: 8px 16px;
22 | margin-top: 20px;
23 | }
24 |
--------------------------------------------------------------------------------
/lattice/src/App/Home/ClusterHealth/ClusterInfo/ClusterInfo.module.scss:
--------------------------------------------------------------------------------
1 | .keyValues {
2 | display: flex;
3 | flex-direction: column;
4 | }
5 |
6 | .cell {
7 | display: flex;
8 | flex-direction: column;
9 | padding: 4px;
10 |
11 | label {
12 | font-size: 0.75rem;
13 | color: var(--text-secondary);
14 | margin-bottom: 4px;
15 | font-weight: 400;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lattice/src/App/Home/ClusterHealth/ClusterInfo/ClusterInfo.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import css from './ClusterInfo.module.scss';
3 |
4 | const info = {
5 | shardWidth: 1048576
6 | };
7 |
8 | export const ClusterInfo = () => {
9 | const keys = Object.keys(info);
10 | return (
11 | <div className={css.keyValues}>
12 | {keys.map((key) => (
13 | <div key={key} className={css.cell}>
14 | <label>{key}</label>
15 | <div>{info[key]}</div>
16 | </div>
17 | ))}
18 | </div>
19 | );
20 | };
21 |
--------------------------------------------------------------------------------
/lattice/src/App/Home/ClusterHealth/ClusterInfo/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ClusterInfo';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/Home/ClusterHealth/ImportStatus/ImportStatus.module.scss:
--------------------------------------------------------------------------------
1 | .activityLayout {
2 | display: grid;
3 | grid-template-columns: 1fr 1fr;
4 | grid-template-rows: 250px;
5 | grid-gap: 32px;
6 | }
7 |
8 | .tooltip {
9 | padding: 4px 8px;
10 | background: #ffffff;
11 | border-radius: 4px;
12 | border: 1px solid rgba(0, 0, 0, 0.05);
13 |
14 | .metric {
15 | display: flex;
16 | justify-content: space-between;
17 | margin: 4px 0;
18 | }
19 |
20 | .metricName {
21 | margin-right: 20px;
22 | }
23 | }
24 |
25 | [data-theme='dark'] {
26 | .tooltip {
27 | background: #1c2022;
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/lattice/src/App/Home/ClusterHealth/ImportStatus/helpers.ts:
--------------------------------------------------------------------------------
1 | export const metricsList = [
2 | 'pilosa_set_bit_total',
3 | 'pilosa_clear_bit_total',
4 | 'pilosa_importing_total',
5 | 'pilosa_imported_total',
6 | 'pilosa_clearing_total',
7 | 'pilosa_cleared_total'
8 | ];
9 |
--------------------------------------------------------------------------------
/lattice/src/App/Home/ClusterHealth/ImportStatus/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ImportStatus';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/Home/ClusterHealth/Metrics/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Metrics';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/Home/ClusterHealth/Metrics/priorityMetrics.ts:
--------------------------------------------------------------------------------
1 | export const priorityMetrics = [
2 | 'go_goroutines',
3 | 'go_threads',
4 | 'pilosa_http_request_duration_seconds',
5 | 'pilosa_maximum_shard',
6 | 'pilosa_query_count_total',
7 | 'process_open_fds',
8 | 'process_resident_memory_bytes',
9 | 'process_virtual_memory_bytes'
10 | ];
11 |
--------------------------------------------------------------------------------
/lattice/src/App/Home/ClusterHealth/Node/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Node';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/Home/ClusterHealth/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ClusterHealth';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/Home/Home.module.scss:
--------------------------------------------------------------------------------
1 | .prodPadSpacer {
2 | padding-bottom: 38px;
3 | }
4 |
--------------------------------------------------------------------------------
/lattice/src/App/Home/QueryHistory/NodeIndicator/NodeIndicator.module.scss:
--------------------------------------------------------------------------------
1 | .wrapper {
2 | display: inline-block;
3 | margin: 0 8px;
4 | }
5 |
6 | .indicator {
7 | width: 15px;
8 | height: 15px;
9 | margin: -2px 0 0 -2px;
10 | border-radius: 50%;
11 | position: relative;
12 | transition: opacity 0.3s ease;
13 |
14 | &.clickable:hover {
15 | cursor: pointer;
16 | }
17 | }
18 |
19 | .indicator::after {
20 | content: ' ';
21 | top: -2px;
22 | right: -2px;
23 | bottom: -2px;
24 | left: -2px;
25 | border: 1px solid rgba(0, 0, 0, 0.1);
26 | border-radius: 50%;
27 | position: absolute;
28 | }
29 |
--------------------------------------------------------------------------------
/lattice/src/App/Home/QueryHistory/NodeIndicator/index.ts:
--------------------------------------------------------------------------------
1 | export * from './NodeIndicator';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/Home/QueryHistory/QueryHistory.module.scss:
--------------------------------------------------------------------------------
1 | .actions {
2 | display: flex;
3 | padding: 20px 0;
4 | }
5 |
6 | .sortByList {
7 | padding: 0;
8 | }
9 |
10 | .nodeFilter {
11 | margin-left: 32px;
12 | }
13 |
14 | .filterLabel {
15 | font-size: 12px;
16 | color: var(--text-secondary);
17 | position: relative;
18 | top: -11px;
19 | }
20 |
21 | .indicators {
22 | position: relative;
23 | top: -4px;
24 | }
25 |
26 | .noQueries {
27 | padding: 12px 16px;
28 | }
29 |
--------------------------------------------------------------------------------
/lattice/src/App/Home/QueryHistory/QueryItem/index.ts:
--------------------------------------------------------------------------------
1 | export * from './QueryItem';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/Home/QueryHistory/index.ts:
--------------------------------------------------------------------------------
1 | export * from './QueryHistory';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/Home/QueryHistory/nodeColors.ts:
--------------------------------------------------------------------------------
1 | export const nodeRGBColors = [
2 | '47,75,124',
3 | '102,81,145',
4 | '160,81,149',
5 | '212,80,135',
6 | '249,93,106',
7 | '255,124,67',
8 | '255,166,0',
9 | '0,63,92',
10 | ];
11 |
--------------------------------------------------------------------------------
/lattice/src/App/Home/Transactions/Transaction/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Transaction';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/Home/Transactions/Transaction/utils.test.ts:
--------------------------------------------------------------------------------
1 | import { formatTimeoutString } from './utils';
2 |
3 | it('formats a timeout string', () => {
4 | expect(formatTimeoutString('1d1h1m1s')).toEqual('1 day 1 hr 1 min 1 sec');
5 | expect(formatTimeoutString('11d11h11m11s')).toEqual('11 days 11 hrs 11 mins 11 secs');
6 | expect(formatTimeoutString('0d0h0m0s')).toEqual('0d0h0m0s');
7 | expect(formatTimeoutString('1d0h11m0s')).toEqual('1 day 11 mins');
8 | });
9 |
10 | it('returns original value if invalid unit', () => {
11 | expect(formatTimeoutString('1w')).toEqual('1w');
12 | });
13 |
--------------------------------------------------------------------------------
/lattice/src/App/Home/Transactions/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Transactions';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/Home/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Home';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/MoleculaTables/MoleculaTable/index.ts:
--------------------------------------------------------------------------------
1 | export * from './MoleculaTable';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/MoleculaTables/index.ts:
--------------------------------------------------------------------------------
1 | export * from './MoleculaTables';
2 | export * from './MoleculaTablesContainer';
3 |
--------------------------------------------------------------------------------
/lattice/src/App/NotFound/NotFound.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import Typography from '@material-ui/core/Typography';
3 |
4 | export const NotFound = () => (
5 | <div>
6 | <Typography variant="h4" color="textSecondary" paragraph>
7 | Page Not Found
8 | </Typography>
9 | </div>
10 | );
11 |
--------------------------------------------------------------------------------
/lattice/src/App/NotFound/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './NotFound';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/Query/Console/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Console';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/Query/QueryResults/index.ts:
--------------------------------------------------------------------------------
1 | export * from './QueryResults';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/Query/RecentQueries/RecentQueries.module.scss:
--------------------------------------------------------------------------------
1 | .queryItem {
2 | display: flex;
3 | align-items: center;
4 |
5 | &:hover {
6 | cursor: pointer;
7 | }
8 |
9 | .copyIcon {
10 | margin-right: 4px;
11 | font-size: 0.75rem;
12 | opacity: 0.3;
13 | transition: opacity 0.3s ease;
14 |
15 | &:hover {
16 | opacity: 1;
17 | }
18 | }
19 |
20 | .queryText {
21 | font-family: 'Roboto Mono', monospace;
22 | transition: color 0.3s ease;
23 |
24 | &:hover {
25 | color: var(--text-primary);
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/lattice/src/App/Query/RecentQueries/index.ts:
--------------------------------------------------------------------------------
1 | export * from './RecentQueries';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/Query/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Query';
2 | export * from './QueryContainer';
3 |
--------------------------------------------------------------------------------
/lattice/src/App/QueryBuilder/ColumnSelector/ColumnSelector.module.scss:
--------------------------------------------------------------------------------
1 | .layout {
2 | display: grid;
3 | grid-template-columns: 300px 300px;
4 | grid-gap: 8px 32px;
5 | }
6 |
7 | .droppable {
8 | max-height: 400;
9 | overflow-y: scroll;
10 | transition: background-color 0.3s ease;
11 |
12 | &.isDraggingOver {
13 | background-color: rgba(var(--primary-rgb), 0.1);
14 | }
15 | }
16 |
17 | .dragHandle {
18 | font-size: 1rem;
19 | margin-right: 4px;
20 | }
21 |
--------------------------------------------------------------------------------
/lattice/src/App/QueryBuilder/ColumnSelector/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ColumnSelector';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/QueryBuilder/CountBuilder/index.ts:
--------------------------------------------------------------------------------
1 | export * from './CountBuilder';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/QueryBuilder/ExtractBuilder/ExtractBuilder.module.scss:
--------------------------------------------------------------------------------
1 | .columnsSelector {
2 | margin: 4px 14px 4px 0;
3 | display: flex;
4 | text-align: center;
5 |
6 | .info {
7 | margin-left: 4px;
8 | fill: var(--text-secondary);
9 | }
10 | }
11 |
12 | .textLink {
13 | color: var(--primary);
14 | font-size: 12px;
15 |
16 | &:hover {
17 | cursor: pointer;
18 | text-decoration: underline;
19 | color: var(--primary);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/lattice/src/App/QueryBuilder/ExtractBuilder/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ExtractBuilder';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/QueryBuilder/GroupByBuilder/GroupByBuilder.module.scss:
--------------------------------------------------------------------------------
1 | .groupBy {
2 | .fieldSelector {
3 | margin-bottom: 16px;
4 | }
5 |
6 | .header {
7 | display: flex;
8 | align-items: center;
9 | justify-content: space-between;
10 | margin-top: 8px;
11 | }
12 |
13 | .filtersInfo {
14 | vertical-align: text-top;
15 | margin-left: 4px;
16 | }
17 | }
18 |
19 | .textLink {
20 | color: var(--primary);
21 | font-size: 12px;
22 |
23 | &:hover {
24 | cursor: pointer;
25 | text-decoration: underline;
26 | color: var(--primary);
27 | }
28 | }
29 |
30 | .filtersSection {
31 | margin-bottom: 16px;
32 | }
33 |
--------------------------------------------------------------------------------
/lattice/src/App/QueryBuilder/GroupByBuilder/index.ts:
--------------------------------------------------------------------------------
1 | export * from './GroupByBuilder';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/QueryBuilder/GroupByChart/index.ts:
--------------------------------------------------------------------------------
1 | export * from './GroupByChart';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/QueryBuilder/GroupBySort/GroupBySort.module.scss:
--------------------------------------------------------------------------------
1 | .sortSelectRow {
2 | margin-top: 15px;
3 | display: flex;
4 |
5 | .fieldSelect {
6 | margin-left: 15px;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/lattice/src/App/QueryBuilder/GroupBySort/index.ts:
--------------------------------------------------------------------------------
1 | export * from './GroupBySort';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/QueryBuilder/RowCallBuilder/RowCall/index.ts:
--------------------------------------------------------------------------------
1 | export * from './RowCall';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/QueryBuilder/RowCallBuilder/index.ts:
--------------------------------------------------------------------------------
1 | export * from './RowCallBuilder';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/QueryBuilder/SavedQueries/index.ts:
--------------------------------------------------------------------------------
1 | export * from './SavedQueries';
2 |
--------------------------------------------------------------------------------
/lattice/src/App/QueryBuilder/index.ts:
--------------------------------------------------------------------------------
1 | export * from './QueryBuilder';
2 | export * from './QueryBuilderContainer';
3 |
--------------------------------------------------------------------------------
/lattice/src/App/QueryBuilder/rowTypes.ts:
--------------------------------------------------------------------------------
1 | export type Operator = 'and' | 'or';
2 |
3 | export const groupOperators: Operator[] = ['and', 'or'];
4 |
5 | export type RowGrouping = {
6 | row: RowCallType[];
7 | isNot?: boolean;
8 | operator?: Operator;
9 | }
10 |
11 | export type RowCallType = {
12 | field: string;
13 | rowOperator: string;
14 | value: string;
15 | type: string;
16 | keys?: boolean;
17 | };
18 |
19 | export type RowsCallType = {
20 | primary: string;
21 | secondary: string;
22 | };
23 |
--------------------------------------------------------------------------------
/lattice/src/assets/bg-pattern.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/lattice/src/assets/bg-pattern.png
--------------------------------------------------------------------------------
/lattice/src/lattice.config.js:
--------------------------------------------------------------------------------
1 | export const pilosaConfig = {
2 | //hostname: 'localhost',
3 | //httpPort: '10101'
4 | };
5 |
--------------------------------------------------------------------------------
/lattice/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | /// <reference types="react-scripts" />
2 |
--------------------------------------------------------------------------------
/lattice/src/services/__mocks__/eventServices.tsx:
--------------------------------------------------------------------------------
1 | const pilosa = {
2 | get: {
3 | auth() {
4 | return new Promise((resolve, reject) => {});
5 | },
6 | userinfo() {
7 | return new Promise((resolve, reject) => {});
8 | },
9 | },
10 | };
11 |
12 | module.exports.pilosa = pilosa;
13 | export {};
14 |
--------------------------------------------------------------------------------
/lattice/src/services/baseURL.ts:
--------------------------------------------------------------------------------
1 | import { pilosaConfig } from 'lattice.config';
2 |
3 | const hostname = pilosaConfig.hostname
4 | ? pilosaConfig.hostname
5 | : window.location.hostname;
6 | const port = pilosaConfig.httpPort
7 | ? pilosaConfig.httpPort
8 | : window.location.port;
9 |
10 | export const baseURL = `${window.location.protocol}//${hostname}:${port}`;
11 |
--------------------------------------------------------------------------------
/lattice/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | // import '@testing-library/jest-dom/extend-expect';
6 |
--------------------------------------------------------------------------------
/lattice/src/shared/Animations/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './Animations';
2 |
--------------------------------------------------------------------------------
/lattice/src/shared/Block/Block.module.scss:
--------------------------------------------------------------------------------
1 | .block {
2 | padding: 32px;
3 |
4 | &.top {
5 | border-top: 1px solid var(--divider);
6 | }
7 | &.right {
8 | border-right: 1px solid var(--divider);
9 | }
10 | &.bottom {
11 | border-bottom: 1px solid var(--divider);
12 | }
13 | &.left {
14 | border-left: 1px solid var(--divider);
15 | }
16 | }
17 |
18 | [data-theme='dark'] .block {
19 | background-color: var(--default);
20 | }
21 |
--------------------------------------------------------------------------------
/lattice/src/shared/Block/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Block';
2 |
--------------------------------------------------------------------------------
/lattice/src/shared/DataTable/index.ts:
--------------------------------------------------------------------------------
1 | export * from './DataTable';
2 |
--------------------------------------------------------------------------------
/lattice/src/shared/Header/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './Header';
2 |
--------------------------------------------------------------------------------
/lattice/src/shared/Nav/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './Nav';
2 |
--------------------------------------------------------------------------------
/lattice/src/shared/Pager/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Pager';
2 |
--------------------------------------------------------------------------------
/lattice/src/shared/Select/Select.module.scss:
--------------------------------------------------------------------------------
1 | .menuPaper {
2 | padding: 0 !important;
3 | }
4 |
--------------------------------------------------------------------------------
/lattice/src/shared/Select/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './Select';
2 |
--------------------------------------------------------------------------------
/lattice/src/shared/SortBy/SortBy.module.scss:
--------------------------------------------------------------------------------
1 | .menuPaper {
2 | padding: 0 !important;
3 | }
4 |
--------------------------------------------------------------------------------
/lattice/src/shared/SortBy/index.ts:
--------------------------------------------------------------------------------
1 | export * from './SortBy';
2 |
--------------------------------------------------------------------------------
/lattice/src/shared/StatusIndicator/index.ts:
--------------------------------------------------------------------------------
1 | export * from './StatusIndicator';
2 |
--------------------------------------------------------------------------------
/lattice/src/shared/ThemeToggle/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './ThemeToggle';
2 |
--------------------------------------------------------------------------------
/lattice/src/shared/Toggle/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Toggle';
2 |
--------------------------------------------------------------------------------
/lattice/src/shared/utils/formatBytes.ts:
--------------------------------------------------------------------------------
1 | export const formatBytes = (bytes: number, decimals: number = 2) => {
2 | if (bytes <= 0) {
3 | return '0 Bytes';
4 | }
5 |
6 | const kb = 1024;
7 | const decimalPlaces = decimals < 0 ? 0 : decimals;
8 | const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
9 |
10 | let sizeIndex = Math.floor(Math.log(bytes) / Math.log(kb));
11 |
12 | if(sizeIndex >= sizes.length-1) {
13 | sizeIndex = sizes.length-1;
14 | }
15 |
16 | return parseFloat((bytes / Math.pow(kb, sizeIndex)).toFixed(decimalPlaces)) + ' ' + sizes[sizeIndex];
17 | }
18 |
--------------------------------------------------------------------------------
/lattice/src/shared/utils/formatDuration.ts:
--------------------------------------------------------------------------------
1 | export const formatDuration = (duration: number, isNano: boolean = false) => {
2 | const durationMillisec = isNano ? duration / 1000000 : duration;
3 | if (durationMillisec > 250) {
4 | return `${(durationMillisec / 1000).toLocaleString(undefined, { maximumFractionDigits: 2 })} sec`;
5 | } else if (durationMillisec < 0) {
6 | return "0 ms";
7 | } else {
8 | return `${durationMillisec.toLocaleString(undefined, { maximumFractionDigits: 2 })} ms`;
9 | }
10 | };
11 |
--------------------------------------------------------------------------------
/lattice/src/theme/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './baseTheme';
2 | export * from './darkTheme';
3 | export * from './lightTheme';
4 |
--------------------------------------------------------------------------------
/mock/mock.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | package mock
4 |
5 | import "sync"
6 |
7 | type ReadCloser struct {
8 | ReadFunc func(p []byte) (int, error)
9 | CloseFunc func() error
10 | once sync.Once
11 | }
12 |
13 | func (rc *ReadCloser) Read(p []byte) (int, error) {
14 | return rc.ReadFunc(p)
15 | }
16 |
17 | func (rc *ReadCloser) Close() error {
18 | var err error = nil
19 | rc.once.Do(func() {
20 | err = rc.CloseFunc()
21 | })
22 | return err
23 | }
24 |
--------------------------------------------------------------------------------
/pql/doc.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | /*
4 | Package pql defines the Pilosa Query Language.
5 | */
6 | package pql
7 |
--------------------------------------------------------------------------------
/qa/fakeidp/go.mod:
--------------------------------------------------------------------------------
1 | module fakeidp
2 |
3 | go 1.17
4 |
5 | require github.com/golang-jwt/jwt v3.2.2+incompatible
6 |
--------------------------------------------------------------------------------
/qa/fakeidp/go.sum:
--------------------------------------------------------------------------------
1 | github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY=
2 | github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
3 |
--------------------------------------------------------------------------------
/qa/scripts/perf/able/ableRun.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
4 |
5 | # requires TF_VAR_cluster_prefix env var to be set
6 | if [ -z ${TF_VAR_cluster_prefix+x} ]; then
7 | echo "setting TF_VAR_cluster_prefix";
8 | export TF_VAR_cluster_prefix="able-$(openssl rand -base64 12 | tr -d /=+ | cut -c -16)"
9 | echo "TF_VAR_cluster_prefix is set to '$TF_VAR_cluster_prefix'";
10 | else
11 | echo "TF_VAR_cluster_prefix is set to '$TF_VAR_cluster_prefix'";
12 | fi
13 |
14 | $SCRIPT_DIR/ableSetup.sh
15 | $SCRIPT_DIR/ableTest.sh
16 | $SCRIPT_DIR/ableTeardown.sh
17 |
--------------------------------------------------------------------------------
/qa/scripts/perf/able/ableTeardown.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # To run script: ./ableTeardown.sh
4 |
5 | cd qa/tf/perf/able
6 | export TF_IN_AUTOMATION=1
7 | terraform destroy -auto-approve
8 |
--------------------------------------------------------------------------------
/qa/scripts/perf/able/highcardinalitygroupby.js:
--------------------------------------------------------------------------------
1 | import http from 'k6/http';
2 | import { sleep } from 'k6';
3 |
4 | export default function () {
5 | const params = {
6 | timeout: '1800s',
7 | };
8 |
9 | let res = http.post(`http://${__ENV.DATANODE0}:10101/index/seg/query`, "GroupBy(Rows(education_level), Rows(gender), Rows(political_party), Rows(domain), aggregate=Sum(field=age))", params);
10 | sleep(1);
11 | }
12 |
--------------------------------------------------------------------------------
/qa/scripts/perf/able/values/education.txt:
--------------------------------------------------------------------------------
1 | Some High School
2 | High School
3 | Some College
4 | College
5 | Master's
6 | Doctorate
7 |
--------------------------------------------------------------------------------
/qa/scripts/perf/able/values/gender.txt:
--------------------------------------------------------------------------------
1 | Male,0.48
2 | Female,0.48
3 | Transgender,0.01
4 | Other,0.01
5 | Unspecified,0.02
6 |
--------------------------------------------------------------------------------
/qa/scripts/perf/able/values/income.txt:
--------------------------------------------------------------------------------
1 | $0-$14,200
2 | $14,201-$54,200
3 | $54,201-$86,350
4 | $86,351-$164,900
5 | $164,901-$209,400
6 | $209,401-$523,600
7 | $523,601 or more
8 |
--------------------------------------------------------------------------------
/qa/scripts/perf/able/values/political_parties.txt:
--------------------------------------------------------------------------------
1 | Democrat
2 | Republican
3 | Independent
4 | Libertarian
5 | Green
6 | Federalist
7 | Whig
8 |
--------------------------------------------------------------------------------
/qa/scripts/runSmokeTest.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
4 |
5 | # requires TF_VAR_cluster_prefix env var to be set
6 | if [ -z ${TF_VAR_cluster_prefix+x} ]; then
7 | echo "setting TF_VAR_cluster_prefix";
8 | export TF_VAR_cluster_prefix="smoke-$(openssl rand -base64 12 | tr -d /=+ | cut -c -16)"
9 | echo "TF_VAR_cluster_prefix is set to '$TF_VAR_cluster_prefix'";
10 | else
11 | echo "TF_VAR_cluster_prefix is set to '$TF_VAR_cluster_prefix'";
12 | fi
13 |
14 | $SCRIPT_DIR/setupSmokeTest.sh
15 | $SCRIPT_DIR/testSmokeTest.sh
16 | $SCRIPT_DIR/teardownSmokeTest.sh
17 |
--------------------------------------------------------------------------------
/qa/scripts/teardownBackupRestoreGauntlet.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # To run script: ./teardownBackupRestoreGauntlet.sh
4 |
5 | cd qa/tf/gauntlet/backuprestore
6 | export TF_IN_AUTOMATION=1
7 | terraform destroy -auto-approve
8 |
--------------------------------------------------------------------------------
/qa/scripts/teardownSmokeTest.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # To run script: ./teardownSmokeTest.sh
4 |
5 | cd qa/tf/ci/smoketest
6 | export TF_IN_AUTOMATION=1
7 | terraform destroy -auto-approve
8 |
--------------------------------------------------------------------------------
/qa/testcases/bug-repros/README:
--------------------------------------------------------------------------------
1 | adding a test case to the bug repros directory??? no problem!!! its a snap!!!
2 |
3 | just make a shell script that does the test you want and name it some thing like:
4 |
5 | fb42069-test.sh
6 |
7 | this will get picked up by run-all.sh and get run automatically!!!
8 |
9 |
10 | # THINGS TO NOTE
11 | - the datanode0 ip will be passed to your script in $1 via qa/scripts/bug_repro_tests.sh
12 |
13 | # ENTHUSIASM
14 | WOW
15 |
16 | shout out to computers for making our lives easier! :) 👍
17 |
18 |
--------------------------------------------------------------------------------
/qa/testcases/bug-repros/fb-1287-test.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | . ./config.sh
3 | $DATAGEN -s custom --custom-config=./fb-1287-datagen.yaml --pilosa.index=fb1287 --pilosa.batch-size=100 --pilosa.hosts=$1
4 |
5 | # if we get an error, exit 1
6 | if [[ $( authcurl $1/index/fb1287/query -d 'Rows(segid,from="2022-01-02T15:04",to="2022-04-02T15:04")' | jq '.error' ) != "null" ]]; then
7 | exit 1;
8 | else
9 | exit 0;
10 | fi
11 |
--------------------------------------------------------------------------------
/qa/testcases/bug-repros/run-all.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | set -eou pipefail
4 |
5 | . ./config.sh
6 | export DATAGEN="/data/datagen_linux_arm64 --auth-token ${ADMIN_TOKEN}"
7 | for file in `ls *-test.sh`; do
8 | echo "running $file";
9 | sh -x ./$file "$@"
10 | done
11 |
--------------------------------------------------------------------------------
/qa/testcases/smoketest/config.py:
--------------------------------------------------------------------------------
1 | datanode0="10.0.1.16"
2 |
--------------------------------------------------------------------------------
/qa/tf/.modules/featurebase-cluster/cloud-init.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set +x # get debug log
3 | set -e # exit on errors
4 |
5 |
--------------------------------------------------------------------------------
/qa/tf/.modules/featurebase-cluster/provider.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | required_version = ">= 0.13.1"
3 |
4 | required_providers {
5 | aws = {
6 | source = "hashicorp/aws"
7 | version = ">= 4.38.0"
8 | }
9 | }
10 | }
11 |
12 |
--------------------------------------------------------------------------------
/qa/tf/README.md:
--------------------------------------------------------------------------------
1 | # Deploy testing environments with this one weird trick!
2 |
3 | This directory contains Terraform to deploy test environments both ad-hoc and as part of CI/CD pipelines.
4 |
5 | The .modules contains the guts of the operation, the things you probably want are in the other directories, each with a README.
6 |
7 | ## How to Terraform
8 |
9 | With terraform installed (`brew install terraform` if not)...
10 |
11 | You can do `terraform plan` -> `terraform apply` to spin up a cluster, `terraform destroy` to tear one down.
12 |
13 | ## Other prerequisites:
14 | Please read these carefully.
15 |
16 |
17 |
--------------------------------------------------------------------------------
/qa/tf/ci/auth-smoke/outputs.tf:
--------------------------------------------------------------------------------
1 | output "ingest_ips" {
2 | description = "List of ingest IPs"
3 | value = module.ci-cluster.ingest_ips
4 | }
5 |
6 | output "data_node_ips" {
7 | description = "List of data node IPs"
8 | value = module.ci-cluster.data_node_ips
9 | }
10 |
11 | output "cluster_prefix" {
12 | description = "The cluster prefix used"
13 | value = module.ci-cluster.cluster_prefix
14 | }
15 |
16 | output "fb_cluster_replica_count" {
17 | description = "The cluster replica count used"
18 | value = module.ci-cluster.fb_cluster_replica_count
19 | }
20 |
--------------------------------------------------------------------------------
/qa/tf/ci/auth-smoke/provider.tf:
--------------------------------------------------------------------------------
1 | provider "aws" {
2 | region = var.region
3 | profile = var.profile
4 | }
5 |
--------------------------------------------------------------------------------
/qa/tf/ci/auth-smoke/tf.auto.tfvars:
--------------------------------------------------------------------------------
1 | region = "us-east-2"
2 | profile = "service-terraform"
3 |
--------------------------------------------------------------------------------
/qa/tf/ci/auth-smoke/variables.tf:
--------------------------------------------------------------------------------
1 | variable "region" {
2 | description = "The AWS region in which the VPC should be built"
3 | type = string
4 | }
5 |
6 | variable "profile" {
7 | description = "The name of the AWS profile Terraform should use for auth."
8 | type = string
9 | }
10 |
11 | variable "cluster_prefix" {
12 | type = string
13 | description = "This is a identifier that will be prefixed to created resources"
14 | }
15 |
16 |
--------------------------------------------------------------------------------
/qa/tf/ci/deletetest/outputs.tf:
--------------------------------------------------------------------------------
1 | output "ingest_ips" {
2 | description = "List of ingest IPs"
3 | value = module.ci-cluster.ingest_ips
4 | }
5 |
6 | output "data_node_ips" {
7 | description = "List of data node IPs"
8 | value = module.ci-cluster.data_node_ips
9 | }
10 |
11 | output "cluster_prefix" {
12 | description = "The cluster prefix used"
13 | value = module.ci-cluster.cluster_prefix
14 | }
15 |
16 | output "fb_cluster_replica_count" {
17 | description = "The cluster replica count used"
18 | value = module.ci-cluster.fb_cluster_replica_count
19 | }
--------------------------------------------------------------------------------
/qa/tf/ci/deletetest/provider.tf:
--------------------------------------------------------------------------------
1 | provider "aws" {
2 | region = var.region
3 | profile = var.profile
4 | }
--------------------------------------------------------------------------------
/qa/tf/ci/deletetest/tf.auto.tfvars:
--------------------------------------------------------------------------------
1 | region = "us-east-2"
2 | profile = "service-terraform"
--------------------------------------------------------------------------------
/qa/tf/ci/deletetest/variables.tf:
--------------------------------------------------------------------------------
1 | variable "region" {
2 | description = "The AWS region in which the VPC should be built"
3 | type = string
4 | }
5 |
6 | variable "profile" {
7 | description = "The name of the AWS profile Terraform should use for auth."
8 | type = string
9 | }
10 |
11 | variable "cluster_prefix" {
12 | type = string
13 | description = "This is a identifier that will be prefixed to created resources"
14 | }
15 |
16 |
--------------------------------------------------------------------------------
/qa/tf/ci/smoketest/outputs.tf:
--------------------------------------------------------------------------------
1 | output "ingest_ips" {
2 | description = "List of ingest IPs"
3 | value = module.ci-cluster.ingest_ips
4 | }
5 |
6 | output "data_node_ips" {
7 | description = "List of data node IPs"
8 | value = module.ci-cluster.data_node_ips
9 | }
10 |
11 | output "cluster_prefix" {
12 | description = "The cluster prefix used"
13 | value = module.ci-cluster.cluster_prefix
14 | }
15 |
16 | output "fb_cluster_replica_count" {
17 | description = "The cluster replica count used"
18 | value = module.ci-cluster.fb_cluster_replica_count
19 | }
20 |
--------------------------------------------------------------------------------
/qa/tf/ci/smoketest/provider.tf:
--------------------------------------------------------------------------------
1 | provider "aws" {
2 | region = var.region
3 | profile = var.profile
4 | }
5 |
--------------------------------------------------------------------------------
/qa/tf/ci/smoketest/tf.auto.tfvars:
--------------------------------------------------------------------------------
1 | region = "us-east-2"
2 | profile = "service-terraform"
3 |
--------------------------------------------------------------------------------
/qa/tf/ci/smoketest/variables.tf:
--------------------------------------------------------------------------------
1 | variable "region" {
2 | description = "The AWS region in which the VPC should be built"
3 | type = string
4 | }
5 |
6 | variable "profile" {
7 | description = "The name of the AWS profile Terraform should use for auth."
8 | type = string
9 | }
10 |
11 | variable "cluster_prefix" {
12 | type = string
13 | description = "This is a identifier that will be prefixed to created resources"
14 | }
15 |
16 |
--------------------------------------------------------------------------------
/qa/tf/gauntlet/backuprestore/outputs.tf:
--------------------------------------------------------------------------------
1 | output "ingest_ips" {
2 | description = "List of ingest IPs"
3 | value = module.s-cluster.ingest_ips
4 | }
5 |
6 | output "data_node_ips" {
7 | description = "List of data node IPs"
8 | value = module.s-cluster.data_node_ips
9 | }
10 |
11 | output "cluster_prefix" {
12 | description = "The cluster prefix used"
13 | value = module.s-cluster.cluster_prefix
14 | }
15 |
16 | output "fb_cluster_replica_count" {
17 | description = "The cluster replica count used"
18 | value = module.s-cluster.fb_cluster_replica_count
19 | }
20 |
--------------------------------------------------------------------------------
/qa/tf/gauntlet/backuprestore/provider.tf:
--------------------------------------------------------------------------------
1 | provider "aws" {
2 | region = var.region
3 | profile = var.profile
4 | }
5 |
--------------------------------------------------------------------------------
/qa/tf/gauntlet/backuprestore/tf.auto.tfvars:
--------------------------------------------------------------------------------
1 | region = "us-east-2"
2 | profile = "service-terraform"
3 |
--------------------------------------------------------------------------------
/qa/tf/gauntlet/backuprestore/variables.tf:
--------------------------------------------------------------------------------
1 | variable "region" {
2 | description = "The AWS region in which the VPC should be built"
3 | type = string
4 | }
5 |
6 | variable "profile" {
7 | description = "The name of the AWS profile Terraform should use for auth."
8 | type = string
9 | }
10 |
11 | variable "cluster_prefix" {
12 | type = string
13 | description = "This is a identifier that will be prefixed to created resources"
14 | }
15 |
--------------------------------------------------------------------------------
/qa/tf/perf/able/outputs.tf:
--------------------------------------------------------------------------------
1 | output "ingest_ips" {
2 | description = "List of ingest IPs"
3 | value = module.able-cluster.ingest_ips
4 | }
5 |
6 | output "data_node_ips" {
7 | description = "List of data node IPs"
8 | value = module.able-cluster.data_node_ips
9 | }
10 |
11 | output "cluster_prefix" {
12 | description = "The cluster prefix used"
13 | value = module.able-cluster.cluster_prefix
14 | }
15 |
16 | output "fb_cluster_replica_count" {
17 | description = "The cluster replica count used"
18 | value = module.able-cluster.fb_cluster_replica_count
19 | }
20 |
--------------------------------------------------------------------------------
/qa/tf/perf/able/provider.tf:
--------------------------------------------------------------------------------
1 | provider "aws" {
2 | region = var.region
3 | profile = var.profile
4 | }
5 |
--------------------------------------------------------------------------------
/qa/tf/perf/able/tf.auto.tfvars:
--------------------------------------------------------------------------------
1 | region = "us-east-2"
2 | profile = "service-terraform"
3 |
--------------------------------------------------------------------------------
/qa/tf/perf/able/variables.tf:
--------------------------------------------------------------------------------
1 | variable "region" {
2 | description = "The AWS region in which the VPC should be built"
3 | type = string
4 | }
5 |
6 | variable "profile" {
7 | description = "The name of the AWS profile Terraform should use for auth."
8 | type = string
9 | }
10 |
11 | variable "cluster_prefix" {
12 | type = string
13 | description = "This is a identifier that will be prefixed to created resources"
14 | }
15 |
--------------------------------------------------------------------------------
/qa/tf/perf/delete/outputs.tf:
--------------------------------------------------------------------------------
1 | output "ingest_ips" {
2 | description = "List of ingest IPs"
3 | value = module.delete-cluster.ingest_ips
4 | }
5 |
6 | output "data_node_ips" {
7 | description = "List of data node IPs"
8 | value = module.delete-cluster.data_node_ips
9 | }
10 |
11 | output "cluster_prefix" {
12 | description = "The cluster prefix used"
13 | value = module.delete-cluster.cluster_prefix
14 | }
15 |
16 | output "fb_cluster_replica_count" {
17 | description = "The cluster replica count used"
18 | value = module.delete-cluster.fb_cluster_replica_count
19 | }
20 |
--------------------------------------------------------------------------------
/qa/tf/perf/delete/provider.tf:
--------------------------------------------------------------------------------
1 | provider "aws" {
2 | region = var.region
3 | profile = var.profile
4 | }
5 |
--------------------------------------------------------------------------------
/qa/tf/perf/delete/tf.auto.tfvars:
--------------------------------------------------------------------------------
1 | region = "us-east-2"
2 | profile = "service-terraform"
3 |
--------------------------------------------------------------------------------
/qa/tf/perf/delete/variables.tf:
--------------------------------------------------------------------------------
1 | variable "region" {
2 | description = "The AWS region in which the VPC should be built"
3 | type = string
4 | }
5 |
6 | variable "profile" {
7 | description = "The name of the AWS profile Terraform should use for auth."
8 | type = string
9 | }
10 |
11 | variable "cluster_prefix" {
12 | type = string
13 | description = "This is a identifier that will be prefixed to created resources"
14 | }
15 |
--------------------------------------------------------------------------------
/querycontext/TODO.txt:
--------------------------------------------------------------------------------
1 | * all caught up i think
2 |
--------------------------------------------------------------------------------
/querycontext/testdata/fuzz/FuzzWriteRequests/01c51b507e482b7a4ccc98283df31ce4bb08036934bffc09b9ccd1541657b485:
--------------------------------------------------------------------------------
1 | go test fuzz v1
2 | []byte("0202x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x212x2x2x2x2x2x2x2x2x22202x2x2x2x2x2x2x2x0")
3 |
--------------------------------------------------------------------------------
/querycontext/testdata/fuzz/FuzzWriteRequests/0269def3297ec903fd7e3e9c762d1dc6228df919298caeef1245eaa4b109d246:
--------------------------------------------------------------------------------
1 | go test fuzz v1
2 | []byte("x0x1xxx0xyx1xxx0x1x0x1")
3 |
--------------------------------------------------------------------------------
/querycontext/testdata/fuzz/FuzzWriteRequests/04aeb089ec24d261afad4152bdedd690c3bee01531b22f42aa57dd9e56f547c0:
--------------------------------------------------------------------------------
1 | go test fuzz v1
2 | []byte("100128002z0B!8C92018X2288187CbA'10Xc077921")
3 |
--------------------------------------------------------------------------------
/querycontext/testdata/fuzz/FuzzWriteRequests/0677388e5f96f54bd80ce1cf365b5f68385844ae50842823f81b3b378b5c0980:
--------------------------------------------------------------------------------
1 | go test fuzz v1
2 | []byte("!02c0B7Z8Y28x20)0B9Axx$BY\"b17*07")
3 |
--------------------------------------------------------------------------------
/rbf/rbf/testdata/check/bad-freelist/data:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/rbf/rbf/testdata/check/bad-freelist/data
--------------------------------------------------------------------------------
/rbf/rbf/testdata/check/bad-freelist/wal:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/rbf/rbf/testdata/check/bad-freelist/wal
--------------------------------------------------------------------------------
/rbf/testdata/check/bad-bitmap/data:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/rbf/testdata/check/bad-bitmap/data
--------------------------------------------------------------------------------
/rbf/testdata/check/bad-bitmap/wal:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/rbf/testdata/check/bad-bitmap/wal
--------------------------------------------------------------------------------
/rbf/testdata/check/bad-freelist/data:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/rbf/testdata/check/bad-freelist/data
--------------------------------------------------------------------------------
/rbf/testdata/check/bad-freelist/wal:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/rbf/testdata/check/bad-freelist/wal
--------------------------------------------------------------------------------
/roaring/inst.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | //go:build btreeInstrumentation
4 | // +build btreeInstrumentation
5 |
6 | package roaring
7 |
8 | type dTree struct {
9 | t *tree
10 | }
11 |
12 | type treeInst struct {
13 | deCopied int64
14 | }
15 |
16 | func (t *tree) didCopy(n int) {
17 | t.deCopied += int64(n)
18 | }
19 |
20 | func (d *d) didCopy(n int) {
21 | d.t.deCopied += int64(n)
22 | }
23 |
24 | func (t *tree) countCopies() int64 {
25 | return t.deCopied
26 | }
27 |
28 | func (d *d) setTree(t *tree) {
29 | d.t = t
30 | }
31 |
--------------------------------------------------------------------------------
/roaring/nop_inst.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | //go:build !btreeInstrumentation
4 | // +build !btreeInstrumentation
5 |
6 | package roaring
7 |
8 | //lint:ignore U1000 this is conditional on a build flag
9 | //nolint:unused
10 | type dTree struct {
11 | }
12 |
13 | //lint:ignore U1000 this is conditional on a build flag
14 | //nolint:unused
15 | type treeInst struct {
16 | }
17 |
18 | func (t *tree) didCopy(n int) {
19 | }
20 |
21 | func (d *d) didCopy(n int) {
22 | }
23 |
24 | func (t *tree) countCopies() int64 {
25 | return 0
26 | }
27 |
28 | func (d *d) setTree(t *tree) {
29 | }
30 |
--------------------------------------------------------------------------------
/roaring/roaring_nop_paranoia.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | //go:build !roaringparanoia
4 | // +build !roaringparanoia
5 |
6 | package roaring
7 |
8 | const roaringParanoia = false
9 |
10 | // CheckN verifies that a container's cached count is correct, but
11 | // there are two versions; this is the one which doesn't actually
12 | // do anything, because the check is expensive. Which one you get is
13 | // controlled by the roaringparanoia build tag.
14 | func (c *Container) CheckN() {
15 | }
16 |
--------------------------------------------------------------------------------
/roaring/roaring_nop_sentinel.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | //go:build !roaringsentinel
4 | // +build !roaringsentinel
5 |
6 | package roaring
7 |
8 | const roaringSentinel = false
9 |
--------------------------------------------------------------------------------
/roaring/roaring_nop_stats.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | //go:build !roaringstats
4 | // +build !roaringstats
5 |
6 | package roaring
7 |
8 | // statsCount does nothing, because you aren't building with
9 | // the "roaringstats" build tag.
10 | func statsHit(string) {
11 | }
12 |
--------------------------------------------------------------------------------
/roaring/roaring_paranoia.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | //go:build roaringparanoia
4 | // +build roaringparanoia
5 |
6 | package roaring
7 |
8 | import "fmt"
9 |
10 | const roaringParanoia = true
11 |
12 | // CheckN verifies that the container's cached count is correct. Note
13 | // that this has two definitions, depending on the presence of the
14 | // roaringparanoia build tag.
15 | func (c *Container) CheckN() {
16 | if c == nil {
17 | return
18 | }
19 | count := c.count()
20 | if count != c.n {
21 | panic(fmt.Sprintf("CheckN (%p): n %d, count %d", c, c.n, count))
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/roaring/roaring_sentinel.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | //go:build roaringsentinel
4 | // +build roaringsentinel
5 |
6 | package roaring
7 |
8 | const roaringSentinel = true
9 |
--------------------------------------------------------------------------------
/roaring/roaring_stats.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | //go:build roaringstats
4 | // +build roaringstats
5 |
6 | package roaring
7 |
8 | import (
9 | "github.com/featurebasedb/featurebase/v3/stats"
10 | )
11 |
12 | var statsEv = stats.NewExpvarStatsClient()
13 |
14 | // statsHit increments the given stat, so we can tell how often we've hit
15 | // that particular event.
16 | func statsHit(name string) {
17 | statsEv.Count(name, 1, 1)
18 | }
19 |
--------------------------------------------------------------------------------
/roaring/testdata/bitmapcontainer.roaringbitmap:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/roaring/testdata/bitmapcontainer.roaringbitmap
--------------------------------------------------------------------------------
/runners/Makefile:
--------------------------------------------------------------------------------
1 | .PHONY: build-runners push-runners
2 |
3 | TAG_ROOT=ghcr.io/featurebasedb/examples
4 | TAG_FB_RUNNER=$(TAG_ROOT)/featurebase-runner
5 | TAG_INGEST_RUNNER=$(TAG_ROOT)/ingest-runner
6 | TAG_VERSION=latest
7 |
8 | build-runners:
9 | docker build --target=featurebase -t$(TAG_FB_RUNNER):$(TAG_VERSION) -f Dockerfile ../
10 | docker build --target=ingest -t$(TAG_INGEST_RUNNER):$(TAG_VERSION) -f Dockerfile ../
11 |
12 | push-runners:
13 | docker push $(TAG_FB_RUNNER):$(TAG_VERSION)
14 | docker push $(TAG_INGEST_RUNNER):$(TAG_VERSION)
15 |
--------------------------------------------------------------------------------
/runners/README.md:
--------------------------------------------------------------------------------
1 | # FeatureBase Runners
2 |
3 | Docker images for running FeatureBase.
4 |
5 | ## Build and Push Runners
6 |
7 | `make build-runners`
8 | `make push-runners`
9 |
10 | ** Requires the user to log into the target docker repository. **
--------------------------------------------------------------------------------
/scripts/etc/gloat/gh.1d.yml:
--------------------------------------------------------------------------------
1 | name: "GitHub Import Load Testing (1 day)"
2 |
3 | main: "pilosa server --data-dir ${TMPDIR} --storage.backend ${STORAGE_BACKEND}"
4 | load: "molecula-consumer-github -i events -d id --record-type event --batch-size=100000 --start-time 2020-01-01T00:00:00Z --end-time 2020-01-01T23:00:00Z --cache-dir ~/.githubarchive"
5 |
6 | health_url: "http://localhost:10101/status"
7 | vars_urls:
8 | - http://localhost:10101/debug/vars
9 | - http://localhost:7070/debug/vars
10 |
--------------------------------------------------------------------------------
/scripts/etc/gloat/gh.1m.yml:
--------------------------------------------------------------------------------
1 | name: "GitHub Import Load Testing (1 month)"
2 |
3 | main: "pilosa server --data-dir ${TMPDIR} --storage.backend ${STORAGE_BACKEND}"
4 | load: "molecula-consumer-github -i events -d id --record-type event --batch-size=100000 --start-time 2020-01-01T00:00:00Z --end-time 2020-01-31T23:00:00Z --cache-dir ~/.githubarchive"
5 |
6 | health_url: "http://localhost:10101/status"
7 | vars_urls:
8 | - http://localhost:10101/debug/vars
9 | - http://localhost:7070/debug/vars
10 |
--------------------------------------------------------------------------------
/scripts/etc/gloat/gh.1w.yml:
--------------------------------------------------------------------------------
1 | name: "GitHub Import Load Testing (1 week)"
2 |
3 | main: "pilosa server --data-dir ${TMPDIR} --storage.backend ${STORAGE_BACKEND}"
4 | load: "molecula-consumer-github -i events -d id --record-type event --batch-size=100000 --start-time 2020-01-01T00:00:00Z --end-time 2020-01-06T23:00:00Z --cache-dir ~/.githubarchive"
5 |
6 | health_url: "http://localhost:10101/status"
7 | vars_urls:
8 | - http://localhost:10101/debug/vars
9 | - http://localhost:7070/debug/vars
10 |
--------------------------------------------------------------------------------
/scripts/etc/gloat/gh.issues.autogenerate.yml:
--------------------------------------------------------------------------------
1 | name: "GitHub Issues Import Load Testing (two weeks, autogenerated ID)"
2 |
3 | main: "pilosa server --data-dir ${TMPDIR} --txsrc ${STORAGE_BACKEND}"
4 | load: "molecula-consumer-github -i issues -a --external-generate --record-type issue --batch-size=100000 --start-time 2020-01-01T00:00:00Z --end-time 2020-01-13T23:00:00Z --cache-dir ~/.githubarchive"
5 |
6 | health_url: "http://localhost:10101/status"
7 | vars_urls:
8 | - http://localhost:10101/debug/vars
9 | - http://localhost:7070/debug/vars
10 |
--------------------------------------------------------------------------------
/scripts/etc/gloat/gh.issues.keyed.yml:
--------------------------------------------------------------------------------
1 | name: "GitHub Issues Import Load Testing (1 month, keyed)"
2 |
3 | main: "pilosa server --data-dir ${TMPDIR} --storage.backend ${STORAGE_BACKEND}"
4 | load: "molecula-consumer-github -i issues -r url --record-type issue --batch-size=100000 --start-time 2020-01-01T00:00:00Z --end-time 2020-01-13T23:00:00Z --cache-dir ~/.githubarchive"
5 |
6 | health_url: "http://localhost:10101/status"
7 | vars_urls:
8 | - http://localhost:10101/debug/vars
9 | - http://localhost:7070/debug/vars
10 |
--------------------------------------------------------------------------------
/scripts/etc/gloat/gh.issues.unkeyed.yml:
--------------------------------------------------------------------------------
1 | name: "GitHub Issues Import Load Testing (1 month, unkeyed)"
2 |
3 | main: "pilosa server --data-dir ${TMPDIR} --storage.backend ${STORAGE_BACKEND}"
4 | load: "molecula-consumer-github -i issues -d id --record-type issue --batch-size=100000 --start-time 2020-01-01T00:00:00Z --end-time 2020-01-13T23:00:00Z --cache-dir ~/.githubarchive"
5 |
6 | health_url: "http://localhost:10101/status"
7 | vars_urls:
8 | - http://localhost:10101/debug/vars
9 | - http://localhost:7070/debug/vars
10 |
--------------------------------------------------------------------------------
/scripts/etc/gloat/query.count-keyed.yml:
--------------------------------------------------------------------------------
1 | name: "Count() Load Testing w/ Keys"
2 |
3 | main: "pilosa server --data-dir ~/pilosa.query.keyed.${STORAGE_BACKEND} --storage.backend ${STORAGE_BACKEND}"
4 | load: "pilosa-bench -type count -rate 100 -n 3000"
5 |
6 | health_url: "http://localhost:10101/status"
7 | health_regexp: "NORMAL"
8 |
9 | vars_urls:
10 | - http://localhost:10101/debug/vars
11 | - http://localhost:7070/debug/vars
12 |
--------------------------------------------------------------------------------
/scripts/etc/gloat/query.count.yml:
--------------------------------------------------------------------------------
1 | name: "Count() Load Testing"
2 |
3 | main: "pilosa server --data-dir ~/pilosa.query.${STORAGE_BACKEND} --storage.backend ${STORAGE_BACKEND}"
4 | load: "pilosa-bench -type count -rate 100 -n 3000"
5 |
6 | health_url: "http://localhost:10101/status"
7 | health_regexp: "NORMAL"
8 |
9 | vars_urls:
10 | - http://localhost:10101/debug/vars
11 | - http://localhost:7070/debug/vars
12 |
--------------------------------------------------------------------------------
/scripts/etc/gloat/query.difference.yml:
--------------------------------------------------------------------------------
1 | name: "Difference() Load Testing"
2 |
3 | main: "pilosa server --data-dir ~/pilosa.query.${STORAGE_BACKEND} --storage.backend ${STORAGE_BACKEND}"
4 | load: "pilosa-bench -type difference -rate 10 -n 300"
5 |
6 | health_url: "http://localhost:10101/status"
7 | health_regexp: "NORMAL"
8 |
9 | vars_urls:
10 | - http://localhost:10101/debug/vars
11 | - http://localhost:7070/debug/vars
12 |
--------------------------------------------------------------------------------
/scripts/etc/gloat/query.groupby.yml:
--------------------------------------------------------------------------------
1 | name: "GroupBy() Load Testing"
2 |
3 | main: "pilosa server --data-dir ~/pilosa.query.${STORAGE_BACKEND} --storage.backend ${STORAGE_BACKEND}"
4 | load: "pilosa-bench -type groupby -rate 100 -n 3000"
5 |
6 | health_url: "http://localhost:10101/status"
7 | health_regexp: "NORMAL"
8 |
9 | vars_urls:
10 | - http://localhost:10101/debug/vars
11 | - http://localhost:7070/debug/vars
12 |
--------------------------------------------------------------------------------
/scripts/etc/gloat/query.intersect.yml:
--------------------------------------------------------------------------------
1 | name: "Intersect() Load Testing"
2 |
3 | main: "pilosa server --data-dir ~/pilosa.query.${STORAGE_BACKEND} --storage.backend ${STORAGE_BACKEND}"
4 | load: "pilosa-bench -type intersect -rate 100 -n 3000"
5 |
6 | health_url: "http://localhost:10101/status"
7 | health_regexp: "NORMAL"
8 |
9 | vars_urls:
10 | - http://localhost:10101/debug/vars
11 | - http://localhost:7070/debug/vars
12 |
--------------------------------------------------------------------------------
/scripts/etc/gloat/query.row-bsi.yml:
--------------------------------------------------------------------------------
1 | name: "Row(BSI) Load Testing"
2 |
3 | main: "pilosa server --data-dir ~/pilosa.query.${STORAGE_BACKEND} --storage.backend ${STORAGE_BACKEND}"
4 | load: "pilosa-bench -type row -rate 100 -n 3000"
5 |
6 | health_url: "http://localhost:10101/status"
7 | health_regexp: "NORMAL"
8 |
9 | vars_urls:
10 | - http://localhost:10101/debug/vars
11 | - http://localhost:7070/debug/vars
12 |
--------------------------------------------------------------------------------
/scripts/etc/gloat/query.row-range.yml:
--------------------------------------------------------------------------------
1 | name: "Time-based Row() Load Testing"
2 |
3 | main: "pilosa server --data-dir ~/pilosa.query.${STORAGE_BACKEND} --storage.backend ${STORAGE_BACKEND}"
4 | load: "pilosa-bench -type row-range -rate 10 -n 300 -from 2020-01-01T00:00:00Z -to 2020-01-31T23:00:00Z"
5 |
6 | health_url: "http://localhost:10101/status"
7 | health_regexp: "NORMAL"
8 |
9 | vars_urls:
10 | - http://localhost:10101/debug/vars
11 | - http://localhost:7070/debug/vars
12 |
--------------------------------------------------------------------------------
/scripts/etc/gloat/query.row.yml:
--------------------------------------------------------------------------------
1 | name: "Row() Load Testing"
2 |
3 | main: "pilosa server --data-dir ~/pilosa.query.${STORAGE_BACKEND} --storage.backend ${STORAGE_BACKEND}"
4 | load: "pilosa-bench -type row -rate 100 -n 3000"
5 |
6 | health_url: "http://localhost:10101/status"
7 | health_regexp: "NORMAL"
8 |
9 | vars_urls:
10 | - http://localhost:10101/debug/vars
11 | - http://localhost:7070/debug/vars
12 |
--------------------------------------------------------------------------------
/scripts/etc/gloat/query.topk.yml:
--------------------------------------------------------------------------------
1 | name: "Time-based TopK() Load Testing"
2 |
3 | main: "pilosa server --data-dir ~/pilosa.query.${STORAGE_BACKEND} --storage.backend ${STORAGE_BACKEND}"
4 | load: "pilosa-bench -type row-range -rate 10 -n 300 -from 2020-01-01T00:00:00Z -to 2020-01-31T23:00:00Z"
5 |
6 | health_url: "http://localhost:10101/status"
7 | health_regexp: "NORMAL"
8 |
9 | vars_urls:
10 | - http://localhost:10101/debug/vars
11 | - http://localhost:7070/debug/vars
12 |
--------------------------------------------------------------------------------
/scripts/etc/gloat/query.union.yml:
--------------------------------------------------------------------------------
1 | name: "Union() Load Testing"
2 |
3 | main: "pilosa server --data-dir ~/pilosa.query.${STORAGE_BACKEND} --storage.backend ${STORAGE_BACKEND}"
4 | load: "pilosa-bench -type union -rate 10 -n 300"
5 |
6 | health_url: "http://localhost:10101/status"
7 | health_regexp: "NORMAL"
8 |
9 | vars_urls:
10 | - http://localhost:10101/debug/vars
11 | - http://localhost:7070/debug/vars
12 |
--------------------------------------------------------------------------------
/scripts/etc/gloat/query.xor.yml:
--------------------------------------------------------------------------------
1 | name: "Xor() Load Testing"
2 |
3 | main: "pilosa server --data-dir ~/pilosa.query.${STORAGE_BACKEND} --storage.backend ${STORAGE_BACKEND}"
4 | load: "pilosa-bench -type xor -rate 10 -n 300"
5 |
6 | health_url: "http://localhost:10101/status"
7 | health_regexp: "NORMAL"
8 |
9 | vars_urls:
10 | - http://localhost:10101/debug/vars
11 | - http://localhost:7070/debug/vars
12 |
--------------------------------------------------------------------------------
/server/dup.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | //go:build darwin || (linux && !arm64)
4 | // +build darwin linux,!arm64
5 |
6 | package server
7 |
8 | import (
9 | "syscall"
10 | )
11 |
12 | // dup is an alias for syscall.Dup2 on darwin-amd64, darwin-arm64,
13 | // linux-amd64, linux-arm or syscall.Dup3 on linux-arm64
14 | func (m *Command) dup(oldfd int, newfd int) error {
15 | return syscall.Dup2(oldfd, newfd)
16 | }
17 |
--------------------------------------------------------------------------------
/server/dup_arm64.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | //go:build linux && arm64
4 | // +build linux,arm64
5 |
6 | package server
7 |
8 | import (
9 | "syscall"
10 | )
11 |
12 | // dup is an alias for syscall.Dup2 on darwin-amd64, darwin-arm64,
13 | // linux-amd64, linux-arm or syscall.Dup3 on linux-arm64
14 | func (m *Command) dup(oldfd int, newfd int) error {
15 | return syscall.Dup3(oldfd, newfd, 0)
16 | }
17 |
--------------------------------------------------------------------------------
/server/testdata/certs/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | # these test certs were generated with the following commands
4 |
5 | certstrap --depot-path certs init --common-name pilosa-ca --expires "100 years"
6 | certstrap --depot-path certs request-cert --common-name localhost --domain localhost
7 | certstrap --depot-path certs sign "localhost" --CA pilosa-ca --expires "100 years"
8 |
9 | # certstrap version
10 | dev-25ea708a
11 |
12 | (built with go 1.13)
13 |
--------------------------------------------------------------------------------
/sql3/parser/token_test.go:
--------------------------------------------------------------------------------
1 | // Copyright 2021 Molecula Corp. All rights reserved.
2 | package parser_test
3 |
4 | import (
5 | "testing"
6 |
7 | "github.com/featurebasedb/featurebase/v3/sql3/parser"
8 | )
9 |
10 | func TestPos_String(t *testing.T) {
11 | if got, want := (parser.Pos{}).String(), `-`; got != want {
12 | t.Fatalf("String()=%q, want %q", got, want)
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/statik/.gitignore:
--------------------------------------------------------------------------------
1 | /statik.go
2 |
--------------------------------------------------------------------------------
/systemlayer/systemlayer.go:
--------------------------------------------------------------------------------
1 | package systemlayer
2 |
3 | import pilosa "github.com/featurebasedb/featurebase/v3"
4 |
5 | // SystemLayer is a struct to hold internal FeatureBase state
6 | // Initially this is just the execution requests, but later may include other
7 | // internal state (Buffer Pool?)
8 | type SystemLayer struct {
9 | executionRequests pilosa.ExecutionRequestsAPI
10 | }
11 |
12 | func NewSystemLayer() *SystemLayer {
13 | return &SystemLayer{
14 | executionRequests: NewExecutionRequestsAPI(),
15 | }
16 | }
17 |
18 | func (e *SystemLayer) ExecutionRequests() pilosa.ExecutionRequestsAPI {
19 | return e.executionRequests
20 | }
21 |
--------------------------------------------------------------------------------
/test/field.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | package test
4 |
5 | import pilosa "github.com/featurebasedb/featurebase/v3"
6 |
7 | // Field represents a test wrapper for pilosa.Field.
8 | type Field struct {
9 | *pilosa.Field
10 | }
11 |
--------------------------------------------------------------------------------
/testdata/sample_view/0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FeatureBaseDB/featurebase/6222e9eb58c6906f3fa7e084a651d53bd62f303a/testdata/sample_view/0
--------------------------------------------------------------------------------
/testhook/cleanup1.14.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | //go:build go1.14
4 | // +build go1.14
5 |
6 | package testhook
7 |
8 | import (
9 | "testing"
10 | )
11 |
12 | // Cleanup in 1.13 logs a message about skipping a cleanup function, but
13 | // allows things to build. Cleanup in 1.14 uses tb.Cleanup to register
14 | // a cleanup function to call when a test completes.
15 | func Cleanup(tb testing.TB, fn func()) {
16 | tb.Cleanup(fn)
17 | }
18 |
--------------------------------------------------------------------------------
/txfactory_internal_test.go:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Molecula Corp. (DBA FeatureBase).
2 | // SPDX-License-Identifier: Apache-2.0
3 | package pilosa
4 |
5 | import (
6 | "testing"
7 | )
8 |
9 | func Test_TxFactory_verifyStringConstantsMatch(t *testing.T) {
10 | // txtype.String() method MUST return strings that match
11 | // our const definitions at the top of txfactory.go.
12 | check := []txtype{rbfTxn}
13 | expect := []string{RBFTxn}
14 | for i, chk := range check {
15 | obs := chk.String()
16 | if obs != expect[i] {
17 | t.Fatalf("expected '%v' but got '%v'", expect[i], obs)
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------