@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/esm/methods/summarize.js
CHANGED
|
@@ -1,60 +1,147 @@
|
|
|
1
|
+
import quoteIdentifier from "../helpers/quoteIdentifier.js";
|
|
2
|
+
import getStatExpression, { allStats, isTemporalStatType, } from "../helpers/getStatExpression.js";
|
|
1
3
|
import mergeOptions from "../helpers/mergeOptions.js";
|
|
2
4
|
import queryDB from "../helpers/queryDB.js";
|
|
5
|
+
import queueOp from "../helpers/queueOp.js";
|
|
6
|
+
import resolveOutputTable from "../helpers/resolveOutputTable.js";
|
|
3
7
|
import stringToArray from "../helpers/stringToArray.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
8
|
+
export default function summarize(simpleTable, options = {}) {
|
|
9
|
+
options = structuredClone(options);
|
|
10
|
+
options.outputTable = resolveOutputTable(simpleTable, options.outputTable);
|
|
11
|
+
const columns = getSummarizeColumns(options);
|
|
12
|
+
const boundColumns = columns.length > 1 ? columns : [];
|
|
13
|
+
if (typeof options.outputTable === "string") {
|
|
14
|
+
// The output table instance is created at call time so it can be
|
|
15
|
+
// returned synchronously and chained on right away.
|
|
16
|
+
const outputTable = simpleTable.sdb.newTable(options.outputTable);
|
|
17
|
+
queueOp(outputTable, {
|
|
18
|
+
kind: "barrier",
|
|
19
|
+
method: "summarize()",
|
|
20
|
+
parameters: { options },
|
|
21
|
+
execute: async () => {
|
|
22
|
+
await queryDB(simpleTable, `CREATE OR REPLACE TABLE ${quoteIdentifier(outputTable.name)} AS ${summarizeSelect(`${quoteIdentifier(simpleTable.name)}`, await simpleTable.getTypes(), options)}`, mergeOptions(simpleTable, {
|
|
23
|
+
table: outputTable.name,
|
|
24
|
+
method: "summarize()",
|
|
25
|
+
parameters: { options },
|
|
26
|
+
values: boundColumns,
|
|
27
|
+
}));
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
return outputTable;
|
|
31
|
+
}
|
|
32
|
+
queueOp(simpleTable, {
|
|
33
|
+
kind: "fusable",
|
|
34
|
+
method: "summarize()",
|
|
35
|
+
parameters: { options },
|
|
36
|
+
needsSchema: true,
|
|
37
|
+
values: boundColumns,
|
|
38
|
+
buildSelect: (input, types) => summarizeSelect(input, types, options),
|
|
39
|
+
});
|
|
40
|
+
return simpleTable;
|
|
41
|
+
}
|
|
42
|
+
function getSummarizeColumns(options) {
|
|
43
|
+
const by = options.by ? stringToArray(options.by) : [];
|
|
44
|
+
return [
|
|
45
|
+
...new Set((options.columns ? stringToArray(options.columns) : []).filter((column) => !by.includes(column))),
|
|
46
|
+
];
|
|
47
|
+
}
|
|
48
|
+
function summarizeSelect(input, types, options) {
|
|
49
|
+
const by = options.by ? stringToArray(options.by) : [];
|
|
50
|
+
// Duplicated columns would duplicate rows now that the branches are combined
|
|
51
|
+
// with UNION ALL instead of a deduplicating UNION.
|
|
52
|
+
const columns = getSummarizeColumns(options);
|
|
53
|
+
let stats;
|
|
54
|
+
let outputColumns;
|
|
55
|
+
if (options.stats === undefined) {
|
|
56
|
+
stats = columns.length === 0 ? ["count"] : [...allStats];
|
|
57
|
+
}
|
|
58
|
+
else if (typeof options.stats === "string") {
|
|
59
|
+
stats = [options.stats];
|
|
60
|
+
}
|
|
61
|
+
else if (Array.isArray(options.stats)) {
|
|
62
|
+
stats = options.stats.length === 0 ? [...allStats] : options.stats;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
const entries = Object.entries(options.stats);
|
|
66
|
+
outputColumns = entries.map((d) => d[0]);
|
|
67
|
+
stats = entries.map((d) => d[1]);
|
|
68
|
+
}
|
|
69
|
+
// The `column` output column is a row key that distinguishes rows for
|
|
70
|
+
// different input columns, so it appears only when there is more than one.
|
|
71
|
+
const columnColumn = columns.length > 1;
|
|
72
|
+
// With datesToMs, dates are converted to milliseconds inside the aggregate
|
|
73
|
+
// expressions (same conversions as convert()), so the input table is left
|
|
74
|
+
// untouched instead of being rewritten.
|
|
75
|
+
const references = {};
|
|
76
|
+
const effectiveTypes = {};
|
|
77
|
+
for (const column of columns) {
|
|
78
|
+
const type = types[column];
|
|
79
|
+
if (options.datesToMs === true &&
|
|
80
|
+
typeof type === "string" &&
|
|
81
|
+
(type.includes("TIME") || type.includes("DATE"))) {
|
|
82
|
+
references[column] = type.includes("TIME")
|
|
83
|
+
? `(date_part('epoch', ${quoteIdentifier(column)}) * 1000)`
|
|
84
|
+
: `(epoch(${quoteIdentifier(column)}) * 1000)`;
|
|
85
|
+
effectiveTypes[column] = "BIGINT";
|
|
22
86
|
}
|
|
23
87
|
else {
|
|
24
|
-
|
|
88
|
+
references[column] = `${quoteIdentifier(column)}`;
|
|
89
|
+
effectiveTypes[column] = type;
|
|
25
90
|
}
|
|
26
91
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
92
|
+
const columnTypes = columns.map((d) => effectiveTypes[d]);
|
|
93
|
+
const doubleAndDate = columnTypes.includes("DOUBLE") &&
|
|
94
|
+
columnTypes.some(isTemporalStatType);
|
|
95
|
+
if (doubleAndDate) {
|
|
96
|
+
throw new Error("You are trying to summarize numbers and timestamps/dates/times. You can specify columns in the options (just numbers or just timestamps/dates/times) or convert your timestamps/dates/times to the number of ms since 1970-01-01 00:00:00 by passing the option { datesToMs: true }.");
|
|
97
|
+
}
|
|
98
|
+
const bySelect = by.map((d) => `${quoteIdentifier(d)}`).join(", ");
|
|
99
|
+
const groupBy = by.length > 0 ? `\nGROUP BY ${bySelect}` : "";
|
|
100
|
+
// With no columns, the only meaningful statistic is the row count, which
|
|
101
|
+
// doesn't need an input-column label (or any temporary column) at all.
|
|
102
|
+
if (columns.length === 0) {
|
|
103
|
+
const statColumns = stats.map((stat, i) => {
|
|
104
|
+
const name = outputColumns ? outputColumns[i] : stat;
|
|
105
|
+
return stat === "count"
|
|
106
|
+
? `CAST(COUNT(*) AS INTEGER) AS ${quoteIdentifier(name)}`
|
|
107
|
+
: `NULL AS ${quoteIdentifier(name)}`;
|
|
108
|
+
});
|
|
109
|
+
const orderBy = by.length > 0
|
|
110
|
+
? `\nORDER BY ${by.map((d) => `${quoteIdentifier(d)} ASC`).join(", ")}`
|
|
111
|
+
: "";
|
|
112
|
+
return `SELECT ${[
|
|
113
|
+
...by.map((d) => `${quoteIdentifier(d)}`),
|
|
114
|
+
...statColumns,
|
|
115
|
+
].join(", ")}\nFROM ${input}${groupBy}${orderBy}`;
|
|
116
|
+
}
|
|
117
|
+
// One UNION ALL branch per input column. DuckDB runs the branches as
|
|
118
|
+
// concurrent pipelines, which parallelizes the expensive aggregates
|
|
119
|
+
// (medians, distinct counts) better than computing them all in one scan.
|
|
120
|
+
const branches = [];
|
|
121
|
+
for (const column of columns) {
|
|
122
|
+
let hasAggregate = false;
|
|
123
|
+
const projections = stats.map((stat, j) => {
|
|
124
|
+
const name = outputColumns ? outputColumns[j] : stat;
|
|
125
|
+
const expression = getStatExpression(stat, effectiveTypes[column], references[column], options.decimals);
|
|
126
|
+
if (expression === null) {
|
|
127
|
+
return `NULL AS ${quoteIdentifier(name)}`;
|
|
42
128
|
}
|
|
129
|
+
hasAggregate = true;
|
|
130
|
+
return `${expression} AS ${quoteIdentifier(name)}`;
|
|
131
|
+
});
|
|
132
|
+
const select = `SELECT ${columnColumn ? `? AS ${quoteIdentifier("column")}, ` : ""}${bySelect === "" ? "" : `${bySelect}, `}${projections.join(", ")}`;
|
|
133
|
+
if (by.length === 0 && !hasAggregate) {
|
|
134
|
+
// Every statistic is NULL and there is nothing to group by: the branch
|
|
135
|
+
// is a single constant row, so the input is not even scanned.
|
|
136
|
+
branches.push(select);
|
|
43
137
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
options.values = options.values.filter((d) => !options.categories?.includes(d));
|
|
47
|
-
await queryDB(SimpleTable, summarizeQuery(SimpleTable.name, types, outputTable, options.values, options.categories, options.summaries, options, columns), mergeOptions(SimpleTable, {
|
|
48
|
-
table: outputTable,
|
|
49
|
-
method: "summarize()",
|
|
50
|
-
parameters: {
|
|
51
|
-
options,
|
|
52
|
-
},
|
|
53
|
-
}));
|
|
54
|
-
if (options.values.includes("rowNumberToSummarizeQuerySDA")) {
|
|
55
|
-
if (await SimpleTable.hasColumn("rowNumberToSummarizeQuerySDA")) {
|
|
56
|
-
await SimpleTable.removeColumns("rowNumberToSummarizeQuerySDA");
|
|
138
|
+
else {
|
|
139
|
+
branches.push(`${select}\nFROM ${input}${groupBy}`);
|
|
57
140
|
}
|
|
58
|
-
SimpleTable.sdb.customQuery(`ALTER TABLE "${outputTable}" DROP COLUMN value;`);
|
|
59
141
|
}
|
|
142
|
+
const orderByColumns = columnColumn ? ["column", ...by] : by;
|
|
143
|
+
const orderBy = orderByColumns.length > 0
|
|
144
|
+
? `\nORDER BY ${orderByColumns.map((d) => `${quoteIdentifier(d)} ASC`).join(", ")}`
|
|
145
|
+
: "";
|
|
146
|
+
return `${branches.join("\nUNION ALL\n")}${orderBy}`;
|
|
60
147
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trim.d.ts","sourceRoot":"","sources":["../../src/methods/trim.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,IAAI,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;CAC7B,QAuCP"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import quoteIdentifier from "../helpers/quoteIdentifier.js";
|
|
2
|
+
import stringToArray from "../helpers/stringToArray.js";
|
|
3
|
+
import queueOp from "../helpers/queueOp.js";
|
|
4
|
+
export default function trim(simpleTable, columns, options = {}) {
|
|
5
|
+
const cols = stringToArray(columns);
|
|
6
|
+
const side = options.side ?? "both";
|
|
7
|
+
const fn = side === "left"
|
|
8
|
+
? "LTRIM"
|
|
9
|
+
: side === "right"
|
|
10
|
+
? "RTRIM"
|
|
11
|
+
: side === "both"
|
|
12
|
+
? "TRIM"
|
|
13
|
+
: null;
|
|
14
|
+
if (fn === null) {
|
|
15
|
+
throw new Error(`trim() options.side must be "left", "right", or "both". Received ${JSON.stringify(options.side)}.`);
|
|
16
|
+
}
|
|
17
|
+
const specialCharacter = typeof options.character === "string" ? ", ?" : "";
|
|
18
|
+
queueOp(simpleTable, {
|
|
19
|
+
kind: "fusable",
|
|
20
|
+
method: "trim()",
|
|
21
|
+
parameters: { columns, options },
|
|
22
|
+
values: typeof options.character === "string"
|
|
23
|
+
? cols.map(() => options.character)
|
|
24
|
+
: undefined,
|
|
25
|
+
needsSchema: false,
|
|
26
|
+
buildSelect: (input) => `SELECT * REPLACE (${cols
|
|
27
|
+
.map((c) => `${fn}(${quoteIdentifier(c)}${specialCharacter}) AS ${quoteIdentifier(c)}`)
|
|
28
|
+
.join(", ")}) FROM ${input}`,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truncate.d.ts","sourceRoot":"","sources":["../../src/methods/truncate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC9B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,QAYf"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import quoteIdentifier from "../helpers/quoteIdentifier.js";
|
|
2
|
+
import queueOp from "../helpers/queueOp.js";
|
|
3
|
+
export default function truncate(simpleTable, column, length) {
|
|
4
|
+
queueOp(simpleTable, {
|
|
5
|
+
kind: "fusable",
|
|
6
|
+
method: "truncate()",
|
|
7
|
+
parameters: { column, length },
|
|
8
|
+
needsSchema: false,
|
|
9
|
+
buildSelect: (input) => `SELECT * REPLACE (LEFT(${quoteIdentifier(column)}, ${length}) AS ${quoteIdentifier(column)}) FROM ${input}`,
|
|
10
|
+
});
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../src/methods/union.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,KAAK,CAC3B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,QAuBlB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import quoteIdentifier from "../helpers/quoteIdentifier.js";
|
|
2
|
+
import queueOp from "../helpers/queueOp.js";
|
|
3
|
+
export default function union(simpleTable, column1, column2, newColumn) {
|
|
4
|
+
queueOp(simpleTable, {
|
|
5
|
+
kind: "fusable",
|
|
6
|
+
method: "union()",
|
|
7
|
+
parameters: { column1, column2, newColumn },
|
|
8
|
+
needsSchema: true,
|
|
9
|
+
needsSpatial: true,
|
|
10
|
+
buildSelect: (input, types) => {
|
|
11
|
+
// The schema type carries the projection (e.g. GEOMETRY('EPSG:4326')),
|
|
12
|
+
// so the cast keeps it on the new geometries.
|
|
13
|
+
const expression = `ST_Union(${quoteIdentifier(column1)}, ${quoteIdentifier(column2)})::${types[column1]}`;
|
|
14
|
+
return Object.keys(types).includes(newColumn)
|
|
15
|
+
? `SELECT * REPLACE (${expression} AS ${quoteIdentifier(newColumn)}) FROM ${input}`
|
|
16
|
+
: `SELECT *, ${expression} AS ${quoteIdentifier(newColumn)} FROM ${input}`;
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unnest.d.ts","sourceRoot":"","sources":["../../src/methods/unnest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,MAAM,CAC5B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,QAgBlB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import quoteIdentifier from "../helpers/quoteIdentifier.js";
|
|
2
|
+
import queueOp from "../helpers/queueOp.js";
|
|
3
|
+
export default function unnest(simpleTable, column, separator) {
|
|
4
|
+
queueOp(simpleTable, {
|
|
5
|
+
kind: "fusable",
|
|
6
|
+
method: "unnest()",
|
|
7
|
+
parameters: { column, separator },
|
|
8
|
+
values: [separator],
|
|
9
|
+
needsSchema: false,
|
|
10
|
+
buildSelect: (input) => `SELECT
|
|
11
|
+
* EXCLUDE ${quoteIdentifier(column)},
|
|
12
|
+
TRIM(UNNEST(SPLIT(${quoteIdentifier(column)}, ?))) AS ${quoteIdentifier(column)}
|
|
13
|
+
FROM ${input}`,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unnestGeo.d.ts","sourceRoot":"","sources":["../../src/methods/unnestGeo.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,WAAW,EAAE,WAAW,EACxB,MAAM,CAAC,EAAE,MAAM,QAmBhB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import quoteIdentifier from "../helpers/quoteIdentifier.js";
|
|
2
|
+
import findGeoColumnFromSchema from "../helpers/findGeoColumnFromSchema.js";
|
|
3
|
+
import queueOp from "../helpers/queueOp.js";
|
|
4
|
+
export default function unnestGeo(simpleTable, column) {
|
|
5
|
+
queueOp(simpleTable, {
|
|
6
|
+
kind: "fusable",
|
|
7
|
+
method: "unnestGeo()",
|
|
8
|
+
parameters: { column },
|
|
9
|
+
needsSchema: true,
|
|
10
|
+
needsSpatial: true,
|
|
11
|
+
buildSelect: (input, types) => {
|
|
12
|
+
const col = column ??
|
|
13
|
+
findGeoColumnFromSchema(types, "unnestGeo()", simpleTable.name);
|
|
14
|
+
// The recursive UNNEST adds a path column, removed by the outer SELECT.
|
|
15
|
+
return `SELECT * EXCLUDE(path) FROM (SELECT * EXCLUDE(${quoteIdentifier(col)}), UNNEST(ST_Dump(${quoteIdentifier(col)}), recursive := TRUE) FROM ${input})`;
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateColumn.d.ts","sourceRoot":"","sources":["../../src/methods/updateColumn.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,QAgBnB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import quoteIdentifier from "../helpers/quoteIdentifier.js";
|
|
2
|
+
import queueOp from "../helpers/queueOp.js";
|
|
3
|
+
export default function updateColumn(simpleTable, column, definition) {
|
|
4
|
+
queueOp(simpleTable, {
|
|
5
|
+
kind: "fusable",
|
|
6
|
+
method: "updateColumn()",
|
|
7
|
+
parameters: { column, definition },
|
|
8
|
+
// The schema is needed to keep the column's type: UPDATE casts the
|
|
9
|
+
// definition to the column's type on assignment.
|
|
10
|
+
needsSchema: true,
|
|
11
|
+
rawSQL: [definition],
|
|
12
|
+
preservesSchema: true,
|
|
13
|
+
buildSelect: (input, types) => `SELECT * REPLACE (CAST((${definition}) AS ${types[column]}) AS ${quoteIdentifier(column)}) FROM ${input}`,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type SimpleTable from "../class/SimpleTable.js";
|
|
2
|
+
type Row = {
|
|
3
|
+
[key: string]: unknown;
|
|
4
|
+
};
|
|
5
|
+
type DataModifier = (rows: Row[]) => Row[] | Promise<Row[]>;
|
|
6
|
+
type UpdateWithJSOptions = {
|
|
7
|
+
batchSize?: number;
|
|
8
|
+
};
|
|
9
|
+
export default function updateWithJS(simpleTable: SimpleTable, dataModifier: DataModifier, options?: UpdateWithJSOptions): void;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=updateWithJS.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateWithJS.d.ts","sourceRoot":"","sources":["../../src/methods/updateWithJS.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAC;AAKvD,KAAK,GAAG,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAEtC,KAAK,YAAY,GAAG,CAClB,IAAI,EAAE,GAAG,EAAE,KACR,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAE5B,KAAK,mBAAmB,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAElD,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,OAAO,GAAE,mBAAwB,GAChC,IAAI,CAeN"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import quoteIdentifier from "../helpers/quoteIdentifier.js";
|
|
2
|
+
import { retainRegisteredTables } from "../helpers/tableRegistry.js";
|
|
3
|
+
import queueOp from "../helpers/queueOp.js";
|
|
4
|
+
import { executePreparedArray, prepareArray } from "./loadArray.js";
|
|
5
|
+
export default function updateWithJS(simpleTable, dataModifier, options = {}) {
|
|
6
|
+
if (options.batchSize !== undefined &&
|
|
7
|
+
(!Number.isInteger(options.batchSize) || options.batchSize < 1)) {
|
|
8
|
+
throw new Error("updateWithJS() batchSize must be a positive integer.");
|
|
9
|
+
}
|
|
10
|
+
options = structuredClone(options);
|
|
11
|
+
queueOp(simpleTable, {
|
|
12
|
+
kind: "barrier",
|
|
13
|
+
method: "updateWithJS()",
|
|
14
|
+
parameters: { options },
|
|
15
|
+
execute: () => executeUpdateWithJS(simpleTable, dataModifier, options),
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
async function executeUpdateWithJS(simpleTable, dataModifier, options) {
|
|
19
|
+
const types = await simpleTable.getTypes();
|
|
20
|
+
// Geometry columns are typed as GEOMETRY('<crs>'), not a bare "GEOMETRY".
|
|
21
|
+
if (Object.values(types).some((d) => d.toUpperCase().startsWith("GEOMETRY"))) {
|
|
22
|
+
throw new Error("updateWithJS doesn't work with tables containing geometries.");
|
|
23
|
+
}
|
|
24
|
+
if (options.batchSize === undefined) {
|
|
25
|
+
const oldData = await simpleTable.getData();
|
|
26
|
+
if (!oldData) {
|
|
27
|
+
throw new Error("No data from getData.");
|
|
28
|
+
}
|
|
29
|
+
const newData = await dataModifier(oldData);
|
|
30
|
+
if (newData.length === 0) {
|
|
31
|
+
if (oldData.length === 0) {
|
|
32
|
+
// Empty table in, empty data out: nothing to update.
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
throw new Error("The dataModifier returned no rows. updateWithJS can't infer the table schema from zero rows.");
|
|
36
|
+
}
|
|
37
|
+
await executePreparedArray(simpleTable, prepareArray(newData));
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const batchSize = options.batchSize;
|
|
41
|
+
if (Object.keys(types).includes("__sda_rowid")) {
|
|
42
|
+
throw new Error('The table has a column named "__sda_rowid", which conflicts with the internal column used by the batchSize option. Rename it or run updateWithJS without batchSize.');
|
|
43
|
+
}
|
|
44
|
+
const rowCount = await simpleTable.getRowCount();
|
|
45
|
+
if (rowCount === 0) {
|
|
46
|
+
// Same behavior as the non-batched path on an empty table.
|
|
47
|
+
const newData = await dataModifier([]);
|
|
48
|
+
if (newData.length === 0) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
await executePreparedArray(simpleTable, prepareArray(newData));
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
// Rows are pulled in batches by rowid, passed through the modifier, and
|
|
55
|
+
// accumulated in a temporary table, so only one batch of rows is
|
|
56
|
+
// materialized in JS memory at a time.
|
|
57
|
+
const suffix = Math.random().toString(36).slice(2, 10);
|
|
58
|
+
const scratch = simpleTable.sdb.newTable(`updateWithJS_scratch_${suffix}`);
|
|
59
|
+
const accumulator = `updateWithJS_accumulator_${suffix}`;
|
|
60
|
+
try {
|
|
61
|
+
let first = true;
|
|
62
|
+
let lastRowid = null;
|
|
63
|
+
while (true) {
|
|
64
|
+
const batch = (await simpleTable.sdb.customQuery(`SELECT *, rowid AS __sda_rowid FROM ${quoteIdentifier(simpleTable.name)}${lastRowid === null ? "" : ` WHERE rowid > ${lastRowid}`} ORDER BY rowid LIMIT ${batchSize}`, { returnData: true }));
|
|
65
|
+
if (batch.length === 0) {
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
lastRowid = batch[batch.length - 1].__sda_rowid;
|
|
69
|
+
for (const row of batch) {
|
|
70
|
+
delete row.__sda_rowid;
|
|
71
|
+
}
|
|
72
|
+
const modified = await dataModifier(batch);
|
|
73
|
+
if (modified.length === 0) {
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
await executePreparedArray(scratch, prepareArray(modified));
|
|
77
|
+
if (first) {
|
|
78
|
+
await simpleTable.sdb.customQuery(`CREATE OR REPLACE TABLE ${quoteIdentifier(accumulator)} AS SELECT * FROM ${quoteIdentifier(scratch.name)}`);
|
|
79
|
+
first = false;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
await simpleTable.sdb.customQuery(`INSERT INTO ${quoteIdentifier(accumulator)} BY NAME SELECT * FROM ${quoteIdentifier(scratch.name)}`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (first) {
|
|
86
|
+
throw new Error("The dataModifier returned no rows. updateWithJS can't infer the table schema from zero rows.");
|
|
87
|
+
}
|
|
88
|
+
await simpleTable.sdb.customQuery(`CREATE OR REPLACE TABLE ${quoteIdentifier(simpleTable.name)} AS SELECT * FROM ${quoteIdentifier(accumulator)}`);
|
|
89
|
+
}
|
|
90
|
+
finally {
|
|
91
|
+
await simpleTable.sdb.customQuery(`DROP TABLE IF EXISTS ${quoteIdentifier(accumulator)};
|
|
92
|
+
DROP TABLE IF EXISTS ${quoteIdentifier(scratch.name)};`);
|
|
93
|
+
retainRegisteredTables(simpleTable.sdb, (table) => table !== scratch);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upper.d.ts","sourceRoot":"","sources":["../../src/methods/upper.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,KAAK,CAC3B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,QAc3B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import quoteIdentifier from "../helpers/quoteIdentifier.js";
|
|
2
|
+
import stringToArray from "../helpers/stringToArray.js";
|
|
3
|
+
import queueOp from "../helpers/queueOp.js";
|
|
4
|
+
export default function upper(simpleTable, columns) {
|
|
5
|
+
const cols = stringToArray(columns);
|
|
6
|
+
queueOp(simpleTable, {
|
|
7
|
+
kind: "fusable",
|
|
8
|
+
method: "upper()",
|
|
9
|
+
parameters: { columns },
|
|
10
|
+
needsSchema: false,
|
|
11
|
+
buildSelect: (input) => `SELECT * REPLACE (${cols.map((c) => `UPPER(${quoteIdentifier(c)}) AS ${quoteIdentifier(c)}`)
|
|
12
|
+
.join(", ")}) FROM ${input}`,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type SimpleTable from "../class/SimpleTable.js";
|
|
2
|
+
export default function wider(simpleTable: SimpleTable, namesFrom: string, valuesFrom: string, options?: {
|
|
3
|
+
stat?: "sum" | "count" | "min" | "max" | "mean" | "median" | "first";
|
|
4
|
+
}): void;
|
|
5
|
+
//# sourceMappingURL=wider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wider.d.ts","sourceRoot":"","sources":["../../src/methods/wider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,WAAW,MAAM,yBAAyB,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,KAAK,CAC3B,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IACP,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACjE,QA4BP"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import quoteIdentifier from "../helpers/quoteIdentifier.js";
|
|
2
|
+
import mergeOptions from "../helpers/mergeOptions.js";
|
|
3
|
+
import queryDB from "../helpers/queryDB.js";
|
|
4
|
+
import queueOp from "../helpers/queueOp.js";
|
|
5
|
+
export default function wider(simpleTable, namesFrom, valuesFrom, options = {}) {
|
|
6
|
+
const stat = options.stat ?? "sum";
|
|
7
|
+
const aggregateFunction = stat === "mean" ? "avg" : stat;
|
|
8
|
+
// DuckDB rewrites PIVOT into multiple statements internally, so it can't
|
|
9
|
+
// be part of a fused chain: it executes as a barrier.
|
|
10
|
+
options = structuredClone(options);
|
|
11
|
+
queueOp(simpleTable, {
|
|
12
|
+
kind: "barrier",
|
|
13
|
+
method: "wider()",
|
|
14
|
+
parameters: { namesFrom, valuesFrom, options },
|
|
15
|
+
execute: async () => {
|
|
16
|
+
await queryDB(simpleTable, `CREATE OR REPLACE TABLE ${quoteIdentifier(simpleTable.name)} AS SELECT * FROM (PIVOT ${quoteIdentifier(simpleTable.name)} ON ${quoteIdentifier(namesFrom)} USING ${aggregateFunction}(${quoteIdentifier(valuesFrom)}));`, mergeOptions(simpleTable, {
|
|
17
|
+
table: simpleTable.name,
|
|
18
|
+
method: "wider()",
|
|
19
|
+
parameters: { namesFrom, valuesFrom, options },
|
|
20
|
+
}));
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeDB.d.ts","sourceRoot":"","sources":["../../src/methods/writeDB.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AAYjD,wBAA8B,OAAO,CACnC,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,iBAwF1D"}
|