├── .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 = 2 | AWS_REGION = 3 | ECR_URL = 4 | ECR_REPO = 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(, 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 = ({ children }) => { 9 | const signinOnClick = (e) => { 10 | window.location.href = '/login'; 11 | }; 12 | 13 | return ( 14 | 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 = ({ children }) => { 9 | const signoutOnClick = (e) => { 10 | localStorage.clear(); 11 | window.location.href = '/logout'; 12 | }; 13 | 14 | return ( 15 | 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 |
12 | {keys.map((key) => ( 13 |
14 | 15 |
{info[key]}
16 |
17 | ))} 18 |
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 |
6 | 7 | Page Not Found 8 | 9 |
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 | /// 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 | --------------------------------------------------------------------------------