@nshiab/simple-data-analysis-core 1.0.1 → 2.0.1
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.
- package/README.md +124 -14
- package/esm/_dnt.polyfills.d.ts +7 -0
- package/esm/_dnt.polyfills.d.ts.map +1 -0
- package/esm/_dnt.polyfills.js +1 -0
- package/esm/class/SDAError.d.ts +63 -0
- package/esm/class/SDAError.d.ts.map +1 -0
- package/esm/class/SDAError.js +83 -0
- package/esm/class/Simple.d.ts +40 -22
- package/esm/class/Simple.d.ts.map +1 -1
- package/esm/class/Simple.js +33 -20
- package/esm/class/SimpleDB.d.ts +247 -103
- package/esm/class/SimpleDB.d.ts.map +1 -1
- package/esm/class/SimpleDB.js +483 -298
- package/esm/class/SimpleTable.d.ts +1804 -940
- package/esm/class/SimpleTable.d.ts.map +1 -1
- package/esm/class/SimpleTable.js +1946 -1825
- package/esm/helpers/assertColumnsExist.d.ts +16 -0
- package/esm/helpers/assertColumnsExist.d.ts.map +1 -0
- package/esm/helpers/assertColumnsExist.js +21 -0
- package/esm/helpers/assertNewColumns.d.ts +17 -0
- package/esm/helpers/assertNewColumns.d.ts.map +1 -0
- package/esm/helpers/assertNewColumns.js +22 -0
- package/esm/helpers/assertSameDatabase.d.ts +11 -0
- package/esm/helpers/assertSameDatabase.d.ts.map +1 -0
- package/esm/helpers/assertSameDatabase.js +13 -0
- package/esm/helpers/asyncOperationContext.d.ts +19 -0
- package/esm/helpers/asyncOperationContext.d.ts.map +1 -0
- package/esm/helpers/asyncOperationContext.js +38 -0
- package/esm/helpers/buildFuzzyMatchSql.d.ts +9 -0
- package/esm/helpers/buildFuzzyMatchSql.d.ts.map +1 -0
- package/esm/helpers/buildFuzzyMatchSql.js +17 -0
- package/esm/helpers/cacheDatabase.d.ts +5 -0
- package/esm/helpers/cacheDatabase.d.ts.map +1 -0
- package/esm/helpers/cacheDatabase.js +110 -0
- package/esm/helpers/cacheDiagnostics.d.ts +4 -0
- package/esm/helpers/cacheDiagnostics.d.ts.map +1 -0
- package/esm/helpers/cacheDiagnostics.js +21 -0
- package/esm/helpers/cacheTableDependencies.d.ts +19 -0
- package/esm/helpers/cacheTableDependencies.d.ts.map +1 -0
- package/esm/helpers/cacheTableDependencies.js +117 -0
- package/esm/helpers/cleanCache.js +1 -1
- package/esm/helpers/createDirectory.d.ts +13 -0
- package/esm/helpers/createDirectory.d.ts.map +1 -1
- package/esm/helpers/createDirectory.js +13 -0
- package/esm/helpers/ensureSpatial.d.ts +7 -0
- package/esm/helpers/ensureSpatial.d.ts.map +1 -0
- package/esm/helpers/ensureSpatial.js +17 -0
- package/esm/helpers/extractTypes.d.ts +1 -1
- package/esm/helpers/extractTypes.d.ts.map +1 -1
- package/esm/helpers/extractZipEntryToFile.d.ts +3 -0
- package/esm/helpers/extractZipEntryToFile.d.ts.map +1 -0
- package/esm/helpers/extractZipEntryToFile.js +226 -0
- package/esm/helpers/fileCache.d.ts +15 -0
- package/esm/helpers/fileCache.d.ts.map +1 -0
- package/esm/helpers/fileCache.js +128 -0
- package/esm/helpers/findGeoColumn.d.ts +13 -1
- package/esm/helpers/findGeoColumn.d.ts.map +1 -1
- package/esm/helpers/findGeoColumn.js +15 -17
- package/esm/helpers/findGeoColumnFromSchema.d.ts +20 -0
- package/esm/helpers/findGeoColumnFromSchema.d.ts.map +1 -0
- package/esm/helpers/findGeoColumnFromSchema.js +28 -0
- package/esm/helpers/flushAllTables.d.ts +23 -0
- package/esm/helpers/flushAllTables.d.ts.map +1 -0
- package/esm/helpers/flushAllTables.js +411 -0
- package/esm/helpers/formatMissingTables.d.ts +19 -0
- package/esm/helpers/formatMissingTables.d.ts.map +1 -0
- package/esm/helpers/formatMissingTables.js +29 -0
- package/esm/helpers/getCurrentDatabase.d.ts +3 -0
- package/esm/helpers/getCurrentDatabase.d.ts.map +1 -0
- package/esm/helpers/getCurrentDatabase.js +7 -0
- package/esm/helpers/getDbFileType.d.ts +2 -0
- package/esm/helpers/getDbFileType.d.ts.map +1 -0
- package/esm/helpers/getDbFileType.js +9 -0
- package/esm/helpers/getDbIndexes.d.ts +4 -0
- package/esm/helpers/getDbIndexes.d.ts.map +1 -0
- package/esm/helpers/getDbIndexes.js +4 -0
- package/esm/helpers/getStatExpression.d.ts +10 -0
- package/esm/helpers/getStatExpression.d.ts.map +1 -0
- package/esm/helpers/getStatExpression.js +75 -0
- package/esm/helpers/index.d.ts +3 -0
- package/esm/helpers/index.d.ts.map +1 -1
- package/esm/helpers/index.js +3 -0
- package/esm/helpers/indexDefinitions.d.ts +30 -0
- package/esm/helpers/indexDefinitions.d.ts.map +1 -0
- package/esm/helpers/indexDefinitions.js +7 -0
- package/esm/helpers/indexQueries.d.ts +3 -0
- package/esm/helpers/indexQueries.d.ts.map +1 -0
- package/esm/helpers/indexQueries.js +36 -0
- package/esm/helpers/keepNumericalColumns.d.ts.map +1 -1
- package/esm/helpers/keepNumericalColumns.js +4 -5
- package/esm/helpers/loadOsmFile.d.ts +10 -0
- package/esm/helpers/loadOsmFile.d.ts.map +1 -0
- package/esm/helpers/loadOsmFile.js +28 -0
- package/esm/helpers/logData.d.ts +2 -2
- package/esm/helpers/logData.d.ts.map +1 -1
- package/esm/helpers/logData.js +6 -6
- package/esm/helpers/mergeOptions.d.ts +47 -15
- package/esm/helpers/mergeOptions.d.ts.map +1 -1
- package/esm/helpers/mergeOptions.js +35 -5
- package/esm/helpers/observeQuery.d.ts +9 -0
- package/esm/helpers/observeQuery.d.ts.map +1 -0
- package/esm/helpers/observeQuery.js +49 -0
- package/esm/helpers/osmCache.d.ts +16 -0
- package/esm/helpers/osmCache.d.ts.map +1 -0
- package/esm/helpers/osmCache.js +41 -0
- package/esm/helpers/osmFiles.d.ts +9 -0
- package/esm/helpers/osmFiles.d.ts.map +1 -0
- package/esm/helpers/osmFiles.js +52 -0
- package/esm/helpers/parseDuckDBType.d.ts +1 -1
- package/esm/helpers/parseValue.d.ts +16 -0
- package/esm/helpers/parseValue.d.ts.map +1 -1
- package/esm/helpers/parseValue.js +17 -1
- package/esm/helpers/pendingOps.d.ts +151 -0
- package/esm/helpers/pendingOps.d.ts.map +1 -0
- package/esm/helpers/pendingOps.js +1 -0
- package/esm/helpers/prepareDbExtensions.d.ts +4 -0
- package/esm/helpers/prepareDbExtensions.d.ts.map +1 -0
- package/esm/helpers/prepareDbExtensions.js +22 -0
- package/esm/helpers/prepareValueFilters.d.ts +11 -0
- package/esm/helpers/prepareValueFilters.d.ts.map +1 -0
- package/esm/helpers/prepareValueFilters.js +12 -0
- package/esm/helpers/queryDB.d.ts +43 -8
- package/esm/helpers/queryDB.d.ts.map +1 -1
- package/esm/helpers/queryDB.js +55 -36
- package/esm/helpers/queryDbFile.d.ts +8 -0
- package/esm/helpers/queryDbFile.d.ts.map +1 -0
- package/esm/helpers/queryDbFile.js +12 -0
- package/esm/helpers/queueAsyncBarrier.d.ts +47 -0
- package/esm/helpers/queueAsyncBarrier.d.ts.map +1 -0
- package/esm/helpers/queueAsyncBarrier.js +45 -0
- package/esm/helpers/queueOp.d.ts +18 -0
- package/esm/helpers/queueOp.d.ts.map +1 -0
- package/esm/helpers/queueOp.js +70 -0
- package/esm/helpers/quoteIdentifier.d.ts +16 -0
- package/esm/helpers/quoteIdentifier.d.ts.map +1 -0
- package/esm/helpers/quoteIdentifier.js +17 -0
- package/esm/helpers/quoteQualifiedIdentifier.d.ts +18 -0
- package/esm/helpers/quoteQualifiedIdentifier.d.ts.map +1 -0
- package/esm/helpers/quoteQualifiedIdentifier.js +20 -0
- package/esm/helpers/readDbMetadata.d.ts +5 -0
- package/esm/helpers/readDbMetadata.d.ts.map +1 -0
- package/esm/helpers/readDbMetadata.js +55 -0
- package/esm/helpers/removeColumnsNow.d.ts +8 -0
- package/esm/helpers/removeColumnsNow.d.ts.map +1 -0
- package/esm/helpers/removeColumnsNow.js +15 -0
- package/esm/helpers/resolveOutputTable.d.ts +9 -0
- package/esm/helpers/resolveOutputTable.d.ts.map +1 -0
- package/esm/helpers/resolveOutputTable.js +14 -0
- package/esm/helpers/runQuery.d.ts +11 -8
- package/esm/helpers/runQuery.d.ts.map +1 -1
- package/esm/helpers/runQuery.js +118 -15
- package/esm/helpers/serializeCacheInputs.d.ts +8 -0
- package/esm/helpers/serializeCacheInputs.d.ts.map +1 -0
- package/esm/helpers/serializeCacheInputs.js +113 -0
- package/esm/helpers/setDbProps.d.ts +4 -1
- package/esm/helpers/setDbProps.d.ts.map +1 -1
- package/esm/helpers/setDbProps.js +17 -15
- package/esm/helpers/statCanCache.d.ts +6 -0
- package/esm/helpers/statCanCache.d.ts.map +1 -0
- package/esm/helpers/statCanCache.js +38 -0
- package/esm/helpers/stringToArray.d.ts +14 -0
- package/esm/helpers/stringToArray.d.ts.map +1 -1
- package/esm/helpers/stringToArray.js +15 -1
- package/esm/helpers/tableGeneration.d.ts +18 -0
- package/esm/helpers/tableGeneration.d.ts.map +1 -0
- package/esm/helpers/tableGeneration.js +29 -0
- package/esm/helpers/tableRegistry.d.ts +9 -0
- package/esm/helpers/tableRegistry.d.ts.map +1 -0
- package/esm/helpers/tableRegistry.js +46 -0
- package/esm/helpers/toDuckDBValue.d.ts +4 -0
- package/esm/helpers/toDuckDBValue.d.ts.map +1 -0
- package/esm/helpers/toDuckDBValue.js +15 -0
- package/esm/helpers/unifyColumns.d.ts +5 -0
- package/esm/helpers/unifyColumns.d.ts.map +1 -1
- package/esm/helpers/unifyColumns.js +20 -4
- package/esm/helpers/validateNumericalAnalysis.d.ts +25 -0
- package/esm/helpers/validateNumericalAnalysis.d.ts.map +1 -0
- package/esm/helpers/validateNumericalAnalysis.js +49 -0
- package/esm/helpers/writeDbMetadata.d.ts +4 -0
- package/esm/helpers/writeDbMetadata.d.ts.map +1 -0
- package/esm/helpers/writeDbMetadata.js +9 -0
- package/esm/helpers/writeGeoData.d.ts.map +1 -1
- package/esm/helpers/writeGeoData.js +128 -41
- package/esm/helpers/writeZip.d.ts +15 -0
- package/esm/helpers/writeZip.d.ts.map +1 -0
- package/esm/helpers/writeZip.js +257 -0
- package/esm/index.d.ts +8 -4
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +8 -4
- package/esm/methods/accumulate.d.ts +5 -0
- package/esm/methods/accumulate.d.ts.map +1 -0
- package/esm/methods/accumulate.js +37 -0
- package/esm/methods/addBoundingBox.d.ts +6 -0
- package/esm/methods/addBoundingBox.d.ts.map +1 -0
- package/esm/methods/addBoundingBox.js +26 -0
- package/esm/methods/addColumn.d.ts +3 -0
- package/esm/methods/addColumn.d.ts.map +1 -0
- package/esm/methods/addColumn.js +24 -0
- package/esm/methods/addGeoClosedStatus.d.ts +5 -0
- package/esm/methods/addGeoClosedStatus.d.ts.map +1 -0
- package/esm/methods/addGeoClosedStatus.js +21 -0
- package/esm/methods/addGeoType.d.ts +5 -0
- package/esm/methods/addGeoType.d.ts.map +1 -0
- package/esm/methods/addGeoType.js +21 -0
- package/esm/methods/addGeoValidity.d.ts +5 -0
- package/esm/methods/addGeoValidity.d.ts.map +1 -0
- package/esm/methods/addGeoValidity.js +21 -0
- package/esm/methods/addRowNumber.d.ts +5 -0
- package/esm/methods/addRowNumber.d.ts.map +1 -0
- package/esm/methods/addRowNumber.js +26 -0
- package/esm/methods/addSummaryRows.d.ts +14 -0
- package/esm/methods/addSummaryRows.d.ts.map +1 -0
- package/esm/methods/addSummaryRows.js +122 -0
- package/esm/methods/addVertexCount.d.ts +5 -0
- package/esm/methods/addVertexCount.d.ts.map +1 -0
- package/esm/methods/addVertexCount.js +21 -0
- package/esm/methods/aggregateGeo.d.ts +7 -0
- package/esm/methods/aggregateGeo.d.ts.map +1 -0
- package/esm/methods/aggregateGeo.js +69 -0
- package/esm/methods/area.d.ts +7 -0
- package/esm/methods/area.d.ts.map +1 -0
- package/esm/methods/area.js +25 -0
- package/esm/methods/bins.d.ts +5 -0
- package/esm/methods/bins.d.ts.map +1 -0
- package/esm/methods/bins.js +87 -0
- package/esm/methods/bm25.d.ts +2 -2
- package/esm/methods/bm25.d.ts.map +1 -1
- package/esm/methods/bm25.js +28 -13
- package/esm/methods/buffer.d.ts +5 -0
- package/esm/methods/buffer.d.ts.map +1 -0
- package/esm/methods/buffer.js +24 -0
- package/esm/methods/cache.d.ts +2 -1
- package/esm/methods/cache.d.ts.map +1 -1
- package/esm/methods/cache.js +228 -71
- package/esm/methods/capitalize.d.ts +3 -0
- package/esm/methods/capitalize.d.ts.map +1 -0
- package/esm/methods/capitalize.js +15 -0
- package/esm/methods/centroid.d.ts +5 -0
- package/esm/methods/centroid.d.ts.map +1 -0
- package/esm/methods/centroid.js +24 -0
- package/esm/methods/clone.d.ts +9 -0
- package/esm/methods/clone.d.ts.map +1 -0
- package/esm/methods/clone.js +35 -0
- package/esm/methods/cloneColumn.d.ts +2 -3
- package/esm/methods/cloneColumn.d.ts.map +1 -1
- package/esm/methods/cloneColumn.js +17 -12
- package/esm/methods/cloneColumnWithOffset.d.ts +6 -0
- package/esm/methods/cloneColumnWithOffset.d.ts.map +1 -0
- package/esm/methods/cloneColumnWithOffset.js +35 -0
- package/esm/methods/columnProportions.d.ts +6 -0
- package/esm/methods/columnProportions.d.ts.map +1 -0
- package/esm/methods/columnProportions.js +23 -0
- package/esm/methods/concatenate.d.ts +5 -0
- package/esm/methods/concatenate.d.ts.map +1 -0
- package/esm/methods/concatenate.js +25 -0
- package/esm/methods/convert.d.ts +13 -0
- package/esm/methods/convert.d.ts.map +1 -0
- package/esm/methods/convert.js +112 -0
- package/esm/methods/correlations.d.ts +3 -3
- package/esm/methods/correlations.d.ts.map +1 -1
- package/esm/methods/correlations.js +70 -24
- package/esm/methods/coveredBy.d.ts +3 -0
- package/esm/methods/coveredBy.d.ts.map +1 -0
- package/esm/methods/coveredBy.js +16 -0
- package/esm/methods/createFtsIndex.d.ts +15 -2
- package/esm/methods/createFtsIndex.d.ts.map +1 -1
- package/esm/methods/createFtsIndex.js +52 -13
- package/esm/methods/createPoints.d.ts +5 -0
- package/esm/methods/createPoints.d.ts.map +1 -0
- package/esm/methods/createPoints.js +23 -0
- package/esm/methods/createVssIndex.d.ts +1 -1
- package/esm/methods/createVssIndex.d.ts.map +1 -1
- package/esm/methods/createVssIndex.js +34 -13
- package/esm/methods/crossJoin.d.ts +5 -0
- package/esm/methods/crossJoin.d.ts.map +1 -0
- package/esm/methods/crossJoin.js +35 -0
- package/esm/methods/difference.d.ts +3 -0
- package/esm/methods/difference.d.ts.map +1 -0
- package/esm/methods/difference.js +19 -0
- package/esm/methods/distance.d.ts +7 -0
- package/esm/methods/distance.d.ts.map +1 -0
- package/esm/methods/distance.js +48 -0
- package/esm/methods/extractDatePart.d.ts +7 -0
- package/esm/methods/extractDatePart.d.ts.map +1 -0
- package/esm/methods/extractDatePart.js +38 -0
- package/esm/methods/extractLatLon.d.ts +3 -0
- package/esm/methods/extractLatLon.d.ts.map +1 -0
- package/esm/methods/extractLatLon.js +16 -0
- package/esm/methods/fill.d.ts +2 -2
- package/esm/methods/fill.d.ts.map +1 -1
- package/esm/methods/fill.js +41 -44
- package/esm/methods/fillHoles.d.ts +3 -0
- package/esm/methods/fillHoles.d.ts.map +1 -0
- package/esm/methods/fillHoles.js +19 -0
- package/esm/methods/filter.d.ts +3 -0
- package/esm/methods/filter.d.ts.map +1 -0
- package/esm/methods/filter.js +14 -0
- package/esm/methods/firstChars.d.ts +3 -0
- package/esm/methods/firstChars.d.ts.map +1 -0
- package/esm/methods/firstChars.js +11 -0
- package/esm/methods/fixGeo.d.ts +3 -0
- package/esm/methods/fixGeo.d.ts.map +1 -0
- package/esm/methods/fixGeo.js +22 -0
- package/esm/methods/flipCoordinates.d.ts +3 -0
- package/esm/methods/flipCoordinates.d.ts.map +1 -0
- package/esm/methods/flipCoordinates.js +22 -0
- package/esm/methods/fuzzyClean.d.ts +3 -3
- package/esm/methods/fuzzyClean.d.ts.map +1 -1
- package/esm/methods/fuzzyClean.js +55 -55
- package/esm/methods/fuzzyJoin.d.ts +2 -2
- package/esm/methods/fuzzyJoin.d.ts.map +1 -1
- package/esm/methods/fuzzyJoin.js +60 -19
- package/esm/methods/getBottom.d.ts +1 -1
- package/esm/methods/getBottom.d.ts.map +1 -1
- package/esm/methods/getBottom.js +4 -3
- package/esm/methods/getBoundingBox.d.ts +3 -0
- package/esm/methods/getBoundingBox.d.ts.map +1 -0
- package/esm/methods/getBoundingBox.js +19 -0
- package/esm/methods/getCharacterCount.d.ts +3 -0
- package/esm/methods/getCharacterCount.d.ts.map +1 -0
- package/esm/methods/getCharacterCount.js +17 -0
- package/esm/methods/getColumns.d.ts.map +1 -1
- package/esm/methods/getColumns.js +4 -3
- package/esm/methods/getData.d.ts +9 -0
- package/esm/methods/getData.d.ts.map +1 -0
- package/esm/methods/getData.js +23 -0
- package/esm/methods/getDescription.d.ts.map +1 -1
- package/esm/methods/getDescription.js +15 -10
- package/esm/methods/getFirstRow.d.ts +1 -1
- package/esm/methods/getFirstRow.d.ts.map +1 -1
- package/esm/methods/getFirstRow.js +5 -4
- package/esm/methods/getGeoData.d.ts +1 -1
- package/esm/methods/getGeoData.d.ts.map +1 -1
- package/esm/methods/getGeoData.js +5 -3
- package/esm/methods/getHash.d.ts +3 -0
- package/esm/methods/getHash.d.ts.map +1 -0
- package/esm/methods/getHash.js +39 -0
- package/esm/methods/getLastRow.d.ts +2 -2
- package/esm/methods/getLastRow.d.ts.map +1 -1
- package/esm/methods/getLastRow.js +7 -3
- package/esm/methods/getMax.d.ts +1 -1
- package/esm/methods/getMax.d.ts.map +1 -1
- package/esm/methods/getMax.js +10 -10
- package/esm/methods/getMean.d.ts.map +1 -1
- package/esm/methods/getMean.js +7 -4
- package/esm/methods/getMedian.d.ts.map +1 -1
- package/esm/methods/getMedian.js +7 -4
- package/esm/methods/getMin.d.ts +1 -1
- package/esm/methods/getMin.d.ts.map +1 -1
- package/esm/methods/getMin.js +10 -10
- package/esm/methods/getQuantile.d.ts.map +1 -1
- package/esm/methods/getQuantile.js +7 -4
- package/esm/methods/getRowCount.d.ts +5 -0
- package/esm/methods/getRowCount.d.ts.map +1 -0
- package/esm/methods/getRowCount.js +16 -0
- package/esm/methods/getSchema.d.ts +5 -0
- package/esm/methods/getSchema.d.ts.map +1 -0
- package/esm/methods/getSchema.js +12 -0
- package/esm/methods/getSkew.d.ts.map +1 -1
- package/esm/methods/getSkew.js +7 -4
- package/esm/methods/getStdDev.d.ts.map +1 -1
- package/esm/methods/getStdDev.js +7 -4
- package/esm/methods/getSum.d.ts.map +1 -1
- package/esm/methods/getSum.js +6 -3
- package/esm/methods/getTableNames.js +2 -2
- package/esm/methods/getTop.d.ts +1 -1
- package/esm/methods/getTop.d.ts.map +1 -1
- package/esm/methods/getTop.js +3 -2
- package/esm/methods/getTypes.d.ts.map +1 -1
- package/esm/methods/getTypes.js +3 -2
- package/esm/methods/getUniques.d.ts +1 -1
- package/esm/methods/getUniques.d.ts.map +1 -1
- package/esm/methods/getUniques.js +6 -3
- package/esm/methods/getValues.d.ts +1 -1
- package/esm/methods/getValues.d.ts.map +1 -1
- package/esm/methods/getValues.js +5 -3
- package/esm/methods/getVariance.d.ts +5 -0
- package/esm/methods/getVariance.d.ts.map +1 -0
- package/esm/methods/getVariance.js +20 -0
- package/esm/methods/indexValues.d.ts +27 -0
- package/esm/methods/indexValues.d.ts.map +1 -0
- package/esm/methods/indexValues.js +281 -0
- package/esm/methods/insertRows.d.ts +5 -0
- package/esm/methods/insertRows.d.ts.map +1 -0
- package/esm/methods/insertRows.js +41 -0
- package/esm/methods/insertTables.d.ts +5 -0
- package/esm/methods/insertTables.d.ts.map +1 -0
- package/esm/methods/insertTables.js +99 -0
- package/esm/methods/intersection.d.ts +3 -0
- package/esm/methods/intersection.d.ts.map +1 -0
- package/esm/methods/intersection.js +19 -0
- package/esm/methods/intersects.d.ts +3 -0
- package/esm/methods/intersects.d.ts.map +1 -0
- package/esm/methods/intersects.js +16 -0
- package/esm/methods/join.d.ts +2 -2
- package/esm/methods/join.d.ts.map +1 -1
- package/esm/methods/join.js +77 -28
- package/esm/methods/joinGeo.d.ts +6 -4
- package/esm/methods/joinGeo.d.ts.map +1 -1
- package/esm/methods/joinGeo.js +127 -44
- package/esm/methods/keepValues.d.ts +5 -0
- package/esm/methods/keepValues.d.ts.map +1 -0
- package/esm/methods/keepValues.js +35 -0
- package/esm/methods/lastChars.d.ts +3 -0
- package/esm/methods/lastChars.d.ts.map +1 -0
- package/esm/methods/lastChars.js +11 -0
- package/esm/methods/length.d.ts +7 -0
- package/esm/methods/length.d.ts.map +1 -0
- package/esm/methods/length.js +25 -0
- package/esm/methods/linearRegressions.d.ts +3 -3
- package/esm/methods/linearRegressions.d.ts.map +1 -1
- package/esm/methods/linearRegressions.js +78 -24
- package/esm/methods/linesToPolygons.d.ts +3 -0
- package/esm/methods/linesToPolygons.d.ts.map +1 -0
- package/esm/methods/linesToPolygons.js +17 -0
- package/esm/methods/loadArray.d.ts +14 -2
- package/esm/methods/loadArray.d.ts.map +1 -1
- package/esm/methods/loadArray.js +52 -32
- package/esm/methods/loadDB.d.ts +3 -0
- package/esm/methods/loadDB.d.ts.map +1 -0
- package/esm/methods/loadDB.js +70 -0
- package/esm/methods/loadData.d.ts +52 -0
- package/esm/methods/loadData.d.ts.map +1 -0
- package/esm/methods/loadData.js +148 -0
- package/esm/methods/loadGeoData.d.ts +9 -0
- package/esm/methods/loadGeoData.d.ts.map +1 -0
- package/esm/methods/loadGeoData.js +104 -0
- package/esm/methods/loadOSM.d.ts +17 -0
- package/esm/methods/loadOSM.d.ts.map +1 -0
- package/esm/methods/loadOSM.js +194 -0
- package/esm/methods/loadSample.d.ts +1 -1
- package/esm/methods/loadSample.d.ts.map +1 -1
- package/esm/methods/loadSample.js +5 -4
- package/esm/methods/loadStatCanData.d.ts +10 -0
- package/esm/methods/loadStatCanData.d.ts.map +1 -0
- package/esm/methods/loadStatCanData.js +130 -0
- package/esm/methods/longer.d.ts +3 -0
- package/esm/methods/longer.d.ts.map +1 -0
- package/esm/methods/longer.js +23 -0
- package/esm/methods/lower.d.ts +3 -0
- package/esm/methods/lower.d.ts.map +1 -0
- package/esm/methods/lower.js +14 -0
- package/esm/methods/nest.d.ts +3 -0
- package/esm/methods/nest.d.ts.map +1 -0
- package/esm/methods/nest.js +23 -0
- package/esm/methods/normalize.d.ts +7 -0
- package/esm/methods/normalize.d.ts.map +1 -0
- package/esm/methods/normalize.js +41 -0
- package/esm/methods/normalizeString.d.ts +1 -1
- package/esm/methods/normalizeString.d.ts.map +1 -1
- package/esm/methods/normalizeString.js +15 -18
- package/esm/methods/outliersIQR.d.ts +5 -0
- package/esm/methods/outliersIQR.d.ts.map +1 -0
- package/esm/methods/outliersIQR.js +37 -0
- package/esm/methods/pad.d.ts +6 -0
- package/esm/methods/pad.d.ts.map +1 -0
- package/esm/methods/pad.js +55 -0
- package/esm/methods/perimeter.d.ts +7 -0
- package/esm/methods/perimeter.d.ts.map +1 -0
- package/esm/methods/perimeter.js +25 -0
- package/esm/methods/quantiles.d.ts +5 -0
- package/esm/methods/quantiles.d.ts.map +1 -0
- package/esm/methods/quantiles.js +22 -0
- package/esm/methods/randomPoint.d.ts +6 -0
- package/esm/methods/randomPoint.d.ts.map +1 -0
- package/esm/methods/randomPoint.js +105 -0
- package/esm/methods/ranks.d.ts +7 -0
- package/esm/methods/ranks.d.ts.map +1 -0
- package/esm/methods/ranks.js +22 -0
- package/esm/methods/reducePrecision.d.ts +5 -0
- package/esm/methods/reducePrecision.d.ts.map +1 -0
- package/esm/methods/reducePrecision.js +24 -0
- package/esm/methods/removeColumns.d.ts +3 -0
- package/esm/methods/removeColumns.d.ts.map +1 -0
- package/esm/methods/removeColumns.js +13 -0
- package/esm/methods/removeDuplicates.d.ts +5 -0
- package/esm/methods/removeDuplicates.d.ts.map +1 -0
- package/esm/methods/removeDuplicates.js +17 -0
- package/esm/methods/removeMissing.d.ts +1 -1
- package/esm/methods/removeMissing.d.ts.map +1 -1
- package/esm/methods/removeMissing.js +70 -11
- package/esm/methods/removeRows.d.ts +3 -0
- package/esm/methods/removeRows.d.ts.map +1 -0
- package/esm/methods/removeRows.js +14 -0
- package/esm/methods/removeTable.d.ts +3 -0
- package/esm/methods/removeTable.d.ts.map +1 -0
- package/esm/methods/removeTable.js +12 -0
- package/esm/methods/removeTables.d.ts +4 -0
- package/esm/methods/removeTables.d.ts.map +1 -0
- package/esm/methods/removeTables.js +21 -0
- package/esm/methods/removeValues.d.ts +5 -0
- package/esm/methods/removeValues.d.ts.map +1 -0
- package/esm/methods/removeValues.js +35 -0
- package/esm/methods/renameColumns.d.ts +7 -0
- package/esm/methods/renameColumns.d.ts.map +1 -0
- package/esm/methods/renameColumns.js +27 -0
- package/esm/methods/renameTable.d.ts +3 -0
- package/esm/methods/renameTable.d.ts.map +1 -0
- package/esm/methods/renameTable.js +12 -0
- package/esm/methods/repeatRows.d.ts +5 -0
- package/esm/methods/repeatRows.d.ts.map +1 -0
- package/esm/methods/repeatRows.js +19 -0
- package/esm/methods/replace.d.ts +8 -0
- package/esm/methods/replace.d.ts.map +1 -0
- package/esm/methods/replace.js +69 -0
- package/esm/methods/replaceNulls.d.ts +3 -0
- package/esm/methods/replaceNulls.d.ts.map +1 -0
- package/esm/methods/replaceNulls.js +36 -0
- package/esm/methods/reproject.d.ts +5 -0
- package/esm/methods/reproject.d.ts.map +1 -0
- package/esm/methods/reproject.js +21 -0
- package/esm/methods/rolling.d.ts +6 -0
- package/esm/methods/rolling.d.ts.map +1 -0
- package/esm/methods/rolling.js +42 -0
- package/esm/methods/round.d.ts +6 -0
- package/esm/methods/round.d.ts.map +1 -0
- package/esm/methods/round.js +22 -0
- package/esm/methods/rowProportions.d.ts +6 -0
- package/esm/methods/rowProportions.d.ts.map +1 -0
- package/esm/methods/rowProportions.js +30 -0
- package/esm/methods/rowRanks.d.ts +9 -0
- package/esm/methods/rowRanks.d.ts.map +1 -0
- package/esm/methods/rowRanks.js +113 -0
- package/esm/methods/rowToText.d.ts +3 -0
- package/esm/methods/rowToText.d.ts.map +1 -0
- package/esm/methods/rowToText.js +27 -0
- package/esm/methods/sample.d.ts +5 -0
- package/esm/methods/sample.d.ts.map +1 -0
- package/esm/methods/sample.js +16 -0
- package/esm/methods/selectColumns.d.ts +3 -0
- package/esm/methods/selectColumns.d.ts.map +1 -0
- package/esm/methods/selectColumns.js +19 -0
- package/esm/methods/selectRows.d.ts +6 -0
- package/esm/methods/selectRows.d.ts.map +1 -0
- package/esm/methods/selectRows.js +34 -0
- package/esm/methods/selectTables.d.ts +4 -0
- package/esm/methods/selectTables.d.ts.map +1 -0
- package/esm/methods/selectTables.js +25 -0
- package/esm/methods/setTypes.d.ts +5 -0
- package/esm/methods/setTypes.d.ts.map +1 -0
- package/esm/methods/setTypes.js +30 -0
- package/esm/methods/simplify.d.ts +6 -0
- package/esm/methods/simplify.d.ts.map +1 -0
- package/esm/methods/simplify.js +38 -0
- package/esm/methods/skip.d.ts +3 -0
- package/esm/methods/skip.d.ts.map +1 -0
- package/esm/methods/skip.js +11 -0
- package/esm/methods/sort.d.ts +9 -0
- package/esm/methods/sort.d.ts.map +1 -0
- package/esm/methods/sort.js +35 -0
- package/esm/methods/splitExtract.d.ts +3 -0
- package/esm/methods/splitExtract.d.ts.map +1 -0
- package/esm/methods/splitExtract.js +21 -0
- package/esm/methods/splitSpread.d.ts +2 -2
- package/esm/methods/splitSpread.d.ts.map +1 -1
- package/esm/methods/splitSpread.js +58 -35
- package/esm/methods/stream.d.ts +8 -0
- package/esm/methods/stream.d.ts.map +1 -0
- package/esm/methods/stream.js +59 -0
- package/esm/methods/summarize.d.ts +10 -8
- package/esm/methods/summarize.d.ts.map +1 -1
- package/esm/methods/summarize.js +135 -48
- package/esm/methods/trim.d.ts +6 -0
- package/esm/methods/trim.d.ts.map +1 -0
- package/esm/methods/trim.js +30 -0
- package/esm/methods/truncate.d.ts +3 -0
- package/esm/methods/truncate.d.ts.map +1 -0
- package/esm/methods/truncate.js +11 -0
- package/esm/methods/union.d.ts +3 -0
- package/esm/methods/union.d.ts.map +1 -0
- package/esm/methods/union.js +19 -0
- package/esm/methods/unnest.d.ts +3 -0
- package/esm/methods/unnest.d.ts.map +1 -0
- package/esm/methods/unnest.js +15 -0
- package/esm/methods/unnestGeo.d.ts +3 -0
- package/esm/methods/unnestGeo.d.ts.map +1 -0
- package/esm/methods/unnestGeo.js +18 -0
- package/esm/methods/updateColumn.d.ts +3 -0
- package/esm/methods/updateColumn.d.ts.map +1 -0
- package/esm/methods/updateColumn.js +15 -0
- package/esm/methods/updateWithJS.d.ts +11 -0
- package/esm/methods/updateWithJS.d.ts.map +1 -0
- package/esm/methods/updateWithJS.js +95 -0
- package/esm/methods/upper.d.ts +3 -0
- package/esm/methods/upper.d.ts.map +1 -0
- package/esm/methods/upper.js +14 -0
- package/esm/methods/wider.d.ts +5 -0
- package/esm/methods/wider.d.ts.map +1 -0
- package/esm/methods/wider.js +23 -0
- package/esm/methods/writeDB.d.ts +6 -0
- package/esm/methods/writeDB.d.ts.map +1 -0
- package/esm/methods/writeDB.js +99 -0
- package/esm/methods/writeData.d.ts +7 -0
- package/esm/methods/writeData.d.ts.map +1 -0
- package/esm/methods/writeData.js +80 -0
- package/esm/methods/zScore.d.ts +6 -0
- package/esm/methods/zScore.d.ts.map +1 -0
- package/esm/methods/zScore.js +29 -0
- package/llm.md +7925 -0
- package/llms.txt +19 -0
- package/package.json +18 -3
- package/script/_dnt.polyfills.d.ts +7 -0
- package/script/_dnt.polyfills.d.ts.map +1 -0
- package/script/_dnt.polyfills.js +2 -0
- package/script/class/SDAError.d.ts +63 -0
- package/script/class/SDAError.d.ts.map +1 -0
- package/script/class/SDAError.js +86 -0
- package/script/class/Simple.d.ts +40 -22
- package/script/class/Simple.d.ts.map +1 -1
- package/script/class/Simple.js +33 -20
- package/script/class/SimpleDB.d.ts +247 -103
- package/script/class/SimpleDB.d.ts.map +1 -1
- package/script/class/SimpleDB.js +514 -297
- package/script/class/SimpleTable.d.ts +1804 -940
- package/script/class/SimpleTable.d.ts.map +1 -1
- package/script/class/SimpleTable.js +1943 -1823
- package/script/helpers/assertColumnsExist.d.ts +16 -0
- package/script/helpers/assertColumnsExist.d.ts.map +1 -0
- package/script/helpers/assertColumnsExist.js +27 -0
- package/script/helpers/assertNewColumns.d.ts +17 -0
- package/script/helpers/assertNewColumns.d.ts.map +1 -0
- package/script/helpers/assertNewColumns.js +28 -0
- package/script/helpers/assertSameDatabase.d.ts +11 -0
- package/script/helpers/assertSameDatabase.d.ts.map +1 -0
- package/script/helpers/assertSameDatabase.js +16 -0
- package/script/helpers/asyncOperationContext.d.ts +19 -0
- package/script/helpers/asyncOperationContext.d.ts.map +1 -0
- package/script/helpers/asyncOperationContext.js +45 -0
- package/script/helpers/buildFuzzyMatchSql.d.ts +9 -0
- package/script/helpers/buildFuzzyMatchSql.d.ts.map +1 -0
- package/script/helpers/buildFuzzyMatchSql.js +20 -0
- package/script/helpers/cacheDatabase.d.ts +5 -0
- package/script/helpers/cacheDatabase.d.ts.map +1 -0
- package/script/helpers/cacheDatabase.js +117 -0
- package/script/helpers/cacheDiagnostics.d.ts +4 -0
- package/script/helpers/cacheDiagnostics.d.ts.map +1 -0
- package/script/helpers/cacheDiagnostics.js +29 -0
- package/script/helpers/cacheTableDependencies.d.ts +19 -0
- package/script/helpers/cacheTableDependencies.d.ts.map +1 -0
- package/script/helpers/cacheTableDependencies.js +125 -0
- package/script/helpers/cleanCache.js +1 -1
- package/script/helpers/createDirectory.d.ts +13 -0
- package/script/helpers/createDirectory.d.ts.map +1 -1
- package/script/helpers/createDirectory.js +13 -0
- package/script/helpers/ensureSpatial.d.ts +7 -0
- package/script/helpers/ensureSpatial.d.ts.map +1 -0
- package/script/helpers/ensureSpatial.js +23 -0
- package/script/helpers/extractTypes.d.ts +1 -1
- package/script/helpers/extractTypes.d.ts.map +1 -1
- package/script/helpers/extractZipEntryToFile.d.ts +3 -0
- package/script/helpers/extractZipEntryToFile.d.ts.map +1 -0
- package/script/helpers/extractZipEntryToFile.js +229 -0
- package/script/helpers/fileCache.d.ts +15 -0
- package/script/helpers/fileCache.d.ts.map +1 -0
- package/script/helpers/fileCache.js +135 -0
- package/script/helpers/findGeoColumn.d.ts +13 -1
- package/script/helpers/findGeoColumn.d.ts.map +1 -1
- package/script/helpers/findGeoColumn.js +18 -17
- package/script/helpers/findGeoColumnFromSchema.d.ts +20 -0
- package/script/helpers/findGeoColumnFromSchema.d.ts.map +1 -0
- package/script/helpers/findGeoColumnFromSchema.js +34 -0
- package/script/helpers/flushAllTables.d.ts +23 -0
- package/script/helpers/flushAllTables.d.ts.map +1 -0
- package/script/helpers/flushAllTables.js +418 -0
- package/script/helpers/formatMissingTables.d.ts +19 -0
- package/script/helpers/formatMissingTables.d.ts.map +1 -0
- package/script/helpers/formatMissingTables.js +35 -0
- package/script/helpers/getCurrentDatabase.d.ts +3 -0
- package/script/helpers/getCurrentDatabase.d.ts.map +1 -0
- package/script/helpers/getCurrentDatabase.js +13 -0
- package/script/helpers/getDbFileType.d.ts +2 -0
- package/script/helpers/getDbFileType.d.ts.map +1 -0
- package/script/helpers/getDbFileType.js +12 -0
- package/script/helpers/getDbIndexes.d.ts +4 -0
- package/script/helpers/getDbIndexes.d.ts.map +1 -0
- package/script/helpers/getDbIndexes.js +7 -0
- package/script/helpers/getStatExpression.d.ts +10 -0
- package/script/helpers/getStatExpression.d.ts.map +1 -0
- package/script/helpers/getStatExpression.js +80 -0
- package/script/helpers/index.d.ts +3 -0
- package/script/helpers/index.d.ts.map +1 -1
- package/script/helpers/index.js +10 -5
- package/script/helpers/indexDefinitions.d.ts +30 -0
- package/script/helpers/indexDefinitions.d.ts.map +1 -0
- package/script/helpers/indexDefinitions.js +10 -0
- package/script/helpers/indexQueries.d.ts +3 -0
- package/script/helpers/indexQueries.d.ts.map +1 -0
- package/script/helpers/indexQueries.js +42 -0
- package/script/helpers/keepNumericalColumns.d.ts.map +1 -1
- package/script/helpers/keepNumericalColumns.js +4 -5
- package/script/helpers/loadOsmFile.d.ts +10 -0
- package/script/helpers/loadOsmFile.d.ts.map +1 -0
- package/script/helpers/loadOsmFile.js +34 -0
- package/script/helpers/logData.d.ts +2 -2
- package/script/helpers/logData.d.ts.map +1 -1
- package/script/helpers/logData.js +6 -6
- package/script/helpers/mergeOptions.d.ts +47 -15
- package/script/helpers/mergeOptions.d.ts.map +1 -1
- package/script/helpers/mergeOptions.js +35 -5
- package/script/helpers/observeQuery.d.ts +9 -0
- package/script/helpers/observeQuery.d.ts.map +1 -0
- package/script/helpers/observeQuery.js +52 -0
- package/script/helpers/osmCache.d.ts +16 -0
- package/script/helpers/osmCache.d.ts.map +1 -0
- package/script/helpers/osmCache.js +81 -0
- package/script/helpers/osmFiles.d.ts +9 -0
- package/script/helpers/osmFiles.d.ts.map +1 -0
- package/script/helpers/osmFiles.js +60 -0
- package/script/helpers/parseDuckDBType.d.ts +1 -1
- package/script/helpers/parseValue.d.ts +16 -0
- package/script/helpers/parseValue.d.ts.map +1 -1
- package/script/helpers/parseValue.js +17 -1
- package/script/helpers/pendingOps.d.ts +151 -0
- package/script/helpers/pendingOps.d.ts.map +1 -0
- package/script/helpers/pendingOps.js +2 -0
- package/script/helpers/prepareDbExtensions.d.ts +4 -0
- package/script/helpers/prepareDbExtensions.d.ts.map +1 -0
- package/script/helpers/prepareDbExtensions.js +28 -0
- package/script/helpers/prepareValueFilters.d.ts +11 -0
- package/script/helpers/prepareValueFilters.d.ts.map +1 -0
- package/script/helpers/prepareValueFilters.js +18 -0
- package/script/helpers/queryDB.d.ts +43 -8
- package/script/helpers/queryDB.d.ts.map +1 -1
- package/script/helpers/queryDB.js +55 -36
- package/script/helpers/queryDbFile.d.ts +8 -0
- package/script/helpers/queryDbFile.d.ts.map +1 -0
- package/script/helpers/queryDbFile.js +18 -0
- package/script/helpers/queueAsyncBarrier.d.ts +47 -0
- package/script/helpers/queueAsyncBarrier.d.ts.map +1 -0
- package/script/helpers/queueAsyncBarrier.js +51 -0
- package/script/helpers/queueOp.d.ts +18 -0
- package/script/helpers/queueOp.d.ts.map +1 -0
- package/script/helpers/queueOp.js +74 -0
- package/script/helpers/quoteIdentifier.d.ts +16 -0
- package/script/helpers/quoteIdentifier.d.ts.map +1 -0
- package/script/helpers/quoteIdentifier.js +20 -0
- package/script/helpers/quoteQualifiedIdentifier.d.ts +18 -0
- package/script/helpers/quoteQualifiedIdentifier.d.ts.map +1 -0
- package/script/helpers/quoteQualifiedIdentifier.js +26 -0
- package/script/helpers/readDbMetadata.d.ts +5 -0
- package/script/helpers/readDbMetadata.d.ts.map +1 -0
- package/script/helpers/readDbMetadata.js +61 -0
- package/script/helpers/removeColumnsNow.d.ts +8 -0
- package/script/helpers/removeColumnsNow.d.ts.map +1 -0
- package/script/helpers/removeColumnsNow.js +21 -0
- package/script/helpers/resolveOutputTable.d.ts +9 -0
- package/script/helpers/resolveOutputTable.d.ts.map +1 -0
- package/script/helpers/resolveOutputTable.js +17 -0
- package/script/helpers/runQuery.d.ts +11 -8
- package/script/helpers/runQuery.d.ts.map +1 -1
- package/script/helpers/runQuery.js +119 -15
- package/script/helpers/serializeCacheInputs.d.ts +8 -0
- package/script/helpers/serializeCacheInputs.d.ts.map +1 -0
- package/script/helpers/serializeCacheInputs.js +120 -0
- package/script/helpers/setDbProps.d.ts +4 -1
- package/script/helpers/setDbProps.d.ts.map +1 -1
- package/script/helpers/setDbProps.js +17 -15
- package/script/helpers/statCanCache.d.ts +6 -0
- package/script/helpers/statCanCache.d.ts.map +1 -0
- package/script/helpers/statCanCache.js +78 -0
- package/script/helpers/stringToArray.d.ts +14 -0
- package/script/helpers/stringToArray.d.ts.map +1 -1
- package/script/helpers/stringToArray.js +15 -1
- package/script/helpers/tableGeneration.d.ts +18 -0
- package/script/helpers/tableGeneration.d.ts.map +1 -0
- package/script/helpers/tableGeneration.js +39 -0
- package/script/helpers/tableRegistry.d.ts +9 -0
- package/script/helpers/tableRegistry.d.ts.map +1 -0
- package/script/helpers/tableRegistry.js +54 -0
- package/script/helpers/toDuckDBValue.d.ts +4 -0
- package/script/helpers/toDuckDBValue.d.ts.map +1 -0
- package/script/helpers/toDuckDBValue.js +18 -0
- package/script/helpers/unifyColumns.d.ts +5 -0
- package/script/helpers/unifyColumns.d.ts.map +1 -1
- package/script/helpers/unifyColumns.js +23 -4
- package/script/helpers/validateNumericalAnalysis.d.ts +25 -0
- package/script/helpers/validateNumericalAnalysis.d.ts.map +1 -0
- package/script/helpers/validateNumericalAnalysis.js +55 -0
- package/script/helpers/writeDbMetadata.d.ts +4 -0
- package/script/helpers/writeDbMetadata.d.ts.map +1 -0
- package/script/helpers/writeDbMetadata.js +15 -0
- package/script/helpers/writeGeoData.d.ts.map +1 -1
- package/script/helpers/writeGeoData.js +127 -40
- package/script/helpers/writeZip.d.ts +15 -0
- package/script/helpers/writeZip.d.ts.map +1 -0
- package/script/helpers/writeZip.js +293 -0
- package/script/index.d.ts +8 -4
- package/script/index.d.ts.map +1 -1
- package/script/index.js +14 -9
- package/script/methods/accumulate.d.ts +5 -0
- package/script/methods/accumulate.d.ts.map +1 -0
- package/script/methods/accumulate.js +43 -0
- package/script/methods/addBoundingBox.d.ts +6 -0
- package/script/methods/addBoundingBox.d.ts.map +1 -0
- package/script/methods/addBoundingBox.js +32 -0
- package/script/methods/addColumn.d.ts +3 -0
- package/script/methods/addColumn.d.ts.map +1 -0
- package/script/methods/addColumn.js +30 -0
- package/script/methods/addGeoClosedStatus.d.ts +5 -0
- package/script/methods/addGeoClosedStatus.d.ts.map +1 -0
- package/script/methods/addGeoClosedStatus.js +27 -0
- package/script/methods/addGeoType.d.ts +5 -0
- package/script/methods/addGeoType.d.ts.map +1 -0
- package/script/methods/addGeoType.js +27 -0
- package/script/methods/addGeoValidity.d.ts +5 -0
- package/script/methods/addGeoValidity.d.ts.map +1 -0
- package/script/methods/addGeoValidity.js +27 -0
- package/script/methods/addRowNumber.d.ts +5 -0
- package/script/methods/addRowNumber.d.ts.map +1 -0
- package/script/methods/addRowNumber.js +32 -0
- package/script/methods/addSummaryRows.d.ts +14 -0
- package/script/methods/addSummaryRows.d.ts.map +1 -0
- package/script/methods/addSummaryRows.js +161 -0
- package/script/methods/addVertexCount.d.ts +5 -0
- package/script/methods/addVertexCount.d.ts.map +1 -0
- package/script/methods/addVertexCount.js +27 -0
- package/script/methods/aggregateGeo.d.ts +7 -0
- package/script/methods/aggregateGeo.d.ts.map +1 -0
- package/script/methods/aggregateGeo.js +75 -0
- package/script/methods/area.d.ts +7 -0
- package/script/methods/area.d.ts.map +1 -0
- package/script/methods/area.js +31 -0
- package/script/methods/bins.d.ts +5 -0
- package/script/methods/bins.d.ts.map +1 -0
- package/script/methods/bins.js +93 -0
- package/script/methods/bm25.d.ts +2 -2
- package/script/methods/bm25.d.ts.map +1 -1
- package/script/methods/bm25.js +28 -13
- package/script/methods/buffer.d.ts +5 -0
- package/script/methods/buffer.d.ts.map +1 -0
- package/script/methods/buffer.js +30 -0
- package/script/methods/cache.d.ts +2 -1
- package/script/methods/cache.d.ts.map +1 -1
- package/script/methods/cache.js +260 -70
- package/script/methods/capitalize.d.ts +3 -0
- package/script/methods/capitalize.d.ts.map +1 -0
- package/script/methods/capitalize.js +21 -0
- package/script/methods/centroid.d.ts +5 -0
- package/script/methods/centroid.d.ts.map +1 -0
- package/script/methods/centroid.js +30 -0
- package/script/methods/clone.d.ts +9 -0
- package/script/methods/clone.d.ts.map +1 -0
- package/script/methods/clone.js +41 -0
- package/script/methods/cloneColumn.d.ts +2 -3
- package/script/methods/cloneColumn.d.ts.map +1 -1
- package/script/methods/cloneColumn.js +21 -13
- package/script/methods/cloneColumnWithOffset.d.ts +6 -0
- package/script/methods/cloneColumnWithOffset.d.ts.map +1 -0
- package/script/methods/cloneColumnWithOffset.js +41 -0
- package/script/methods/columnProportions.d.ts +6 -0
- package/script/methods/columnProportions.d.ts.map +1 -0
- package/script/methods/columnProportions.js +29 -0
- package/script/methods/concatenate.d.ts +5 -0
- package/script/methods/concatenate.d.ts.map +1 -0
- package/script/methods/concatenate.js +31 -0
- package/script/methods/convert.d.ts +13 -0
- package/script/methods/convert.d.ts.map +1 -0
- package/script/methods/convert.js +119 -0
- package/script/methods/correlations.d.ts +3 -3
- package/script/methods/correlations.d.ts.map +1 -1
- package/script/methods/correlations.js +70 -24
- package/script/methods/coveredBy.d.ts +3 -0
- package/script/methods/coveredBy.d.ts.map +1 -0
- package/script/methods/coveredBy.js +22 -0
- package/script/methods/createFtsIndex.d.ts +15 -2
- package/script/methods/createFtsIndex.d.ts.map +1 -1
- package/script/methods/createFtsIndex.js +53 -13
- package/script/methods/createPoints.d.ts +5 -0
- package/script/methods/createPoints.d.ts.map +1 -0
- package/script/methods/createPoints.js +29 -0
- package/script/methods/createVssIndex.d.ts +1 -1
- package/script/methods/createVssIndex.d.ts.map +1 -1
- package/script/methods/createVssIndex.js +34 -13
- package/script/methods/crossJoin.d.ts +5 -0
- package/script/methods/crossJoin.d.ts.map +1 -0
- package/script/methods/crossJoin.js +41 -0
- package/script/methods/difference.d.ts +3 -0
- package/script/methods/difference.d.ts.map +1 -0
- package/script/methods/difference.js +25 -0
- package/script/methods/distance.d.ts +7 -0
- package/script/methods/distance.d.ts.map +1 -0
- package/script/methods/distance.js +54 -0
- package/script/methods/extractDatePart.d.ts +7 -0
- package/script/methods/extractDatePart.d.ts.map +1 -0
- package/script/methods/extractDatePart.js +44 -0
- package/script/methods/extractLatLon.d.ts +3 -0
- package/script/methods/extractLatLon.d.ts.map +1 -0
- package/script/methods/extractLatLon.js +22 -0
- package/script/methods/fill.d.ts +2 -2
- package/script/methods/fill.d.ts.map +1 -1
- package/script/methods/fill.js +41 -44
- package/script/methods/fillHoles.d.ts +3 -0
- package/script/methods/fillHoles.d.ts.map +1 -0
- package/script/methods/fillHoles.js +25 -0
- package/script/methods/filter.d.ts +3 -0
- package/script/methods/filter.d.ts.map +1 -0
- package/script/methods/filter.js +20 -0
- package/script/methods/firstChars.d.ts +3 -0
- package/script/methods/firstChars.d.ts.map +1 -0
- package/script/methods/firstChars.js +17 -0
- package/script/methods/fixGeo.d.ts +3 -0
- package/script/methods/fixGeo.d.ts.map +1 -0
- package/script/methods/fixGeo.js +28 -0
- package/script/methods/flipCoordinates.d.ts +3 -0
- package/script/methods/flipCoordinates.d.ts.map +1 -0
- package/script/methods/flipCoordinates.js +28 -0
- package/script/methods/fuzzyClean.d.ts +3 -3
- package/script/methods/fuzzyClean.d.ts.map +1 -1
- package/script/methods/fuzzyClean.js +55 -55
- package/script/methods/fuzzyJoin.d.ts +2 -2
- package/script/methods/fuzzyJoin.d.ts.map +1 -1
- package/script/methods/fuzzyJoin.js +60 -19
- package/script/methods/getBottom.d.ts +1 -1
- package/script/methods/getBottom.d.ts.map +1 -1
- package/script/methods/getBottom.js +4 -3
- package/script/methods/getBoundingBox.d.ts +3 -0
- package/script/methods/getBoundingBox.d.ts.map +1 -0
- package/script/methods/getBoundingBox.js +25 -0
- package/script/methods/getCharacterCount.d.ts +3 -0
- package/script/methods/getCharacterCount.d.ts.map +1 -0
- package/script/methods/getCharacterCount.js +23 -0
- package/script/methods/getColumns.d.ts.map +1 -1
- package/script/methods/getColumns.js +4 -3
- package/script/methods/getData.d.ts +9 -0
- package/script/methods/getData.d.ts.map +1 -0
- package/script/methods/getData.js +29 -0
- package/script/methods/getDescription.d.ts.map +1 -1
- package/script/methods/getDescription.js +15 -10
- package/script/methods/getFirstRow.d.ts +1 -1
- package/script/methods/getFirstRow.d.ts.map +1 -1
- package/script/methods/getFirstRow.js +5 -4
- package/script/methods/getGeoData.d.ts +1 -1
- package/script/methods/getGeoData.d.ts.map +1 -1
- package/script/methods/getGeoData.js +5 -3
- package/script/methods/getHash.d.ts +3 -0
- package/script/methods/getHash.d.ts.map +1 -0
- package/script/methods/getHash.js +45 -0
- package/script/methods/getLastRow.d.ts +2 -2
- package/script/methods/getLastRow.d.ts.map +1 -1
- package/script/methods/getLastRow.js +7 -3
- package/script/methods/getMax.d.ts +1 -1
- package/script/methods/getMax.d.ts.map +1 -1
- package/script/methods/getMax.js +10 -10
- package/script/methods/getMean.d.ts.map +1 -1
- package/script/methods/getMean.js +7 -4
- package/script/methods/getMedian.d.ts.map +1 -1
- package/script/methods/getMedian.js +7 -4
- package/script/methods/getMin.d.ts +1 -1
- package/script/methods/getMin.d.ts.map +1 -1
- package/script/methods/getMin.js +10 -10
- package/script/methods/getQuantile.d.ts.map +1 -1
- package/script/methods/getQuantile.js +7 -4
- package/script/methods/getRowCount.d.ts +5 -0
- package/script/methods/getRowCount.d.ts.map +1 -0
- package/script/methods/getRowCount.js +22 -0
- package/script/methods/getSchema.d.ts +5 -0
- package/script/methods/getSchema.d.ts.map +1 -0
- package/script/methods/getSchema.js +18 -0
- package/script/methods/getSkew.d.ts.map +1 -1
- package/script/methods/getSkew.js +7 -4
- package/script/methods/getStdDev.d.ts.map +1 -1
- package/script/methods/getStdDev.js +7 -4
- package/script/methods/getSum.d.ts.map +1 -1
- package/script/methods/getSum.js +6 -3
- package/script/methods/getTableNames.js +2 -2
- package/script/methods/getTop.d.ts +1 -1
- package/script/methods/getTop.d.ts.map +1 -1
- package/script/methods/getTop.js +3 -2
- package/script/methods/getTypes.d.ts.map +1 -1
- package/script/methods/getTypes.js +3 -2
- package/script/methods/getUniques.d.ts +1 -1
- package/script/methods/getUniques.d.ts.map +1 -1
- package/script/methods/getUniques.js +6 -3
- package/script/methods/getValues.d.ts +1 -1
- package/script/methods/getValues.d.ts.map +1 -1
- package/script/methods/getValues.js +5 -3
- package/script/methods/getVariance.d.ts +5 -0
- package/script/methods/getVariance.d.ts.map +1 -0
- package/script/methods/getVariance.js +26 -0
- package/script/methods/indexValues.d.ts +27 -0
- package/script/methods/indexValues.d.ts.map +1 -0
- package/script/methods/indexValues.js +287 -0
- package/script/methods/insertRows.d.ts +5 -0
- package/script/methods/insertRows.d.ts.map +1 -0
- package/script/methods/insertRows.js +47 -0
- package/script/methods/insertTables.d.ts +5 -0
- package/script/methods/insertTables.d.ts.map +1 -0
- package/script/methods/insertTables.js +105 -0
- package/script/methods/intersection.d.ts +3 -0
- package/script/methods/intersection.d.ts.map +1 -0
- package/script/methods/intersection.js +25 -0
- package/script/methods/intersects.d.ts +3 -0
- package/script/methods/intersects.d.ts.map +1 -0
- package/script/methods/intersects.js +22 -0
- package/script/methods/join.d.ts +2 -2
- package/script/methods/join.d.ts.map +1 -1
- package/script/methods/join.js +77 -28
- package/script/methods/joinGeo.d.ts +6 -4
- package/script/methods/joinGeo.d.ts.map +1 -1
- package/script/methods/joinGeo.js +125 -42
- package/script/methods/keepValues.d.ts +5 -0
- package/script/methods/keepValues.d.ts.map +1 -0
- package/script/methods/keepValues.js +41 -0
- package/script/methods/lastChars.d.ts +3 -0
- package/script/methods/lastChars.d.ts.map +1 -0
- package/script/methods/lastChars.js +17 -0
- package/script/methods/length.d.ts +7 -0
- package/script/methods/length.d.ts.map +1 -0
- package/script/methods/length.js +31 -0
- package/script/methods/linearRegressions.d.ts +3 -3
- package/script/methods/linearRegressions.d.ts.map +1 -1
- package/script/methods/linearRegressions.js +78 -24
- package/script/methods/linesToPolygons.d.ts +3 -0
- package/script/methods/linesToPolygons.d.ts.map +1 -0
- package/script/methods/linesToPolygons.js +23 -0
- package/script/methods/loadArray.d.ts +14 -2
- package/script/methods/loadArray.d.ts.map +1 -1
- package/script/methods/loadArray.js +54 -32
- package/script/methods/loadDB.d.ts +3 -0
- package/script/methods/loadDB.d.ts.map +1 -0
- package/script/methods/loadDB.js +76 -0
- package/script/methods/loadData.d.ts +52 -0
- package/script/methods/loadData.d.ts.map +1 -0
- package/script/methods/loadData.js +155 -0
- package/script/methods/loadGeoData.d.ts +9 -0
- package/script/methods/loadGeoData.d.ts.map +1 -0
- package/script/methods/loadGeoData.js +110 -0
- package/script/methods/loadOSM.d.ts +17 -0
- package/script/methods/loadOSM.d.ts.map +1 -0
- package/script/methods/loadOSM.js +201 -0
- package/script/methods/loadSample.d.ts +1 -1
- package/script/methods/loadSample.d.ts.map +1 -1
- package/script/methods/loadSample.js +5 -4
- package/script/methods/loadStatCanData.d.ts +10 -0
- package/script/methods/loadStatCanData.d.ts.map +1 -0
- package/script/methods/loadStatCanData.js +137 -0
- package/script/methods/longer.d.ts +3 -0
- package/script/methods/longer.d.ts.map +1 -0
- package/script/methods/longer.js +29 -0
- package/script/methods/lower.d.ts +3 -0
- package/script/methods/lower.d.ts.map +1 -0
- package/script/methods/lower.js +20 -0
- package/script/methods/nest.d.ts +3 -0
- package/script/methods/nest.d.ts.map +1 -0
- package/script/methods/nest.js +29 -0
- package/script/methods/normalize.d.ts +7 -0
- package/script/methods/normalize.d.ts.map +1 -0
- package/script/methods/normalize.js +47 -0
- package/script/methods/normalizeString.d.ts +1 -1
- package/script/methods/normalizeString.d.ts.map +1 -1
- package/script/methods/normalizeString.js +15 -18
- package/script/methods/outliersIQR.d.ts +5 -0
- package/script/methods/outliersIQR.d.ts.map +1 -0
- package/script/methods/outliersIQR.js +43 -0
- package/script/methods/pad.d.ts +6 -0
- package/script/methods/pad.d.ts.map +1 -0
- package/script/methods/pad.js +61 -0
- package/script/methods/perimeter.d.ts +7 -0
- package/script/methods/perimeter.d.ts.map +1 -0
- package/script/methods/perimeter.js +31 -0
- package/script/methods/quantiles.d.ts +5 -0
- package/script/methods/quantiles.d.ts.map +1 -0
- package/script/methods/quantiles.js +28 -0
- package/script/methods/randomPoint.d.ts +6 -0
- package/script/methods/randomPoint.d.ts.map +1 -0
- package/script/methods/randomPoint.js +111 -0
- package/script/methods/ranks.d.ts +7 -0
- package/script/methods/ranks.d.ts.map +1 -0
- package/script/methods/ranks.js +28 -0
- package/script/methods/reducePrecision.d.ts +5 -0
- package/script/methods/reducePrecision.d.ts.map +1 -0
- package/script/methods/reducePrecision.js +30 -0
- package/script/methods/removeColumns.d.ts +3 -0
- package/script/methods/removeColumns.d.ts.map +1 -0
- package/script/methods/removeColumns.js +19 -0
- package/script/methods/removeDuplicates.d.ts +5 -0
- package/script/methods/removeDuplicates.d.ts.map +1 -0
- package/script/methods/removeDuplicates.js +23 -0
- package/script/methods/removeMissing.d.ts +1 -1
- package/script/methods/removeMissing.d.ts.map +1 -1
- package/script/methods/removeMissing.js +70 -11
- package/script/methods/removeRows.d.ts +3 -0
- package/script/methods/removeRows.d.ts.map +1 -0
- package/script/methods/removeRows.js +20 -0
- package/script/methods/removeTable.d.ts +3 -0
- package/script/methods/removeTable.d.ts.map +1 -0
- package/script/methods/removeTable.js +18 -0
- package/script/methods/removeTables.d.ts +4 -0
- package/script/methods/removeTables.d.ts.map +1 -0
- package/script/methods/removeTables.js +27 -0
- package/script/methods/removeValues.d.ts +5 -0
- package/script/methods/removeValues.d.ts.map +1 -0
- package/script/methods/removeValues.js +41 -0
- package/script/methods/renameColumns.d.ts +7 -0
- package/script/methods/renameColumns.d.ts.map +1 -0
- package/script/methods/renameColumns.js +33 -0
- package/script/methods/renameTable.d.ts +3 -0
- package/script/methods/renameTable.d.ts.map +1 -0
- package/script/methods/renameTable.js +18 -0
- package/script/methods/repeatRows.d.ts +5 -0
- package/script/methods/repeatRows.d.ts.map +1 -0
- package/script/methods/repeatRows.js +25 -0
- package/script/methods/replace.d.ts +8 -0
- package/script/methods/replace.d.ts.map +1 -0
- package/script/methods/replace.js +75 -0
- package/script/methods/replaceNulls.d.ts +3 -0
- package/script/methods/replaceNulls.d.ts.map +1 -0
- package/script/methods/replaceNulls.js +42 -0
- package/script/methods/reproject.d.ts +5 -0
- package/script/methods/reproject.d.ts.map +1 -0
- package/script/methods/reproject.js +27 -0
- package/script/methods/rolling.d.ts +6 -0
- package/script/methods/rolling.d.ts.map +1 -0
- package/script/methods/rolling.js +48 -0
- package/script/methods/round.d.ts +6 -0
- package/script/methods/round.d.ts.map +1 -0
- package/script/methods/round.js +28 -0
- package/script/methods/rowProportions.d.ts +6 -0
- package/script/methods/rowProportions.d.ts.map +1 -0
- package/script/methods/rowProportions.js +36 -0
- package/script/methods/rowRanks.d.ts +9 -0
- package/script/methods/rowRanks.d.ts.map +1 -0
- package/script/methods/rowRanks.js +119 -0
- package/script/methods/rowToText.d.ts +3 -0
- package/script/methods/rowToText.d.ts.map +1 -0
- package/script/methods/rowToText.js +33 -0
- package/script/methods/sample.d.ts +5 -0
- package/script/methods/sample.d.ts.map +1 -0
- package/script/methods/sample.js +22 -0
- package/script/methods/selectColumns.d.ts +3 -0
- package/script/methods/selectColumns.d.ts.map +1 -0
- package/script/methods/selectColumns.js +25 -0
- package/script/methods/selectRows.d.ts +6 -0
- package/script/methods/selectRows.d.ts.map +1 -0
- package/script/methods/selectRows.js +40 -0
- package/script/methods/selectTables.d.ts +4 -0
- package/script/methods/selectTables.d.ts.map +1 -0
- package/script/methods/selectTables.js +31 -0
- package/script/methods/setTypes.d.ts +5 -0
- package/script/methods/setTypes.d.ts.map +1 -0
- package/script/methods/setTypes.js +36 -0
- package/script/methods/simplify.d.ts +6 -0
- package/script/methods/simplify.d.ts.map +1 -0
- package/script/methods/simplify.js +44 -0
- package/script/methods/skip.d.ts +3 -0
- package/script/methods/skip.d.ts.map +1 -0
- package/script/methods/skip.js +17 -0
- package/script/methods/sort.d.ts +9 -0
- package/script/methods/sort.d.ts.map +1 -0
- package/script/methods/sort.js +41 -0
- package/script/methods/splitExtract.d.ts +3 -0
- package/script/methods/splitExtract.d.ts.map +1 -0
- package/script/methods/splitExtract.js +27 -0
- package/script/methods/splitSpread.d.ts +2 -2
- package/script/methods/splitSpread.d.ts.map +1 -1
- package/script/methods/splitSpread.js +58 -35
- package/script/methods/stream.d.ts +8 -0
- package/script/methods/stream.d.ts.map +1 -0
- package/script/methods/stream.js +65 -0
- package/script/methods/summarize.d.ts +10 -8
- package/script/methods/summarize.d.ts.map +1 -1
- package/script/methods/summarize.js +165 -45
- package/script/methods/trim.d.ts +6 -0
- package/script/methods/trim.d.ts.map +1 -0
- package/script/methods/trim.js +36 -0
- package/script/methods/truncate.d.ts +3 -0
- package/script/methods/truncate.d.ts.map +1 -0
- package/script/methods/truncate.js +17 -0
- package/script/methods/union.d.ts +3 -0
- package/script/methods/union.d.ts.map +1 -0
- package/script/methods/union.js +25 -0
- package/script/methods/unnest.d.ts +3 -0
- package/script/methods/unnest.d.ts.map +1 -0
- package/script/methods/unnest.js +21 -0
- package/script/methods/unnestGeo.d.ts +3 -0
- package/script/methods/unnestGeo.d.ts.map +1 -0
- package/script/methods/unnestGeo.js +24 -0
- package/script/methods/updateColumn.d.ts +3 -0
- package/script/methods/updateColumn.d.ts.map +1 -0
- package/script/methods/updateColumn.js +21 -0
- package/script/methods/updateWithJS.d.ts +11 -0
- package/script/methods/updateWithJS.d.ts.map +1 -0
- package/script/methods/updateWithJS.js +101 -0
- package/script/methods/upper.d.ts +3 -0
- package/script/methods/upper.d.ts.map +1 -0
- package/script/methods/upper.js +20 -0
- package/script/methods/wider.d.ts +5 -0
- package/script/methods/wider.d.ts.map +1 -0
- package/script/methods/wider.js +29 -0
- package/script/methods/writeDB.d.ts +6 -0
- package/script/methods/writeDB.d.ts.map +1 -0
- package/script/methods/writeDB.js +105 -0
- package/script/methods/writeData.d.ts +7 -0
- package/script/methods/writeData.d.ts.map +1 -0
- package/script/methods/writeData.js +86 -0
- package/script/methods/zScore.d.ts +6 -0
- package/script/methods/zScore.d.ts.map +1 -0
- package/script/methods/zScore.js +35 -0
- package/esm/helpers/accumulateQuery.d.ts +0 -4
- package/esm/helpers/accumulateQuery.d.ts.map +0 -1
- package/esm/helpers/accumulateQuery.js +0 -15
- package/esm/helpers/checkVssIndexes.d.ts +0 -2
- package/esm/helpers/checkVssIndexes.d.ts.map +0 -1
- package/esm/helpers/checkVssIndexes.js +0 -16
- package/esm/helpers/concatenateRowQuery.d.ts +0 -2
- package/esm/helpers/concatenateRowQuery.d.ts.map +0 -1
- package/esm/helpers/concatenateRowQuery.js +0 -9
- package/esm/helpers/convertForJS.d.ts +0 -6
- package/esm/helpers/convertForJS.d.ts.map +0 -1
- package/esm/helpers/convertForJS.js +0 -41
- package/esm/helpers/getName.d.ts +0 -2
- package/esm/helpers/getName.d.ts.map +0 -1
- package/esm/helpers/getName.js +0 -14
- package/esm/helpers/nestQuery.d.ts +0 -2
- package/esm/helpers/nestQuery.d.ts.map +0 -1
- package/esm/helpers/nestQuery.js +0 -13
- package/esm/helpers/repeatRowsQuery.d.ts +0 -4
- package/esm/helpers/repeatRowsQuery.d.ts.map +0 -1
- package/esm/helpers/repeatRowsQuery.js +0 -8
- package/esm/helpers/unnestQuery.d.ts +0 -2
- package/esm/helpers/unnestQuery.d.ts.map +0 -1
- package/esm/helpers/unnestQuery.js +0 -8
- package/esm/helpers/writeIndexes.d.ts +0 -3
- package/esm/helpers/writeIndexes.d.ts.map +0 -1
- package/esm/helpers/writeIndexes.js +0 -16
- package/esm/methods/aggregateGeoQuery.d.ts +0 -5
- package/esm/methods/aggregateGeoQuery.d.ts.map +0 -1
- package/esm/methods/aggregateGeoQuery.js +0 -25
- package/esm/methods/binsQuery.d.ts +0 -5
- package/esm/methods/binsQuery.d.ts.map +0 -1
- package/esm/methods/binsQuery.js +0 -40
- package/esm/methods/boundingBoxQuery.d.ts +0 -4
- package/esm/methods/boundingBoxQuery.d.ts.map +0 -1
- package/esm/methods/boundingBoxQuery.js +0 -21
- package/esm/methods/capitalizeQuery.d.ts +0 -2
- package/esm/methods/capitalizeQuery.d.ts.map +0 -1
- package/esm/methods/capitalizeQuery.js +0 -8
- package/esm/methods/cloneQuery.d.ts +0 -6
- package/esm/methods/cloneQuery.d.ts.map +0 -1
- package/esm/methods/cloneQuery.js +0 -6
- package/esm/methods/concatenateQuery.d.ts +0 -4
- package/esm/methods/concatenateQuery.d.ts.map +0 -1
- package/esm/methods/concatenateQuery.js +0 -13
- package/esm/methods/convertQuery.d.ts +0 -7
- package/esm/methods/convertQuery.d.ts.map +0 -1
- package/esm/methods/convertQuery.js +0 -78
- package/esm/methods/correlationsQuery.d.ts +0 -5
- package/esm/methods/correlationsQuery.d.ts.map +0 -1
- package/esm/methods/correlationsQuery.js +0 -26
- package/esm/methods/crossJoinQuery.d.ts +0 -4
- package/esm/methods/crossJoinQuery.d.ts.map +0 -1
- package/esm/methods/crossJoinQuery.js +0 -3
- package/esm/methods/distanceQuery.d.ts +0 -6
- package/esm/methods/distanceQuery.d.ts.map +0 -1
- package/esm/methods/distanceQuery.js +0 -44
- package/esm/methods/fuzzyJoinQuery.d.ts +0 -2
- package/esm/methods/fuzzyJoinQuery.d.ts.map +0 -1
- package/esm/methods/fuzzyJoinQuery.js +0 -29
- package/esm/methods/getNbCharacters.d.ts +0 -3
- package/esm/methods/getNbCharacters.d.ts.map +0 -1
- package/esm/methods/getNbCharacters.js +0 -15
- package/esm/methods/getNbRows.d.ts +0 -5
- package/esm/methods/getNbRows.d.ts.map +0 -1
- package/esm/methods/getNbRows.js +0 -15
- package/esm/methods/getVar.d.ts +0 -5
- package/esm/methods/getVar.d.ts.map +0 -1
- package/esm/methods/getVar.js +0 -17
- package/esm/methods/insertRowsQuery.d.ts +0 -4
- package/esm/methods/insertRowsQuery.d.ts.map +0 -1
- package/esm/methods/insertRowsQuery.js +0 -11
- package/esm/methods/joinGeoQuery.d.ts +0 -2
- package/esm/methods/joinGeoQuery.d.ts.map +0 -1
- package/esm/methods/joinGeoQuery.js +0 -55
- package/esm/methods/joinQuery.d.ts +0 -2
- package/esm/methods/joinQuery.d.ts.map +0 -1
- package/esm/methods/joinQuery.js +0 -21
- package/esm/methods/keepQuery.d.ts +0 -4
- package/esm/methods/keepQuery.d.ts.map +0 -1
- package/esm/methods/keepQuery.js +0 -15
- package/esm/methods/linearRegressionQuery.d.ts +0 -5
- package/esm/methods/linearRegressionQuery.d.ts.map +0 -1
- package/esm/methods/linearRegressionQuery.js +0 -37
- package/esm/methods/loadDataQuery.d.ts +0 -24
- package/esm/methods/loadDataQuery.d.ts.map +0 -1
- package/esm/methods/loadDataQuery.js +0 -85
- package/esm/methods/lowerQuery.d.ts +0 -2
- package/esm/methods/lowerQuery.d.ts.map +0 -1
- package/esm/methods/lowerQuery.js +0 -7
- package/esm/methods/normalizeQuery.d.ts +0 -5
- package/esm/methods/normalizeQuery.d.ts.map +0 -1
- package/esm/methods/normalizeQuery.js +0 -22
- package/esm/methods/outliersIQRQuery.d.ts +0 -4
- package/esm/methods/outliersIQRQuery.d.ts.map +0 -1
- package/esm/methods/outliersIQRQuery.js +0 -31
- package/esm/methods/padQuery.d.ts +0 -5
- package/esm/methods/padQuery.d.ts.map +0 -1
- package/esm/methods/padQuery.js +0 -14
- package/esm/methods/proportionsHorizontalQuery.d.ts +0 -5
- package/esm/methods/proportionsHorizontalQuery.d.ts.map +0 -1
- package/esm/methods/proportionsHorizontalQuery.js +0 -15
- package/esm/methods/proportionsVerticalQuery.d.ts +0 -5
- package/esm/methods/proportionsVerticalQuery.d.ts.map +0 -1
- package/esm/methods/proportionsVerticalQuery.js +0 -19
- package/esm/methods/quantilesQuery.d.ts +0 -4
- package/esm/methods/quantilesQuery.d.ts.map +0 -1
- package/esm/methods/quantilesQuery.js +0 -12
- package/esm/methods/randomPointQuery.d.ts +0 -2
- package/esm/methods/randomPointQuery.d.ts.map +0 -1
- package/esm/methods/randomPointQuery.js +0 -66
- package/esm/methods/ranksQuery.d.ts +0 -6
- package/esm/methods/ranksQuery.d.ts.map +0 -1
- package/esm/methods/ranksQuery.js +0 -12
- package/esm/methods/removeDuplicatesQuery.d.ts +0 -4
- package/esm/methods/removeDuplicatesQuery.d.ts.map +0 -1
- package/esm/methods/removeDuplicatesQuery.js +0 -12
- package/esm/methods/removeMissingQuery.d.ts +0 -7
- package/esm/methods/removeMissingQuery.d.ts.map +0 -1
- package/esm/methods/removeMissingQuery.js +0 -43
- package/esm/methods/removeQuery.d.ts +0 -4
- package/esm/methods/removeQuery.d.ts.map +0 -1
- package/esm/methods/removeQuery.js +0 -15
- package/esm/methods/renameColumnQuery.d.ts +0 -2
- package/esm/methods/renameColumnQuery.d.ts.map +0 -1
- package/esm/methods/renameColumnQuery.js +0 -7
- package/esm/methods/replaceNullsQuery.d.ts +0 -2
- package/esm/methods/replaceNullsQuery.d.ts.map +0 -1
- package/esm/methods/replaceNullsQuery.js +0 -10
- package/esm/methods/replaceQuery.d.ts +0 -5
- package/esm/methods/replaceQuery.d.ts.map +0 -1
- package/esm/methods/replaceQuery.js +0 -24
- package/esm/methods/rollingQuery.d.ts +0 -5
- package/esm/methods/rollingQuery.d.ts.map +0 -1
- package/esm/methods/rollingQuery.js +0 -33
- package/esm/methods/roundQuery.d.ts +0 -5
- package/esm/methods/roundQuery.d.ts.map +0 -1
- package/esm/methods/roundQuery.js +0 -16
- package/esm/methods/selectRowsQuery.d.ts +0 -5
- package/esm/methods/selectRowsQuery.d.ts.map +0 -1
- package/esm/methods/selectRowsQuery.js +0 -3
- package/esm/methods/sortQuery.d.ts +0 -8
- package/esm/methods/sortQuery.d.ts.map +0 -1
- package/esm/methods/sortQuery.js +0 -18
- package/esm/methods/summarizeQuery.d.ts +0 -7
- package/esm/methods/summarizeQuery.d.ts.map +0 -1
- package/esm/methods/summarizeQuery.js +0 -112
- package/esm/methods/trimQuery.d.ts +0 -5
- package/esm/methods/trimQuery.d.ts.map +0 -1
- package/esm/methods/trimQuery.js +0 -29
- package/esm/methods/truncateQuery.d.ts +0 -2
- package/esm/methods/truncateQuery.d.ts.map +0 -1
- package/esm/methods/truncateQuery.js +0 -3
- package/esm/methods/upperQuery.d.ts +0 -2
- package/esm/methods/upperQuery.d.ts.map +0 -1
- package/esm/methods/upperQuery.js +0 -7
- package/esm/methods/writeDataQuery.d.ts +0 -5
- package/esm/methods/writeDataQuery.d.ts.map +0 -1
- package/esm/methods/writeDataQuery.js +0 -44
- package/esm/methods/writeGeoDataQuery.d.ts +0 -4
- package/esm/methods/writeGeoDataQuery.d.ts.map +0 -1
- package/esm/methods/writeGeoDataQuery.js +0 -19
- package/esm/methods/zScoreQuery.d.ts +0 -5
- package/esm/methods/zScoreQuery.d.ts.map +0 -1
- package/esm/methods/zScoreQuery.js +0 -23
- package/script/helpers/accumulateQuery.d.ts +0 -4
- package/script/helpers/accumulateQuery.d.ts.map +0 -1
- package/script/helpers/accumulateQuery.js +0 -21
- package/script/helpers/checkVssIndexes.d.ts +0 -2
- package/script/helpers/checkVssIndexes.d.ts.map +0 -1
- package/script/helpers/checkVssIndexes.js +0 -19
- package/script/helpers/concatenateRowQuery.d.ts +0 -2
- package/script/helpers/concatenateRowQuery.d.ts.map +0 -1
- package/script/helpers/concatenateRowQuery.js +0 -12
- package/script/helpers/convertForJS.d.ts +0 -6
- package/script/helpers/convertForJS.d.ts.map +0 -1
- package/script/helpers/convertForJS.js +0 -44
- package/script/helpers/getName.d.ts +0 -2
- package/script/helpers/getName.d.ts.map +0 -1
- package/script/helpers/getName.js +0 -17
- package/script/helpers/nestQuery.d.ts +0 -2
- package/script/helpers/nestQuery.d.ts.map +0 -1
- package/script/helpers/nestQuery.js +0 -19
- package/script/helpers/repeatRowsQuery.d.ts +0 -4
- package/script/helpers/repeatRowsQuery.d.ts.map +0 -1
- package/script/helpers/repeatRowsQuery.js +0 -11
- package/script/helpers/unnestQuery.d.ts +0 -2
- package/script/helpers/unnestQuery.d.ts.map +0 -1
- package/script/helpers/unnestQuery.js +0 -11
- package/script/helpers/writeIndexes.d.ts +0 -3
- package/script/helpers/writeIndexes.d.ts.map +0 -1
- package/script/helpers/writeIndexes.js +0 -19
- package/script/methods/aggregateGeoQuery.d.ts +0 -5
- package/script/methods/aggregateGeoQuery.d.ts.map +0 -1
- package/script/methods/aggregateGeoQuery.js +0 -31
- package/script/methods/binsQuery.d.ts +0 -5
- package/script/methods/binsQuery.d.ts.map +0 -1
- package/script/methods/binsQuery.js +0 -43
- package/script/methods/boundingBoxQuery.d.ts +0 -4
- package/script/methods/boundingBoxQuery.d.ts.map +0 -1
- package/script/methods/boundingBoxQuery.js +0 -24
- package/script/methods/capitalizeQuery.d.ts +0 -2
- package/script/methods/capitalizeQuery.d.ts.map +0 -1
- package/script/methods/capitalizeQuery.js +0 -11
- package/script/methods/cloneQuery.d.ts +0 -6
- package/script/methods/cloneQuery.d.ts.map +0 -1
- package/script/methods/cloneQuery.js +0 -9
- package/script/methods/concatenateQuery.d.ts +0 -4
- package/script/methods/concatenateQuery.d.ts.map +0 -1
- package/script/methods/concatenateQuery.js +0 -16
- package/script/methods/convertQuery.d.ts +0 -7
- package/script/methods/convertQuery.d.ts.map +0 -1
- package/script/methods/convertQuery.js +0 -84
- package/script/methods/correlationsQuery.d.ts +0 -5
- package/script/methods/correlationsQuery.d.ts.map +0 -1
- package/script/methods/correlationsQuery.js +0 -32
- package/script/methods/crossJoinQuery.d.ts +0 -4
- package/script/methods/crossJoinQuery.d.ts.map +0 -1
- package/script/methods/crossJoinQuery.js +0 -6
- package/script/methods/distanceQuery.d.ts +0 -6
- package/script/methods/distanceQuery.d.ts.map +0 -1
- package/script/methods/distanceQuery.js +0 -47
- package/script/methods/fuzzyJoinQuery.d.ts +0 -2
- package/script/methods/fuzzyJoinQuery.d.ts.map +0 -1
- package/script/methods/fuzzyJoinQuery.js +0 -32
- package/script/methods/getNbCharacters.d.ts +0 -3
- package/script/methods/getNbCharacters.d.ts.map +0 -1
- package/script/methods/getNbCharacters.js +0 -21
- package/script/methods/getNbRows.d.ts +0 -5
- package/script/methods/getNbRows.d.ts.map +0 -1
- package/script/methods/getNbRows.js +0 -21
- package/script/methods/getVar.d.ts +0 -5
- package/script/methods/getVar.d.ts.map +0 -1
- package/script/methods/getVar.js +0 -23
- package/script/methods/insertRowsQuery.d.ts +0 -4
- package/script/methods/insertRowsQuery.d.ts.map +0 -1
- package/script/methods/insertRowsQuery.js +0 -17
- package/script/methods/joinGeoQuery.d.ts +0 -2
- package/script/methods/joinGeoQuery.d.ts.map +0 -1
- package/script/methods/joinGeoQuery.js +0 -58
- package/script/methods/joinQuery.d.ts +0 -2
- package/script/methods/joinQuery.d.ts.map +0 -1
- package/script/methods/joinQuery.js +0 -24
- package/script/methods/keepQuery.d.ts +0 -4
- package/script/methods/keepQuery.d.ts.map +0 -1
- package/script/methods/keepQuery.js +0 -21
- package/script/methods/linearRegressionQuery.d.ts +0 -5
- package/script/methods/linearRegressionQuery.d.ts.map +0 -1
- package/script/methods/linearRegressionQuery.js +0 -43
- package/script/methods/loadDataQuery.d.ts +0 -24
- package/script/methods/loadDataQuery.d.ts.map +0 -1
- package/script/methods/loadDataQuery.js +0 -91
- package/script/methods/lowerQuery.d.ts +0 -2
- package/script/methods/lowerQuery.d.ts.map +0 -1
- package/script/methods/lowerQuery.js +0 -10
- package/script/methods/normalizeQuery.d.ts +0 -5
- package/script/methods/normalizeQuery.d.ts.map +0 -1
- package/script/methods/normalizeQuery.js +0 -28
- package/script/methods/outliersIQRQuery.d.ts +0 -4
- package/script/methods/outliersIQRQuery.d.ts.map +0 -1
- package/script/methods/outliersIQRQuery.js +0 -37
- package/script/methods/padQuery.d.ts +0 -5
- package/script/methods/padQuery.d.ts.map +0 -1
- package/script/methods/padQuery.js +0 -17
- package/script/methods/proportionsHorizontalQuery.d.ts +0 -5
- package/script/methods/proportionsHorizontalQuery.d.ts.map +0 -1
- package/script/methods/proportionsHorizontalQuery.js +0 -18
- package/script/methods/proportionsVerticalQuery.d.ts +0 -5
- package/script/methods/proportionsVerticalQuery.d.ts.map +0 -1
- package/script/methods/proportionsVerticalQuery.js +0 -25
- package/script/methods/quantilesQuery.d.ts +0 -4
- package/script/methods/quantilesQuery.d.ts.map +0 -1
- package/script/methods/quantilesQuery.js +0 -18
- package/script/methods/randomPointQuery.d.ts +0 -2
- package/script/methods/randomPointQuery.d.ts.map +0 -1
- package/script/methods/randomPointQuery.js +0 -69
- package/script/methods/ranksQuery.d.ts +0 -6
- package/script/methods/ranksQuery.d.ts.map +0 -1
- package/script/methods/ranksQuery.js +0 -18
- package/script/methods/removeDuplicatesQuery.d.ts +0 -4
- package/script/methods/removeDuplicatesQuery.d.ts.map +0 -1
- package/script/methods/removeDuplicatesQuery.js +0 -18
- package/script/methods/removeMissingQuery.d.ts +0 -7
- package/script/methods/removeMissingQuery.d.ts.map +0 -1
- package/script/methods/removeMissingQuery.js +0 -46
- package/script/methods/removeQuery.d.ts +0 -4
- package/script/methods/removeQuery.d.ts.map +0 -1
- package/script/methods/removeQuery.js +0 -21
- package/script/methods/renameColumnQuery.d.ts +0 -2
- package/script/methods/renameColumnQuery.d.ts.map +0 -1
- package/script/methods/renameColumnQuery.js +0 -10
- package/script/methods/replaceNullsQuery.d.ts +0 -2
- package/script/methods/replaceNullsQuery.d.ts.map +0 -1
- package/script/methods/replaceNullsQuery.js +0 -16
- package/script/methods/replaceQuery.d.ts +0 -5
- package/script/methods/replaceQuery.d.ts.map +0 -1
- package/script/methods/replaceQuery.js +0 -27
- package/script/methods/rollingQuery.d.ts +0 -5
- package/script/methods/rollingQuery.d.ts.map +0 -1
- package/script/methods/rollingQuery.js +0 -39
- package/script/methods/roundQuery.d.ts +0 -5
- package/script/methods/roundQuery.d.ts.map +0 -1
- package/script/methods/roundQuery.js +0 -19
- package/script/methods/selectRowsQuery.d.ts +0 -5
- package/script/methods/selectRowsQuery.d.ts.map +0 -1
- package/script/methods/selectRowsQuery.js +0 -6
- package/script/methods/sortQuery.d.ts +0 -8
- package/script/methods/sortQuery.d.ts.map +0 -1
- package/script/methods/sortQuery.js +0 -21
- package/script/methods/summarizeQuery.d.ts +0 -7
- package/script/methods/summarizeQuery.d.ts.map +0 -1
- package/script/methods/summarizeQuery.js +0 -115
- package/script/methods/trimQuery.d.ts +0 -5
- package/script/methods/trimQuery.d.ts.map +0 -1
- package/script/methods/trimQuery.js +0 -32
- package/script/methods/truncateQuery.d.ts +0 -2
- package/script/methods/truncateQuery.d.ts.map +0 -1
- package/script/methods/truncateQuery.js +0 -6
- package/script/methods/upperQuery.d.ts +0 -2
- package/script/methods/upperQuery.d.ts.map +0 -1
- package/script/methods/upperQuery.js +0 -10
- package/script/methods/writeDataQuery.d.ts +0 -5
- package/script/methods/writeDataQuery.d.ts.map +0 -1
- package/script/methods/writeDataQuery.js +0 -50
- package/script/methods/writeGeoDataQuery.d.ts +0 -4
- package/script/methods/writeGeoDataQuery.d.ts.map +0 -1
- package/script/methods/writeGeoDataQuery.js +0 -25
- package/script/methods/zScoreQuery.d.ts +0 -5
- package/script/methods/zScoreQuery.d.ts.map +0 -1
- package/script/methods/zScoreQuery.js +0 -29
package/script/class/SimpleDB.js
CHANGED
|
@@ -1,26 +1,81 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
36
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
37
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
38
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
39
|
+
};
|
|
40
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
41
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
42
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
43
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
44
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
45
|
+
};
|
|
2
46
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
47
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
48
|
};
|
|
49
|
+
var _SimpleDB_instances, _SimpleDB_closePromise, _SimpleDB_startPromise, _SimpleDB_initialized, _SimpleDB_setup, _SimpleDB_close;
|
|
5
50
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
|
+
const quoteIdentifier_js_1 = __importDefault(require("../helpers/quoteIdentifier.js"));
|
|
6
52
|
const node_api_1 = require("@duckdb/node-api");
|
|
7
53
|
const runQuery_js_1 = __importDefault(require("../helpers/runQuery.js"));
|
|
8
54
|
const SimpleTable_js_1 = __importDefault(require("./SimpleTable.js"));
|
|
9
55
|
const cleanCache_js_1 = __importDefault(require("../helpers/cleanCache.js"));
|
|
10
|
-
const createDirectory_js_1 = __importDefault(require("../helpers/createDirectory.js"));
|
|
11
56
|
const prettyDuration_js_1 = __importDefault(require("../helpers/prettyDuration.js"));
|
|
12
57
|
const Simple_js_1 = __importDefault(require("./Simple.js"));
|
|
13
58
|
const queryDB_js_1 = __importDefault(require("../helpers/queryDB.js"));
|
|
14
59
|
const mergeOptions_js_1 = __importDefault(require("../helpers/mergeOptions.js"));
|
|
15
60
|
const getTableNames_js_1 = __importDefault(require("../methods/getTableNames.js"));
|
|
16
|
-
const cleanPath_js_1 = __importDefault(require("../helpers/cleanPath.js"));
|
|
17
|
-
const getExtension_js_1 = __importDefault(require("../helpers/getExtension.js"));
|
|
18
61
|
const node_fs_1 = require("node:fs");
|
|
19
|
-
const
|
|
62
|
+
const createDirectory_js_1 = __importDefault(require("../helpers/createDirectory.js"));
|
|
63
|
+
const getDbFileType_js_1 = __importDefault(require("../helpers/getDbFileType.js"));
|
|
64
|
+
const getCurrentDatabase_js_1 = __importDefault(require("../helpers/getCurrentDatabase.js"));
|
|
65
|
+
const getDbIndexes_js_1 = __importDefault(require("../helpers/getDbIndexes.js"));
|
|
66
|
+
const readDbMetadata_js_1 = __importDefault(require("../helpers/readDbMetadata.js"));
|
|
67
|
+
const writeDbMetadata_js_1 = __importDefault(require("../helpers/writeDbMetadata.js"));
|
|
68
|
+
const prepareDbExtensions_js_1 = __importDefault(require("../helpers/prepareDbExtensions.js"));
|
|
20
69
|
const setDbProps_js_1 = __importDefault(require("../helpers/setDbProps.js"));
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const
|
|
70
|
+
const queryDbFile_js_1 = __importDefault(require("../helpers/queryDbFile.js"));
|
|
71
|
+
const removeTables_js_1 = __importDefault(require("../methods/removeTables.js"));
|
|
72
|
+
const selectTables_js_1 = __importDefault(require("../methods/selectTables.js"));
|
|
73
|
+
const loadDB_js_1 = __importDefault(require("../methods/loadDB.js"));
|
|
74
|
+
const writeDB_js_1 = __importDefault(require("../methods/writeDB.js"));
|
|
75
|
+
const flushAllTables_js_1 = __importStar(require("../helpers/flushAllTables.js"));
|
|
76
|
+
const queueOp_js_1 = require("../helpers/queueOp.js");
|
|
77
|
+
const tableRegistry_js_1 = require("../helpers/tableRegistry.js");
|
|
78
|
+
const formatMissingTables_js_1 = __importDefault(require("../helpers/formatMissingTables.js"));
|
|
24
79
|
/**
|
|
25
80
|
* Manages a DuckDB database instance, providing a simplified interface for database operations.
|
|
26
81
|
*
|
|
@@ -28,32 +83,30 @@ const node_fs_2 = require("node:fs");
|
|
|
28
83
|
* ```ts
|
|
29
84
|
* // Create an in-memory database instance
|
|
30
85
|
* const sdb = new SimpleDB();
|
|
31
|
-
* // Create a
|
|
32
|
-
* const employees = sdb
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* await employees.logTable();
|
|
86
|
+
* // Create a table, load a CSV file, and log its first few rows
|
|
87
|
+
* const employees = await sdb
|
|
88
|
+
* .newTable("employees")
|
|
89
|
+
* .loadData("./employees.csv")
|
|
90
|
+
* .log();
|
|
37
91
|
* // Close the database connection and clean up resources
|
|
38
|
-
* await sdb.
|
|
92
|
+
* await sdb.close();
|
|
39
93
|
* ```
|
|
40
94
|
*
|
|
41
95
|
* @example
|
|
42
96
|
* ```ts
|
|
43
|
-
* //
|
|
44
|
-
* // To load an existing database, use the `loadDB` method instead
|
|
97
|
+
* // Open or create a persistent DuckDB database. Changes persist in this file.
|
|
45
98
|
* const sdb = new SimpleDB({ file: "./my_database.db" });
|
|
46
99
|
* // Perform database operations...
|
|
47
|
-
* //
|
|
48
|
-
* await sdb.
|
|
100
|
+
* // Execute pending work, save SDA metadata, and close the database connection
|
|
101
|
+
* await sdb.close();
|
|
49
102
|
* ```
|
|
50
103
|
*
|
|
51
104
|
* @example
|
|
52
105
|
* ```ts
|
|
53
106
|
* // Create a database instance with custom options
|
|
54
107
|
* const sdb = new SimpleDB({
|
|
55
|
-
*
|
|
56
|
-
*
|
|
108
|
+
* logSQL: true, // Log SQL immediately before it runs
|
|
109
|
+
* rowsToLog: 20 // Set the number of rows to log by default
|
|
57
110
|
* });
|
|
58
111
|
* ```
|
|
59
112
|
*/
|
|
@@ -61,23 +114,73 @@ class SimpleDB extends Simple_js_1.default {
|
|
|
61
114
|
/**
|
|
62
115
|
* Creates a new SimpleDB instance.
|
|
63
116
|
*
|
|
117
|
+
* DuckDB sessions use UTC so temporal parsing, extraction, and returned
|
|
118
|
+
* `TIMESTAMP WITH TIME ZONE` strings are consistent across environments.
|
|
119
|
+
*
|
|
120
|
+
* Existing tables and SDA index metadata are restored on first use. The
|
|
121
|
+
* `__sda` schema is reserved for versioned SDA metadata. SQLite files can be
|
|
122
|
+
* imported with `loadDB()` but cannot be used as the persistent database.
|
|
123
|
+
*
|
|
64
124
|
* @param options - Configuration options for the SimpleDB instance.
|
|
65
|
-
* @param options.file -
|
|
66
|
-
* @param options.overwrite -
|
|
125
|
+
* @param options.file - A `.db` or `.duckdb` file to open or create. Defaults to an in-memory database.
|
|
126
|
+
* @param options.overwrite - If true, replaces an existing file on first use. Defaults to false, which opens the existing file.
|
|
127
|
+
* @param options.readOnly - Opens an existing DuckDB file read-only. Defaults to false. Requires a file and cannot be combined with overwrite.
|
|
67
128
|
* @param options.logDuration - A flag indicating whether to log the total execution duration.
|
|
68
|
-
* @param options.
|
|
69
|
-
* @param options.
|
|
70
|
-
* @param options.
|
|
71
|
-
* @param options.cacheVerbose -
|
|
72
|
-
* @param options.
|
|
129
|
+
* @param options.rowsToLog - The number of rows to display when logging a table.
|
|
130
|
+
* @param options.charsToLog - The maximum number of characters to display for text-based cells.
|
|
131
|
+
* @param options.typesToLog - A flag indicating whether to include data types when logging a table.
|
|
132
|
+
* @param options.cacheVerbose - Whether to log cache hits and misses, code and input changes, TTL status, and cache read/write timing.
|
|
133
|
+
* @param options.logSQL - A flag indicating whether to log SQL immediately before execution.
|
|
134
|
+
* @param options.explainSQL - A flag indicating whether to log DuckDB query plans for supported statements.
|
|
73
135
|
* @param options.duckDbCache - A flag indicating whether to use DuckDB's external file cache.
|
|
74
136
|
* @param options.progressBar - A flag indicating whether to display a progress bar for long-running operations.
|
|
75
137
|
* @param options.memoryLimit - The maximum amount of memory DuckDB is allowed to use (e.g., `'4GB'`). Defaults to 80% of system RAM.
|
|
76
|
-
* @param options.
|
|
138
|
+
* @param options.tempDir - The path to the directory used for temporary files when data exceeds the memory limit (e.g., `'/tmp/duckdb_swap'`). Defaults to `.tmp` for in-memory databases or `<file>.tmp` for file-based databases. Automatically removed when calling `close()`.
|
|
77
139
|
* @category Constructor
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```ts
|
|
143
|
+
* const sdb = new SimpleDB({
|
|
144
|
+
* logSQL: true,
|
|
145
|
+
* explainSQL: true,
|
|
146
|
+
* });
|
|
147
|
+
* ```
|
|
78
148
|
*/
|
|
79
149
|
constructor(options = {}) {
|
|
80
150
|
super(options);
|
|
151
|
+
_SimpleDB_instances.add(this);
|
|
152
|
+
/**
|
|
153
|
+
* Whether to log each SQL statement immediately before execution.
|
|
154
|
+
*
|
|
155
|
+
* @defaultValue `false`
|
|
156
|
+
* @category Properties
|
|
157
|
+
* @example
|
|
158
|
+
* ```ts
|
|
159
|
+
* const sdb = new SimpleDB({ logSQL: true });
|
|
160
|
+
* ```
|
|
161
|
+
*/
|
|
162
|
+
Object.defineProperty(this, "logSQL", {
|
|
163
|
+
enumerable: true,
|
|
164
|
+
configurable: true,
|
|
165
|
+
writable: true,
|
|
166
|
+
value: void 0
|
|
167
|
+
});
|
|
168
|
+
/**
|
|
169
|
+
* Whether to log DuckDB query plans before supported statements execute.
|
|
170
|
+
*
|
|
171
|
+
* @defaultValue `false`
|
|
172
|
+
* @category Properties
|
|
173
|
+
* @example
|
|
174
|
+
* ```ts
|
|
175
|
+
* const sdb = new SimpleDB({ explainSQL: true });
|
|
176
|
+
* ```
|
|
177
|
+
*/
|
|
178
|
+
Object.defineProperty(this, "explainSQL", {
|
|
179
|
+
enumerable: true,
|
|
180
|
+
configurable: true,
|
|
181
|
+
writable: true,
|
|
182
|
+
value: void 0
|
|
183
|
+
});
|
|
81
184
|
/**
|
|
82
185
|
* An array of paths to the data sources used in the cache.
|
|
83
186
|
*
|
|
@@ -127,19 +230,8 @@ class SimpleDB extends Simple_js_1.default {
|
|
|
127
230
|
value: void 0
|
|
128
231
|
});
|
|
129
232
|
/**
|
|
130
|
-
*
|
|
131
|
-
*
|
|
132
|
-
* @defaultValue `[]`
|
|
133
|
-
* @category Properties
|
|
134
|
-
*/
|
|
135
|
-
Object.defineProperty(this, "tables", {
|
|
136
|
-
enumerable: true,
|
|
137
|
-
configurable: true,
|
|
138
|
-
writable: true,
|
|
139
|
-
value: void 0
|
|
140
|
-
});
|
|
141
|
-
/**
|
|
142
|
-
* A flag indicating whether to log verbose cache-related messages.
|
|
233
|
+
* Whether to log cache hits and misses, code and input changes, TTL status,
|
|
234
|
+
* and cache read/write timing.
|
|
143
235
|
*
|
|
144
236
|
* @defaultValue `false`
|
|
145
237
|
* @category Properties
|
|
@@ -186,6 +278,75 @@ class SimpleDB extends Simple_js_1.default {
|
|
|
186
278
|
writable: true,
|
|
187
279
|
value: void 0
|
|
188
280
|
});
|
|
281
|
+
/**
|
|
282
|
+
* The in-flight flush of the pending chains, if one is running. Concurrent
|
|
283
|
+
* observers await it instead of reading mid-flush state. This is for
|
|
284
|
+
* internal use only.
|
|
285
|
+
*
|
|
286
|
+
* @defaultValue `null`
|
|
287
|
+
* @internal
|
|
288
|
+
*/
|
|
289
|
+
Object.defineProperty(this, "flushPromise", {
|
|
290
|
+
enumerable: true,
|
|
291
|
+
configurable: true,
|
|
292
|
+
writable: true,
|
|
293
|
+
value: void 0
|
|
294
|
+
});
|
|
295
|
+
_SimpleDB_closePromise.set(this, null);
|
|
296
|
+
_SimpleDB_startPromise.set(this, null);
|
|
297
|
+
_SimpleDB_initialized.set(this, false);
|
|
298
|
+
/**
|
|
299
|
+
* The database lifecycle state. This is for internal use only.
|
|
300
|
+
*
|
|
301
|
+
* @internal
|
|
302
|
+
*/
|
|
303
|
+
Object.defineProperty(this, "lifecycleState", {
|
|
304
|
+
enumerable: true,
|
|
305
|
+
configurable: true,
|
|
306
|
+
writable: true,
|
|
307
|
+
value: void 0
|
|
308
|
+
});
|
|
309
|
+
/**
|
|
310
|
+
* The number of queued operations across all tables, so query execution
|
|
311
|
+
* points skip the flush entirely when nothing is pending. This is for
|
|
312
|
+
* internal use only.
|
|
313
|
+
*
|
|
314
|
+
* @defaultValue `0`
|
|
315
|
+
* @internal
|
|
316
|
+
*/
|
|
317
|
+
Object.defineProperty(this, "pendingCount", {
|
|
318
|
+
enumerable: true,
|
|
319
|
+
configurable: true,
|
|
320
|
+
writable: true,
|
|
321
|
+
value: void 0
|
|
322
|
+
});
|
|
323
|
+
/**
|
|
324
|
+
* A counter stamping queued operations with their position in program
|
|
325
|
+
* order across all tables, so flushes replay them in the order they were
|
|
326
|
+
* queued. This is for internal use only.
|
|
327
|
+
*
|
|
328
|
+
* @defaultValue `0`
|
|
329
|
+
* @internal
|
|
330
|
+
*/
|
|
331
|
+
Object.defineProperty(this, "opSequence", {
|
|
332
|
+
enumerable: true,
|
|
333
|
+
configurable: true,
|
|
334
|
+
writable: true,
|
|
335
|
+
value: void 0
|
|
336
|
+
});
|
|
337
|
+
/**
|
|
338
|
+
* A flag indicating that the spatial extension has been loaded on this
|
|
339
|
+
* connection, so it's only loaded once. This is for internal use only.
|
|
340
|
+
*
|
|
341
|
+
* @defaultValue `false`
|
|
342
|
+
* @internal
|
|
343
|
+
*/
|
|
344
|
+
Object.defineProperty(this, "spatialLoaded", {
|
|
345
|
+
enumerable: true,
|
|
346
|
+
configurable: true,
|
|
347
|
+
writable: true,
|
|
348
|
+
value: void 0
|
|
349
|
+
});
|
|
189
350
|
/**
|
|
190
351
|
* A flag indicating whether to use DuckDB's external file cache.
|
|
191
352
|
*
|
|
@@ -211,19 +372,20 @@ class SimpleDB extends Simple_js_1.default {
|
|
|
211
372
|
value: void 0
|
|
212
373
|
});
|
|
213
374
|
/**
|
|
214
|
-
* The path to the directory used for temporary files when data exceeds the memory limit (e.g., `'/tmp/duckdb_swap'`). Defaults to `.tmp` for in-memory databases or `<file>.tmp` for file-based databases. Temporary directories are automatically removed when calling `
|
|
375
|
+
* The path to the directory used for temporary files when data exceeds the memory limit (e.g., `'/tmp/duckdb_swap'`). Defaults to `.tmp` for in-memory databases or `<file>.tmp` for file-based databases. Temporary directories are automatically removed when calling `close()`.
|
|
215
376
|
*
|
|
216
377
|
* @defaultValue `undefined`
|
|
217
378
|
* @category Properties
|
|
218
379
|
*/
|
|
219
|
-
Object.defineProperty(this, "
|
|
380
|
+
Object.defineProperty(this, "tempDir", {
|
|
220
381
|
enumerable: true,
|
|
221
382
|
configurable: true,
|
|
222
383
|
writable: true,
|
|
223
384
|
value: void 0
|
|
224
385
|
});
|
|
225
386
|
/**
|
|
226
|
-
* The path to the
|
|
387
|
+
* The path to the persistent DuckDB database, opened or created on first use.
|
|
388
|
+
* If not provided, an in-memory database is used. Imports and exports do not change this path.
|
|
227
389
|
*
|
|
228
390
|
* @defaultValue `:memory:`
|
|
229
391
|
* @category Properties
|
|
@@ -235,7 +397,7 @@ class SimpleDB extends Simple_js_1.default {
|
|
|
235
397
|
value: void 0
|
|
236
398
|
});
|
|
237
399
|
/**
|
|
238
|
-
*
|
|
400
|
+
* Whether to replace an existing DuckDB file on first use instead of opening it.
|
|
239
401
|
*
|
|
240
402
|
* @defaultValue `false`
|
|
241
403
|
* @category Properties
|
|
@@ -246,10 +408,30 @@ class SimpleDB extends Simple_js_1.default {
|
|
|
246
408
|
writable: true,
|
|
247
409
|
value: void 0
|
|
248
410
|
});
|
|
411
|
+
/**
|
|
412
|
+
* Whether the persistent DuckDB file is opened read-only. Requires an existing
|
|
413
|
+
* file and cannot be combined with `overwrite`. DuckDB rejects writes to it.
|
|
414
|
+
*
|
|
415
|
+
* @defaultValue `false`
|
|
416
|
+
* @category Properties
|
|
417
|
+
* @example
|
|
418
|
+
* ```ts
|
|
419
|
+
* const sdb = new SimpleDB({ file: "./archive.duckdb", readOnly: true });
|
|
420
|
+
* const table = await sdb.getTable("employees");
|
|
421
|
+
* await table.log();
|
|
422
|
+
* await sdb.close();
|
|
423
|
+
* ```
|
|
424
|
+
*/
|
|
425
|
+
Object.defineProperty(this, "readOnly", {
|
|
426
|
+
enumerable: true,
|
|
427
|
+
configurable: true,
|
|
428
|
+
writable: true,
|
|
429
|
+
value: void 0
|
|
430
|
+
});
|
|
249
431
|
/**
|
|
250
432
|
* The class used to create table instances. Defaults to `SimpleTable`.
|
|
251
433
|
* Override this property when subclassing to ensure all table-creating
|
|
252
|
-
* methods (e.g., `newTable()`, `
|
|
434
|
+
* methods (e.g., `newTable()`, `clone()`) return instances of your
|
|
253
435
|
* custom table class.
|
|
254
436
|
*
|
|
255
437
|
* @defaultValue `SimpleTable`
|
|
@@ -280,10 +462,13 @@ class SimpleDB extends Simple_js_1.default {
|
|
|
280
462
|
value: SimpleTable_js_1.default
|
|
281
463
|
});
|
|
282
464
|
this.file = options.file ?? ":memory:";
|
|
465
|
+
this.logSQL = options.logSQL ?? false;
|
|
466
|
+
this.explainSQL = options.explainSQL ?? false;
|
|
283
467
|
this.overwrite = options.overwrite ?? false;
|
|
468
|
+
this.readOnly = options.readOnly ?? false;
|
|
284
469
|
this.logDuration = options.logDuration ?? false;
|
|
285
470
|
this.tableIncrement = 1;
|
|
286
|
-
this
|
|
471
|
+
(0, tableRegistry_js_1.initializeTableRegistry)(this);
|
|
287
472
|
this.cacheSourcesUsed = [];
|
|
288
473
|
this.cacheVerbose = options.cacheVerbose ?? false;
|
|
289
474
|
this.cacheTimeSaved = 0;
|
|
@@ -293,7 +478,12 @@ class SimpleDB extends Simple_js_1.default {
|
|
|
293
478
|
? false
|
|
294
479
|
: options.duckDbCache;
|
|
295
480
|
this.memoryLimit = options.memoryLimit;
|
|
296
|
-
this.
|
|
481
|
+
this.tempDir = options.tempDir;
|
|
482
|
+
this.flushPromise = null;
|
|
483
|
+
this.lifecycleState = "open";
|
|
484
|
+
this.pendingCount = 0;
|
|
485
|
+
this.opSequence = 0;
|
|
486
|
+
this.spatialLoaded = false;
|
|
297
487
|
this.runQuery = runQuery_js_1.default;
|
|
298
488
|
if (this.cacheVerbose || this.logDuration) {
|
|
299
489
|
this.durationStart = Date.now();
|
|
@@ -307,58 +497,19 @@ class SimpleDB extends Simple_js_1.default {
|
|
|
307
497
|
* @category Lifecycle
|
|
308
498
|
*/
|
|
309
499
|
async start() {
|
|
310
|
-
if (this.
|
|
311
|
-
|
|
312
|
-
if ((0, getExtension_js_1.default)(this.file) !== "db") {
|
|
313
|
-
throw new Error(`The file extension must be .db. The current file is ${this.file}.`);
|
|
314
|
-
}
|
|
315
|
-
if ((0, node_fs_1.existsSync)(this.file) && this.overwrite === false) {
|
|
316
|
-
throw new Error(`The file ${this.file} already exists. Set the overwrite option to true to overwrite it. Otherwise, use the loadDB() method to load an existing database with more options.`);
|
|
317
|
-
}
|
|
318
|
-
else if ((0, node_fs_1.existsSync)(this.file) && this.overwrite === true) {
|
|
319
|
-
(0, node_fs_1.rmSync)(this.file);
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
this.db = await node_api_1.DuckDBInstance.create(this.file);
|
|
323
|
-
this.connection = await this.db.connect();
|
|
324
|
-
// By default, DuckDB does not compress in-memory databases, so we enable it here.
|
|
325
|
-
if (this.file === ":memory:") {
|
|
326
|
-
await this.customQuery("ATTACH OR REPLACE ':memory:' AS memory (COMPRESS);");
|
|
327
|
-
}
|
|
328
|
-
if (this.duckDbCache === true) {
|
|
329
|
-
await this.customQuery("SET enable_external_file_cache=true;");
|
|
330
|
-
}
|
|
331
|
-
else if (this.duckDbCache === false) {
|
|
332
|
-
await this.customQuery("SET enable_external_file_cache=false;");
|
|
333
|
-
}
|
|
334
|
-
if (this.progressBar) {
|
|
335
|
-
await this.customQuery(`SET enable_progress_bar = TRUE; SET progress_bar_time = 0;`);
|
|
336
|
-
}
|
|
337
|
-
if (this.memoryLimit !== undefined) {
|
|
338
|
-
await this.customQuery(`SET memory_limit = '${this.memoryLimit}';`);
|
|
339
|
-
}
|
|
340
|
-
if (this.tempDirectory !== undefined) {
|
|
341
|
-
await this.customQuery(`SET temp_directory = '${this.tempDirectory}';`);
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
return this;
|
|
345
|
-
}
|
|
346
|
-
/**
|
|
347
|
-
* Adds a SimpleTable instance to the internal list of tables.
|
|
348
|
-
*
|
|
349
|
-
* @param table - The SimpleTable instance to add.
|
|
350
|
-
* @internal
|
|
351
|
-
* @category Table Management
|
|
352
|
-
*/
|
|
353
|
-
pushTable(table) {
|
|
354
|
-
const TableClass = this.tableClass;
|
|
355
|
-
if (!(table instanceof TableClass)) {
|
|
356
|
-
throw new Error(`The table must be an instance of ${TableClass.name}.`);
|
|
500
|
+
if (this.lifecycleState === "closed") {
|
|
501
|
+
throw new Error(`start() cannot use a SimpleDB that is ${this.lifecycleState}.`);
|
|
357
502
|
}
|
|
358
|
-
if (this
|
|
359
|
-
|
|
503
|
+
if (__classPrivateFieldGet(this, _SimpleDB_startPromise, "f") === null) {
|
|
504
|
+
// The setup queries below must run before any queued operation, so
|
|
505
|
+
// they must not trigger a flush.
|
|
506
|
+
__classPrivateFieldSet(this, _SimpleDB_startPromise, (0, flushAllTables_js_1.runExemptFromFlush)(this, async () => {
|
|
507
|
+
await __classPrivateFieldGet(this, _SimpleDB_instances, "m", _SimpleDB_setup).call(this);
|
|
508
|
+
__classPrivateFieldSet(this, _SimpleDB_initialized, true, "f");
|
|
509
|
+
return this;
|
|
510
|
+
}), "f");
|
|
360
511
|
}
|
|
361
|
-
this
|
|
512
|
+
return await __classPrivateFieldGet(this, _SimpleDB_startPromise, "f");
|
|
362
513
|
}
|
|
363
514
|
/**
|
|
364
515
|
* Creates a new SimpleTable instance within the database.
|
|
@@ -370,39 +521,49 @@ class SimpleDB extends Simple_js_1.default {
|
|
|
370
521
|
* @example
|
|
371
522
|
* ```ts
|
|
372
523
|
* // Create a table with a default name (e.g., "table1", "table2", etc.)
|
|
373
|
-
* const dataTable = sdb
|
|
524
|
+
* const dataTable = await sdb
|
|
525
|
+
* .newTable()
|
|
526
|
+
* .loadArray([{ value: 1 }])
|
|
527
|
+
* .log();
|
|
374
528
|
* ```
|
|
375
529
|
*
|
|
376
530
|
* @example
|
|
377
531
|
* ```ts
|
|
378
532
|
* // Create a table with a specific name
|
|
379
|
-
* const employees = sdb
|
|
533
|
+
* const employees = await sdb
|
|
534
|
+
* .newTable("employees")
|
|
535
|
+
* .loadData("employees.csv")
|
|
536
|
+
* .log();
|
|
380
537
|
* ```
|
|
381
538
|
*/
|
|
382
539
|
newTable(name) {
|
|
540
|
+
if (this.lifecycleState !== "open") {
|
|
541
|
+
throw new Error(`newTable() cannot use a SimpleDB that is ${this.lifecycleState}.`);
|
|
542
|
+
}
|
|
383
543
|
const TableClass = this.tableClass;
|
|
384
|
-
// SHOULD MATCH
|
|
544
|
+
// SHOULD MATCH clone
|
|
385
545
|
let table;
|
|
386
546
|
if (typeof name === "string") {
|
|
387
547
|
table = new TableClass(name, this, {
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
types: this.types,
|
|
548
|
+
rowsToLog: this.rowsToLog,
|
|
549
|
+
charsToLog: this.charsToLog,
|
|
550
|
+
typesToLog: this.typesToLog,
|
|
392
551
|
});
|
|
393
552
|
table.defaultTableName = false;
|
|
394
553
|
}
|
|
395
554
|
else {
|
|
555
|
+
while (this.getTables().some((table) => table.name.toLowerCase() === `table${this.tableIncrement}`)) {
|
|
556
|
+
this.tableIncrement++;
|
|
557
|
+
}
|
|
396
558
|
table = new TableClass(`table${this.tableIncrement}`, this, {
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
types: this.types,
|
|
559
|
+
rowsToLog: this.rowsToLog,
|
|
560
|
+
charsToLog: this.charsToLog,
|
|
561
|
+
typesToLog: this.typesToLog,
|
|
401
562
|
});
|
|
402
563
|
table.defaultTableName = true;
|
|
403
564
|
this.tableIncrement += 1;
|
|
404
565
|
}
|
|
405
|
-
|
|
566
|
+
(0, tableRegistry_js_1.registerTable)(this, table);
|
|
406
567
|
return table;
|
|
407
568
|
}
|
|
408
569
|
/**
|
|
@@ -416,22 +577,25 @@ class SimpleDB extends Simple_js_1.default {
|
|
|
416
577
|
* ```ts
|
|
417
578
|
* // Retrieve the "employees" table
|
|
418
579
|
* const employees = await sdb.getTable("employees");
|
|
580
|
+
* await employees.log();
|
|
419
581
|
* ```
|
|
420
582
|
*/
|
|
421
583
|
async getTable(name) {
|
|
422
|
-
|
|
584
|
+
await this.start();
|
|
585
|
+
const tables = this.getTables();
|
|
586
|
+
const table = tables.find((t) => t.name === name);
|
|
423
587
|
if (table) {
|
|
424
588
|
return await table;
|
|
425
589
|
}
|
|
426
590
|
else {
|
|
427
|
-
throw new Error(
|
|
591
|
+
throw new Error((0, formatMissingTables_js_1.default)("getTable()", [name], tables.map((availableTable) => availableTable.name)));
|
|
428
592
|
}
|
|
429
593
|
}
|
|
430
594
|
/**
|
|
431
595
|
* Removes one or more tables from the database.
|
|
432
596
|
*
|
|
433
597
|
* @param tables - A single table or an array of tables to remove, specified by name or as SimpleTable instances. Pass `"all"` to remove all tables.
|
|
434
|
-
* @returns A promise that resolves
|
|
598
|
+
* @returns A promise that resolves to the database, so methods can be chained.
|
|
435
599
|
* @category Table Management
|
|
436
600
|
*
|
|
437
601
|
* @example
|
|
@@ -461,24 +625,14 @@ class SimpleDB extends Simple_js_1.default {
|
|
|
461
625
|
* ```
|
|
462
626
|
*/
|
|
463
627
|
async removeTables(tables) {
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
: Array.isArray(tables)
|
|
467
|
-
? tables
|
|
468
|
-
: [tables];
|
|
469
|
-
await (0, queryDB_js_1.default)(this, tablesToBeRemoved.map((d) => `DROP TABLE "${d instanceof SimpleTable_js_1.default ? d.name : d}";`).join("\n"), (0, mergeOptions_js_1.default)(this, {
|
|
470
|
-
table: null,
|
|
471
|
-
method: "removeTable()",
|
|
472
|
-
parameters: {},
|
|
473
|
-
}));
|
|
474
|
-
const tablesNamesToBeRemoved = tablesToBeRemoved.map((t) => t instanceof SimpleTable_js_1.default ? t.name : t);
|
|
475
|
-
this.tables = this.tables.filter((t) => !tablesNamesToBeRemoved.includes(t.name));
|
|
628
|
+
await (0, removeTables_js_1.default)(this, tables);
|
|
629
|
+
return this;
|
|
476
630
|
}
|
|
477
631
|
/**
|
|
478
632
|
* Selects one or more tables to keep in the database, removing all others.
|
|
479
633
|
*
|
|
480
634
|
* @param tables - A single table or an array of tables to select, specified by name or as SimpleTable instances.
|
|
481
|
-
* @returns A promise that resolves
|
|
635
|
+
* @returns A promise that resolves to the database, so methods can be chained.
|
|
482
636
|
* @category Table Management
|
|
483
637
|
*
|
|
484
638
|
* @example
|
|
@@ -502,20 +656,8 @@ class SimpleDB extends Simple_js_1.default {
|
|
|
502
656
|
* ```
|
|
503
657
|
*/
|
|
504
658
|
async selectTables(tables) {
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
if (!(await this.hasTable(table))) {
|
|
508
|
-
throw new Error(`Table ${table} not found.`);
|
|
509
|
-
}
|
|
510
|
-
}
|
|
511
|
-
const tablesToBeRemoved = this.tables.filter((t) => !tablesToBeSelected.includes(t.name));
|
|
512
|
-
await (0, queryDB_js_1.default)(this, tablesToBeRemoved.map((d) => `DROP TABLE "${d instanceof SimpleTable_js_1.default ? d.name : d}";`).join("\n"), (0, mergeOptions_js_1.default)(this, {
|
|
513
|
-
table: null,
|
|
514
|
-
method: "removeTable()",
|
|
515
|
-
parameters: {},
|
|
516
|
-
}));
|
|
517
|
-
const tablesNamesToBeRemoved = tablesToBeRemoved.map((t) => t instanceof SimpleTable_js_1.default ? t.name : t);
|
|
518
|
-
this.tables = this.tables.filter((t) => !tablesNamesToBeRemoved.includes(t.name));
|
|
659
|
+
await (0, selectTables_js_1.default)(this, tables);
|
|
660
|
+
return this;
|
|
519
661
|
}
|
|
520
662
|
/**
|
|
521
663
|
* Returns an array of all table names in the database, sorted alphabetically.
|
|
@@ -536,7 +678,7 @@ class SimpleDB extends Simple_js_1.default {
|
|
|
536
678
|
/**
|
|
537
679
|
* Logs the names of all tables in the database to the console, sorted alphabetically.
|
|
538
680
|
*
|
|
539
|
-
* @returns A promise that resolves
|
|
681
|
+
* @returns A promise that resolves to the database, so methods can be chained.
|
|
540
682
|
* @category Table Management
|
|
541
683
|
*
|
|
542
684
|
* @example
|
|
@@ -554,21 +696,25 @@ class SimpleDB extends Simple_js_1.default {
|
|
|
554
696
|
else {
|
|
555
697
|
console.log(`\nSimpleDB - No tables found.`);
|
|
556
698
|
}
|
|
699
|
+
return this;
|
|
557
700
|
}
|
|
558
701
|
/**
|
|
559
702
|
* Returns an array of all SimpleTable instances in the database.
|
|
560
703
|
*
|
|
561
|
-
*
|
|
704
|
+
* The returned array is a snapshot and cannot mutate the database's internal
|
|
705
|
+
* table registry.
|
|
706
|
+
*
|
|
707
|
+
* @returns A read-only array of SimpleTable instances.
|
|
562
708
|
* @category Table Management
|
|
563
709
|
*
|
|
564
710
|
* @example
|
|
565
711
|
* ```ts
|
|
566
712
|
* // Get all SimpleTable instances
|
|
567
|
-
* const tables =
|
|
713
|
+
* const tables = sdb.getTables();
|
|
568
714
|
* ```
|
|
569
715
|
*/
|
|
570
|
-
|
|
571
|
-
return
|
|
716
|
+
getTables() {
|
|
717
|
+
return (0, tableRegistry_js_1.listRegisteredTables)(this);
|
|
572
718
|
}
|
|
573
719
|
/**
|
|
574
720
|
* Checks if a table exists in the database.
|
|
@@ -612,7 +758,7 @@ class SimpleDB extends Simple_js_1.default {
|
|
|
612
758
|
*/
|
|
613
759
|
async getExtensions() {
|
|
614
760
|
return (await (0, queryDB_js_1.default)(this, `FROM duckdb_extensions();`, (0, mergeOptions_js_1.default)(this, {
|
|
615
|
-
|
|
761
|
+
returnData: true,
|
|
616
762
|
table: null,
|
|
617
763
|
method: "getExtensions()",
|
|
618
764
|
parameters: {},
|
|
@@ -620,15 +766,20 @@ class SimpleDB extends Simple_js_1.default {
|
|
|
620
766
|
}
|
|
621
767
|
/**
|
|
622
768
|
* Executes a custom SQL query directly against the DuckDB instance.
|
|
769
|
+
* Queries run in UTC. When data is returned, temporal values use the same
|
|
770
|
+
* JavaScript representations as `SimpleTable.getData()`.
|
|
623
771
|
*
|
|
624
|
-
*
|
|
772
|
+
* `customQuery()` bypasses the dependency and table-generation tracking used
|
|
773
|
+
* by `SimpleTable.cache()`. Reading or changing a table with `customQuery()`
|
|
774
|
+
* can therefore cause `cache()` to return stale data. Include a value that
|
|
775
|
+
* identifies the custom query's dependencies in the cache's `options.inputs`
|
|
776
|
+
* (such as a table content hash), or use tracked `SimpleTable` methods.
|
|
625
777
|
*
|
|
626
778
|
* @param query - The SQL query string to execute.
|
|
627
779
|
* @param options - Configuration options for the query.
|
|
628
|
-
* @param options.
|
|
780
|
+
* @param options.returnData - If `true`, the query result is returned. Defaults to `false`.
|
|
629
781
|
* @param options.table - The name of the table associated with the query, primarily used for debugging and logging.
|
|
630
|
-
* @
|
|
631
|
-
* @returns A promise that resolves to the query result as an array of objects if `returnDataFrom` is `"query"`, otherwise `null`.
|
|
782
|
+
* @returns A promise that resolves to the query result as an array of objects if `returnData` is `true`, otherwise `null`.
|
|
632
783
|
* @category DuckDB
|
|
633
784
|
*
|
|
634
785
|
* @example
|
|
@@ -642,29 +793,33 @@ class SimpleDB extends Simple_js_1.default {
|
|
|
642
793
|
* // Execute a query and return the results
|
|
643
794
|
* const youngEmployees = await sdb.customQuery(
|
|
644
795
|
* "SELECT * FROM employees WHERE age < 30",
|
|
645
|
-
* {
|
|
796
|
+
* { returnData: true }
|
|
646
797
|
* );
|
|
647
798
|
* console.log(youngEmployees);
|
|
648
799
|
* ```
|
|
649
800
|
*/
|
|
650
801
|
async customQuery(query, options = {}) {
|
|
651
802
|
return await (0, queryDB_js_1.default)(this, query, (0, mergeOptions_js_1.default)(this, {
|
|
652
|
-
|
|
803
|
+
returnData: options.returnData ?? false,
|
|
653
804
|
table: options.table ?? null,
|
|
654
805
|
method: "customQuery()",
|
|
655
806
|
parameters: { query, options },
|
|
656
|
-
types: options.types,
|
|
657
807
|
}));
|
|
658
808
|
}
|
|
659
809
|
/**
|
|
660
|
-
*
|
|
661
|
-
*
|
|
662
|
-
*
|
|
663
|
-
*
|
|
664
|
-
*
|
|
665
|
-
*
|
|
666
|
-
*
|
|
667
|
-
*
|
|
810
|
+
* Imports a copy of a `.db` or `.duckdb` (DuckDB) or `.sqlite` (SQLite)
|
|
811
|
+
* file into the current database. The source is opened read-only and detached
|
|
812
|
+
* after importing; subsequent transformations do not modify the source file.
|
|
813
|
+
* Imports work with in-memory and writable persistent databases. Existing
|
|
814
|
+
* table-name conflicts are rejected and a failed copy is rolled back.
|
|
815
|
+
*
|
|
816
|
+
* DuckDB files restore embedded SDA index definitions when present. SQLite
|
|
817
|
+
* imports copy data without SDA index metadata. The `__sda` schema is reserved
|
|
818
|
+
* for SDA metadata.
|
|
819
|
+
* To edit an existing DuckDB file in place, use `new SimpleDB({ file })`.
|
|
820
|
+
*
|
|
821
|
+
* @param file - The relative or absolute path to the database file.
|
|
822
|
+
* @returns A promise that resolves to the database, so methods can be chained.
|
|
668
823
|
* @category File Operations
|
|
669
824
|
*
|
|
670
825
|
* @example
|
|
@@ -675,85 +830,42 @@ class SimpleDB extends Simple_js_1.default {
|
|
|
675
830
|
*
|
|
676
831
|
* @example
|
|
677
832
|
* ```ts
|
|
678
|
-
* //
|
|
679
|
-
* await sdb.loadDB("./my_database.sqlite"
|
|
833
|
+
* // Import SQLite tables without modifying the original file
|
|
834
|
+
* await sdb.loadDB("./my_database.sqlite");
|
|
680
835
|
* ```
|
|
681
836
|
*
|
|
682
837
|
* @example
|
|
683
838
|
* ```ts
|
|
684
|
-
* //
|
|
685
|
-
*
|
|
839
|
+
* // Import a copy into a persistent DuckDB database
|
|
840
|
+
* const sdb = new SimpleDB({ file: "./analysis.duckdb" });
|
|
841
|
+
* await sdb.loadDB("./archive.db");
|
|
842
|
+
* await sdb.close();
|
|
686
843
|
* ```
|
|
687
844
|
*/
|
|
688
|
-
async loadDB(file
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
if (!(0, node_fs_1.existsSync)(file)) {
|
|
692
|
-
throw new Error(`The file ${file} does not exist.`);
|
|
693
|
-
}
|
|
694
|
-
const extension = (0, getExtension_js_1.default)(file);
|
|
695
|
-
const allIndexesFile = `${file.replace(`.${extension}`, "")}_indexes.json`;
|
|
696
|
-
const vssIndex = (0, checkVssIndexes_js_1.default)(allIndexesFile);
|
|
697
|
-
if (vssIndex) {
|
|
698
|
-
await this.customQuery(`INSTALL vss; LOAD vss;`);
|
|
699
|
-
}
|
|
700
|
-
if (extension === "db") {
|
|
701
|
-
if (detach) {
|
|
702
|
-
await (0, queryDB_js_1.default)(this, `ATTACH '${(0, cleanPath_js_1.default)(file)}' AS ${name};
|
|
703
|
-
COPY FROM DATABASE ${name} TO memory;
|
|
704
|
-
DETACH ${name};`, (0, mergeOptions_js_1.default)(this, {
|
|
705
|
-
returnDataFrom: "none",
|
|
706
|
-
table: null,
|
|
707
|
-
method: "loadDB()",
|
|
708
|
-
parameters: {},
|
|
709
|
-
}));
|
|
710
|
-
}
|
|
711
|
-
else {
|
|
712
|
-
await (0, queryDB_js_1.default)(this, `ATTACH '${(0, cleanPath_js_1.default)(file)}' AS ${name};
|
|
713
|
-
USE ${name};`, (0, mergeOptions_js_1.default)(this, {
|
|
714
|
-
returnDataFrom: "none",
|
|
715
|
-
table: null,
|
|
716
|
-
method: "loadDB()",
|
|
717
|
-
parameters: {},
|
|
718
|
-
}));
|
|
719
|
-
}
|
|
720
|
-
}
|
|
721
|
-
else if (extension === "sqlite") {
|
|
722
|
-
if (detach) {
|
|
723
|
-
await (0, queryDB_js_1.default)(this, `INSTALL sqlite; LOAD sqlite;
|
|
724
|
-
ATTACH '${(0, cleanPath_js_1.default)(file)}' AS ${name} (TYPE SQLITE);
|
|
725
|
-
COPY FROM DATABASE ${name} TO memory;
|
|
726
|
-
DETACH ${name};`, (0, mergeOptions_js_1.default)(this, {
|
|
727
|
-
returnDataFrom: "none",
|
|
728
|
-
table: null,
|
|
729
|
-
method: "loadDB()",
|
|
730
|
-
parameters: {},
|
|
731
|
-
}));
|
|
732
|
-
}
|
|
733
|
-
else {
|
|
734
|
-
await (0, queryDB_js_1.default)(this, `INSTALL sqlite; LOAD sqlite;
|
|
735
|
-
ATTACH '${(0, cleanPath_js_1.default)(file)}' AS ${name} (TYPE SQLITE);
|
|
736
|
-
USE ${name};`, (0, mergeOptions_js_1.default)(this, {
|
|
737
|
-
returnDataFrom: "none",
|
|
738
|
-
table: null,
|
|
739
|
-
method: "loadDB()",
|
|
740
|
-
parameters: {},
|
|
741
|
-
}));
|
|
742
|
-
}
|
|
743
|
-
}
|
|
744
|
-
else {
|
|
745
|
-
throw new Error(`The extension ${extension} is not supported. Please use .db or .sqlite instead.`);
|
|
746
|
-
}
|
|
747
|
-
await (0, setDbProps_js_1.default)(this, allIndexesFile);
|
|
845
|
+
async loadDB(file) {
|
|
846
|
+
await (0, loadDB_js_1.default)(this, file);
|
|
847
|
+
return this;
|
|
748
848
|
}
|
|
749
849
|
/**
|
|
750
|
-
*
|
|
751
|
-
*
|
|
850
|
+
* Exports a snapshot of the current database after executing pending work.
|
|
851
|
+
* Does not change the working database or where subsequent changes persist.
|
|
852
|
+
* DuckDB outputs (`.db` and `.duckdb`) preserve database objects and embed SDA
|
|
853
|
+
* index definitions in the reserved `__sda` schema.
|
|
854
|
+
*
|
|
855
|
+
* SQLite output (`.sqlite`) materializes main-schema tables and views as
|
|
856
|
+
* tables. It does not preserve DuckDB schemas, indexes, constraints, or SDA
|
|
857
|
+
* metadata, and SQLite type conversion may lose type information. Unsupported
|
|
858
|
+
* conversions fail without replacing an existing destination.
|
|
859
|
+
*
|
|
860
|
+
* Existing files require explicit overwrite permission. The completed export
|
|
861
|
+
* is published only after its connection is detached. Database files attached
|
|
862
|
+
* to this instance, directories, and symbolic links cannot be replaced.
|
|
752
863
|
*
|
|
753
|
-
* @param file - The absolute path to the output file
|
|
864
|
+
* @param file - The relative or absolute path to the output file.
|
|
754
865
|
* @param options - Configuration options for writing the database.
|
|
755
|
-
* @param options.
|
|
756
|
-
* @
|
|
866
|
+
* @param options.overwrite - If true, permits atomic replacement of an existing output file. Defaults to false.
|
|
867
|
+
* @param options.metadata - If false, omits logical SDA index definitions from DuckDB exports. Defaults to true. Does not control physical indexes; SQLite exports never include SDA metadata.
|
|
868
|
+
* @returns A promise that resolves to the database, so methods can be chained.
|
|
757
869
|
* @category File Operations
|
|
758
870
|
*
|
|
759
871
|
* @example
|
|
@@ -764,97 +876,202 @@ DETACH ${name};`, (0, mergeOptions_js_1.default)(this, {
|
|
|
764
876
|
*
|
|
765
877
|
* @example
|
|
766
878
|
* ```ts
|
|
767
|
-
* //
|
|
768
|
-
* await sdb.writeDB("./my_exported_database.
|
|
879
|
+
* // Explicitly replace an earlier snapshot
|
|
880
|
+
* await sdb.writeDB("./my_exported_database.duckdb", { overwrite: true });
|
|
881
|
+
* ```
|
|
882
|
+
*
|
|
883
|
+
* @example
|
|
884
|
+
* ```ts
|
|
885
|
+
* // Export table data for use with SQLite
|
|
886
|
+
* await sdb.writeDB("./my_exported_database.sqlite");
|
|
769
887
|
* ```
|
|
770
888
|
*/
|
|
771
889
|
async writeDB(file, options = {}) {
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
}));
|
|
802
|
-
}
|
|
803
|
-
else {
|
|
804
|
-
throw new Error(`The extension ${extension} is not supported. Please use .db or .sqlite instead.`);
|
|
890
|
+
await (0, writeDB_js_1.default)(this, file, options);
|
|
891
|
+
return this;
|
|
892
|
+
}
|
|
893
|
+
/**
|
|
894
|
+
* Executes all queued methods across every table in the database. Sync
|
|
895
|
+
* builder methods (like `filter()` or `convert()`) only queue their
|
|
896
|
+
* operation; execution happens when an async observer method (like
|
|
897
|
+
* `getData()`, `log()`, or `writeData()`) is awaited. Use `run()` when
|
|
898
|
+
* your script ends in pure mutations with nothing to observe and you want
|
|
899
|
+
* the work done now.
|
|
900
|
+
*
|
|
901
|
+
* The whole database is flushed in program order, so operations on
|
|
902
|
+
* different tables execute exactly in the order they were queued. This is
|
|
903
|
+
* the database-level counterpart to `SimpleTable.run()`.
|
|
904
|
+
*
|
|
905
|
+
* @returns A promise that resolves to the SimpleDB instance once the queued methods have been executed.
|
|
906
|
+
* @category Lifecycle
|
|
907
|
+
*
|
|
908
|
+
* @example
|
|
909
|
+
* ```ts
|
|
910
|
+
* // Nothing is observed after the mutations, so run() executes them.
|
|
911
|
+
* table1.loadData("data1.csv").convert({ price: "number" });
|
|
912
|
+
* table2.loadData("data2.csv").filter(`price > 0`);
|
|
913
|
+
* await sdb.run();
|
|
914
|
+
* ```
|
|
915
|
+
*/
|
|
916
|
+
async run() {
|
|
917
|
+
if (this.lifecycleState !== "open") {
|
|
918
|
+
throw new Error(`run() cannot use a SimpleDB that is ${this.lifecycleState}.`);
|
|
805
919
|
}
|
|
920
|
+
await (0, flushAllTables_js_1.default)(this);
|
|
921
|
+
return this;
|
|
806
922
|
}
|
|
807
923
|
/**
|
|
808
|
-
*
|
|
809
|
-
*
|
|
924
|
+
* Executes pending transformations, saves SDA metadata for writable persistent
|
|
925
|
+
* databases, and closes the connection and instance. Also cleans up temporary
|
|
926
|
+
* files and the cache. Does not copy, compact, or replace the database file.
|
|
810
927
|
*
|
|
811
928
|
* @returns A promise that resolves to the SimpleDB instance after cleanup.
|
|
929
|
+
* @throws An error after cleanup when pending execution or cleanup fails.
|
|
812
930
|
* @category Lifecycle
|
|
813
931
|
*
|
|
814
932
|
* @example
|
|
815
933
|
* ```ts
|
|
816
|
-
* //
|
|
817
|
-
*
|
|
934
|
+
* // close() executes queued transformations before cleaning up resources.
|
|
935
|
+
* table.loadData("data.csv").convert({ price: "number" });
|
|
936
|
+
* await sdb.close();
|
|
818
937
|
* ```
|
|
819
938
|
*/
|
|
820
|
-
async
|
|
821
|
-
if (this
|
|
822
|
-
await this
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
939
|
+
async close() {
|
|
940
|
+
if (__classPrivateFieldGet(this, _SimpleDB_closePromise, "f") !== null) {
|
|
941
|
+
return await __classPrivateFieldGet(this, _SimpleDB_closePromise, "f");
|
|
942
|
+
}
|
|
943
|
+
this.lifecycleState = "closing";
|
|
944
|
+
const closePromise = __classPrivateFieldGet(this, _SimpleDB_instances, "m", _SimpleDB_close).call(this);
|
|
945
|
+
__classPrivateFieldSet(this, _SimpleDB_closePromise, closePromise, "f");
|
|
946
|
+
return await closePromise;
|
|
947
|
+
}
|
|
948
|
+
}
|
|
949
|
+
_SimpleDB_closePromise = new WeakMap(), _SimpleDB_startPromise = new WeakMap(), _SimpleDB_initialized = new WeakMap(), _SimpleDB_instances = new WeakSet(), _SimpleDB_setup = async function _SimpleDB_setup() {
|
|
950
|
+
if (this.readOnly && (this.file === ":memory:" || this.overwrite)) {
|
|
951
|
+
throw new Error("readOnly requires an existing database file and cannot be combined with overwrite.");
|
|
952
|
+
}
|
|
953
|
+
if (this.file !== ":memory:") {
|
|
954
|
+
if ((0, getDbFileType_js_1.default)(this.file) !== "duckdb") {
|
|
955
|
+
throw new Error("Persistent databases must use .db or .duckdb. Use loadDB() to import SQLite files.");
|
|
956
|
+
}
|
|
957
|
+
if (this.readOnly && !(0, node_fs_1.existsSync)(this.file)) {
|
|
958
|
+
throw new Error(`The file ${this.file} does not exist.`);
|
|
959
|
+
}
|
|
960
|
+
if ((0, node_fs_1.existsSync)(this.file) && this.overwrite) {
|
|
828
961
|
(0, node_fs_1.rmSync)(this.file);
|
|
829
|
-
|
|
962
|
+
// A WAL belongs to the database being explicitly replaced.
|
|
963
|
+
(0, node_fs_1.rmSync)(`${this.file}.wal`, { force: true });
|
|
830
964
|
}
|
|
831
|
-
if (this.
|
|
965
|
+
if (!this.readOnly)
|
|
966
|
+
(0, createDirectory_js_1.default)(this.file);
|
|
967
|
+
}
|
|
968
|
+
this.db = await node_api_1.DuckDBInstance.create(this.file, this.readOnly ? { access_mode: "READ_ONLY" } : {});
|
|
969
|
+
this.connection = await this.db.connect();
|
|
970
|
+
// Keep temporal parsing, extraction, and serialization deterministic
|
|
971
|
+
// across machines. DuckDB otherwise inherits the process timezone.
|
|
972
|
+
await this.customQuery("SET TimeZone = 'UTC';");
|
|
973
|
+
// By default, DuckDB does not compress in-memory databases, so we enable it here.
|
|
974
|
+
if (this.file === ":memory:") {
|
|
975
|
+
await this.customQuery(`ATTACH OR REPLACE ':memory:' AS ${(0, quoteIdentifier_js_1.default)("memory")} (COMPRESS);`);
|
|
976
|
+
}
|
|
977
|
+
if (this.duckDbCache === true) {
|
|
978
|
+
await this.customQuery("SET enable_external_file_cache=true;");
|
|
979
|
+
}
|
|
980
|
+
else if (this.duckDbCache === false) {
|
|
981
|
+
await this.customQuery("SET enable_external_file_cache=false;");
|
|
982
|
+
}
|
|
983
|
+
if (this.progressBar) {
|
|
984
|
+
await this.customQuery(`SET enable_progress_bar = TRUE; SET progress_bar_time = 0;`);
|
|
985
|
+
}
|
|
986
|
+
if (this.memoryLimit !== undefined) {
|
|
987
|
+
await this.customQuery(`SET memory_limit = '${this.memoryLimit}';`);
|
|
988
|
+
}
|
|
989
|
+
if (this.tempDir !== undefined) {
|
|
990
|
+
await this.customQuery(`SET temp_directory = '${this.tempDir}';`);
|
|
991
|
+
}
|
|
992
|
+
if (this.file !== ":memory:") {
|
|
993
|
+
const database = await (0, getCurrentDatabase_js_1.default)(this);
|
|
994
|
+
const indexes = await (0, readDbMetadata_js_1.default)(this, database);
|
|
995
|
+
await (0, prepareDbExtensions_js_1.default)(this, database, indexes);
|
|
996
|
+
const existingNames = new Set((await this.getTableNames()).map((name) => name.toLowerCase()));
|
|
997
|
+
const conflicts = this.getTables().filter((table) => existingNames.has(table.name.toLowerCase()));
|
|
998
|
+
if (conflicts.length > 0) {
|
|
999
|
+
throw new Error(`Tables already exist in ${this.file}: ${conflicts.map((table) => table.name).join(", ")}. Use getTable() to access them.`);
|
|
1000
|
+
}
|
|
1001
|
+
await (0, setDbProps_js_1.default)(this, indexes);
|
|
1002
|
+
}
|
|
1003
|
+
}, _SimpleDB_close = async function _SimpleDB_close() {
|
|
1004
|
+
let operationError;
|
|
1005
|
+
try {
|
|
1006
|
+
await (0, flushAllTables_js_1.default)(this);
|
|
1007
|
+
if (this.file !== ":memory:" && !this.readOnly && __classPrivateFieldGet(this, _SimpleDB_initialized, "f")) {
|
|
1008
|
+
const database = await (0, getCurrentDatabase_js_1.default)(this);
|
|
1009
|
+
await (0, readDbMetadata_js_1.default)(this, database);
|
|
1010
|
+
await (0, writeDbMetadata_js_1.default)(this, database, (0, getDbIndexes_js_1.default)(this));
|
|
1011
|
+
await (0, queryDbFile_js_1.default)(this, `CHECKPOINT ${(0, quoteIdentifier_js_1.default)(database)};`);
|
|
1012
|
+
}
|
|
1013
|
+
}
|
|
1014
|
+
catch (error) {
|
|
1015
|
+
operationError = error;
|
|
1016
|
+
// A failed flush can requeue work belonging to other tables. The
|
|
1017
|
+
// connection is about to close, so release those captured values.
|
|
1018
|
+
(0, queueOp_js_1.discardAllPending)(this);
|
|
1019
|
+
}
|
|
1020
|
+
const cleanupErrors = [];
|
|
1021
|
+
if (this.db instanceof node_api_1.DuckDBInstance) {
|
|
1022
|
+
try {
|
|
832
1023
|
this.connection.closeSync();
|
|
1024
|
+
}
|
|
1025
|
+
catch (error) {
|
|
1026
|
+
cleanupErrors.push(error);
|
|
1027
|
+
}
|
|
1028
|
+
try {
|
|
833
1029
|
this.db.closeSync();
|
|
834
1030
|
}
|
|
835
|
-
|
|
1031
|
+
catch (error) {
|
|
1032
|
+
cleanupErrors.push(error);
|
|
1033
|
+
}
|
|
1034
|
+
}
|
|
1035
|
+
try {
|
|
1036
|
+
const tmpDir = this.tempDir ??
|
|
836
1037
|
(this.file === ":memory:" ? ".tmp" : `${this.file}.tmp`);
|
|
837
1038
|
if ((0, node_fs_1.existsSync)(tmpDir)) {
|
|
838
1039
|
(0, node_fs_1.rmSync)(tmpDir, { recursive: true });
|
|
839
1040
|
}
|
|
840
1041
|
(0, cleanCache_js_1.default)(this);
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
1042
|
+
}
|
|
1043
|
+
catch (error) {
|
|
1044
|
+
cleanupErrors.push(error);
|
|
1045
|
+
}
|
|
1046
|
+
this.lifecycleState = "closed";
|
|
1047
|
+
if (operationError !== undefined && cleanupErrors.length > 0) {
|
|
1048
|
+
throw new AggregateError([operationError, ...cleanupErrors], "Pending execution and database cleanup both failed.", { cause: operationError });
|
|
1049
|
+
}
|
|
1050
|
+
if (operationError !== undefined) {
|
|
1051
|
+
throw operationError;
|
|
1052
|
+
}
|
|
1053
|
+
if (cleanupErrors.length === 1) {
|
|
1054
|
+
throw cleanupErrors[0];
|
|
1055
|
+
}
|
|
1056
|
+
if (cleanupErrors.length > 1) {
|
|
1057
|
+
throw new AggregateError(cleanupErrors, "Multiple errors occurred while cleaning up the database.", { cause: cleanupErrors[0] });
|
|
1058
|
+
}
|
|
1059
|
+
if (typeof this.durationStart === "number") {
|
|
1060
|
+
let string = (0, prettyDuration_js_1.default)(this.durationStart, {
|
|
1061
|
+
prefix: "\n\nSimpleDB ran for ",
|
|
1062
|
+
});
|
|
1063
|
+
if (this.cacheTimeSaved > 0) {
|
|
1064
|
+
string += ` / ${(0, prettyDuration_js_1.default)(0, {
|
|
1065
|
+
end: this.cacheTimeSaved,
|
|
1066
|
+
})} saved by using the cache`;
|
|
856
1067
|
}
|
|
857
|
-
|
|
1068
|
+
if (this.cacheTimeWriting > 0) {
|
|
1069
|
+
string += ` / ${(0, prettyDuration_js_1.default)(0, {
|
|
1070
|
+
end: this.cacheTimeWriting,
|
|
1071
|
+
})} spent writing the cache`;
|
|
1072
|
+
}
|
|
1073
|
+
console.log(`${string}\n`);
|
|
858
1074
|
}
|
|
859
|
-
|
|
1075
|
+
return await this;
|
|
1076
|
+
};
|
|
860
1077
|
exports.default = SimpleDB;
|