quasardb 3.13.6__cp38-cp38-macosx_10_14_x86_64.whl → 3.13.7__cp38-cp38-macosx_10_14_x86_64.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 (74) hide show
  1. quasardb/CMakeFiles/CMakeDirectoryInformation.cmake +1 -1
  2. quasardb/CMakeLists.txt +43 -22
  3. quasardb/Makefile +42 -45
  4. quasardb/__init__.py +1 -1
  5. quasardb/add_boost_test.cmake +43 -0
  6. quasardb/batch_column.hpp +1 -1
  7. quasardb/batch_inserter.hpp +1 -1
  8. quasardb/blob.hpp +1 -1
  9. quasardb/cluster.hpp +42 -17
  10. quasardb/cmake_install.cmake +1 -1
  11. quasardb/concepts.hpp +30 -16
  12. quasardb/continuous.hpp +1 -1
  13. quasardb/convert/array.hpp +61 -7
  14. quasardb/convert/point.hpp +16 -11
  15. quasardb/convert/range.hpp +19 -25
  16. quasardb/convert/unicode.hpp +457 -149
  17. quasardb/convert/value.hpp +87 -18
  18. quasardb/convert.hpp +1 -1
  19. quasardb/date/CMakeFiles/CMakeDirectoryInformation.cmake +1 -1
  20. quasardb/date/CMakeFiles/Export/{lib/cmake/date → a52b05f964b070ee926bcad51d3288af}/dateTargets.cmake +42 -34
  21. quasardb/date/Makefile +42 -45
  22. quasardb/date/cmake_install.cmake +16 -12
  23. quasardb/date/dateTargets.cmake +28 -23
  24. quasardb/detail/qdb_resource.hpp +6 -6
  25. quasardb/detail/ts_column.hpp +1 -1
  26. quasardb/direct_blob.hpp +1 -1
  27. quasardb/direct_handle.hpp +1 -1
  28. quasardb/direct_integer.hpp +1 -1
  29. quasardb/{version.cpp → double.hpp} +46 -28
  30. quasardb/entry.hpp +1 -1
  31. quasardb/error.hpp +14 -10
  32. quasardb/handle.hpp +1 -1
  33. quasardb/integer.hpp +1 -1
  34. quasardb/libqdb_api.dylib +0 -0
  35. quasardb/logger.hpp +1 -1
  36. quasardb/masked_array.hpp +1 -1
  37. quasardb/module.cpp +73 -0
  38. quasardb/module.hpp +24 -0
  39. quasardb/node.hpp +16 -11
  40. quasardb/numpy/__init__.py +76 -7
  41. quasardb/numpy.hpp +1 -1
  42. quasardb/options.hpp +31 -9
  43. quasardb/pandas/__init__.py +1 -1
  44. quasardb/perf.hpp +6 -6
  45. quasardb/pinned_writer.hpp +1 -5
  46. quasardb/pybind11/CMakeFiles/CMakeDirectoryInformation.cmake +1 -1
  47. quasardb/pybind11/Makefile +42 -45
  48. quasardb/pybind11/cmake_install.cmake +1 -1
  49. quasardb/pytypes.hpp +2 -2
  50. quasardb/quasardb.cpython-38-darwin.so +0 -0
  51. quasardb/query.cpp +3 -3
  52. quasardb/query.hpp +1 -1
  53. quasardb/range-v3/CMakeFiles/CMakeDirectoryInformation.cmake +1 -1
  54. quasardb/range-v3/CMakeFiles/Export/{lib/cmake/range-v3 → d94ef200eca10a819b5858b33e808f5b}/range-v3-targets.cmake +42 -34
  55. quasardb/range-v3/CMakeFiles/range.v3.headers.dir/build.make +1 -4
  56. quasardb/range-v3/Makefile +42 -45
  57. quasardb/range-v3/cmake_install.cmake +16 -12
  58. quasardb/range-v3/range-v3-config.cmake +28 -23
  59. quasardb/reader/ts_row.hpp +1 -1
  60. quasardb/reader/ts_value.hpp +1 -1
  61. quasardb/string.hpp +160 -0
  62. quasardb/table.hpp +1 -1
  63. quasardb/table_reader.hpp +1 -1
  64. quasardb/tag.hpp +1 -1
  65. quasardb/timestamp.hpp +97 -0
  66. quasardb/utils.hpp +1 -1
  67. {quasardb-3.13.6.dist-info → quasardb-3.13.7.dist-info}/LICENSE.md +1 -1
  68. {quasardb-3.13.6.dist-info → quasardb-3.13.7.dist-info}/METADATA +1 -1
  69. quasardb-3.13.7.dist-info/RECORD +105 -0
  70. {quasardb-3.13.6.dist-info → quasardb-3.13.7.dist-info}/WHEEL +1 -1
  71. quasardb/qdb_client.cpp +0 -67
  72. quasardb/version.hpp +0 -43
  73. quasardb-3.13.6.dist-info/RECORD +0 -102
  74. {quasardb-3.13.6.dist-info → quasardb-3.13.7.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,5 @@
1
1
  # CMAKE generated file: DO NOT EDIT!
2
- # Generated by "Unix Makefiles" Generator, CMake Version 3.21
2
+ # Generated by "Unix Makefiles" Generator, CMake Version 3.24
3
3
 
4
4
  # Relative path conversion top directories.
5
5
  set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/Users/teamcity/buildAgent/work/283bde3fda0d76e7/thirdparty")
quasardb/CMakeLists.txt CHANGED
@@ -3,11 +3,12 @@ project(quasardb)
3
3
  set(CMAKE_EXPORT_COMPILE_COMMANDS TRUE)
4
4
  set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
5
5
  set(CMAKE_OSX_DEPLOYMENT_TARGET "10.14")
6
- set(CMAKE_VERBOSE_MAKEFILE TRUE)
6
+ set(CMAKE_VERBOSE_MAKEFILE FALSE)
7
7
 
8
8
  include(CheckIPOSupported)
9
9
 
10
10
  option(QDB_LINK_STATIC_LIB "Link qdb_api_static instead of dynamic qdb_api." OFF)
11
+ option(QDB_TESTS_ENABLED "Build quasardb test suite?" OFF)
11
12
 
12
13
  set(PACKAGE_NAME quasardb)
13
14
 
@@ -33,11 +34,7 @@ endif()
33
34
  #
34
35
  ###
35
36
 
36
-
37
37
  set(QDB_API_NAME qdb_api)
38
- if (CMAKE_BUILD_TYPE STREQUAL Debug)
39
- set(QDB_API_NAME qdb_apid)
40
- endif()
41
38
 
42
39
  message(STATUS "[qdb-api-python] Using qdb api name ${QDB_API_NAME}")
43
40
 
@@ -151,6 +148,7 @@ if(CLANG OR GNU)
151
148
  add_compile_options(
152
149
  -Wno-register
153
150
  -Wall
151
+ -fconcepts-diagnostics-depth=3
154
152
 
155
153
  $<$<CONFIG:Debug>:-Og>
156
154
  $<$<CONFIG:Release>:-O3>
@@ -265,13 +263,15 @@ endif()
265
263
  ###
266
264
 
267
265
  message(STATUS "[qdb-api-python] Including thirdparty libraries with binary directory ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
268
- add_subdirectory(../thirdparty/ ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
269
-
270
266
  include_directories(SYSTEM ../thirdparty/date/include)
271
267
  include_directories(SYSTEM ../thirdparty/range-v3/include)
272
268
 
269
+ add_subdirectory(../thirdparty/ ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
270
+
273
271
  include_directories(SYSTEM qdb/include)
274
272
  include_directories(${CMAKE_SOURCE_DIR})
273
+ include_directories(../quasardb/)
274
+
275
275
 
276
276
  #
277
277
  # step 2: copy the libraries
@@ -321,43 +321,43 @@ if(NOT QDB_LINK_STATIC_LIB)
321
321
  endif()
322
322
  endif()
323
323
 
324
- # step 3: build
325
- pybind11_add_module(
326
- quasardb
327
-
324
+ set(QDB_FILES
325
+ batch_inserter.hpp
326
+ blob.hpp
328
327
  cluster.hpp
328
+ concepts.hpp
329
329
  continuous.cpp
330
330
  continuous.hpp
331
+ convert.hpp
332
+ double.hpp
331
333
  error.hpp
332
334
  entry.hpp
333
- blob.hpp
334
335
  handle.hpp
336
+ logger.hpp
337
+ logger.cpp
335
338
  masked_array.hpp
339
+ module.hpp
340
+ module.cpp
341
+ node.hpp
336
342
  numpy.hpp
337
343
  numpy.cpp
338
344
  object_tracker.hpp
339
345
  options.hpp
340
346
  pinned_writer.cpp
341
347
  pinned_writer.hpp
342
- qdb_client.cpp
343
348
  query.hpp
344
349
  query.cpp
350
+ string.hpp
345
351
  table.cpp
346
352
  table.hpp
347
353
  table_reader.hpp
348
- batch_inserter.hpp
349
- convert.hpp
350
- traits.hpp
351
- concepts.hpp
352
354
  tag.hpp
355
+ timestamp.hpp
356
+ traits.hpp
353
357
  utils.cpp
354
358
  utils.hpp
355
- version.hpp
356
- version.cpp
357
- logger.hpp
358
- logger.cpp
359
- detail/ts_column.hpp
360
359
  detail/qdb_resource.hpp
360
+ detail/ts_column.hpp
361
361
  reader/ts_row.hpp
362
362
  reader/ts_value.hpp
363
363
  utils/blob_deque.hpp
@@ -366,6 +366,27 @@ pybind11_add_module(
366
366
  utils/stable_sort.hpp
367
367
  )
368
368
 
369
+ set(QDB_TEST_FILES "")
370
+
371
+ if(QDB_TESTS_ENABLED)
372
+ message(WARNING "\
373
+ ------------------------------------------------------------------ \
374
+ [qdb-api-python] Tests enabled -- do not enable for release builds \
375
+ ------------------------------------------------------------------ \ ")
376
+ set(QDB_TEST_FILES
377
+
378
+ ../tests/conftest.cpp
379
+ ../tests/conftest.hpp
380
+ ../tests/test_convert.cpp)
381
+ endif()
382
+
383
+ # step 3: build
384
+ pybind11_add_module(
385
+ quasardb
386
+
387
+ ${QDB_FILES}
388
+ ${QDB_TEST_FILES})
389
+
369
390
  target_compile_definitions(quasardb PUBLIC QDB_PY_VERSION="${QDB_PY_VERSION}")
370
391
  if(QDB_LINK_STATIC_LIB)
371
392
  add_definitions(-DQDB_API_STATIC_LINK=1)
quasardb/Makefile CHANGED
@@ -1,5 +1,5 @@
1
1
  # CMAKE generated file: DO NOT EDIT!
2
- # Generated by "Unix Makefiles" Generator, CMake Version 3.21
2
+ # Generated by "Unix Makefiles" Generator, CMake Version 3.24
3
3
 
4
4
  # Default target executed when no arguments are given to make.
5
5
  default_target: all
@@ -31,9 +31,6 @@ default_target: all
31
31
 
32
32
  .SUFFIXES: .hpux_make_needs_suffix_list
33
33
 
34
- # Produce verbose output by default.
35
- VERBOSE = 1
36
-
37
34
  # Command-line flag to silence nested $(MAKE).
38
35
  $(VERBOSE)MAKESILENT = -s
39
36
 
@@ -68,6 +65,47 @@ CMAKE_BINARY_DIR = /Users/teamcity/buildAgent/work/283bde3fda0d76e7/build/temp.m
68
65
  #=============================================================================
69
66
  # Targets provided globally by CMake.
70
67
 
68
+ # Special rule for the target edit_cache
69
+ edit_cache:
70
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..."
71
+ /opt/local/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
72
+ .PHONY : edit_cache
73
+
74
+ # Special rule for the target edit_cache
75
+ edit_cache/fast: edit_cache
76
+ .PHONY : edit_cache/fast
77
+
78
+ # Special rule for the target rebuild_cache
79
+ rebuild_cache:
80
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
81
+ /opt/local/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
82
+ .PHONY : rebuild_cache
83
+
84
+ # Special rule for the target rebuild_cache
85
+ rebuild_cache/fast: rebuild_cache
86
+ .PHONY : rebuild_cache/fast
87
+
88
+ # Special rule for the target list_install_components
89
+ list_install_components:
90
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
91
+ .PHONY : list_install_components
92
+
93
+ # Special rule for the target list_install_components
94
+ list_install_components/fast: list_install_components
95
+ .PHONY : list_install_components/fast
96
+
97
+ # Special rule for the target install
98
+ install: preinstall
99
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
100
+ /opt/local/bin/cmake -P cmake_install.cmake
101
+ .PHONY : install
102
+
103
+ # Special rule for the target install
104
+ install/fast: preinstall/fast
105
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
106
+ /opt/local/bin/cmake -P cmake_install.cmake
107
+ .PHONY : install/fast
108
+
71
109
  # Special rule for the target install/local
72
110
  install/local: preinstall
73
111
  @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
@@ -92,47 +130,6 @@ install/strip/fast: preinstall/fast
92
130
  /opt/local/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
93
131
  .PHONY : install/strip/fast
94
132
 
95
- # Special rule for the target install
96
- install: preinstall
97
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
98
- /opt/local/bin/cmake -P cmake_install.cmake
99
- .PHONY : install
100
-
101
- # Special rule for the target install
102
- install/fast: preinstall/fast
103
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
104
- /opt/local/bin/cmake -P cmake_install.cmake
105
- .PHONY : install/fast
106
-
107
- # Special rule for the target list_install_components
108
- list_install_components:
109
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
110
- .PHONY : list_install_components
111
-
112
- # Special rule for the target list_install_components
113
- list_install_components/fast: list_install_components
114
- .PHONY : list_install_components/fast
115
-
116
- # Special rule for the target rebuild_cache
117
- rebuild_cache:
118
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
119
- /opt/local/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
120
- .PHONY : rebuild_cache
121
-
122
- # Special rule for the target rebuild_cache
123
- rebuild_cache/fast: rebuild_cache
124
- .PHONY : rebuild_cache/fast
125
-
126
- # Special rule for the target edit_cache
127
- edit_cache:
128
- @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..."
129
- /opt/local/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
130
- .PHONY : edit_cache
131
-
132
- # Special rule for the target edit_cache
133
- edit_cache/fast: edit_cache
134
- .PHONY : edit_cache/fast
135
-
136
133
  # The main all target
137
134
  all: cmake_check_build_system
138
135
  cd /Users/teamcity/buildAgent/work/283bde3fda0d76e7/build/temp.macosx-12.0-x86_64-cpython-38 && $(CMAKE_COMMAND) -E cmake_progress_start /Users/teamcity/buildAgent/work/283bde3fda0d76e7/build/temp.macosx-12.0-x86_64-cpython-38/CMakeFiles /Users/teamcity/buildAgent/work/283bde3fda0d76e7/build/lib.macosx-12.0-x86_64-cpython-38/quasardb//CMakeFiles/progress.marks
quasardb/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # pylint: disable=C0103,C0111,C0302,R0903
2
2
 
3
- # Copyright (c) 2009-2022, quasardb SAS. All rights reserved.
3
+ # Copyright (c) 2009-2023, quasardb SAS. All rights reserved.
4
4
  # All rights reserved.
5
5
  #
6
6
  # Redistribution and use in source and binary forms, with or without
@@ -0,0 +1,43 @@
1
+ function(add_boost_test_executable NAME COMPONENT)
2
+ add_executable(${NAME}
3
+ ${ARGN}
4
+ )
5
+
6
+ # set_target_properties(${NAME} PROPERTIES
7
+ # DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
8
+
9
+ target_link_libraries(${NAME}
10
+ boost_unit_test_framework
11
+ )
12
+
13
+ if($<CONFIG:SanitizeValgrind>)
14
+ add_test(
15
+ NAME ${NAME}
16
+ COMMAND
17
+ valgrind>
18
+ $<$<PLATFORM_ID:Darwin>:--dsymutil=yes>
19
+ --gen-suppressions=all
20
+ ./${NAME}
21
+ --log_level=test_suite
22
+ --report_level=detailed
23
+ --build_info=yes
24
+ --detect_memory_leaks=0
25
+ )
26
+ else()
27
+ add_test(
28
+ NAME ${NAME}
29
+ COMMAND
30
+ ${NAME}
31
+ --log_level=test_suite
32
+ --report_level=detailed
33
+ --build_info=yes
34
+ --detect_memory_leaks=0
35
+ )
36
+ endif()
37
+
38
+ install(TARGETS ${NAME}
39
+ RUNTIME DESTINATION bin COMPONENT ${COMPONENT}
40
+ LIBRARY DESTINATION lib COMPONENT ${COMPONENT}
41
+ ARCHIVE DESTINATION lib COMPONENT ${COMPONENT}
42
+ )
43
+ endfunction()
quasardb/batch_column.hpp CHANGED
@@ -2,7 +2,7 @@
2
2
  *
3
3
  * Official Python API
4
4
  *
5
- * Copyright (c) 2009-2022, quasardb SAS. All rights reserved.
5
+ * Copyright (c) 2009-2023, quasardb SAS. All rights reserved.
6
6
  * All rights reserved.
7
7
  *
8
8
  * Redistribution and use in source and binary forms, with or without
@@ -2,7 +2,7 @@
2
2
  *
3
3
  * Official Python API
4
4
  *
5
- * Copyright (c) 2009-2022, quasardb SAS. All rights reserved.
5
+ * Copyright (c) 2009-2023, quasardb SAS. All rights reserved.
6
6
  * All rights reserved.
7
7
  *
8
8
  * Redistribution and use in source and binary forms, with or without
quasardb/blob.hpp CHANGED
@@ -2,7 +2,7 @@
2
2
  *
3
3
  * Official Python API
4
4
  *
5
- * Copyright (c) 2009-2022, quasardb SAS. All rights reserved.
5
+ * Copyright (c) 2009-2023, quasardb SAS. All rights reserved.
6
6
  * All rights reserved.
7
7
  *
8
8
  * Redistribution and use in source and binary forms, with or without
quasardb/cluster.hpp CHANGED
@@ -2,7 +2,7 @@
2
2
  *
3
3
  * Official Python API
4
4
  *
5
- * Copyright (c) 2009-2022, quasardb SAS. All rights reserved.
5
+ * Copyright (c) 2009-2023, quasardb SAS. All rights reserved.
6
6
  * All rights reserved.
7
7
  *
8
8
  * Redistribution and use in source and binary forms, with or without
@@ -33,6 +33,7 @@
33
33
  #include "batch_inserter.hpp"
34
34
  #include "blob.hpp"
35
35
  #include "continuous.hpp"
36
+ #include "double.hpp"
36
37
  #include "error.hpp"
37
38
  #include "handle.hpp"
38
39
  #include "integer.hpp"
@@ -42,11 +43,12 @@
42
43
  #include "perf.hpp"
43
44
  #include "pinned_writer.hpp"
44
45
  #include "query.hpp"
46
+ #include "string.hpp"
45
47
  #include "table.hpp"
46
48
  #include "table_reader.hpp"
47
49
  #include "tag.hpp"
50
+ #include "timestamp.hpp"
48
51
  #include "utils.hpp"
49
- #include "version.hpp"
50
52
  #include <qdb/node.h>
51
53
  #include <qdb/prefix.h>
52
54
  #include <qdb/suffix.h>
@@ -62,24 +64,27 @@ class cluster
62
64
  {
63
65
  public:
64
66
  cluster(const std::string & uri,
65
- const std::string & user_name = {},
66
- const std::string & user_private_key = {},
67
- const std::string & cluster_public_key = {},
68
- std::chrono::milliseconds timeout = std::chrono::minutes{1},
69
- bool do_version_check = true)
67
+ const std::string & user_name = {},
68
+ const std::string & user_private_key = {},
69
+ const std::string & cluster_public_key = {},
70
+ const std::string & user_security_file = {},
71
+ const std::string & cluster_public_key_file = {},
72
+ std::chrono::milliseconds timeout = std::chrono::minutes{1},
73
+ bool do_version_check = false)
70
74
  : _uri{uri}
71
75
  , _handle{make_handle_ptr()}
72
76
  , _json_loads{pybind11::module::import("json").attr("loads")}
73
77
  , _logger("quasardb.cluster")
74
78
  {
75
- // Check that the C API version installed on the target system matches
76
- // the one used during the build
77
- if (do_version_check)
79
+ if (do_version_check == true)
78
80
  {
79
- check_qdb_c_api_version(qdb_version());
81
+ _logger.warn(
82
+ "do_version_check parameter has been deprecated and a no-op. It will be removed from a "
83
+ "future release");
80
84
  }
81
85
 
82
- options().apply_credentials(user_name, user_private_key, cluster_public_key);
86
+ options().apply_credentials(user_name, user_private_key, cluster_public_key, //
87
+ user_security_file, cluster_public_key_file);
83
88
 
84
89
  options().set_timeout(timeout);
85
90
 
@@ -175,11 +180,26 @@ public:
175
180
  return qdb::blob_entry{_handle, alias};
176
181
  }
177
182
 
183
+ qdb::string_entry string(const std::string & alias)
184
+ {
185
+ return qdb::string_entry{_handle, alias};
186
+ }
187
+
178
188
  qdb::integer_entry integer(const std::string & alias)
179
189
  {
180
190
  return qdb::integer_entry{_handle, alias};
181
191
  }
182
192
 
193
+ qdb::double_entry double_(const std::string & alias)
194
+ {
195
+ return qdb::double_entry{_handle, alias};
196
+ }
197
+
198
+ qdb::timestamp_entry timestamp(const std::string & alias)
199
+ {
200
+ return qdb::timestamp_entry{_handle, alias};
201
+ }
202
+
183
203
  qdb::table table(const std::string & alias)
184
204
  {
185
205
  return qdb::table{_handle, alias};
@@ -360,17 +380,19 @@ static inline void register_cluster(Module & m)
360
380
 
361
381
  py::class_<qdb::cluster>(m, "Cluster",
362
382
  "Represents a connection to the QuasarDB cluster. ") //
363
- .def(py::init<const std::string &, const std::string &, const std::string &,
364
- const std::string &, std::chrono::milliseconds, bool>(), //
383
+ .def(
384
+ py::init<const std::string &, const std::string &, const std::string &, const std::string &,
385
+ const std::string &, const std::string &, std::chrono::milliseconds, bool>(), //
365
386
  py::arg("uri"), //
366
387
  py::arg("user_name") = std::string{}, //
367
388
  py::arg("user_private_key") = std::string{}, //
368
389
  py::arg("cluster_public_key") = std::string{}, //
390
+ py::arg("user_security_file") = std::string{}, //
391
+ py::arg("cluster_public_key_file") = std::string{}, //
369
392
  py::arg("timeout") = std::chrono::minutes{1}, //
370
- py::arg("do_version_check") = true) //
393
+ py::arg("do_version_check") = false) //
371
394
  .def("__enter__", &qdb::cluster::enter) //
372
- .def("__exit__",
373
- &qdb::cluster::exit) // //
395
+ .def("__exit__", &qdb::cluster::exit) //
374
396
  .def("is_open", &qdb::cluster::is_open) //
375
397
  .def("uri", &qdb::cluster::uri) //
376
398
  .def("node", &qdb::cluster::node) //
@@ -381,7 +403,10 @@ static inline void register_cluster(Module & m)
381
403
  .def("node_topology", &qdb::cluster::node_topology) //
382
404
  .def("tag", &qdb::cluster::tag) //
383
405
  .def("blob", &qdb::cluster::blob) //
406
+ .def("string", &qdb::cluster::string) //
384
407
  .def("integer", &qdb::cluster::integer) //
408
+ .def("double", &qdb::cluster::double_) //
409
+ .def("timestamp", &qdb::cluster::timestamp) //
385
410
  .def("ts", &qdb::cluster::table) //
386
411
  .def("table", &qdb::cluster::table) //
387
412
  .def("ts_batch", &qdb::cluster::inserter) //
@@ -34,7 +34,7 @@ endif()
34
34
 
35
35
  # Set default install directory permissions.
36
36
  if(NOT DEFINED CMAKE_OBJDUMP)
37
- set(CMAKE_OBJDUMP "/Library/Developer/CommandLineTools/usr/bin/objdump")
37
+ set(CMAKE_OBJDUMP "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/objdump")
38
38
  endif()
39
39
 
40
40
  if(NOT CMAKE_INSTALL_LOCAL_ONLY)
quasardb/concepts.hpp CHANGED
@@ -19,12 +19,28 @@ concept range_t =
19
19
 
20
20
  template <typename R, typename T>
21
21
  concept input_range_t =
22
- // Ensure we are a range
22
+ // Ensure we are an input range
23
23
  ranges::input_range<R>
24
24
 
25
25
  // Ensure the range carries the correct type.
26
26
  && range_t<R, T>;
27
27
 
28
+ template <typename R, typename T>
29
+ concept forward_range_t =
30
+ // Ensure we are a forward range
31
+ ranges::forward_range<R>
32
+
33
+ // And delegate the rest of the checks
34
+ && input_range_t<R, T>;
35
+
36
+ template <typename R, typename T>
37
+ concept sized_range_t =
38
+ // Ensure we are a sized range
39
+ ranges::sized_range<R>
40
+
41
+ // And delegate the rest of the checks
42
+ && range_t<R, T>;
43
+
28
44
  namespace py = pybind11;
29
45
 
30
46
  ////////////////////////////////////////////////////////////////////////////////
@@ -98,21 +114,19 @@ static_assert(not qdb_primitive<qdb_ts_string_point>);
98
114
  template <typename Dtype>
99
115
  concept dtype = std::is_base_of_v<traits::dtype<Dtype::kind>, Dtype>
100
116
 
101
- && std::is_enum_v<decltype(Dtype::kind)>
117
+ && std::is_enum_v<decltype(Dtype::kind)>
102
118
 
103
119
  ;
104
120
 
105
121
  template <typename Dtype>
106
- concept fixed_width_dtype =
107
- dtype<Dtype>
122
+ concept fixed_width_dtype = dtype<Dtype>
108
123
 
109
124
  // Check base class
110
125
  && std::is_base_of_v<traits::fixed_width_dtype<Dtype::kind, Dtype::size>, Dtype>;
111
126
 
112
127
  // Test dtypes against their size
113
128
  template <typename Dtype, py::ssize_t Size>
114
- concept dtype_of_width = fixed_width_dtype<Dtype> && Dtype::size ==
115
- Size;
129
+ concept dtype_of_width = fixed_width_dtype<Dtype> && Dtype::size == Size;
116
130
 
117
131
  // 64bit dtype
118
132
  template <typename Dtype>
@@ -133,14 +147,14 @@ concept dtype8 = dtype_of_width<Dtype, 1>;
133
147
  template <typename Dtype>
134
148
  concept datetime64_dtype = fixed_width_dtype<Dtype>
135
149
 
136
- // Verify base class is datetime64_dtype
137
- && std::is_base_of_v<traits::datetime64_dtype<Dtype::precision>, Dtype>
150
+ // Verify base class is datetime64_dtype
151
+ && std::is_base_of_v<traits::datetime64_dtype<Dtype::precision>, Dtype>
138
152
 
139
- // datetime64 is always a 64bit object
140
- && dtype64<Dtype>
153
+ // datetime64 is always a 64bit object
154
+ && dtype64<Dtype>
141
155
 
142
- // It needs to have a precision
143
- && std::is_enum_v<decltype(Dtype::precision)>;
156
+ // It needs to have a precision
157
+ && std::is_enum_v<decltype(Dtype::precision)>;
144
158
 
145
159
  template <typename Dtype>
146
160
  concept variable_width_dtype =
@@ -159,11 +173,11 @@ concept variable_width_dtype =
159
173
  template <typename Dtype>
160
174
  concept object_dtype = dtype<Dtype>
161
175
 
162
- // Objects are always fixed width (64-bit pointers, effectively)
163
- && fixed_width_dtype<Dtype>
176
+ // Objects are always fixed width (64-bit pointers, effectively)
177
+ && fixed_width_dtype<Dtype>
164
178
 
165
- // Verify base class
166
- && std::is_base_of_v<traits::object_dtype<typename Dtype::value_type>, Dtype>;
179
+ // Verify base class
180
+ && std::is_base_of_v<traits::object_dtype<typename Dtype::value_type>, Dtype>;
167
181
 
168
182
  // Trivial dtypes are useful for deciding whether you can use fast memcpy-based
169
183
  // conversions, e.g. when numpy's int64 has the exact same representation as
quasardb/continuous.hpp CHANGED
@@ -2,7 +2,7 @@
2
2
  *
3
3
  * Official Python API
4
4
  *
5
- * Copyright (c) 2009-2022, quasardb SAS. All rights reserved.
5
+ * Copyright (c) 2009-2023, quasardb SAS. All rights reserved.
6
6
  * All rights reserved.
7
7
  *
8
8
  * Redistribution and use in source and binary forms, with or without