quasardb 3.14.2.dev3__cp39-cp39-macosx_11_0_arm64.whl → 3.14.2.dev5__cp39-cp39-macosx_11_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of quasardb might be problematic. Click here for more details.

Files changed (105) hide show
  1. quasardb/CMakeFiles/CMakeDirectoryInformation.cmake +2 -2
  2. quasardb/Makefile +20 -20
  3. quasardb/__init__.py +21 -7
  4. quasardb/cmake_install.cmake +10 -4
  5. quasardb/date/CMakeFiles/CMakeDirectoryInformation.cmake +2 -2
  6. quasardb/date/CMakeFiles/Export/a52b05f964b070ee926bcad51d3288af/dateTargets.cmake +2 -2
  7. quasardb/date/Makefile +20 -20
  8. quasardb/date/cmake_install.cmake +10 -4
  9. quasardb/date/dateConfigVersion.cmake +0 -0
  10. quasardb/date/dateTargets.cmake +2 -2
  11. quasardb/extensions/writer.py +59 -61
  12. quasardb/firehose.py +24 -22
  13. quasardb/libqdb_api.dylib +0 -0
  14. quasardb/numpy/__init__.py +181 -120
  15. quasardb/pandas/__init__.py +145 -95
  16. quasardb/pool.py +13 -2
  17. quasardb/pybind11/CMakeFiles/CMakeDirectoryInformation.cmake +2 -2
  18. quasardb/pybind11/Makefile +20 -20
  19. quasardb/pybind11/cmake_install.cmake +7 -1
  20. quasardb/quasardb.cpython-39-darwin.so +0 -0
  21. quasardb/range-v3/CMakeFiles/CMakeDirectoryInformation.cmake +2 -2
  22. quasardb/range-v3/CMakeFiles/Export/d94ef200eca10a819b5858b33e808f5b/range-v3-targets.cmake +2 -2
  23. quasardb/range-v3/CMakeFiles/range.v3.headers.dir/build.make +18 -15
  24. quasardb/range-v3/Makefile +25 -25
  25. quasardb/range-v3/cmake_install.cmake +13 -7
  26. quasardb/range-v3/range-v3-config-version.cmake +0 -0
  27. quasardb/range-v3/range-v3-config.cmake +2 -2
  28. quasardb/stats.py +92 -80
  29. quasardb/table_cache.py +5 -1
  30. {quasardb-3.14.2.dev3.dist-info → quasardb-3.14.2.dev5.dist-info}/METADATA +13 -8
  31. quasardb-3.14.2.dev5.dist-info/RECORD +45 -0
  32. {quasardb-3.14.2.dev3.dist-info → quasardb-3.14.2.dev5.dist-info}/WHEEL +1 -1
  33. quasardb/CMakeLists.txt +0 -517
  34. quasardb/batch_column.hpp +0 -80
  35. quasardb/batch_inserter.hpp +0 -248
  36. quasardb/blob.hpp +0 -150
  37. quasardb/cluster.cpp +0 -102
  38. quasardb/cluster.hpp +0 -593
  39. quasardb/concepts.hpp +0 -322
  40. quasardb/continuous.cpp +0 -199
  41. quasardb/continuous.hpp +0 -109
  42. quasardb/convert/array.hpp +0 -299
  43. quasardb/convert/point.hpp +0 -330
  44. quasardb/convert/range.hpp +0 -282
  45. quasardb/convert/unicode.hpp +0 -598
  46. quasardb/convert/util.hpp +0 -22
  47. quasardb/convert/value.hpp +0 -782
  48. quasardb/convert.hpp +0 -38
  49. quasardb/detail/invoke.hpp +0 -0
  50. quasardb/detail/qdb_resource.hpp +0 -129
  51. quasardb/detail/retry.cpp +0 -30
  52. quasardb/detail/retry.hpp +0 -147
  53. quasardb/detail/sleep.hpp +0 -53
  54. quasardb/detail/ts_column.hpp +0 -224
  55. quasardb/detail/writer.cpp +0 -440
  56. quasardb/detail/writer.hpp +0 -550
  57. quasardb/direct_blob.hpp +0 -108
  58. quasardb/direct_handle.hpp +0 -83
  59. quasardb/direct_integer.hpp +0 -94
  60. quasardb/dispatch.hpp +0 -157
  61. quasardb/double.hpp +0 -87
  62. quasardb/entry.hpp +0 -273
  63. quasardb/error.hpp +0 -393
  64. quasardb/handle.cpp +0 -29
  65. quasardb/handle.hpp +0 -98
  66. quasardb/integer.hpp +0 -88
  67. quasardb/logger.cpp +0 -106
  68. quasardb/logger.hpp +0 -228
  69. quasardb/masked_array.hpp +0 -658
  70. quasardb/metrics.cpp +0 -103
  71. quasardb/metrics.hpp +0 -112
  72. quasardb/module.cpp +0 -92
  73. quasardb/module.hpp +0 -24
  74. quasardb/node.hpp +0 -132
  75. quasardb/numpy.cpp +0 -6
  76. quasardb/numpy.hpp +0 -489
  77. quasardb/object_tracker.hpp +0 -282
  78. quasardb/options.hpp +0 -273
  79. quasardb/perf.hpp +0 -336
  80. quasardb/properties.cpp +0 -41
  81. quasardb/properties.hpp +0 -85
  82. quasardb/pytypes.hpp +0 -221
  83. quasardb/query.cpp +0 -420
  84. quasardb/query.hpp +0 -92
  85. quasardb/reader.cpp +0 -282
  86. quasardb/reader.hpp +0 -256
  87. quasardb/remove_cvref.hpp +0 -31
  88. quasardb/string.hpp +0 -160
  89. quasardb/table.cpp +0 -257
  90. quasardb/table.hpp +0 -366
  91. quasardb/tag.hpp +0 -77
  92. quasardb/timestamp.hpp +0 -97
  93. quasardb/traits.hpp +0 -642
  94. quasardb/ts_iterator.hpp +0 -193
  95. quasardb/utils/blob_deque.hpp +0 -96
  96. quasardb/utils/ostream.hpp +0 -17
  97. quasardb/utils/permutation.hpp +0 -50
  98. quasardb/utils/stable_sort.hpp +0 -25
  99. quasardb/utils/unzip_view.hpp +0 -89
  100. quasardb/utils.cpp +0 -28
  101. quasardb/utils.hpp +0 -174
  102. quasardb/writer.hpp +0 -354
  103. quasardb-3.14.2.dev3.dist-info/RECORD +0 -115
  104. {quasardb-3.14.2.dev3.dist-info → quasardb-3.14.2.dev5.dist-info}/LICENSE.md +0 -0
  105. {quasardb-3.14.2.dev3.dist-info → quasardb-3.14.2.dev5.dist-info}/top_level.txt +0 -0
quasardb/cluster.hpp DELETED
@@ -1,593 +0,0 @@
1
- /*
2
- *
3
- * Official Python API
4
- *
5
- * Copyright (c) 2009-2024, quasardb SAS. All rights reserved.
6
- * All rights reserved.
7
- *
8
- * Redistribution and use in source and binary forms, with or without
9
- * modification, are permitted provided that the following conditions are met:
10
- *
11
- * * Redistributions of source code must retain the above copyright
12
- * notice, this list of conditions and the following disclaimer.
13
- * * Redistributions in binary form must reproduce the above copyright
14
- * notice, this list of conditions and the following disclaimer in the
15
- * documentation and/or other materials provided with the distribution.
16
- * * Neither the name of quasardb nor the names of its contributors may
17
- * be used to endorse or promote products derived from this software
18
- * without specific prior written permission.
19
- *
20
- * THIS SOFTWARE IS PROVIDED BY QUASARDB AND CONTRIBUTORS ``AS IS'' AND ANY
21
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
22
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23
- * DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
24
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
25
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
26
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
27
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
- */
31
- #pragma once
32
-
33
- #include "batch_inserter.hpp"
34
- #include "blob.hpp"
35
- #include "continuous.hpp"
36
- #include "double.hpp"
37
- #include "error.hpp"
38
- #include "handle.hpp"
39
- #include "integer.hpp"
40
- #include "logger.hpp"
41
- #include "node.hpp"
42
- #include "options.hpp"
43
- #include "perf.hpp"
44
- #include "properties.hpp"
45
- #include "query.hpp"
46
- #include "reader.hpp"
47
- #include "string.hpp"
48
- #include "table.hpp"
49
- #include "tag.hpp"
50
- #include "timestamp.hpp"
51
- #include "utils.hpp"
52
- #include "writer.hpp"
53
- #include <qdb/node.h>
54
- #include <qdb/prefix.h>
55
- #include <qdb/suffix.h>
56
- #include "detail/qdb_resource.hpp"
57
- #include <pybind11/chrono.h>
58
- #include <pybind11/operators.h>
59
- #include <pybind11/stl.h>
60
- #include <chrono>
61
- #include <iostream>
62
-
63
- namespace qdb
64
- {
65
-
66
- class cluster
67
- {
68
- public:
69
- cluster(const std::string & uri,
70
- const std::string & user_name = {},
71
- const std::string & user_private_key = {},
72
- const std::string & cluster_public_key = {},
73
- const std::string & user_security_file = {},
74
- const std::string & cluster_public_key_file = {},
75
- std::chrono::milliseconds timeout = std::chrono::minutes{1},
76
- bool do_version_check = false,
77
- bool enable_encryption = false,
78
- std::size_t client_max_parallelism = 0);
79
-
80
- public:
81
- void close();
82
-
83
- bool is_open() const
84
- {
85
- return _handle.get() != nullptr && _handle->is_open();
86
- }
87
-
88
- /**
89
- * Throws exception if the connection is not open. Should be invoked before any operation
90
- * is done on the handle, as the QuasarDB C API only checks for a canary presence in the
91
- * handle's memory arena. If a compiler is optimizing enough, the handle can be closed but
92
- * the canary still present in memory, so it's UB.
93
- *
94
- * As such, we should check on a higher level.
95
- */
96
- void check_open() const
97
- {
98
- if (is_open() == false) [[unlikely]]
99
- {
100
- throw qdb::invalid_handle_exception{};
101
- }
102
- }
103
-
104
- void tidy_memory()
105
- {
106
- if (_handle)
107
- {
108
- _logger.info("Tidying memory");
109
- qdb_option_client_tidy_memory(*_handle);
110
- }
111
- }
112
-
113
- std::string get_memory_info()
114
- {
115
- std::string result;
116
- if (_handle)
117
- {
118
- char const * buf;
119
- qdb_size_t n;
120
- qdb_option_client_get_memory_info(*_handle, &buf, &n);
121
-
122
- result = std::string{buf, n};
123
-
124
- qdb_release(*_handle, buf);
125
- }
126
-
127
- return result;
128
- }
129
-
130
- public:
131
- qdb::node node(const std::string & uri)
132
- {
133
- return qdb::node(uri, _handle);
134
- }
135
-
136
- private:
137
- pybind11::object convert_to_json_and_release(const char * content)
138
- {
139
- const auto result = _json_loads(content);
140
- qdb_release(*_handle, content);
141
- return result;
142
- }
143
-
144
- public:
145
- cluster enter()
146
- {
147
- // No-op, all initialization is done in the constructor.
148
- return *this;
149
- }
150
-
151
- void exit(pybind11::object type, pybind11::object value, pybind11::object traceback)
152
- {
153
- return close();
154
- }
155
-
156
- pybind11::object node_config(const std::string & uri)
157
- {
158
- check_open();
159
-
160
- const char * content = nullptr;
161
- qdb_size_t content_length = 0;
162
-
163
- qdb::qdb_throw_if_error(
164
- *_handle, qdb_node_config(*_handle, uri.c_str(), &content, &content_length));
165
-
166
- return convert_to_json_and_release(content);
167
- }
168
-
169
- pybind11::object node_status(const std::string & uri)
170
- {
171
- check_open();
172
-
173
- const char * content = nullptr;
174
- qdb_size_t content_length = 0;
175
-
176
- qdb::qdb_throw_if_error(
177
- *_handle, qdb_node_status(*_handle, uri.c_str(), &content, &content_length));
178
-
179
- return convert_to_json_and_release(content);
180
- }
181
-
182
- pybind11::object node_topology(const std::string & uri)
183
- {
184
- check_open();
185
-
186
- const char * content = nullptr;
187
- qdb_size_t content_length = 0;
188
-
189
- qdb::qdb_throw_if_error(
190
- *_handle, qdb_node_topology(*_handle, uri.c_str(), &content, &content_length));
191
-
192
- return convert_to_json_and_release(content);
193
- }
194
-
195
- public:
196
- qdb::tag tag(const std::string & alias)
197
- {
198
- check_open();
199
-
200
- return qdb::tag{_handle, alias};
201
- }
202
-
203
- qdb::blob_entry blob(const std::string & alias)
204
- {
205
- check_open();
206
-
207
- return qdb::blob_entry{_handle, alias};
208
- }
209
-
210
- qdb::string_entry string(const std::string & alias)
211
- {
212
- check_open();
213
-
214
- return qdb::string_entry{_handle, alias};
215
- }
216
-
217
- qdb::integer_entry integer(const std::string & alias)
218
- {
219
- check_open();
220
-
221
- return qdb::integer_entry{_handle, alias};
222
- }
223
-
224
- qdb::double_entry double_(const std::string & alias)
225
- {
226
- check_open();
227
-
228
- return qdb::double_entry{_handle, alias};
229
- }
230
-
231
- qdb::timestamp_entry timestamp(const std::string & alias)
232
- {
233
- check_open();
234
-
235
- return qdb::timestamp_entry{_handle, alias};
236
- }
237
-
238
- qdb::table table(const std::string & alias)
239
- {
240
- check_open();
241
-
242
- return qdb::table{_handle, alias};
243
- }
244
-
245
- // the reader_ptr is non-copyable
246
- qdb::reader_ptr reader( //
247
- std::vector<std::string> const & table_names, //
248
- std::vector<std::string> const & column_names, //
249
- std::size_t batch_size, //
250
- std::vector<py::tuple> const & ranges) //
251
- {
252
- check_open();
253
-
254
- return std::make_unique<qdb::reader>(_handle, table_names, column_names, batch_size, ranges);
255
- }
256
-
257
- // the batch_inserter_ptr is non-copyable
258
- qdb::batch_inserter_ptr inserter(const std::vector<batch_column_info> & ci)
259
- {
260
- check_open();
261
-
262
- return std::make_unique<qdb::batch_inserter>(_handle, ci);
263
- }
264
-
265
- // the batch_inserter_ptr is non-copyable
266
- qdb::writer_ptr writer()
267
- {
268
- check_open();
269
-
270
- return std::make_unique<qdb::writer>(_handle);
271
- }
272
-
273
- // the batch_inserter_ptr is non-copyable
274
- qdb::writer_ptr pinned_writer()
275
- {
276
- check_open();
277
-
278
- return writer();
279
- }
280
-
281
- qdb::options options()
282
- {
283
- check_open();
284
-
285
- return qdb::options{_handle};
286
- }
287
-
288
- qdb::properties properties()
289
- {
290
- check_open();
291
-
292
- return qdb::properties{_handle};
293
- }
294
-
295
- qdb::perf perf()
296
- {
297
- check_open();
298
-
299
- return qdb::perf{_handle};
300
- }
301
-
302
- const std::string & uri()
303
- {
304
- return _uri;
305
- }
306
-
307
- public:
308
- std::vector<std::string> prefix_get(const std::string & prefix, qdb_int_t max_count)
309
- {
310
- check_open();
311
-
312
- const char ** result = nullptr;
313
- size_t count = 0;
314
-
315
- const qdb_error_t err = qdb_prefix_get(*_handle, prefix.c_str(), max_count, &result, &count);
316
- // don't throw if no prefix is found
317
- if (err != qdb_e_alias_not_found)
318
- {
319
- qdb_throw_if_error(*_handle, err);
320
- }
321
-
322
- return convert_strings_and_release(_handle, result, count);
323
- }
324
-
325
- qdb_uint_t prefix_count(const std::string & prefix)
326
- {
327
- check_open();
328
-
329
- qdb_uint_t count = 0;
330
-
331
- const qdb_error_t err = qdb_prefix_count(*_handle, prefix.c_str(), &count);
332
- qdb_throw_if_error(*_handle, err);
333
-
334
- return count;
335
- }
336
-
337
- public:
338
- qdb::find_query find(const std::string & query_string)
339
- {
340
- check_open();
341
-
342
- return qdb::find_query{_handle, query_string};
343
- }
344
-
345
- py::object query(const std::string & query_string, const py::object & blobs)
346
- {
347
- check_open();
348
-
349
- return py::cast(qdb::dict_query(_handle, query_string, blobs));
350
- }
351
-
352
- py::object query_numpy(const std::string & query_string)
353
- {
354
- check_open();
355
-
356
- return py::cast(qdb::numpy_query(_handle, query_string));
357
- }
358
-
359
- std::shared_ptr<qdb::query_continuous> query_continuous(qdb_query_continuous_mode_type_t mode,
360
- const std::string & query_string,
361
- std::chrono::milliseconds pace,
362
- const py::object & blobs)
363
- {
364
- check_open();
365
-
366
- auto o = std::make_shared<qdb::query_continuous>(_handle, blobs);
367
-
368
- o->run(mode, pace, query_string);
369
-
370
- return o;
371
- }
372
-
373
- std::shared_ptr<qdb::query_continuous> query_continuous_full(
374
- const std::string & query_string, std::chrono::milliseconds pace, const py::object & blobs)
375
- {
376
- return query_continuous(qdb_query_continuous_full, query_string, pace, blobs);
377
- }
378
-
379
- std::shared_ptr<qdb::query_continuous> query_continuous_new_values(
380
- const std::string & query_string, std::chrono::milliseconds pace, const py::object & blobs)
381
- {
382
- return query_continuous(qdb_query_continuous_new_values_only, query_string, pace, blobs);
383
- }
384
-
385
- public:
386
- std::vector<std::string> suffix_get(const std::string & suffix, qdb_int_t max_count)
387
- {
388
- check_open();
389
-
390
- const char ** result = nullptr;
391
- size_t count = 0;
392
-
393
- const qdb_error_t err = qdb_suffix_get(*_handle, suffix.c_str(), max_count, &result, &count);
394
- // don't throw if no suffix is found
395
- if (err != qdb_e_alias_not_found)
396
- {
397
- qdb_throw_if_error(*_handle, err);
398
- }
399
-
400
- return convert_strings_and_release(_handle, result, count);
401
- }
402
-
403
- qdb_uint_t suffix_count(const std::string & suffix)
404
- {
405
- check_open();
406
-
407
- qdb_uint_t count = 0;
408
-
409
- const qdb_error_t err = qdb_suffix_count(*_handle, suffix.c_str(), &count);
410
- qdb_throw_if_error(*_handle, err);
411
-
412
- return count;
413
- }
414
-
415
- public:
416
- void purge_all(std::chrono::milliseconds timeout_ms)
417
- {
418
- check_open();
419
-
420
- qdb::qdb_throw_if_error(
421
- *_handle, qdb_purge_all(*_handle, static_cast<int>(timeout_ms.count())));
422
- }
423
-
424
- void purge_cache(std::chrono::milliseconds timeout_ms)
425
- {
426
- check_open();
427
-
428
- qdb::qdb_throw_if_error(
429
- *_handle, qdb_purge_cache(*_handle, static_cast<int>(timeout_ms.count())));
430
- }
431
-
432
- void wait_for_stabilization(std::chrono::milliseconds timeout_ms)
433
- {
434
- check_open();
435
-
436
- qdb::qdb_throw_if_error(
437
- *_handle, qdb_wait_for_stabilization(*_handle, static_cast<int>(timeout_ms.count())));
438
- }
439
-
440
- void trim_all(std::chrono::milliseconds pause_ms, std::chrono::milliseconds timeout_ms)
441
- {
442
- check_open();
443
-
444
- qdb::qdb_throw_if_error(*_handle, qdb_trim_all(*_handle, static_cast<int>(pause_ms.count()),
445
- static_cast<int>(timeout_ms.count())));
446
- }
447
-
448
- void compact_full()
449
- {
450
- check_open();
451
-
452
- qdb_compact_params_t params{};
453
- params.options = qdb_compact_full;
454
-
455
- qdb::qdb_throw_if_error(*_handle, qdb_cluster_compact(*_handle, &params));
456
- }
457
-
458
- // Returns 0 when finished / no compaction running
459
- std::uint64_t compact_progress()
460
- {
461
- check_open();
462
-
463
- std::uint64_t progress;
464
-
465
- qdb::qdb_throw_if_error(*_handle, qdb_cluster_get_compact_progress(*_handle, &progress));
466
-
467
- return progress;
468
- }
469
-
470
- void compact_abort()
471
- {
472
- check_open();
473
-
474
- qdb::qdb_throw_if_error(*_handle, qdb_cluster_abort_compact(*_handle));
475
- }
476
-
477
- void wait_for_compaction();
478
-
479
- public:
480
- std::vector<std::string> endpoints()
481
- {
482
- check_open();
483
-
484
- qdb_remote_node_t * endpoints = nullptr;
485
- qdb_size_t count = 0;
486
-
487
- const qdb_error_t err = qdb_cluster_endpoints(*_handle, &endpoints, &count);
488
- qdb_throw_if_error(*_handle, err);
489
-
490
- std::vector<std::string> results;
491
- results.resize(count);
492
-
493
- std::transform(endpoints, endpoints + count, std::begin(results), [](auto const & endpoint) {
494
- return std::string{endpoint.address} + ":" + std::to_string(endpoint.port);
495
- });
496
-
497
- qdb_release(*_handle, endpoints);
498
-
499
- return results;
500
- }
501
-
502
- private:
503
- std::string _uri;
504
- handle_ptr _handle;
505
- pybind11::object _json_loads;
506
-
507
- qdb::logger _logger;
508
- };
509
-
510
- template <typename Module>
511
- static inline void register_cluster(Module & m)
512
- {
513
- namespace py = pybind11;
514
-
515
- py::class_<qdb::cluster>(m, "Cluster",
516
- "Represents a connection to the QuasarDB cluster. ") //
517
- .def(py::init<const std::string &, const std::string &, const std::string &,
518
- const std::string &, const std::string &, const std::string &,
519
- std::chrono::milliseconds, bool, bool, std::size_t>(), //
520
- py::arg("uri"), //
521
- py::arg("user_name") = std::string{}, //
522
- py::arg("user_private_key") = std::string{}, //
523
- py::arg("cluster_public_key") = std::string{}, //
524
- py::kw_only(), //
525
- py::arg("user_security_file") = std::string{}, //
526
- py::arg("cluster_public_key_file") = std::string{}, //
527
- py::arg("timeout") = std::chrono::minutes{1}, //
528
- py::arg("do_version_check") = false, //
529
- py::arg("enable_encryption") = false, //
530
- py::arg("client_max_parallelism") = std::size_t{0} //
531
- ) //
532
- .def("__enter__", &qdb::cluster::enter) //
533
- .def("__exit__", &qdb::cluster::exit) //
534
- .def("tidy_memory", &qdb::cluster::tidy_memory) //
535
- .def("get_memory_info", &qdb::cluster::get_memory_info) //
536
- .def("is_open", &qdb::cluster::is_open) //
537
- .def("uri", &qdb::cluster::uri) //
538
- .def("node", &qdb::cluster::node) //
539
- .def("options", &qdb::cluster::options) //
540
- .def("properties", &qdb::cluster::properties) //
541
- .def("perf", &qdb::cluster::perf) //
542
- .def("node_status", &qdb::cluster::node_status) //
543
- .def("node_config", &qdb::cluster::node_config) //
544
- .def("node_topology", &qdb::cluster::node_topology) //
545
- .def("tag", &qdb::cluster::tag) //
546
- .def("blob", &qdb::cluster::blob) //
547
- .def("string", &qdb::cluster::string) //
548
- .def("integer", &qdb::cluster::integer) //
549
- .def("double", &qdb::cluster::double_) //
550
- .def("timestamp", &qdb::cluster::timestamp) //
551
- .def("ts", &qdb::cluster::table) //
552
- .def("table", &qdb::cluster::table) //
553
- .def("ts_batch", &qdb::cluster::inserter) //
554
- .def("inserter", &qdb::cluster::inserter) //
555
- .def("reader", &qdb::cluster::reader, //
556
- py::arg("table_names"), //
557
- py::kw_only(), //
558
- py::arg("column_names") = std::vector<std::string>{}, //
559
- py::arg("batch_size") = std::size_t{0}, //
560
- py::arg("ranges") = std::vector<py::tuple>{} //
561
- ) //
562
- .def("pinned_writer", &qdb::cluster::pinned_writer) //
563
- .def("writer", &qdb::cluster::writer) //
564
- .def("find", &qdb::cluster::find) //
565
- .def("query", &qdb::cluster::query, //
566
- py::arg("query"), //
567
- py::arg("blobs") = false) //
568
- .def("query_numpy", &qdb::cluster::query_numpy, //
569
- py::arg("query")) //
570
- .def("query_continuous_full", &qdb::cluster::query_continuous_full, //
571
- py::arg("query"), //
572
- py::arg("pace"), //
573
- py::arg("blobs") = false) //
574
- .def("query_continuous_new_values", &qdb::cluster::query_continuous_new_values, //
575
- py::arg("query"), //
576
- py::arg("pace"), //
577
- py::arg("blobs") = false) //
578
- .def("prefix_get", &qdb::cluster::prefix_get) //
579
- .def("prefix_count", &qdb::cluster::prefix_count) //
580
- .def("suffix_get", &qdb::cluster::suffix_get) //
581
- .def("suffix_count", &qdb::cluster::suffix_count) //
582
- .def("close", &qdb::cluster::close) //
583
- .def("purge_all", &qdb::cluster::purge_all) //
584
- .def("trim_all", &qdb::cluster::trim_all) //
585
- .def("purge_cache", &qdb::cluster::purge_cache) //
586
- .def("compact_full", &qdb::cluster::compact_full) //
587
- .def("compact_progress", &qdb::cluster::compact_progress) //
588
- .def("compact_abort", &qdb::cluster::compact_abort) //
589
- .def("wait_for_compaction", &qdb::cluster::wait_for_compaction) //
590
- .def("endpoints", &qdb::cluster::endpoints); //
591
- }
592
-
593
- } // namespace qdb