meerschaum 2.9.4__py3-none-any.whl → 3.0.0__py3-none-any.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.
- meerschaum/__init__.py +5 -2
- meerschaum/_internal/__init__.py +1 -0
- meerschaum/_internal/arguments/_parse_arguments.py +4 -4
- meerschaum/_internal/arguments/_parser.py +33 -4
- meerschaum/_internal/cli/__init__.py +6 -0
- meerschaum/_internal/cli/daemons.py +103 -0
- meerschaum/_internal/cli/entry.py +220 -0
- meerschaum/_internal/cli/workers.py +435 -0
- meerschaum/_internal/docs/index.py +48 -2
- meerschaum/_internal/entry.py +50 -14
- meerschaum/_internal/shell/Shell.py +121 -29
- meerschaum/_internal/shell/__init__.py +4 -1
- meerschaum/_internal/static.py +359 -0
- meerschaum/_internal/term/TermPageHandler.py +1 -2
- meerschaum/_internal/term/__init__.py +40 -6
- meerschaum/_internal/term/tools.py +33 -8
- meerschaum/actions/__init__.py +6 -4
- meerschaum/actions/api.py +53 -13
- meerschaum/actions/attach.py +1 -0
- meerschaum/actions/bootstrap.py +8 -8
- meerschaum/actions/delete.py +4 -2
- meerschaum/actions/edit.py +171 -25
- meerschaum/actions/login.py +8 -8
- meerschaum/actions/register.py +143 -6
- meerschaum/actions/reload.py +22 -5
- meerschaum/actions/restart.py +14 -0
- meerschaum/actions/show.py +184 -31
- meerschaum/actions/start.py +166 -17
- meerschaum/actions/stop.py +38 -2
- meerschaum/actions/sync.py +7 -2
- meerschaum/actions/tag.py +9 -8
- meerschaum/actions/verify.py +5 -8
- meerschaum/api/__init__.py +45 -15
- meerschaum/api/_events.py +46 -4
- meerschaum/api/_oauth2.py +162 -9
- meerschaum/api/_tokens.py +102 -0
- meerschaum/api/dash/__init__.py +0 -3
- meerschaum/api/dash/callbacks/__init__.py +1 -0
- meerschaum/api/dash/callbacks/custom.py +4 -3
- meerschaum/api/dash/callbacks/dashboard.py +228 -117
- meerschaum/api/dash/callbacks/jobs.py +14 -7
- meerschaum/api/dash/callbacks/login.py +10 -1
- meerschaum/api/dash/callbacks/pipes.py +194 -14
- meerschaum/api/dash/callbacks/plugins.py +0 -1
- meerschaum/api/dash/callbacks/register.py +10 -3
- meerschaum/api/dash/callbacks/settings/password_reset.py +2 -2
- meerschaum/api/dash/callbacks/tokens.py +389 -0
- meerschaum/api/dash/components.py +36 -15
- meerschaum/api/dash/jobs.py +1 -1
- meerschaum/api/dash/keys.py +35 -93
- meerschaum/api/dash/pages/__init__.py +2 -1
- meerschaum/api/dash/pages/dashboard.py +1 -20
- meerschaum/api/dash/pages/{job.py → jobs.py} +10 -7
- meerschaum/api/dash/pages/login.py +2 -2
- meerschaum/api/dash/pages/pipes.py +16 -5
- meerschaum/api/dash/pages/settings/password_reset.py +1 -1
- meerschaum/api/dash/pages/tokens.py +53 -0
- meerschaum/api/dash/pipes.py +438 -88
- meerschaum/api/dash/sessions.py +12 -0
- meerschaum/api/dash/tokens.py +603 -0
- meerschaum/api/dash/websockets.py +1 -1
- meerschaum/api/dash/webterm.py +18 -6
- meerschaum/api/models/__init__.py +23 -3
- meerschaum/api/models/_actions.py +22 -0
- meerschaum/api/models/_pipes.py +91 -7
- meerschaum/api/models/_tokens.py +81 -0
- meerschaum/api/resources/static/css/dash.css +16 -0
- meerschaum/api/resources/static/js/terminado.js +3 -0
- meerschaum/api/resources/static/js/xterm-addon-unicode11.js +2 -0
- meerschaum/api/resources/templates/termpage.html +13 -0
- meerschaum/api/routes/__init__.py +1 -0
- meerschaum/api/routes/_actions.py +3 -4
- meerschaum/api/routes/_connectors.py +3 -7
- meerschaum/api/routes/_jobs.py +26 -35
- meerschaum/api/routes/_login.py +120 -15
- meerschaum/api/routes/_misc.py +5 -10
- meerschaum/api/routes/_pipes.py +178 -143
- meerschaum/api/routes/_plugins.py +38 -28
- meerschaum/api/routes/_tokens.py +236 -0
- meerschaum/api/routes/_users.py +47 -35
- meerschaum/api/routes/_version.py +3 -3
- meerschaum/api/routes/_webterm.py +3 -3
- meerschaum/config/__init__.py +100 -30
- meerschaum/config/_default.py +132 -64
- meerschaum/config/_edit.py +38 -32
- meerschaum/config/_formatting.py +2 -0
- meerschaum/config/_patch.py +10 -8
- meerschaum/config/_paths.py +133 -13
- meerschaum/config/_read_config.py +87 -36
- meerschaum/config/_sync.py +6 -3
- meerschaum/config/_version.py +1 -1
- meerschaum/config/environment.py +262 -0
- meerschaum/config/stack/__init__.py +37 -15
- meerschaum/config/static.py +18 -0
- meerschaum/connectors/_Connector.py +11 -6
- meerschaum/connectors/__init__.py +41 -22
- meerschaum/connectors/api/_APIConnector.py +34 -6
- meerschaum/connectors/api/_actions.py +2 -2
- meerschaum/connectors/api/_jobs.py +12 -1
- meerschaum/connectors/api/_login.py +33 -7
- meerschaum/connectors/api/_misc.py +2 -2
- meerschaum/connectors/api/_pipes.py +23 -32
- meerschaum/connectors/api/_plugins.py +2 -2
- meerschaum/connectors/api/_request.py +1 -1
- meerschaum/connectors/api/_tokens.py +146 -0
- meerschaum/connectors/api/_users.py +70 -58
- meerschaum/connectors/instance/_InstanceConnector.py +83 -0
- meerschaum/connectors/instance/__init__.py +10 -0
- meerschaum/connectors/instance/_pipes.py +442 -0
- meerschaum/connectors/instance/_plugins.py +159 -0
- meerschaum/connectors/instance/_tokens.py +317 -0
- meerschaum/connectors/instance/_users.py +188 -0
- meerschaum/connectors/parse.py +5 -2
- meerschaum/connectors/sql/_SQLConnector.py +22 -5
- meerschaum/connectors/sql/_cli.py +12 -11
- meerschaum/connectors/sql/_create_engine.py +12 -168
- meerschaum/connectors/sql/_fetch.py +2 -18
- meerschaum/connectors/sql/_pipes.py +295 -278
- meerschaum/connectors/sql/_plugins.py +29 -0
- meerschaum/connectors/sql/_sql.py +47 -22
- meerschaum/connectors/sql/_users.py +36 -2
- meerschaum/connectors/sql/tables/__init__.py +254 -122
- meerschaum/connectors/valkey/_ValkeyConnector.py +5 -7
- meerschaum/connectors/valkey/_pipes.py +60 -31
- meerschaum/connectors/valkey/_plugins.py +2 -26
- meerschaum/core/Pipe/__init__.py +115 -85
- meerschaum/core/Pipe/_attributes.py +425 -124
- meerschaum/core/Pipe/_bootstrap.py +54 -24
- meerschaum/core/Pipe/_cache.py +555 -0
- meerschaum/core/Pipe/_clear.py +0 -11
- meerschaum/core/Pipe/_data.py +96 -68
- meerschaum/core/Pipe/_deduplicate.py +0 -13
- meerschaum/core/Pipe/_delete.py +12 -21
- meerschaum/core/Pipe/_drop.py +11 -23
- meerschaum/core/Pipe/_dtypes.py +49 -19
- meerschaum/core/Pipe/_edit.py +14 -4
- meerschaum/core/Pipe/_fetch.py +1 -1
- meerschaum/core/Pipe/_index.py +8 -14
- meerschaum/core/Pipe/_show.py +5 -5
- meerschaum/core/Pipe/_sync.py +123 -204
- meerschaum/core/Pipe/_verify.py +4 -4
- meerschaum/{plugins → core/Plugin}/_Plugin.py +16 -12
- meerschaum/core/Plugin/__init__.py +1 -1
- meerschaum/core/Token/_Token.py +220 -0
- meerschaum/core/Token/__init__.py +12 -0
- meerschaum/core/User/_User.py +35 -10
- meerschaum/core/User/__init__.py +9 -1
- meerschaum/core/__init__.py +1 -0
- meerschaum/jobs/_Executor.py +88 -4
- meerschaum/jobs/_Job.py +149 -38
- meerschaum/jobs/__init__.py +3 -2
- meerschaum/jobs/systemd.py +8 -3
- meerschaum/models/__init__.py +35 -0
- meerschaum/models/pipes.py +247 -0
- meerschaum/models/tokens.py +38 -0
- meerschaum/models/users.py +26 -0
- meerschaum/plugins/__init__.py +301 -88
- meerschaum/plugins/bootstrap.py +510 -4
- meerschaum/utils/_get_pipes.py +97 -30
- meerschaum/utils/daemon/Daemon.py +199 -43
- meerschaum/utils/daemon/FileDescriptorInterceptor.py +0 -1
- meerschaum/utils/daemon/RotatingFile.py +63 -36
- meerschaum/utils/daemon/StdinFile.py +53 -13
- meerschaum/utils/daemon/__init__.py +47 -6
- meerschaum/utils/daemon/_names.py +6 -3
- meerschaum/utils/dataframe.py +480 -82
- meerschaum/utils/debug.py +49 -19
- meerschaum/utils/dtypes/__init__.py +478 -37
- meerschaum/utils/dtypes/sql.py +369 -29
- meerschaum/utils/formatting/__init__.py +5 -2
- meerschaum/utils/formatting/_jobs.py +1 -1
- meerschaum/utils/formatting/_pipes.py +52 -50
- meerschaum/utils/formatting/_pprint.py +1 -0
- meerschaum/utils/formatting/_shell.py +44 -18
- meerschaum/utils/misc.py +268 -186
- meerschaum/utils/packages/__init__.py +25 -40
- meerschaum/utils/packages/_packages.py +42 -34
- meerschaum/utils/pipes.py +213 -0
- meerschaum/utils/process.py +2 -2
- meerschaum/utils/prompt.py +175 -144
- meerschaum/utils/schedule.py +2 -1
- meerschaum/utils/sql.py +135 -49
- meerschaum/utils/threading.py +42 -0
- meerschaum/utils/typing.py +1 -4
- meerschaum/utils/venv/_Venv.py +2 -2
- meerschaum/utils/venv/__init__.py +7 -7
- meerschaum/utils/warnings.py +19 -13
- {meerschaum-2.9.4.dist-info → meerschaum-3.0.0.dist-info}/METADATA +94 -96
- meerschaum-3.0.0.dist-info/RECORD +289 -0
- {meerschaum-2.9.4.dist-info → meerschaum-3.0.0.dist-info}/WHEEL +1 -1
- meerschaum-3.0.0.dist-info/licenses/NOTICE +2 -0
- meerschaum/api/models/_interfaces.py +0 -15
- meerschaum/api/models/_locations.py +0 -15
- meerschaum/api/models/_metrics.py +0 -15
- meerschaum/config/_environment.py +0 -145
- meerschaum/config/static/__init__.py +0 -186
- meerschaum-2.9.4.dist-info/RECORD +0 -263
- {meerschaum-2.9.4.dist-info → meerschaum-3.0.0.dist-info}/entry_points.txt +0 -0
- {meerschaum-2.9.4.dist-info → meerschaum-3.0.0.dist-info}/licenses/LICENSE +0 -0
- {meerschaum-2.9.4.dist-info → meerschaum-3.0.0.dist-info}/top_level.txt +0 -0
- {meerschaum-2.9.4.dist-info → meerschaum-3.0.0.dist-info}/zip-safe +0 -0
meerschaum/utils/dtypes/sql.py
CHANGED
@@ -8,6 +8,8 @@ Utility functions for working with SQL data types.
|
|
8
8
|
|
9
9
|
from __future__ import annotations
|
10
10
|
from meerschaum.utils.typing import Dict, Union, Tuple, Optional
|
11
|
+
from meerschaum._internal.static import STATIC_CONFIG as _STATIC_CONFIG
|
12
|
+
from meerschaum.utils.dtypes import MRSM_PRECISION_UNITS_ABBREVIATIONS as _MRSM_PRECISION_UNITS_ABBREVIATIONS
|
11
13
|
|
12
14
|
NUMERIC_PRECISION_FLAVORS: Dict[str, Tuple[int, int]] = {
|
13
15
|
'mariadb': (38, 20),
|
@@ -67,6 +69,9 @@ for _flavor, (_precision, _scale) in NUMERIC_PRECISION_FLAVORS.items():
|
|
67
69
|
'DECIMAL': f"DECIMAL({_precision}, {_scale})",
|
68
70
|
})
|
69
71
|
|
72
|
+
_default_precision_unit = _STATIC_CONFIG['dtypes']['datetime']['default_precision_unit']
|
73
|
+
_default_precision_abbreviation = _MRSM_PRECISION_UNITS_ABBREVIATIONS[_default_precision_unit]
|
74
|
+
|
70
75
|
DB_TO_PD_DTYPES: Dict[str, Union[str, Dict[str, str]]] = {
|
71
76
|
'FLOAT': 'float64[pyarrow]',
|
72
77
|
'REAL': 'float64[pyarrow]',
|
@@ -80,15 +85,21 @@ DB_TO_PD_DTYPES: Dict[str, Union[str, Dict[str, str]]] = {
|
|
80
85
|
'NUMERIC': 'numeric',
|
81
86
|
'GEOMETRY': 'geometry',
|
82
87
|
'GEOMETRY(GEOMETRY)': 'geometry',
|
83
|
-
'TIMESTAMP': 'datetime64[
|
84
|
-
'TIMESTAMP WITHOUT TIMEZONE': 'datetime64[
|
85
|
-
'TIMESTAMP WITH TIMEZONE': 'datetime64[
|
86
|
-
'TIMESTAMP WITH TIME ZONE': 'datetime64[
|
87
|
-
'TIMESTAMPTZ': 'datetime64[
|
88
|
-
'DATE': '
|
89
|
-
'DATETIME': 'datetime64[
|
90
|
-
'DATETIME2': 'datetime64[
|
91
|
-
'
|
88
|
+
'TIMESTAMP': f'datetime64[{_default_precision_abbreviation}]',
|
89
|
+
'TIMESTAMP WITHOUT TIMEZONE': f'datetime64[{_default_precision_abbreviation}]',
|
90
|
+
'TIMESTAMP WITH TIMEZONE': f'datetime64[{_default_precision_abbreviation}, UTC]',
|
91
|
+
'TIMESTAMP WITH TIME ZONE': f'datetime64[{_default_precision_abbreviation}, UTC]',
|
92
|
+
'TIMESTAMPTZ': f'datetime64[{_default_precision_abbreviation}, UTC]',
|
93
|
+
'DATE': 'date',
|
94
|
+
'DATETIME': f'datetime64[{_default_precision_abbreviation}]',
|
95
|
+
'DATETIME2': 'datetime64[us]',
|
96
|
+
'DATETIME2(6)': 'datetime64[us]',
|
97
|
+
'DATETIME2(3)': 'datetime64[ms]',
|
98
|
+
'DATETIME2(0)': 'datetime64[s]',
|
99
|
+
'DATETIMEOFFSET': 'datetime64[us, UTC]',
|
100
|
+
'DATETIMEOFFSET(6)': 'datetime64[us, UTC]',
|
101
|
+
'DATETIMEOFFSET(3)': 'datetime64[ms, UTC]',
|
102
|
+
'DATETIMEOFFSET(0)': 'datetime64[s, UTC]',
|
92
103
|
'TEXT': 'string[pyarrow]',
|
93
104
|
'VARCHAR': 'string[pyarrow]',
|
94
105
|
'CLOB': 'string[pyarrow]',
|
@@ -109,9 +120,9 @@ DB_TO_PD_DTYPES: Dict[str, Union[str, Dict[str, str]]] = {
|
|
109
120
|
'VARBINARY(MAX)': 'bytes',
|
110
121
|
'substrings': {
|
111
122
|
'CHAR': 'string[pyarrow]',
|
112
|
-
'TIMESTAMP': 'datetime64[
|
113
|
-
'TIME': 'datetime64[
|
114
|
-
'DATE': '
|
123
|
+
'TIMESTAMP': f'datetime64[{_default_precision_abbreviation}]',
|
124
|
+
'TIME': f'datetime64[{_default_precision_abbreviation}]',
|
125
|
+
'DATE': 'date',
|
115
126
|
'DOUBLE': 'double[pyarrow]',
|
116
127
|
'DECIMAL': 'numeric',
|
117
128
|
'NUMERIC': 'numeric',
|
@@ -131,6 +142,7 @@ DB_TO_PD_DTYPES: Dict[str, Union[str, Dict[str, str]]] = {
|
|
131
142
|
PD_TO_DB_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
132
143
|
'int': {
|
133
144
|
'timescaledb': 'BIGINT',
|
145
|
+
'timescaledb-ha': 'BIGINT',
|
134
146
|
'postgresql': 'BIGINT',
|
135
147
|
'postgis': 'BIGINT',
|
136
148
|
'mariadb': 'BIGINT',
|
@@ -145,6 +157,7 @@ PD_TO_DB_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
145
157
|
},
|
146
158
|
'uint': {
|
147
159
|
'timescaledb': 'BIGINT',
|
160
|
+
'timescaledb-ha': 'BIGINT',
|
148
161
|
'postgresql': 'BIGINT',
|
149
162
|
'postgis': 'BIGINT',
|
150
163
|
'mariadb': 'BIGINT',
|
@@ -159,6 +172,7 @@ PD_TO_DB_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
159
172
|
},
|
160
173
|
'int8': {
|
161
174
|
'timescaledb': 'SMALLINT',
|
175
|
+
'timescaledb-ha': 'SMALLINT',
|
162
176
|
'postgresql': 'SMALLINT',
|
163
177
|
'postgis': 'SMALLINT',
|
164
178
|
'mariadb': 'SMALLINT',
|
@@ -173,6 +187,7 @@ PD_TO_DB_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
173
187
|
},
|
174
188
|
'uint8': {
|
175
189
|
'timescaledb': 'SMALLINT',
|
190
|
+
'timescaledb-ha': 'SMALLINT',
|
176
191
|
'postgresql': 'SMALLINT',
|
177
192
|
'postgis': 'SMALLINT',
|
178
193
|
'mariadb': 'SMALLINT',
|
@@ -187,6 +202,7 @@ PD_TO_DB_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
187
202
|
},
|
188
203
|
'int16': {
|
189
204
|
'timescaledb': 'SMALLINT',
|
205
|
+
'timescaledb-ha': 'SMALLINT',
|
190
206
|
'postgresql': 'SMALLINT',
|
191
207
|
'postgis': 'SMALLINT',
|
192
208
|
'mariadb': 'SMALLINT',
|
@@ -201,6 +217,7 @@ PD_TO_DB_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
201
217
|
},
|
202
218
|
'int32': {
|
203
219
|
'timescaledb': 'INT',
|
220
|
+
'timescaledb-ha': 'INT',
|
204
221
|
'postgresql': 'INT',
|
205
222
|
'postgis': 'INT',
|
206
223
|
'mariadb': 'INT',
|
@@ -215,6 +232,7 @@ PD_TO_DB_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
215
232
|
},
|
216
233
|
'int64': {
|
217
234
|
'timescaledb': 'BIGINT',
|
235
|
+
'timescaledb-ha': 'BIGINT',
|
218
236
|
'postgresql': 'BIGINT',
|
219
237
|
'postgis': 'BIGINT',
|
220
238
|
'mariadb': 'BIGINT',
|
@@ -229,6 +247,7 @@ PD_TO_DB_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
229
247
|
},
|
230
248
|
'float': {
|
231
249
|
'timescaledb': 'DOUBLE PRECISION',
|
250
|
+
'timescaledb-ha': 'DOUBLE PRECISION',
|
232
251
|
'postgresql': 'DOUBLE PRECISION',
|
233
252
|
'postgis': 'DOUBLE PRECISION',
|
234
253
|
'mariadb': 'DOUBLE PRECISION',
|
@@ -243,6 +262,7 @@ PD_TO_DB_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
243
262
|
},
|
244
263
|
'double': {
|
245
264
|
'timescaledb': 'DOUBLE PRECISION',
|
265
|
+
'timescaledb-ha': 'DOUBLE PRECISION',
|
246
266
|
'postgresql': 'DOUBLE PRECISION',
|
247
267
|
'postgis': 'DOUBLE PRECISION',
|
248
268
|
'mariadb': 'DOUBLE PRECISION',
|
@@ -256,41 +276,134 @@ PD_TO_DB_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
256
276
|
'default': 'DOUBLE',
|
257
277
|
},
|
258
278
|
'datetime64[ns]': {
|
259
|
-
'timescaledb': 'TIMESTAMP',
|
260
|
-
'
|
261
|
-
'
|
279
|
+
'timescaledb': 'TIMESTAMP(6)',
|
280
|
+
'timescaledb-ha': 'TIMESTAMP(6)',
|
281
|
+
'postgresql': 'TIMESTAMP(6)',
|
282
|
+
'postgis': 'TIMESTAMP(6)',
|
262
283
|
'mariadb': 'DATETIME',
|
263
284
|
'mysql': 'DATETIME',
|
264
|
-
'mssql': 'DATETIME2',
|
285
|
+
'mssql': 'DATETIME2(7)',
|
265
286
|
'oracle': 'TIMESTAMP(9)',
|
266
287
|
'sqlite': 'DATETIME',
|
267
|
-
'duckdb': 'TIMESTAMP',
|
268
|
-
'citus': 'TIMESTAMP',
|
269
|
-
'cockroachdb': 'TIMESTAMP',
|
288
|
+
'duckdb': 'TIMESTAMP(6)',
|
289
|
+
'citus': 'TIMESTAMP(6)',
|
290
|
+
'cockroachdb': 'TIMESTAMP(6)',
|
270
291
|
'default': 'DATETIME',
|
271
292
|
},
|
272
293
|
'datetime64[ns, UTC]': {
|
273
|
-
'timescaledb': 'TIMESTAMPTZ',
|
274
|
-
'
|
275
|
-
'
|
294
|
+
'timescaledb': 'TIMESTAMPTZ(6)',
|
295
|
+
'timescaledb-ha': 'TIMESTAMPTZ(6)',
|
296
|
+
'postgresql': 'TIMESTAMPTZ(9)',
|
297
|
+
'postgis': 'TIMESTAMPTZ(6)',
|
276
298
|
'mariadb': 'DATETIME',
|
277
299
|
'mysql': 'DATETIME',
|
278
|
-
'mssql': 'DATETIMEOFFSET',
|
300
|
+
'mssql': 'DATETIMEOFFSET(7)',
|
279
301
|
'oracle': 'TIMESTAMP(9)',
|
280
302
|
'sqlite': 'TIMESTAMP',
|
281
303
|
'duckdb': 'TIMESTAMPTZ',
|
282
|
-
'citus': 'TIMESTAMPTZ',
|
283
|
-
'cockroachdb': 'TIMESTAMPTZ',
|
304
|
+
'citus': 'TIMESTAMPTZ(6)',
|
305
|
+
'cockroachdb': 'TIMESTAMPTZ(6)',
|
306
|
+
'default': 'TIMESTAMPTZ',
|
307
|
+
},
|
308
|
+
'datetime64[us]': {
|
309
|
+
'timescaledb': 'TIMESTAMP(6)',
|
310
|
+
'timescaledb-ha': 'TIMESTAMP(6)',
|
311
|
+
'postgresql': 'TIMESTAMP(6)',
|
312
|
+
'postgis': 'TIMESTAMP(6)',
|
313
|
+
'mariadb': 'DATETIME',
|
314
|
+
'mysql': 'DATETIME',
|
315
|
+
'mssql': 'DATETIME2(6)',
|
316
|
+
'oracle': 'TIMESTAMP(6)',
|
317
|
+
'sqlite': 'DATETIME',
|
318
|
+
'duckdb': 'TIMESTAMP(6)',
|
319
|
+
'citus': 'TIMESTAMP(6)',
|
320
|
+
'cockroachdb': 'TIMESTAMP',
|
321
|
+
'default': 'DATETIME',
|
322
|
+
},
|
323
|
+
'datetime64[us, UTC]': {
|
324
|
+
'timescaledb': 'TIMESTAMPTZ(6)',
|
325
|
+
'timescaledb-ha': 'TIMESTAMPTZ(6)',
|
326
|
+
'postgresql': 'TIMESTAMPTZ(6)',
|
327
|
+
'postgis': 'TIMESTAMPTZ(6)',
|
328
|
+
'mariadb': 'DATETIME',
|
329
|
+
'mysql': 'DATETIME',
|
330
|
+
'mssql': 'DATETIMEOFFSET(6)',
|
331
|
+
'oracle': 'TIMESTAMP(6)',
|
332
|
+
'sqlite': 'TIMESTAMP',
|
333
|
+
'duckdb': 'TIMESTAMPTZ',
|
334
|
+
'citus': 'TIMESTAMPTZ(6)',
|
335
|
+
'cockroachdb': 'TIMESTAMPTZ(6)',
|
284
336
|
'default': 'TIMESTAMPTZ',
|
285
337
|
},
|
338
|
+
'datetime64[ms]': {
|
339
|
+
'timescaledb': 'TIMESTAMP(3)',
|
340
|
+
'timescaledb-ha': 'TIMESTAMP(3)',
|
341
|
+
'postgresql': 'TIMESTAMP(3)',
|
342
|
+
'postgis': 'TIMESTAMP(3)',
|
343
|
+
'mariadb': 'DATETIME',
|
344
|
+
'mysql': 'DATETIME',
|
345
|
+
'mssql': 'DATETIME2(3)',
|
346
|
+
'oracle': 'TIMESTAMP(3)',
|
347
|
+
'sqlite': 'DATETIME',
|
348
|
+
'duckdb': 'TIMESTAMP(3)',
|
349
|
+
'citus': 'TIMESTAMP(3)',
|
350
|
+
'cockroachdb': 'TIMESTAMP(3)',
|
351
|
+
'default': 'DATETIME',
|
352
|
+
},
|
353
|
+
'datetime64[ms, UTC]': {
|
354
|
+
'timescaledb': 'TIMESTAMPTZ(3)',
|
355
|
+
'timescaledb-ha': 'TIMESTAMPTZ(3)',
|
356
|
+
'postgresql': 'TIMESTAMPTZ(3)',
|
357
|
+
'postgis': 'TIMESTAMPTZ(3)',
|
358
|
+
'mariadb': 'DATETIME',
|
359
|
+
'mysql': 'DATETIME',
|
360
|
+
'mssql': 'DATETIMEOFFSET(3)',
|
361
|
+
'oracle': 'TIMESTAMP(3)',
|
362
|
+
'sqlite': 'TIMESTAMP',
|
363
|
+
'duckdb': 'TIMESTAMPTZ',
|
364
|
+
'citus': 'TIMESTAMPTZ(3)',
|
365
|
+
'cockroachdb': 'TIMESTAMPTZ(3)',
|
366
|
+
'default': 'TIMESTAMPTZ',
|
367
|
+
},
|
368
|
+
'datetime64[s]': {
|
369
|
+
'timescaledb': 'TIMESTAMP(0)',
|
370
|
+
'timescaledb-ha': 'TIMESTAMP(0)',
|
371
|
+
'postgresql': 'TIMESTAMP(0)',
|
372
|
+
'postgis': 'TIMESTAMP(0)',
|
373
|
+
'mariadb': 'DATETIME',
|
374
|
+
'mysql': 'DATETIME',
|
375
|
+
'mssql': 'DATETIME2(0)',
|
376
|
+
'oracle': 'TIMESTAMP(0)',
|
377
|
+
'sqlite': 'DATETIME',
|
378
|
+
'duckdb': 'TIMESTAMP(0)',
|
379
|
+
'citus': 'TIMESTAMP(0)',
|
380
|
+
'cockroachdb': 'TIMESTAMP(0)',
|
381
|
+
'default': 'DATETIME',
|
382
|
+
},
|
383
|
+
'datetime64[s, UTC]': {
|
384
|
+
'timescaledb': 'TIMESTAMPTZ(0)',
|
385
|
+
'timescaledb-ha': 'TIMESTAMPTZ(0)',
|
386
|
+
'postgresql': 'TIMESTAMPTZ(0)',
|
387
|
+
'postgis': 'TIMESTAMPTZ(0)',
|
388
|
+
'mariadb': 'DATETIME',
|
389
|
+
'mysql': 'DATETIME',
|
390
|
+
'mssql': 'DATETIMEOFFSET(0)',
|
391
|
+
'oracle': 'TIMESTAMP(0)',
|
392
|
+
'sqlite': 'TIMESTAMP',
|
393
|
+
'duckdb': 'TIMESTAMPTZ',
|
394
|
+
'citus': 'TIMESTAMPTZ(0)',
|
395
|
+
'cockroachdb': 'TIMESTAMPTZ(0)',
|
396
|
+
'default': 'TIMESTAMPTZ(0)',
|
397
|
+
},
|
286
398
|
'datetime': {
|
287
399
|
'timescaledb': 'TIMESTAMPTZ',
|
400
|
+
'timescaledb-ha': 'TIMESTAMPTZ',
|
288
401
|
'postgresql': 'TIMESTAMPTZ',
|
289
402
|
'postgis': 'TIMESTAMPTZ',
|
290
403
|
'mariadb': 'DATETIME',
|
291
404
|
'mysql': 'DATETIME',
|
292
405
|
'mssql': 'DATETIMEOFFSET',
|
293
|
-
'oracle': 'TIMESTAMP
|
406
|
+
'oracle': 'TIMESTAMP',
|
294
407
|
'sqlite': 'TIMESTAMP',
|
295
408
|
'duckdb': 'TIMESTAMPTZ',
|
296
409
|
'citus': 'TIMESTAMPTZ',
|
@@ -299,20 +412,67 @@ PD_TO_DB_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
299
412
|
},
|
300
413
|
'datetimetz': {
|
301
414
|
'timescaledb': 'TIMESTAMPTZ',
|
415
|
+
'timescaledb-ha': 'TIMESTAMPTZ',
|
302
416
|
'postgresql': 'TIMESTAMPTZ',
|
303
417
|
'postgis': 'TIMESTAMPTZ',
|
304
418
|
'mariadb': 'DATETIME',
|
305
419
|
'mysql': 'DATETIME',
|
306
420
|
'mssql': 'DATETIMEOFFSET',
|
307
|
-
'oracle': 'TIMESTAMP
|
421
|
+
'oracle': 'TIMESTAMP',
|
308
422
|
'sqlite': 'TIMESTAMP',
|
309
423
|
'duckdb': 'TIMESTAMPTZ',
|
310
424
|
'citus': 'TIMESTAMPTZ',
|
311
425
|
'cockroachdb': 'TIMESTAMPTZ',
|
312
426
|
'default': 'TIMESTAMPTZ',
|
313
427
|
},
|
428
|
+
'date': {
|
429
|
+
'timescaledb': 'DATE',
|
430
|
+
'timescaledb-ha': 'DATE',
|
431
|
+
'postgresql': 'DATE',
|
432
|
+
'postgis': 'DATE',
|
433
|
+
'mariadb': 'DATE',
|
434
|
+
'mysql': 'DATE',
|
435
|
+
'mssql': 'DATE',
|
436
|
+
'oracle': 'DATE',
|
437
|
+
'sqlite': 'DATE',
|
438
|
+
'duckdb': 'DATE',
|
439
|
+
'citus': 'DATE',
|
440
|
+
'cockroachdb': 'DATE',
|
441
|
+
'default': 'DATE',
|
442
|
+
},
|
314
443
|
'bool': {
|
315
444
|
'timescaledb': 'BOOLEAN',
|
445
|
+
'timescaledb-ha': 'BOOLEAN',
|
446
|
+
'postgresql': 'BOOLEAN',
|
447
|
+
'postgis': 'BOOLEAN',
|
448
|
+
'mariadb': 'BOOLEAN',
|
449
|
+
'mysql': 'BOOLEAN',
|
450
|
+
'mssql': 'BIT',
|
451
|
+
'oracle': 'INTEGER',
|
452
|
+
'sqlite': 'FLOAT',
|
453
|
+
'duckdb': 'BOOLEAN',
|
454
|
+
'citus': 'BOOLEAN',
|
455
|
+
'cockroachdb': 'BOOLEAN',
|
456
|
+
'default': 'BOOLEAN',
|
457
|
+
},
|
458
|
+
'bool[pyarrow]': {
|
459
|
+
'timescaledb': 'BOOLEAN',
|
460
|
+
'timescaledb-ha': 'BOOLEAN',
|
461
|
+
'postgresql': 'BOOLEAN',
|
462
|
+
'postgis': 'BOOLEAN',
|
463
|
+
'mariadb': 'BOOLEAN',
|
464
|
+
'mysql': 'BOOLEAN',
|
465
|
+
'mssql': 'BIT',
|
466
|
+
'oracle': 'INTEGER',
|
467
|
+
'sqlite': 'FLOAT',
|
468
|
+
'duckdb': 'BOOLEAN',
|
469
|
+
'citus': 'BOOLEAN',
|
470
|
+
'cockroachdb': 'BOOLEAN',
|
471
|
+
'default': 'BOOLEAN',
|
472
|
+
},
|
473
|
+
'boolean': {
|
474
|
+
'timescaledb': 'BOOLEAN',
|
475
|
+
'timescaledb-ha': 'BOOLEAN',
|
316
476
|
'postgresql': 'BOOLEAN',
|
317
477
|
'postgis': 'BOOLEAN',
|
318
478
|
'mariadb': 'BOOLEAN',
|
@@ -327,6 +487,7 @@ PD_TO_DB_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
327
487
|
},
|
328
488
|
'object': {
|
329
489
|
'timescaledb': 'TEXT',
|
490
|
+
'timescaledb-ha': 'TEXT',
|
330
491
|
'postgresql': 'TEXT',
|
331
492
|
'postgis': 'TEXT',
|
332
493
|
'mariadb': 'TEXT',
|
@@ -341,6 +502,7 @@ PD_TO_DB_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
341
502
|
},
|
342
503
|
'string': {
|
343
504
|
'timescaledb': 'TEXT',
|
505
|
+
'timescaledb-ha': 'TEXT',
|
344
506
|
'postgresql': 'TEXT',
|
345
507
|
'postgis': 'TEXT',
|
346
508
|
'mariadb': 'TEXT',
|
@@ -355,6 +517,7 @@ PD_TO_DB_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
355
517
|
},
|
356
518
|
'unicode': {
|
357
519
|
'timescaledb': 'TEXT',
|
520
|
+
'timescaledb-ha': 'TEXT',
|
358
521
|
'postgresql': 'TEXT',
|
359
522
|
'postgis': 'TEXT',
|
360
523
|
'mariadb': 'TEXT',
|
@@ -369,6 +532,7 @@ PD_TO_DB_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
369
532
|
},
|
370
533
|
'json': {
|
371
534
|
'timescaledb': 'JSONB',
|
535
|
+
'timescaledb-ha': 'JSONB',
|
372
536
|
'postgresql': 'JSONB',
|
373
537
|
'postgis': 'JSONB',
|
374
538
|
'mariadb': 'TEXT',
|
@@ -383,6 +547,7 @@ PD_TO_DB_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
383
547
|
},
|
384
548
|
'numeric': {
|
385
549
|
'timescaledb': 'NUMERIC',
|
550
|
+
'timescaledb-ha': 'NUMERIC',
|
386
551
|
'postgresql': 'NUMERIC',
|
387
552
|
'postgis': 'NUMERIC',
|
388
553
|
'mariadb': f'DECIMAL{NUMERIC_PRECISION_FLAVORS["mariadb"]}',
|
@@ -397,6 +562,7 @@ PD_TO_DB_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
397
562
|
},
|
398
563
|
'uuid': {
|
399
564
|
'timescaledb': 'UUID',
|
565
|
+
'timescaledb-ha': 'UUID',
|
400
566
|
'postgresql': 'UUID',
|
401
567
|
'postgis': 'UUID',
|
402
568
|
'mariadb': 'CHAR(36)',
|
@@ -412,6 +578,7 @@ PD_TO_DB_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
412
578
|
},
|
413
579
|
'bytes': {
|
414
580
|
'timescaledb': 'BYTEA',
|
581
|
+
'timescaledb-ha': 'BYTEA',
|
415
582
|
'postgresql': 'BYTEA',
|
416
583
|
'postgis': 'BYTEA',
|
417
584
|
'mariadb': 'BLOB',
|
@@ -426,6 +593,7 @@ PD_TO_DB_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
426
593
|
},
|
427
594
|
'geometry': {
|
428
595
|
'timescaledb': 'TEXT',
|
596
|
+
'timescaledb-ha': 'GEOMETRY',
|
429
597
|
'postgresql': 'TEXT',
|
430
598
|
'postgis': 'GEOMETRY',
|
431
599
|
'mariadb': 'TEXT',
|
@@ -440,6 +608,7 @@ PD_TO_DB_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
440
608
|
},
|
441
609
|
'geography': {
|
442
610
|
'timescaledb': 'TEXT',
|
611
|
+
'timescaledb-ha': 'GEOGRAPHY',
|
443
612
|
'postgresql': 'TEXT',
|
444
613
|
'postgis': 'GEOGRAPHY',
|
445
614
|
'mariadb': 'TEXT',
|
@@ -456,6 +625,7 @@ PD_TO_DB_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
456
625
|
PD_TO_SQLALCHEMY_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
457
626
|
'int': {
|
458
627
|
'timescaledb': 'BigInteger',
|
628
|
+
'timescaledb-ha': 'BigInteger',
|
459
629
|
'postgresql': 'BigInteger',
|
460
630
|
'postgis': 'BigInteger',
|
461
631
|
'mariadb': 'BigInteger',
|
@@ -470,6 +640,7 @@ PD_TO_SQLALCHEMY_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
470
640
|
},
|
471
641
|
'uint': {
|
472
642
|
'timescaledb': 'BigInteger',
|
643
|
+
'timescaledb-ha': 'BigInteger',
|
473
644
|
'postgresql': 'BigInteger',
|
474
645
|
'postgis': 'BigInteger',
|
475
646
|
'mariadb': 'BigInteger',
|
@@ -484,6 +655,7 @@ PD_TO_SQLALCHEMY_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
484
655
|
},
|
485
656
|
'int8': {
|
486
657
|
'timescaledb': 'SmallInteger',
|
658
|
+
'timescaledb-ha': 'SmallInteger',
|
487
659
|
'postgresql': 'SmallInteger',
|
488
660
|
'postgis': 'SmallInteger',
|
489
661
|
'mariadb': 'SmallInteger',
|
@@ -498,6 +670,7 @@ PD_TO_SQLALCHEMY_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
498
670
|
},
|
499
671
|
'uint8': {
|
500
672
|
'timescaledb': 'SmallInteger',
|
673
|
+
'timescaledb-ha': 'SmallInteger',
|
501
674
|
'postgresql': 'SmallInteger',
|
502
675
|
'postgis': 'SmallInteger',
|
503
676
|
'mariadb': 'SmallInteger',
|
@@ -512,6 +685,7 @@ PD_TO_SQLALCHEMY_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
512
685
|
},
|
513
686
|
'int16': {
|
514
687
|
'timescaledb': 'SmallInteger',
|
688
|
+
'timescaledb-ha': 'SmallInteger',
|
515
689
|
'postgresql': 'SmallInteger',
|
516
690
|
'postgis': 'SmallInteger',
|
517
691
|
'mariadb': 'SmallInteger',
|
@@ -526,6 +700,7 @@ PD_TO_SQLALCHEMY_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
526
700
|
},
|
527
701
|
'int32': {
|
528
702
|
'timescaledb': 'Integer',
|
703
|
+
'timescaledb-ha': 'Integer',
|
529
704
|
'postgresql': 'Integer',
|
530
705
|
'postgis': 'Integer',
|
531
706
|
'mariadb': 'Integer',
|
@@ -540,6 +715,7 @@ PD_TO_SQLALCHEMY_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
540
715
|
},
|
541
716
|
'int64': {
|
542
717
|
'timescaledb': 'BigInteger',
|
718
|
+
'timescaledb-ha': 'BigInteger',
|
543
719
|
'postgresql': 'BigInteger',
|
544
720
|
'postgis': 'BigInteger',
|
545
721
|
'mariadb': 'BigInteger',
|
@@ -554,6 +730,7 @@ PD_TO_SQLALCHEMY_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
554
730
|
},
|
555
731
|
'float': {
|
556
732
|
'timescaledb': 'Float',
|
733
|
+
'timescaledb-ha': 'Float',
|
557
734
|
'postgresql': 'Float',
|
558
735
|
'postgis': 'Float',
|
559
736
|
'mariadb': 'Float',
|
@@ -568,12 +745,13 @@ PD_TO_SQLALCHEMY_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
568
745
|
},
|
569
746
|
'datetime': {
|
570
747
|
'timescaledb': 'DateTime(timezone=True)',
|
748
|
+
'timescaledb-ha': 'DateTime(timezone=True)',
|
571
749
|
'postgresql': 'DateTime(timezone=True)',
|
572
750
|
'postgis': 'DateTime(timezone=True)',
|
573
751
|
'mariadb': 'DateTime(timezone=True)',
|
574
752
|
'mysql': 'DateTime(timezone=True)',
|
575
753
|
'mssql': 'sqlalchemy.dialects.mssql.DATETIMEOFFSET',
|
576
|
-
'oracle': 'sqlalchemy.dialects.oracle.TIMESTAMP
|
754
|
+
'oracle': 'sqlalchemy.dialects.oracle.TIMESTAMP',
|
577
755
|
'sqlite': 'DateTime(timezone=True)',
|
578
756
|
'duckdb': 'DateTime(timezone=True)',
|
579
757
|
'citus': 'DateTime(timezone=True)',
|
@@ -582,6 +760,7 @@ PD_TO_SQLALCHEMY_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
582
760
|
},
|
583
761
|
'datetime64[ns]': {
|
584
762
|
'timescaledb': 'DateTime',
|
763
|
+
'timescaledb-ha': 'DateTime',
|
585
764
|
'postgresql': 'DateTime',
|
586
765
|
'postgis': 'DateTime',
|
587
766
|
'mariadb': 'DateTime',
|
@@ -596,20 +775,157 @@ PD_TO_SQLALCHEMY_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
596
775
|
},
|
597
776
|
'datetime64[ns, UTC]': {
|
598
777
|
'timescaledb': 'DateTime(timezone=True)',
|
778
|
+
'timescaledb-ha': 'DateTime(timezone=True)',
|
599
779
|
'postgresql': 'DateTime(timezone=True)',
|
600
780
|
'postgis': 'DateTime(timezone=True)',
|
601
781
|
'mariadb': 'DateTime(timezone=True)',
|
602
782
|
'mysql': 'DateTime(timezone=True)',
|
603
783
|
'mssql': 'sqlalchemy.dialects.mssql.DATETIMEOFFSET',
|
604
|
-
'oracle': 'sqlalchemy.dialects.oracle.TIMESTAMP
|
784
|
+
'oracle': 'sqlalchemy.dialects.oracle.TIMESTAMP',
|
605
785
|
'sqlite': 'DateTime(timezone=True)',
|
606
786
|
'duckdb': 'DateTime(timezone=True)',
|
607
787
|
'citus': 'DateTime(timezone=True)',
|
608
788
|
'cockroachdb': 'DateTime(timezone=True)',
|
609
789
|
'default': 'DateTime(timezone=True)',
|
610
790
|
},
|
791
|
+
'datetime64[us]': {
|
792
|
+
'timescaledb': 'DateTime',
|
793
|
+
'timescaledb-ha': 'DateTime',
|
794
|
+
'postgresql': 'DateTime',
|
795
|
+
'postgis': 'DateTime',
|
796
|
+
'mariadb': 'DateTime',
|
797
|
+
'mysql': 'DateTime',
|
798
|
+
'mssql': 'sqlalchemy.dialects.mssql.DATETIME2',
|
799
|
+
'oracle': 'DateTime',
|
800
|
+
'sqlite': 'DateTime',
|
801
|
+
'duckdb': 'DateTime',
|
802
|
+
'citus': 'DateTime',
|
803
|
+
'cockroachdb': 'DateTime',
|
804
|
+
'default': 'DateTime',
|
805
|
+
},
|
806
|
+
'datetime64[us, UTC]': {
|
807
|
+
'timescaledb': 'DateTime(timezone=True)',
|
808
|
+
'timescaledb-ha': 'DateTime(timezone=True)',
|
809
|
+
'postgresql': 'DateTime(timezone=True)',
|
810
|
+
'postgis': 'DateTime(timezone=True)',
|
811
|
+
'mariadb': 'DateTime(timezone=True)',
|
812
|
+
'mysql': 'DateTime(timezone=True)',
|
813
|
+
'mssql': 'sqlalchemy.dialects.mssql.DATETIMEOFFSET',
|
814
|
+
'oracle': 'sqlalchemy.dialects.oracle.TIMESTAMP',
|
815
|
+
'sqlite': 'DateTime(timezone=True)',
|
816
|
+
'duckdb': 'DateTime(timezone=True)',
|
817
|
+
'citus': 'DateTime(timezone=True)',
|
818
|
+
'cockroachdb': 'DateTime(timezone=True)',
|
819
|
+
'default': 'DateTime(timezone=True)',
|
820
|
+
},
|
821
|
+
'datetime64[ms]': {
|
822
|
+
'timescaledb': 'DateTime',
|
823
|
+
'timescaledb-ha': 'DateTime',
|
824
|
+
'postgresql': 'DateTime',
|
825
|
+
'postgis': 'DateTime',
|
826
|
+
'mariadb': 'DateTime',
|
827
|
+
'mysql': 'DateTime',
|
828
|
+
'mssql': 'sqlalchemy.dialects.mssql.DATETIME2',
|
829
|
+
'oracle': 'DateTime',
|
830
|
+
'sqlite': 'DateTime',
|
831
|
+
'duckdb': 'DateTime',
|
832
|
+
'citus': 'DateTime',
|
833
|
+
'cockroachdb': 'DateTime',
|
834
|
+
'default': 'DateTime',
|
835
|
+
},
|
836
|
+
'datetime64[ms, UTC]': {
|
837
|
+
'timescaledb': 'DateTime(timezone=True)',
|
838
|
+
'timescaledb-ha': 'DateTime(timezone=True)',
|
839
|
+
'postgresql': 'DateTime(timezone=True)',
|
840
|
+
'postgis': 'DateTime(timezone=True)',
|
841
|
+
'mariadb': 'DateTime(timezone=True)',
|
842
|
+
'mysql': 'DateTime(timezone=True)',
|
843
|
+
'mssql': 'sqlalchemy.dialects.mssql.DATETIMEOFFSET',
|
844
|
+
'oracle': 'sqlalchemy.dialects.oracle.TIMESTAMP',
|
845
|
+
'sqlite': 'DateTime(timezone=True)',
|
846
|
+
'duckdb': 'DateTime(timezone=True)',
|
847
|
+
'citus': 'DateTime(timezone=True)',
|
848
|
+
'cockroachdb': 'DateTime(timezone=True)',
|
849
|
+
'default': 'DateTime(timezone=True)',
|
850
|
+
},
|
851
|
+
'datetime64[s]': {
|
852
|
+
'timescaledb': 'DateTime',
|
853
|
+
'timescaledb-ha': 'DateTime',
|
854
|
+
'postgresql': 'DateTime',
|
855
|
+
'postgis': 'DateTime',
|
856
|
+
'mariadb': 'DateTime',
|
857
|
+
'mysql': 'DateTime',
|
858
|
+
'mssql': 'sqlalchemy.dialects.mssql.DATETIME2',
|
859
|
+
'oracle': 'DateTime',
|
860
|
+
'sqlite': 'DateTime',
|
861
|
+
'duckdb': 'DateTime',
|
862
|
+
'citus': 'DateTime',
|
863
|
+
'cockroachdb': 'DateTime',
|
864
|
+
'default': 'DateTime',
|
865
|
+
},
|
866
|
+
'datetime64[s, UTC]': {
|
867
|
+
'timescaledb': 'DateTime(timezone=True)',
|
868
|
+
'timescaledb-ha': 'DateTime(timezone=True)',
|
869
|
+
'postgresql': 'DateTime(timezone=True)',
|
870
|
+
'postgis': 'DateTime(timezone=True)',
|
871
|
+
'mariadb': 'DateTime(timezone=True)',
|
872
|
+
'mysql': 'DateTime(timezone=True)',
|
873
|
+
'mssql': 'sqlalchemy.dialects.mssql.DATETIMEOFFSET',
|
874
|
+
'oracle': 'sqlalchemy.dialects.oracle.TIMESTAMP',
|
875
|
+
'sqlite': 'DateTime(timezone=True)',
|
876
|
+
'duckdb': 'DateTime(timezone=True)',
|
877
|
+
'citus': 'DateTime(timezone=True)',
|
878
|
+
'cockroachdb': 'DateTime(timezone=True)',
|
879
|
+
'default': 'DateTime(timezone=True)',
|
880
|
+
},
|
881
|
+
'date': {
|
882
|
+
'timescaledb': 'Date',
|
883
|
+
'timescaledb-ha': 'Date',
|
884
|
+
'postgresql': 'Date',
|
885
|
+
'postgis': 'Date',
|
886
|
+
'mariadb': 'Date',
|
887
|
+
'mysql': 'Date',
|
888
|
+
'mssql': 'Date',
|
889
|
+
'oracle': 'Date',
|
890
|
+
'sqlite': 'Date',
|
891
|
+
'duckdb': 'Date',
|
892
|
+
'citus': 'Date',
|
893
|
+
'cockroachdb': 'Date',
|
894
|
+
'default': 'Date',
|
895
|
+
},
|
611
896
|
'bool': {
|
612
897
|
'timescaledb': 'Boolean',
|
898
|
+
'timescaledb-ha': 'Boolean',
|
899
|
+
'postgresql': 'Boolean',
|
900
|
+
'postgis': 'Boolean',
|
901
|
+
'mariadb': 'Integer',
|
902
|
+
'mysql': 'Integer',
|
903
|
+
'mssql': 'sqlalchemy.dialects.mssql.BIT',
|
904
|
+
'oracle': 'Integer',
|
905
|
+
'sqlite': 'Float',
|
906
|
+
'duckdb': 'Boolean',
|
907
|
+
'citus': 'Boolean',
|
908
|
+
'cockroachdb': 'Boolean',
|
909
|
+
'default': 'Boolean',
|
910
|
+
},
|
911
|
+
'bool[pyarrow]': {
|
912
|
+
'timescaledb': 'Boolean',
|
913
|
+
'timescaledb-ha': 'Boolean',
|
914
|
+
'postgresql': 'Boolean',
|
915
|
+
'postgis': 'Boolean',
|
916
|
+
'mariadb': 'Integer',
|
917
|
+
'mysql': 'Integer',
|
918
|
+
'mssql': 'sqlalchemy.dialects.mssql.BIT',
|
919
|
+
'oracle': 'Integer',
|
920
|
+
'sqlite': 'Float',
|
921
|
+
'duckdb': 'Boolean',
|
922
|
+
'citus': 'Boolean',
|
923
|
+
'cockroachdb': 'Boolean',
|
924
|
+
'default': 'Boolean',
|
925
|
+
},
|
926
|
+
'boolean': {
|
927
|
+
'timescaledb': 'Boolean',
|
928
|
+
'timescaledb-ha': 'Boolean',
|
613
929
|
'postgresql': 'Boolean',
|
614
930
|
'postgis': 'Boolean',
|
615
931
|
'mariadb': 'Integer',
|
@@ -624,6 +940,7 @@ PD_TO_SQLALCHEMY_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
624
940
|
},
|
625
941
|
'object': {
|
626
942
|
'timescaledb': 'UnicodeText',
|
943
|
+
'timescaledb-ha': 'UnicodeText',
|
627
944
|
'postgresql': 'UnicodeText',
|
628
945
|
'postgis': 'UnicodeText',
|
629
946
|
'mariadb': 'UnicodeText',
|
@@ -638,6 +955,7 @@ PD_TO_SQLALCHEMY_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
638
955
|
},
|
639
956
|
'string': {
|
640
957
|
'timescaledb': 'UnicodeText',
|
958
|
+
'timescaledb-ha': 'UnicodeText',
|
641
959
|
'postgresql': 'UnicodeText',
|
642
960
|
'postgis': 'UnicodeText',
|
643
961
|
'mariadb': 'UnicodeText',
|
@@ -652,6 +970,7 @@ PD_TO_SQLALCHEMY_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
652
970
|
},
|
653
971
|
'json': {
|
654
972
|
'timescaledb': 'sqlalchemy.dialects.postgresql.JSONB',
|
973
|
+
'timescaledb-ha': 'sqlalchemy.dialects.postgresql.JSONB',
|
655
974
|
'postgresql': 'sqlalchemy.dialects.postgresql.JSONB',
|
656
975
|
'postgis': 'sqlalchemy.dialects.postgresql.JSONB',
|
657
976
|
'mariadb': 'UnicodeText',
|
@@ -666,6 +985,7 @@ PD_TO_SQLALCHEMY_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
666
985
|
},
|
667
986
|
'numeric': {
|
668
987
|
'timescaledb': 'Numeric',
|
988
|
+
'timescaledb-ha': 'Numeric',
|
669
989
|
'postgresql': 'Numeric',
|
670
990
|
'postgis': 'Numeric',
|
671
991
|
'mariadb': 'Numeric',
|
@@ -680,6 +1000,7 @@ PD_TO_SQLALCHEMY_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
680
1000
|
},
|
681
1001
|
'uuid': {
|
682
1002
|
'timescaledb': 'Uuid',
|
1003
|
+
'timescaledb-ha': 'Uuid',
|
683
1004
|
'postgresql': 'Uuid',
|
684
1005
|
'postgis': 'Uuid',
|
685
1006
|
'mariadb': 'sqlalchemy.dialects.mysql.CHAR(36)',
|
@@ -692,8 +1013,24 @@ PD_TO_SQLALCHEMY_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
692
1013
|
'cockroachdb': 'Uuid',
|
693
1014
|
'default': 'Uuid',
|
694
1015
|
},
|
1016
|
+
'binary[pyarrow]': {
|
1017
|
+
'timescaledb': 'LargeBinary',
|
1018
|
+
'timescaledb-ha': 'LargeBinary',
|
1019
|
+
'postgresql': 'LargeBinary',
|
1020
|
+
'postgis': 'LargeBinary',
|
1021
|
+
'mariadb': 'LargeBinary',
|
1022
|
+
'mysql': 'LargeBinary',
|
1023
|
+
'mssql': 'LargeBinary',
|
1024
|
+
'oracle': 'LargeBinary',
|
1025
|
+
'sqlite': 'LargeBinary',
|
1026
|
+
'duckdb': 'LargeBinary',
|
1027
|
+
'citus': 'LargeBinary',
|
1028
|
+
'cockroachdb': 'LargeBinary',
|
1029
|
+
'default': 'LargeBinary',
|
1030
|
+
},
|
695
1031
|
'bytes': {
|
696
1032
|
'timescaledb': 'LargeBinary',
|
1033
|
+
'timescaledb-ha': 'LargeBinary',
|
697
1034
|
'postgresql': 'LargeBinary',
|
698
1035
|
'postgis': 'LargeBinary',
|
699
1036
|
'mariadb': 'LargeBinary',
|
@@ -708,6 +1045,7 @@ PD_TO_SQLALCHEMY_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
708
1045
|
},
|
709
1046
|
'geometry': {
|
710
1047
|
'timescaledb': 'UnicodeText',
|
1048
|
+
'timescaledb-ha': 'geoalchemy2.Geometry',
|
711
1049
|
'postgresql': 'UnicodeText',
|
712
1050
|
'postgis': 'geoalchemy2.Geometry',
|
713
1051
|
'mariadb': 'UnicodeText',
|
@@ -722,6 +1060,7 @@ PD_TO_SQLALCHEMY_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
722
1060
|
},
|
723
1061
|
'geography': {
|
724
1062
|
'timescaledb': 'UnicodeText',
|
1063
|
+
'timescaledb-ha': 'geoalchemy2.Geography',
|
725
1064
|
'postgresql': 'UnicodeText',
|
726
1065
|
'postgis': 'geoalchemy2.Geography',
|
727
1066
|
'mariadb': 'UnicodeText',
|
@@ -738,6 +1077,7 @@ PD_TO_SQLALCHEMY_DTYPES_FLAVORS: Dict[str, Dict[str, str]] = {
|
|
738
1077
|
|
739
1078
|
AUTO_INCREMENT_COLUMN_FLAVORS: Dict[str, str] = {
|
740
1079
|
'timescaledb': 'GENERATED BY DEFAULT AS IDENTITY',
|
1080
|
+
'timescaledb-ha': 'GENERATED BY DEFAULT AS IDENTITY',
|
741
1081
|
'postgresql': 'GENERATED BY DEFAULT AS IDENTITY',
|
742
1082
|
'postgis': 'GENERATED BY DEFAULT AS IDENTITY',
|
743
1083
|
'mariadb': 'AUTO_INCREMENT',
|