quasardb 3.14.2.dev5__cp311-cp311-win_amd64.whl → 3.14.2.dev7__cp311-cp311-win_amd64.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.
- quasardb/INSTALL.vcxproj +5 -5
- quasardb/__init__.py +8 -5
- quasardb/__init__.pyi +72 -0
- quasardb/date/ALL_BUILD.vcxproj +9 -9
- quasardb/date/CMakeFiles/Export/df49adab93b9e0c10c64f72458b31971/dateTargets.cmake +1 -1
- quasardb/date/CMakeFiles/generate.stamp.depend +4 -4
- quasardb/date/INSTALL.vcxproj +5 -5
- quasardb/date/dateTargets.cmake +1 -1
- quasardb/numpy/__init__.py +126 -43
- quasardb/pandas/__init__.py +55 -20
- quasardb/pool.py +6 -0
- quasardb/pybind11/ALL_BUILD.vcxproj +9 -9
- quasardb/pybind11/CMakeFiles/generate.stamp.depend +14 -14
- quasardb/pybind11/INSTALL.vcxproj +5 -5
- quasardb/qdb_api.dll +0 -0
- quasardb/quasardb/__init__.pyi +97 -0
- quasardb/quasardb/_batch_column.pyi +5 -0
- quasardb/quasardb/_batch_inserter.pyi +30 -0
- quasardb/quasardb/_blob.pyi +16 -0
- quasardb/quasardb/_cluster.pyi +100 -0
- quasardb/quasardb/_continuous.pyi +16 -0
- quasardb/quasardb/_double.pyi +7 -0
- quasardb/quasardb/_entry.pyi +60 -0
- quasardb/quasardb/_error.pyi +15 -0
- quasardb/quasardb/_integer.pyi +7 -0
- quasardb/quasardb/_node.pyi +26 -0
- quasardb/quasardb/_options.pyi +105 -0
- quasardb/quasardb/_perf.pyi +5 -0
- quasardb/quasardb/_properties.pyi +5 -0
- quasardb/quasardb/_query.pyi +2 -0
- quasardb/quasardb/_reader.pyi +9 -0
- quasardb/quasardb/_retry.pyi +16 -0
- quasardb/quasardb/_string.pyi +12 -0
- quasardb/quasardb/_table.pyi +125 -0
- quasardb/quasardb/_tag.pyi +5 -0
- quasardb/quasardb/_timestamp.pyi +9 -0
- quasardb/quasardb/_writer.pyi +111 -0
- quasardb/quasardb/metrics/__init__.pyi +20 -0
- quasardb/quasardb.cp311-win_amd64.pyd +0 -0
- quasardb/range-v3/ALL_BUILD.vcxproj +9 -9
- quasardb/range-v3/CMakeFiles/Export/d94ef200eca10a819b5858b33e808f5b/range-v3-targets.cmake +1 -1
- quasardb/range-v3/CMakeFiles/generate.stamp.depend +11 -11
- quasardb/range-v3/INSTALL.vcxproj +5 -5
- quasardb/range-v3/range-v3-config.cmake +1 -1
- quasardb/range-v3/range.v3.headers.vcxproj +9 -9
- quasardb/stats.py +223 -110
- {quasardb-3.14.2.dev5.dist-info → quasardb-3.14.2.dev7.dist-info}/METADATA +3 -2
- quasardb-3.14.2.dev7.dist-info/RECORD +78 -0
- {quasardb-3.14.2.dev5.dist-info → quasardb-3.14.2.dev7.dist-info}/WHEEL +1 -1
- quasardb-3.14.2.dev5.dist-info/RECORD +0 -54
- {quasardb-3.14.2.dev5.dist-info → quasardb-3.14.2.dev7.dist-info/licenses}/LICENSE.md +0 -0
- {quasardb-3.14.2.dev5.dist-info → quasardb-3.14.2.dev7.dist-info}/top_level.txt +0 -0
quasardb/INSTALL.vcxproj
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<PropertyGroup Label="Globals">
|
|
25
25
|
<ProjectGuid>{D2A0EF17-CC57-39B1-ACF3-22389B72D975}</ProjectGuid>
|
|
26
26
|
<Keyword>Win32Proj</Keyword>
|
|
27
|
-
<WindowsTargetPlatformVersion>10.0.
|
|
27
|
+
<WindowsTargetPlatformVersion>10.0.22621.0</WindowsTargetPlatformVersion>
|
|
28
28
|
<Platform>x64</Platform>
|
|
29
29
|
<ProjectName>INSTALL</ProjectName>
|
|
30
30
|
<VCProjectUpgraderObjectName>NoUpgrade</VCProjectUpgraderObjectName>
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
<UseUtf8Encoding>Always</UseUtf8Encoding>
|
|
70
70
|
<Message></Message>
|
|
71
71
|
<Command>setlocal
|
|
72
|
-
C:\TeamCity\temp\buildTmp\build-env-
|
|
72
|
+
C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\bin\cmake.exe -DBUILD_TYPE=$(Configuration) -P cmake_install.cmake
|
|
73
73
|
if %errorlevel% neq 0 goto :cmEnd
|
|
74
74
|
:cmEnd
|
|
75
75
|
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
|
|
@@ -84,7 +84,7 @@ if %errorlevel% neq 0 goto :VCEnd</Command>
|
|
|
84
84
|
<UseUtf8Encoding>Always</UseUtf8Encoding>
|
|
85
85
|
<Message></Message>
|
|
86
86
|
<Command>setlocal
|
|
87
|
-
C:\TeamCity\temp\buildTmp\build-env-
|
|
87
|
+
C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\bin\cmake.exe -DBUILD_TYPE=$(Configuration) -P cmake_install.cmake
|
|
88
88
|
if %errorlevel% neq 0 goto :cmEnd
|
|
89
89
|
:cmEnd
|
|
90
90
|
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
|
|
@@ -99,7 +99,7 @@ if %errorlevel% neq 0 goto :VCEnd</Command>
|
|
|
99
99
|
<UseUtf8Encoding>Always</UseUtf8Encoding>
|
|
100
100
|
<Message></Message>
|
|
101
101
|
<Command>setlocal
|
|
102
|
-
C:\TeamCity\temp\buildTmp\build-env-
|
|
102
|
+
C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\bin\cmake.exe -DBUILD_TYPE=$(Configuration) -P cmake_install.cmake
|
|
103
103
|
if %errorlevel% neq 0 goto :cmEnd
|
|
104
104
|
:cmEnd
|
|
105
105
|
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
|
|
@@ -114,7 +114,7 @@ if %errorlevel% neq 0 goto :VCEnd</Command>
|
|
|
114
114
|
<UseUtf8Encoding>Always</UseUtf8Encoding>
|
|
115
115
|
<Message></Message>
|
|
116
116
|
<Command>setlocal
|
|
117
|
-
C:\TeamCity\temp\buildTmp\build-env-
|
|
117
|
+
C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\bin\cmake.exe -DBUILD_TYPE=$(Configuration) -P cmake_install.cmake
|
|
118
118
|
if %errorlevel% neq 0 goto :cmEnd
|
|
119
119
|
:cmEnd
|
|
120
120
|
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
|
quasardb/__init__.py
CHANGED
|
@@ -36,7 +36,10 @@
|
|
|
36
36
|
"""
|
|
37
37
|
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
from typing import List, Optional
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def generic_error_msg(msg: List[str], e: Optional[BaseException] = None) -> str:
|
|
40
43
|
msg_str = "\n".join(msg)
|
|
41
44
|
|
|
42
45
|
if e is None:
|
|
@@ -47,7 +50,7 @@ def generic_error_msg(msg, e=None):
|
|
|
47
50
|
|
|
48
51
|
**************************************************************************
|
|
49
52
|
""".format(
|
|
50
|
-
msg_str
|
|
53
|
+
msg_str
|
|
51
54
|
)
|
|
52
55
|
else:
|
|
53
56
|
return """
|
|
@@ -68,7 +71,7 @@ Original exception:
|
|
|
68
71
|
)
|
|
69
72
|
|
|
70
73
|
|
|
71
|
-
def link_error_msg(e):
|
|
74
|
+
def link_error_msg(e: BaseException) -> str:
|
|
72
75
|
msg = [
|
|
73
76
|
"QuasarDB was unable to find all expected symbols in the compiled library.",
|
|
74
77
|
"This is usually caused by running an incorrect version of the QuasarDB C",
|
|
@@ -82,7 +85,7 @@ def link_error_msg(e):
|
|
|
82
85
|
return generic_error_msg(msg, e)
|
|
83
86
|
|
|
84
87
|
|
|
85
|
-
def glibc_error_msg(e):
|
|
88
|
+
def glibc_error_msg(e: BaseException) -> str:
|
|
86
89
|
msg = [
|
|
87
90
|
"QuasarDB was unable to find the expected GLIBC version on this machine.",
|
|
88
91
|
"This is usually caused by compiling the Python API on a different machine "
|
|
@@ -99,7 +102,7 @@ def glibc_error_msg(e):
|
|
|
99
102
|
return generic_error_msg(msg, e)
|
|
100
103
|
|
|
101
104
|
|
|
102
|
-
def unknown_error_msg():
|
|
105
|
+
def unknown_error_msg() -> str:
|
|
103
106
|
msg = [
|
|
104
107
|
"Unable to import quasardb module: unknown error. ",
|
|
105
108
|
"",
|
quasardb/__init__.pyi
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"""
|
|
2
|
+
|
|
3
|
+
.. module: quasardb
|
|
4
|
+
:platform: Unix, Windows
|
|
5
|
+
:synopsis: quasardb official Python API
|
|
6
|
+
|
|
7
|
+
.. moduleauthor: quasardb SAS. All rights reserved
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
from __future__ import annotations
|
|
11
|
+
|
|
12
|
+
from quasardb.quasardb import (
|
|
13
|
+
AliasAlreadyExistsError,
|
|
14
|
+
AliasNotFoundError,
|
|
15
|
+
AsyncPipelineFullError,
|
|
16
|
+
BatchColumnInfo,
|
|
17
|
+
Cluster,
|
|
18
|
+
ColumnInfo,
|
|
19
|
+
ColumnType,
|
|
20
|
+
Error,
|
|
21
|
+
IncompatibleTypeError,
|
|
22
|
+
IndexedColumnInfo,
|
|
23
|
+
InputBufferTooSmallError,
|
|
24
|
+
InternalLocalError,
|
|
25
|
+
InvalidArgumentError,
|
|
26
|
+
InvalidDatetimeError,
|
|
27
|
+
InvalidHandleError,
|
|
28
|
+
InvalidQueryError,
|
|
29
|
+
Node,
|
|
30
|
+
NotImplementedError,
|
|
31
|
+
OutOfBoundsError,
|
|
32
|
+
RetryOptions,
|
|
33
|
+
TryAgainError,
|
|
34
|
+
UninitializedError,
|
|
35
|
+
WriterData,
|
|
36
|
+
WriterPushMode,
|
|
37
|
+
build,
|
|
38
|
+
metrics,
|
|
39
|
+
never_expires,
|
|
40
|
+
version,
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
__all__ = [
|
|
44
|
+
"AliasAlreadyExistsError",
|
|
45
|
+
"AliasNotFoundError",
|
|
46
|
+
"AsyncPipelineFullError",
|
|
47
|
+
"BatchColumnInfo",
|
|
48
|
+
"Cluster",
|
|
49
|
+
"ColumnInfo",
|
|
50
|
+
"ColumnType",
|
|
51
|
+
"Error",
|
|
52
|
+
"IncompatibleTypeError",
|
|
53
|
+
"IndexedColumnInfo",
|
|
54
|
+
"InputBufferTooSmallError",
|
|
55
|
+
"InternalLocalError",
|
|
56
|
+
"InvalidArgumentError",
|
|
57
|
+
"InvalidDatetimeError",
|
|
58
|
+
"InvalidHandleError",
|
|
59
|
+
"InvalidQueryError",
|
|
60
|
+
"Node",
|
|
61
|
+
"NotImplementedError",
|
|
62
|
+
"OutOfBoundsError",
|
|
63
|
+
"RetryOptions",
|
|
64
|
+
"TryAgainError",
|
|
65
|
+
"UninitializedError",
|
|
66
|
+
"WriterData",
|
|
67
|
+
"WriterPushMode",
|
|
68
|
+
"build",
|
|
69
|
+
"metrics",
|
|
70
|
+
"never_expires",
|
|
71
|
+
"version",
|
|
72
|
+
]
|
quasardb/date/ALL_BUILD.vcxproj
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
<PropertyGroup Label="Globals">
|
|
28
28
|
<ProjectGuid>{978593DE-32F7-3DB6-886A-F7FF071E2365}</ProjectGuid>
|
|
29
29
|
<Keyword>Win32Proj</Keyword>
|
|
30
|
-
<WindowsTargetPlatformVersion>10.0.
|
|
30
|
+
<WindowsTargetPlatformVersion>10.0.22621.0</WindowsTargetPlatformVersion>
|
|
31
31
|
<Platform>x64</Platform>
|
|
32
32
|
<ProjectName>ALL_BUILD</ProjectName>
|
|
33
33
|
<VCProjectUpgraderObjectName>NoUpgrade</VCProjectUpgraderObjectName>
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
<UseUtf8Encoding>Always</UseUtf8Encoding>
|
|
113
113
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Building Custom Rule C:/TeamCity/work/938b0bdf6727d1ad/thirdparty/date/CMakeLists.txt</Message>
|
|
114
114
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">setlocal
|
|
115
|
-
C:\TeamCity\temp\buildTmp\build-env-
|
|
115
|
+
C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\bin\cmake.exe -SC:/TeamCity/work/938b0bdf6727d1ad/quasardb -BC:/TeamCity/work/938b0bdf6727d1ad/build/temp.win-amd64-cpython-311/Release --check-stamp-file C:/TeamCity/work/938b0bdf6727d1ad/build/lib.win-amd64-cpython-311/quasardb/date/CMakeFiles/generate.stamp
|
|
116
116
|
if %errorlevel% neq 0 goto :cmEnd
|
|
117
117
|
:cmEnd
|
|
118
118
|
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
|
|
@@ -120,12 +120,12 @@ endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
|
|
|
120
120
|
exit /b %1
|
|
121
121
|
:cmDone
|
|
122
122
|
if %errorlevel% neq 0 goto :VCEnd</Command>
|
|
123
|
-
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">C:\TeamCity\temp\buildTmp\build-env-
|
|
123
|
+
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\share\cmake-4.1\Modules\BasicConfigVersion-SameMajorVersion.cmake.in;C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\share\cmake-4.1\Modules\CMakePackageConfigHelpers.cmake;C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\share\cmake-4.1\Modules\GNUInstallDirs.cmake;C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\share\cmake-4.1\Modules\WriteBasicConfigVersionFile.cmake;%(AdditionalInputs)</AdditionalInputs>
|
|
124
124
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">C:\TeamCity\work\938b0bdf6727d1ad\build\lib.win-amd64-cpython-311\quasardb\date\CMakeFiles\generate.stamp</Outputs>
|
|
125
125
|
<LinkObjects Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkObjects>
|
|
126
126
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Building Custom Rule C:/TeamCity/work/938b0bdf6727d1ad/thirdparty/date/CMakeLists.txt</Message>
|
|
127
127
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">setlocal
|
|
128
|
-
C:\TeamCity\temp\buildTmp\build-env-
|
|
128
|
+
C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\bin\cmake.exe -SC:/TeamCity/work/938b0bdf6727d1ad/quasardb -BC:/TeamCity/work/938b0bdf6727d1ad/build/temp.win-amd64-cpython-311/Release --check-stamp-file C:/TeamCity/work/938b0bdf6727d1ad/build/lib.win-amd64-cpython-311/quasardb/date/CMakeFiles/generate.stamp
|
|
129
129
|
if %errorlevel% neq 0 goto :cmEnd
|
|
130
130
|
:cmEnd
|
|
131
131
|
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
|
|
@@ -133,12 +133,12 @@ endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
|
|
|
133
133
|
exit /b %1
|
|
134
134
|
:cmDone
|
|
135
135
|
if %errorlevel% neq 0 goto :VCEnd</Command>
|
|
136
|
-
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">C:\TeamCity\temp\buildTmp\build-env-
|
|
136
|
+
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\share\cmake-4.1\Modules\BasicConfigVersion-SameMajorVersion.cmake.in;C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\share\cmake-4.1\Modules\CMakePackageConfigHelpers.cmake;C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\share\cmake-4.1\Modules\GNUInstallDirs.cmake;C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\share\cmake-4.1\Modules\WriteBasicConfigVersionFile.cmake;%(AdditionalInputs)</AdditionalInputs>
|
|
137
137
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">C:\TeamCity\work\938b0bdf6727d1ad\build\lib.win-amd64-cpython-311\quasardb\date\CMakeFiles\generate.stamp</Outputs>
|
|
138
138
|
<LinkObjects Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkObjects>
|
|
139
139
|
<Message Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|x64'">Building Custom Rule C:/TeamCity/work/938b0bdf6727d1ad/thirdparty/date/CMakeLists.txt</Message>
|
|
140
140
|
<Command Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|x64'">setlocal
|
|
141
|
-
C:\TeamCity\temp\buildTmp\build-env-
|
|
141
|
+
C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\bin\cmake.exe -SC:/TeamCity/work/938b0bdf6727d1ad/quasardb -BC:/TeamCity/work/938b0bdf6727d1ad/build/temp.win-amd64-cpython-311/Release --check-stamp-file C:/TeamCity/work/938b0bdf6727d1ad/build/lib.win-amd64-cpython-311/quasardb/date/CMakeFiles/generate.stamp
|
|
142
142
|
if %errorlevel% neq 0 goto :cmEnd
|
|
143
143
|
:cmEnd
|
|
144
144
|
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
|
|
@@ -146,12 +146,12 @@ endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
|
|
|
146
146
|
exit /b %1
|
|
147
147
|
:cmDone
|
|
148
148
|
if %errorlevel% neq 0 goto :VCEnd</Command>
|
|
149
|
-
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|x64'">C:\TeamCity\temp\buildTmp\build-env-
|
|
149
|
+
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|x64'">C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\share\cmake-4.1\Modules\BasicConfigVersion-SameMajorVersion.cmake.in;C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\share\cmake-4.1\Modules\CMakePackageConfigHelpers.cmake;C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\share\cmake-4.1\Modules\GNUInstallDirs.cmake;C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\share\cmake-4.1\Modules\WriteBasicConfigVersionFile.cmake;%(AdditionalInputs)</AdditionalInputs>
|
|
150
150
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|x64'">C:\TeamCity\work\938b0bdf6727d1ad\build\lib.win-amd64-cpython-311\quasardb\date\CMakeFiles\generate.stamp</Outputs>
|
|
151
151
|
<LinkObjects Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|x64'">false</LinkObjects>
|
|
152
152
|
<Message Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|x64'">Building Custom Rule C:/TeamCity/work/938b0bdf6727d1ad/thirdparty/date/CMakeLists.txt</Message>
|
|
153
153
|
<Command Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|x64'">setlocal
|
|
154
|
-
C:\TeamCity\temp\buildTmp\build-env-
|
|
154
|
+
C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\bin\cmake.exe -SC:/TeamCity/work/938b0bdf6727d1ad/quasardb -BC:/TeamCity/work/938b0bdf6727d1ad/build/temp.win-amd64-cpython-311/Release --check-stamp-file C:/TeamCity/work/938b0bdf6727d1ad/build/lib.win-amd64-cpython-311/quasardb/date/CMakeFiles/generate.stamp
|
|
155
155
|
if %errorlevel% neq 0 goto :cmEnd
|
|
156
156
|
:cmEnd
|
|
157
157
|
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
|
|
@@ -159,7 +159,7 @@ endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
|
|
|
159
159
|
exit /b %1
|
|
160
160
|
:cmDone
|
|
161
161
|
if %errorlevel% neq 0 goto :VCEnd</Command>
|
|
162
|
-
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|x64'">C:\TeamCity\temp\buildTmp\build-env-
|
|
162
|
+
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|x64'">C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\share\cmake-4.1\Modules\BasicConfigVersion-SameMajorVersion.cmake.in;C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\share\cmake-4.1\Modules\CMakePackageConfigHelpers.cmake;C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\share\cmake-4.1\Modules\GNUInstallDirs.cmake;C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\share\cmake-4.1\Modules\WriteBasicConfigVersionFile.cmake;%(AdditionalInputs)</AdditionalInputs>
|
|
163
163
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|x64'">C:\TeamCity\work\938b0bdf6727d1ad\build\lib.win-amd64-cpython-311\quasardb\date\CMakeFiles\generate.stamp</Outputs>
|
|
164
164
|
<LinkObjects Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|x64'">false</LinkObjects>
|
|
165
165
|
</CustomBuild>
|
|
@@ -7,7 +7,7 @@ if(CMAKE_VERSION VERSION_LESS "3.1.0")
|
|
|
7
7
|
message(FATAL_ERROR "CMake >= 3.1.0 required")
|
|
8
8
|
endif()
|
|
9
9
|
cmake_policy(PUSH)
|
|
10
|
-
cmake_policy(VERSION 3.1.0...3.
|
|
10
|
+
cmake_policy(VERSION 3.1.0...3.31)
|
|
11
11
|
#----------------------------------------------------------------
|
|
12
12
|
# Generated CMake target import file.
|
|
13
13
|
#----------------------------------------------------------------
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# CMake generation dependency list for this directory.
|
|
2
|
-
C:/TeamCity/temp/buildTmp/build-env-
|
|
3
|
-
C:/TeamCity/temp/buildTmp/build-env-
|
|
4
|
-
C:/TeamCity/temp/buildTmp/build-env-
|
|
5
|
-
C:/TeamCity/temp/buildTmp/build-env-
|
|
2
|
+
C:/TeamCity/temp/buildTmp/build-env-vqnahwtr/Lib/site-packages/cmake/data/share/cmake-4.1/Modules/BasicConfigVersion-SameMajorVersion.cmake.in
|
|
3
|
+
C:/TeamCity/temp/buildTmp/build-env-vqnahwtr/Lib/site-packages/cmake/data/share/cmake-4.1/Modules/CMakePackageConfigHelpers.cmake
|
|
4
|
+
C:/TeamCity/temp/buildTmp/build-env-vqnahwtr/Lib/site-packages/cmake/data/share/cmake-4.1/Modules/GNUInstallDirs.cmake
|
|
5
|
+
C:/TeamCity/temp/buildTmp/build-env-vqnahwtr/Lib/site-packages/cmake/data/share/cmake-4.1/Modules/WriteBasicConfigVersionFile.cmake
|
|
6
6
|
C:/TeamCity/work/938b0bdf6727d1ad/thirdparty/date/CMakeLists.txt
|
quasardb/date/INSTALL.vcxproj
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<PropertyGroup Label="Globals">
|
|
25
25
|
<ProjectGuid>{D2A0EF17-CC57-39B1-ACF3-22389B72D975}</ProjectGuid>
|
|
26
26
|
<Keyword>Win32Proj</Keyword>
|
|
27
|
-
<WindowsTargetPlatformVersion>10.0.
|
|
27
|
+
<WindowsTargetPlatformVersion>10.0.22621.0</WindowsTargetPlatformVersion>
|
|
28
28
|
<Platform>x64</Platform>
|
|
29
29
|
<ProjectName>INSTALL</ProjectName>
|
|
30
30
|
<VCProjectUpgraderObjectName>NoUpgrade</VCProjectUpgraderObjectName>
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
<UseUtf8Encoding>Always</UseUtf8Encoding>
|
|
70
70
|
<Message></Message>
|
|
71
71
|
<Command>setlocal
|
|
72
|
-
C:\TeamCity\temp\buildTmp\build-env-
|
|
72
|
+
C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\bin\cmake.exe -DBUILD_TYPE=$(Configuration) -P cmake_install.cmake
|
|
73
73
|
if %errorlevel% neq 0 goto :cmEnd
|
|
74
74
|
:cmEnd
|
|
75
75
|
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
|
|
@@ -84,7 +84,7 @@ if %errorlevel% neq 0 goto :VCEnd</Command>
|
|
|
84
84
|
<UseUtf8Encoding>Always</UseUtf8Encoding>
|
|
85
85
|
<Message></Message>
|
|
86
86
|
<Command>setlocal
|
|
87
|
-
C:\TeamCity\temp\buildTmp\build-env-
|
|
87
|
+
C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\bin\cmake.exe -DBUILD_TYPE=$(Configuration) -P cmake_install.cmake
|
|
88
88
|
if %errorlevel% neq 0 goto :cmEnd
|
|
89
89
|
:cmEnd
|
|
90
90
|
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
|
|
@@ -99,7 +99,7 @@ if %errorlevel% neq 0 goto :VCEnd</Command>
|
|
|
99
99
|
<UseUtf8Encoding>Always</UseUtf8Encoding>
|
|
100
100
|
<Message></Message>
|
|
101
101
|
<Command>setlocal
|
|
102
|
-
C:\TeamCity\temp\buildTmp\build-env-
|
|
102
|
+
C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\bin\cmake.exe -DBUILD_TYPE=$(Configuration) -P cmake_install.cmake
|
|
103
103
|
if %errorlevel% neq 0 goto :cmEnd
|
|
104
104
|
:cmEnd
|
|
105
105
|
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
|
|
@@ -114,7 +114,7 @@ if %errorlevel% neq 0 goto :VCEnd</Command>
|
|
|
114
114
|
<UseUtf8Encoding>Always</UseUtf8Encoding>
|
|
115
115
|
<Message></Message>
|
|
116
116
|
<Command>setlocal
|
|
117
|
-
C:\TeamCity\temp\buildTmp\build-env-
|
|
117
|
+
C:\TeamCity\temp\buildTmp\build-env-vqnahwtr\Lib\site-packages\cmake\data\bin\cmake.exe -DBUILD_TYPE=$(Configuration) -P cmake_install.cmake
|
|
118
118
|
if %errorlevel% neq 0 goto :cmEnd
|
|
119
119
|
:cmEnd
|
|
120
120
|
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
|
quasardb/date/dateTargets.cmake
CHANGED
|
@@ -7,7 +7,7 @@ if(CMAKE_VERSION VERSION_LESS "3.0.0")
|
|
|
7
7
|
message(FATAL_ERROR "CMake >= 3.0.0 required")
|
|
8
8
|
endif()
|
|
9
9
|
cmake_policy(PUSH)
|
|
10
|
-
cmake_policy(VERSION 3.0.0...3.
|
|
10
|
+
cmake_policy(VERSION 3.0.0...3.31)
|
|
11
11
|
#----------------------------------------------------------------
|
|
12
12
|
# Generated CMake target import file.
|
|
13
13
|
#----------------------------------------------------------------
|
quasardb/numpy/__init__.py
CHANGED
|
@@ -29,6 +29,9 @@
|
|
|
29
29
|
|
|
30
30
|
import logging
|
|
31
31
|
import time
|
|
32
|
+
import warnings
|
|
33
|
+
from typing import Dict, List, Optional, Tuple, Union
|
|
34
|
+
from numpy.typing import DTypeLike
|
|
32
35
|
|
|
33
36
|
import quasardb
|
|
34
37
|
import quasardb.table_cache as table_cache
|
|
@@ -61,14 +64,14 @@ class IncompatibleDtypeError(TypeError):
|
|
|
61
64
|
Exception raised when a provided dtype is not the expected dtype.
|
|
62
65
|
"""
|
|
63
66
|
|
|
64
|
-
def __init__(self, cname=None, ctype=None, expected=None, provided=None):
|
|
67
|
+
def __init__(self, cname=None, ctype=None, expected=None, provided=None) -> None:
|
|
65
68
|
self.cname = cname
|
|
66
69
|
self.ctype = ctype
|
|
67
70
|
self.expected = expected
|
|
68
71
|
self.provided = provided
|
|
69
72
|
super().__init__(self.msg())
|
|
70
73
|
|
|
71
|
-
def msg(self):
|
|
74
|
+
def msg(self) -> str:
|
|
72
75
|
return "Data for column '{}' with type '{}' was provided in dtype '{}' but need '{}'.".format(
|
|
73
76
|
self.cname, self.ctype, self.provided, self.expected
|
|
74
77
|
)
|
|
@@ -79,11 +82,11 @@ class IncompatibleDtypeErrors(TypeError):
|
|
|
79
82
|
Wraps multiple dtype errors
|
|
80
83
|
"""
|
|
81
84
|
|
|
82
|
-
def __init__(self, xs):
|
|
85
|
+
def __init__(self, xs) -> None:
|
|
83
86
|
self.xs = xs
|
|
84
87
|
super().__init__(self.msg())
|
|
85
88
|
|
|
86
|
-
def msg(self):
|
|
89
|
+
def msg(self) -> str:
|
|
87
90
|
return "\n".join(x.msg() for x in self.xs)
|
|
88
91
|
|
|
89
92
|
|
|
@@ -92,12 +95,12 @@ class InvalidDataCardinalityError(ValueError):
|
|
|
92
95
|
Raised when the provided data arrays doesn't match the table's columns.
|
|
93
96
|
"""
|
|
94
97
|
|
|
95
|
-
def __init__(self, data, cinfos):
|
|
98
|
+
def __init__(self, data, cinfos) -> None:
|
|
96
99
|
self.data = data
|
|
97
100
|
self.cinfos = cinfos
|
|
98
101
|
super().__init__(self.msg())
|
|
99
102
|
|
|
100
|
-
def msg(self):
|
|
103
|
+
def msg(self) -> str:
|
|
101
104
|
return "Provided data array length '{}' exceeds amount of table columns '{}', unable to map data to columns".format(
|
|
102
105
|
len(self.data), len(self.cinfos)
|
|
103
106
|
)
|
|
@@ -116,7 +119,7 @@ _ctype_to_dtype = {
|
|
|
116
119
|
}
|
|
117
120
|
|
|
118
121
|
|
|
119
|
-
def _best_dtype_for_ctype(ctype: quasardb.
|
|
122
|
+
def _best_dtype_for_ctype(ctype: quasardb.ColumnType):
|
|
120
123
|
"""
|
|
121
124
|
Returns the 'best' DType for a certain column type. For example, for blobs, even
|
|
122
125
|
though we accept py::bytes, prefer bytestrings (as they are faster to read in c++).
|
|
@@ -128,7 +131,10 @@ def _best_dtype_for_ctype(ctype: quasardb.quasardb.ColumnType):
|
|
|
128
131
|
return possible_dtypes[0]
|
|
129
132
|
|
|
130
133
|
|
|
131
|
-
def _coerce_dtype(
|
|
134
|
+
def _coerce_dtype(
|
|
135
|
+
dtype: Union[DTypeLike, Dict[str, DTypeLike], List[DTypeLike]],
|
|
136
|
+
columns: List[Tuple[str, quasardb.ColumnInfo]],
|
|
137
|
+
) -> List[DTypeLike]:
|
|
132
138
|
if dtype is None:
|
|
133
139
|
dtype = [None] * len(columns)
|
|
134
140
|
|
|
@@ -136,11 +142,10 @@ def _coerce_dtype(dtype, columns):
|
|
|
136
142
|
dtype = [dtype]
|
|
137
143
|
|
|
138
144
|
if type(dtype) is dict:
|
|
139
|
-
|
|
140
145
|
# Conveniently look up column index by label
|
|
141
146
|
offsets = {}
|
|
142
147
|
for i in range(len(columns)):
|
|
143
|
-
(cname,
|
|
148
|
+
(cname, _) = columns[i]
|
|
144
149
|
offsets[cname] = i
|
|
145
150
|
|
|
146
151
|
# Now convert the provided dtype dict to a list that matches
|
|
@@ -151,7 +156,7 @@ def _coerce_dtype(dtype, columns):
|
|
|
151
156
|
|
|
152
157
|
for k, dt in dtype.items():
|
|
153
158
|
if not k in offsets:
|
|
154
|
-
logger.
|
|
159
|
+
logger.warning(
|
|
155
160
|
"Forced dtype provided for column '%s' = %s, but that column is not found in the table. Skipping...",
|
|
156
161
|
k,
|
|
157
162
|
)
|
|
@@ -178,7 +183,9 @@ def _coerce_dtype(dtype, columns):
|
|
|
178
183
|
return dtype
|
|
179
184
|
|
|
180
185
|
|
|
181
|
-
def _add_desired_dtypes(
|
|
186
|
+
def _add_desired_dtypes(
|
|
187
|
+
dtype: List[DTypeLike], columns: List[Tuple[str, quasardb.ColumnInfo]]
|
|
188
|
+
) -> List[DTypeLike]:
|
|
182
189
|
"""
|
|
183
190
|
When infer_types=True, this function sets the 'desired' dtype for each of the columns.
|
|
184
191
|
`dtype` is expected to be the output of `_coerce_dtype`, that is, a list-like with an
|
|
@@ -452,6 +459,10 @@ def _ensure_list(xs, cinfos):
|
|
|
452
459
|
# of the array.
|
|
453
460
|
n = _probe_length(xs)
|
|
454
461
|
|
|
462
|
+
if n is None:
|
|
463
|
+
logger.error("Unable to probe length: provided arrays: %s", xs)
|
|
464
|
+
raise ValueError("Unable to probe array length: all provided arrays None?")
|
|
465
|
+
|
|
455
466
|
ret = list()
|
|
456
467
|
|
|
457
468
|
for i in range(len(cinfos)):
|
|
@@ -482,6 +493,33 @@ def _coerce_retries(retries) -> quasardb.RetryOptions:
|
|
|
482
493
|
)
|
|
483
494
|
|
|
484
495
|
|
|
496
|
+
def _kwarg_deprecation_warning(
|
|
497
|
+
old_kwarg, old_value, new_kwargs, new_values, stacklevel
|
|
498
|
+
):
|
|
499
|
+
new_declaration = ", ".join(
|
|
500
|
+
f"{new_kwarg}={new_value}"
|
|
501
|
+
for new_kwarg, new_value in zip(new_kwargs, new_values)
|
|
502
|
+
)
|
|
503
|
+
warnings.warn(
|
|
504
|
+
f"The argument '{old_kwarg}' <{type(old_value).__name__}> is deprecated and will be removed in a future version. "
|
|
505
|
+
f"Please use '{new_declaration}' instead.",
|
|
506
|
+
DeprecationWarning,
|
|
507
|
+
stacklevel=stacklevel + 1,
|
|
508
|
+
)
|
|
509
|
+
|
|
510
|
+
|
|
511
|
+
def _type_check(var, var_name, target_type, raise_error=True, allow_none=True):
|
|
512
|
+
if allow_none and var is None:
|
|
513
|
+
return True
|
|
514
|
+
if not isinstance(var, target_type):
|
|
515
|
+
if raise_error:
|
|
516
|
+
raise quasardb.quasardb.InvalidArgumentError(
|
|
517
|
+
f"Invalid '{var_name}' type, expected: {target_type}, got: {type(var)}"
|
|
518
|
+
)
|
|
519
|
+
return False
|
|
520
|
+
return True
|
|
521
|
+
|
|
522
|
+
|
|
485
523
|
def ensure_ma(xs, dtype=None):
|
|
486
524
|
if isinstance(dtype, list):
|
|
487
525
|
assert isinstance(xs, list) == True
|
|
@@ -630,14 +668,17 @@ def write_arrays(
|
|
|
630
668
|
*,
|
|
631
669
|
dtype=None,
|
|
632
670
|
index=None,
|
|
671
|
+
# TODO: Set the default push_mode after removing _async, fast and truncate
|
|
672
|
+
push_mode=None,
|
|
633
673
|
_async=False,
|
|
634
674
|
fast=False,
|
|
635
675
|
truncate=False,
|
|
676
|
+
truncate_range=None,
|
|
636
677
|
deduplicate=False,
|
|
637
678
|
deduplication_mode="drop",
|
|
638
679
|
infer_types=True,
|
|
639
680
|
writer=None,
|
|
640
|
-
write_through=
|
|
681
|
+
write_through=True,
|
|
641
682
|
retries=3,
|
|
642
683
|
# We accept additional kwargs that will be passed through the writer.push() methods
|
|
643
684
|
**kwargs,
|
|
@@ -705,13 +746,32 @@ def write_arrays(
|
|
|
705
746
|
Defaults to True. For production use cases where you want to avoid implicit conversions,
|
|
706
747
|
we recommend setting this to False.
|
|
707
748
|
|
|
749
|
+
push_mode: optional quasardb.WriterPushMode
|
|
750
|
+
The mode used for inserting data. Can be either a string or a `WriterPushMode` enumeration item.
|
|
751
|
+
Available options:
|
|
752
|
+
* `Truncate`: Truncate (also referred to as upsert) the data in-place. Will detect time range
|
|
753
|
+
to truncate from the time range inside the dataframe.
|
|
754
|
+
* `Async`: Uses asynchronous insertion API where commits are buffered server-side and
|
|
755
|
+
acknowledged before they are written to disk. If you insert to the same table from
|
|
756
|
+
multiple processes, setting this to True may improve performance.
|
|
757
|
+
* `Fast`: Whether to use 'fast push'. If you incrementally add small batches of data to table,
|
|
758
|
+
you may see better performance if you set this to True.
|
|
759
|
+
* `Transactional`: Ensures full transactional consistency.
|
|
760
|
+
|
|
761
|
+
Defaults to `Transactional`.
|
|
762
|
+
|
|
708
763
|
truncate: optional bool
|
|
764
|
+
**DEPRECATED** – Use `push_mode=WriterPushMode.Truncate` instead.
|
|
709
765
|
Truncate (also referred to as upsert) the data in-place. Will detect time range to truncate
|
|
710
766
|
from the time range inside the dataframe.
|
|
711
767
|
|
|
712
768
|
Defaults to False.
|
|
713
769
|
|
|
770
|
+
truncate_range: optional tuple
|
|
771
|
+
Time range to truncate from the time range inside the dataframe.
|
|
772
|
+
|
|
714
773
|
_async: optional bool
|
|
774
|
+
**DEPRECATED** – Use `push_mode=WriterPushMode.Async` instead.
|
|
715
775
|
If true, uses asynchronous insertion API where commits are buffered server-side and
|
|
716
776
|
acknowledged before they are written to disk. If you insert to the same table from
|
|
717
777
|
multiple processes, setting this to True may improve performance.
|
|
@@ -719,6 +779,7 @@ def write_arrays(
|
|
|
719
779
|
Defaults to False.
|
|
720
780
|
|
|
721
781
|
fast: optional bool
|
|
782
|
+
**DEPRECATED** – Use `push_mode=WriterPushMode.Fast` instead.
|
|
722
783
|
Whether to use 'fast push'. If you incrementally add small batches of data to table,
|
|
723
784
|
you may see better performance if you set this to True.
|
|
724
785
|
|
|
@@ -747,32 +808,57 @@ def write_arrays(
|
|
|
747
808
|
|
|
748
809
|
if table:
|
|
749
810
|
logger.debug("table explicitly provided, assuming single-table write")
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
retries=retries,
|
|
765
|
-
**kwargs,
|
|
811
|
+
data = [(table, data)]
|
|
812
|
+
table = None
|
|
813
|
+
|
|
814
|
+
_type_check(push_mode, "push_mode", target_type=quasardb.WriterPushMode)
|
|
815
|
+
deprecation_stacklevel = kwargs.pop("deprecation_stacklevel", 1) + 1
|
|
816
|
+
|
|
817
|
+
if isinstance(truncate, tuple):
|
|
818
|
+
# Especial case, truncate might be a tuple indicating the range.
|
|
819
|
+
_kwarg_deprecation_warning(
|
|
820
|
+
"truncate",
|
|
821
|
+
truncate,
|
|
822
|
+
["push_mode", "truncate_range"],
|
|
823
|
+
[quasardb.WriterPushMode.Truncate, truncate],
|
|
824
|
+
deprecation_stacklevel,
|
|
766
825
|
)
|
|
826
|
+
truncate_range = truncate_range or truncate
|
|
827
|
+
truncate = True
|
|
828
|
+
|
|
829
|
+
kwarg_to_mode = {
|
|
830
|
+
# "kwarg": (kwarg_type, kwarg_push_mode, is_deprecated)
|
|
831
|
+
"fast": (bool, quasardb.WriterPushMode.Fast, True),
|
|
832
|
+
"_async": (bool, quasardb.WriterPushMode.Async, True),
|
|
833
|
+
"truncate": (bool, quasardb.WriterPushMode.Truncate, True),
|
|
834
|
+
"truncate_range": (tuple, quasardb.WriterPushMode.Truncate, False),
|
|
835
|
+
}
|
|
767
836
|
|
|
768
|
-
|
|
837
|
+
for kwarg, info in kwarg_to_mode.items():
|
|
838
|
+
expected_type, mode, deprecated = info
|
|
839
|
+
kwarg_value = locals()[kwarg]
|
|
840
|
+
_type_check(kwarg_value, kwarg, target_type=expected_type)
|
|
841
|
+
|
|
842
|
+
if kwarg_value:
|
|
843
|
+
if push_mode and push_mode != mode:
|
|
844
|
+
raise quasardb.quasardb.InvalidArgumentError(
|
|
845
|
+
f"Found '{kwarg}' in kwargs, but push mode is already set to {push_mode}"
|
|
846
|
+
)
|
|
847
|
+
push_mode = mode
|
|
848
|
+
if deprecated:
|
|
849
|
+
_kwarg_deprecation_warning(
|
|
850
|
+
kwarg, kwarg_value, ["push_mode"], [mode], deprecation_stacklevel
|
|
851
|
+
)
|
|
852
|
+
|
|
853
|
+
if not push_mode:
|
|
854
|
+
push_mode = quasardb.WriterPushMode.Transactional
|
|
769
855
|
|
|
770
856
|
# Create batch column info from dataframe
|
|
771
857
|
if writer is None:
|
|
772
858
|
writer = cluster.writer()
|
|
773
859
|
|
|
860
|
+
ret = []
|
|
774
861
|
n_rows = 0
|
|
775
|
-
|
|
776
862
|
push_data = quasardb.WriterData()
|
|
777
863
|
|
|
778
864
|
for table, data_ in data:
|
|
@@ -787,6 +873,12 @@ def write_arrays(
|
|
|
787
873
|
assert len(dtype) is len(cinfos)
|
|
788
874
|
|
|
789
875
|
if index is None and isinstance(data_, dict) and "$timestamp" in data_:
|
|
876
|
+
# Create shallow copy of `data_` so that we don't modify the reference, i.e.
|
|
877
|
+
# delete keys.
|
|
878
|
+
#
|
|
879
|
+
# This ensures that the user can call the same function multiple times without
|
|
880
|
+
# side-effects.
|
|
881
|
+
data_ = data_.copy()
|
|
790
882
|
index_ = data_.pop("$timestamp")
|
|
791
883
|
assert "$timestamp" not in data_
|
|
792
884
|
elif index is not None:
|
|
@@ -837,22 +929,13 @@ def write_arrays(
|
|
|
837
929
|
push_kwargs["deduplication_mode"] = deduplication_mode
|
|
838
930
|
push_kwargs["write_through"] = write_through
|
|
839
931
|
push_kwargs["retries"] = retries
|
|
932
|
+
push_kwargs["push_mode"] = push_mode
|
|
933
|
+
if truncate_range:
|
|
934
|
+
push_kwargs["range"] = truncate_range
|
|
840
935
|
|
|
841
936
|
logger.debug("pushing %d rows", n_rows)
|
|
842
937
|
start = time.time()
|
|
843
938
|
|
|
844
|
-
if fast is True:
|
|
845
|
-
push_kwargs["push_mode"] = quasardb.WriterPushMode.Fast
|
|
846
|
-
elif truncate is True:
|
|
847
|
-
push_kwargs["push_mode"] = quasardb.WriterPushMode.Truncate
|
|
848
|
-
elif isinstance(truncate, tuple):
|
|
849
|
-
push_kwargs["push_mode"] = quasardb.WriterPushMode.Truncate
|
|
850
|
-
push_kwargs["range"] = truncate
|
|
851
|
-
elif _async is True:
|
|
852
|
-
push_kwargs["push_mode"] = quasardb.WriterPushMode.Async
|
|
853
|
-
else:
|
|
854
|
-
push_kwargs["push_mode"] = quasardb.WriterPushMode.Transactional
|
|
855
|
-
|
|
856
939
|
writer.push(push_data, **push_kwargs)
|
|
857
940
|
|
|
858
941
|
logger.debug("pushed %d rows in %s seconds", n_rows, (time.time() - start))
|