@gscdump/lakehouse 1.4.1 → 1.4.3
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/dist/_virtual/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/compressors.mjs +14 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/index.mjs +3 -3
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/assemble.mjs +144 -0
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/bloom.mjs +124 -0
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/column.mjs +127 -0
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/constants.mjs +75 -0
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/convert.mjs +118 -0
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/datapage.mjs +144 -0
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/delta.mjs +65 -0
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/encoding.mjs +76 -0
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/filter.mjs +98 -0
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/geoparquet.mjs +24 -0
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/index.mjs +7 -0
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/indexes.mjs +16 -0
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/metadata.mjs +235 -0
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/node.mjs +7 -0
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/plain.mjs +78 -0
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/plan.mjs +147 -0
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/read.mjs +106 -0
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/rowgroup.mjs +154 -0
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/schema.mjs +75 -0
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/thrift.mjs +86 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/utils.mjs +30 -1
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/variant.mjs +225 -0
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/wkb.mjs +94 -0
- package/dist/_virtual/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/xxhash.mjs +68 -0
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/avro/avro.write.mjs +2 -2
- package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/delete.mjs +34 -0
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/fetch.mjs +104 -5
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/index.mjs +6 -6
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/manifest.mjs +14 -1
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/metadata.mjs +10 -2
- package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/puffin/deletion-vector.mjs +122 -0
- package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/puffin/puffin.mjs +78 -0
- package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/puffin/roaring.mjs +132 -0
- package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/read.mjs +324 -0
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/s3.mjs +2 -2
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/types.d.mts +2 -2
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/utils.mjs +20 -1
- package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/delete-file.mjs +52 -0
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/write/manifest.mjs +45 -1
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/write/parquet.mjs +2 -2
- package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/rewrite.mjs +174 -0
- package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/stage-deletion-vector.mjs +295 -0
- package/dist/_virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/stage-position-delete.mjs +216 -0
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/write/stage.mjs +119 -2
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/write/write.mjs +236 -7
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/types/index.d.mts +3 -3
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/db0.d.mts +1 -1
- package/dist/catalog-cache.d.mts +2 -2
- package/dist/catalog.d.mts +7 -10
- package/dist/catalog.mjs +13 -15
- package/dist/dataset-runtime.mjs +68 -0
- package/dist/dataset.d.mts +1 -9
- package/dist/dataset.mjs +24 -76
- package/dist/date.d.mts +8 -0
- package/dist/date.mjs +13 -0
- package/dist/index.d.mts +4 -3
- package/dist/index.mjs +4 -3
- package/dist/orphan-sweep.mjs +3 -3
- package/dist/schema.d.mts +4 -1
- package/dist/schema.mjs +9 -1
- package/dist/unsafe-raw.d.mts +5 -5
- package/dist/unsafe-raw.mjs +5 -5
- package/dist/vendor/hysnappy-purejs.mjs +1 -1
- package/package.json +11 -1
- package/dist/node_modules/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/compressors.mjs +0 -7
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/assemble.mjs +0 -3
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/bloom.mjs +0 -14
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/column.mjs +0 -8
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/constants.mjs +0 -1
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/convert.mjs +0 -11
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/datapage.mjs +0 -6
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/delta.mjs +0 -2
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/encoding.mjs +0 -2
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/filter.mjs +0 -3
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/geoparquet.mjs +0 -1
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/index.mjs +0 -7
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/indexes.mjs +0 -5
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/metadata.mjs +0 -8
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/node.mjs +0 -4
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/plain.mjs +0 -1
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/plan.mjs +0 -5
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/read.mjs +0 -6
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/rowgroup.mjs +0 -7
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/schema.mjs +0 -1
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/thrift.mjs +0 -1
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/variant.mjs +0 -3
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/wkb.mjs +0 -1
- package/dist/node_modules/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/xxhash.mjs +0 -1
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/delete.mjs +0 -2
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/puffin/deletion-vector.mjs +0 -2
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/puffin/puffin.mjs +0 -2
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/puffin/roaring.mjs +0 -1
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/read.mjs +0 -9
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/delete-file.mjs +0 -3
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/rewrite.mjs +0 -10
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/stage-deletion-vector.mjs +0 -11
- package/dist/node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057/node_modules/icebird/src/write/stage-position-delete.mjs +0 -8
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/chokidar@5.0.0/node_modules/chokidar/handler.d.mts +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/chokidar@5.0.0/node_modules/chokidar/index.d.mts +0 -0
- package/dist/{node_modules/.pnpm/db0@0.3.4_drizzle-orm@1.0.0-rc.3_@cloudflare_workers-types@5.20260722.1_valibot@1.4.2_typescript@7.0.2__zod@4.4.3_ → _virtual/node_modules/.pnpm/db0@0.3.4_drizzle-orm@1.0.0-rc.3_@cloudflare+workers-types@5.20260722.1_valibot@1.4.2_typescript@6.0.3__zod@4.4.3_}/node_modules/db0/dist/index.d.mts +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/denque@2.1.0/node_modules/denque/index.d.mts +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/fzstd@0.1.1/node_modules/fzstd/esm/index.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.bitreader.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.blocks.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.context.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.contextmap.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.dictionary.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.huffman.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.prefix.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.streams.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/brotli.transform.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/gzip.huffman.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/gzip.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/lz4.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/bloom.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/bytewriter.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/column.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/datapage.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/delta.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/dictionary.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/dremel.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/encoding.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/geospatial.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/index.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/indexes.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/metadata.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/node.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/parquet-writer.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/plain.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/schema.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/snappy.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/splitstream.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/thrift.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/types.d.mts +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/unconvert.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/variant.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/wkb.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/write-rows.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/src/write.mjs +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/types/bytewriter.d.mts +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/types/index.d.mts +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/types/node.d.mts +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/types/parquet-writer.d.mts +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/types/schema.d.mts +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/types/wkb.d.mts +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/types/write-rows.d.mts +0 -0
- package/dist/{node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash_7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec → _virtual/node_modules/.pnpm/hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec}/node_modules/hyparquet-writer/types/write.d.mts +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/assemble.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/bloom.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/column.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/constants.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/convert.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/datapage.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/delta.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/encoding.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/filter.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/geoparquet.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/index.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/indexes.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/metadata.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/node.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/plain.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/plan.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/query.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/read.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/rowgroup.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/schema.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/snappy.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/thrift.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/types.d.mts +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/utils.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/variant.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/wkb.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/src/xxhash.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/index.d.mts +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/indexes.d.mts +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/metadata.d.mts +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/node.d.mts +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/query.d.mts +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/read.d.mts +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/snappy.d.mts +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.1/node_modules/hyparquet/types/utils.d.mts +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/query.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/snappy.mjs +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/src/types.d.mts +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/index.d.mts +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/indexes.d.mts +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/metadata.d.mts +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/node.d.mts +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/query.d.mts +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/read.d.mts +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/snappy.d.mts +0 -0
- package/dist/{node_modules → _virtual/node_modules}/.pnpm/hyparquet@1.26.2/node_modules/hyparquet/types/utils.d.mts +0 -0
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/avro/avro.metadata.mjs +0 -0
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/avro/avro.read.mjs +0 -0
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/catalog/file.mjs +0 -0
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/catalog/loadTable.mjs +1 -1
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/catalog/rest.mjs +0 -0
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/create.mjs +1 -1
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/json.mjs +0 -0
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/prune.mjs +0 -0
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/schema.mjs +0 -0
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/sigv4.mjs +0 -0
- package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/sql/icebergDataSource.mjs +1 -1
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/sql/icebergQuery.mjs +0 -0
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/sql/whereFilter.mjs +0 -0
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/write/commit.mjs +0 -0
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/write/conversions.mjs +0 -0
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/write/geospatial.mjs +0 -0
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/write/manifest-list.mjs +0 -0
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/write/partition.mjs +0 -0
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/write/serde.mjs +0 -0
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/write/snapshot.mjs +0 -0
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/write/sort.mjs +0 -0
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/write/stats.mjs +0 -0
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/src/write/transform.mjs +0 -0
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/types/catalog/file.d.mts +0 -0
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/types/catalog/rest.d.mts +0 -0
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/types/create.d.mts +0 -0
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/types/fetch.d.mts +0 -0
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/types/manifest.d.mts +0 -0
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/types/metadata.d.mts +0 -0
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/types/read.d.mts +0 -0
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/types/s3.d.mts +0 -0
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/types/sql/icebergDataSource.d.mts +0 -0
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/types/sql/icebergQuery.d.mts +0 -0
- /package/dist/{node_modules/.pnpm/icebird@0.8.15_patch_hash_d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057 → _virtual/node_modules/.pnpm/icebird@0.8.15_patch_hash=d1902372376af18885e7c7dce807f1ecab86c2f86a9d1ff65d51e3b63b64b057}/node_modules/icebird/types/write/write.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/Command.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/DataHandler.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/Pipeline.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/Redis.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/ScanStream.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/SubscriptionSet.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/cluster/ClusterOptions.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/cluster/index.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/cluster/util.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/connectors/AbstractConnector.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/connectors/ConnectorConstructor.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/connectors/SentinelConnector/SentinelIterator.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/connectors/SentinelConnector/index.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/connectors/SentinelConnector/types.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/connectors/StandaloneConnector.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/index.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/redis/RedisOptions.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/transaction.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/types.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/utils/Commander.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/ioredis@5.10.1_supports-color@10.2.2/node_modules/ioredis/built/utils/RedisCommander.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/lru-cache@11.5.0/node_modules/lru-cache/dist/esm/index.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/lru-cache@11.5.0/node_modules/lru-cache/dist/esm/perf.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/readdirp@5.0.0/node_modules/readdirp/index.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/ast.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/backend/dataSource.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/accumulator.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/aggregates.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/execute.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/join.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/scanColumn.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/sort.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/streamingAggregate.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/utils.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/window.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/execute/yield.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/alias.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/binary.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/date.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/evaluate.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/math.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/regexp.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/expression/strings.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/index.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/index.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/expression.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/extractTables.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/functions.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/joins.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/parse.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/primary.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/state.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/tokenize.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/parse/types.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/plan/columns.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/plan/plan.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/plan/types.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/bbox.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/equality.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/operations.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/pointRelations.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/primitives.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/segments.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/spatial.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/spatial/wkt.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/types.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/aggregates.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/executionErrors.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/functions.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/keywords.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/parseErrors.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/squirreling@0.15.0/node_modules/squirreling/src/validation/tables.mjs +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/dist/index.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/dist/index2.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/dist/shared/unstorage.DqlWKU2I.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/dist/shared/unstorage2.DqlWKU2I.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/azure-app-configuration.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/azure-cosmos.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/azure-key-vault.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/azure-storage-blob.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/azure-storage-table.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/capacitor-preferences.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/cloudflare-kv-binding.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/cloudflare-kv-http.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/cloudflare-r2-binding.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/deno-kv-node.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/deno-kv.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/fs-lite.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/fs.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/github.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/http.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/indexedb.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/localstorage.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/localstorage2.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/lru-cache.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/mongodb.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/netlify-blobs.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/overlay.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/planetscale.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/redis.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/s3.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/session-storage.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/uploadthing.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/upstash.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/vercel-blob.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/vercel-kv.d.mts +0 -0
- /package/dist/{node_modules → _virtual/node_modules}/.pnpm/unstorage@1.17.5_aws4fetch@1.0.20_db0@0.3.4_ioredis@5.10.1_supports-color@10.2.2_/node_modules/unstorage/drivers/vercel-runtime-cache.d.mts +0 -0
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { readRoaringBitmap32, writeRoaringBitmap32 } from "./roaring.mjs";
|
|
2
|
+
const DV_MAGIC = 3520280932;
|
|
3
|
+
function readDeletionVector(bytes) {
|
|
4
|
+
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
5
|
+
const payloadLength = view.getUint32(0, false);
|
|
6
|
+
if (payloadLength !== bytes.byteLength - 8) throw new Error(`invalid deletion vector length: ${payloadLength}`);
|
|
7
|
+
if (view.getUint32(4, false) !== DV_MAGIC) throw new Error("invalid deletion vector magic");
|
|
8
|
+
const expectedCrc = view.getUint32(bytes.byteLength - 4, false);
|
|
9
|
+
if (crc32(bytes.subarray(4, bytes.byteLength - 4)) !== expectedCrc) throw new Error("deletion vector crc mismatch");
|
|
10
|
+
return readPositionVector(bytes.subarray(8, bytes.byteLength - 4));
|
|
11
|
+
}
|
|
12
|
+
function readPositionVector(bytes) {
|
|
13
|
+
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
14
|
+
let offset = 0;
|
|
15
|
+
const bitmapCount = view.getBigUint64(offset, true);
|
|
16
|
+
offset += 8;
|
|
17
|
+
if (bitmapCount > BigInt(Number.MAX_SAFE_INTEGER)) throw new Error(`too many deletion vector bitmaps: ${bitmapCount}`);
|
|
18
|
+
const positions = /* @__PURE__ */ new Set();
|
|
19
|
+
for (let i = 0; i < Number(bitmapCount); i++) {
|
|
20
|
+
const key = view.getUint32(offset, true);
|
|
21
|
+
offset += 4;
|
|
22
|
+
const start = offset;
|
|
23
|
+
const values = readRoaringBitmap32(bytes.subarray(start));
|
|
24
|
+
offset = start + roaringBitmap32Length(bytes.subarray(start));
|
|
25
|
+
const keyBase = BigInt(key) << 32n;
|
|
26
|
+
for (const value of values) positions.add(keyBase + BigInt(value));
|
|
27
|
+
}
|
|
28
|
+
return positions;
|
|
29
|
+
}
|
|
30
|
+
function roaringBitmap32Length(bytes) {
|
|
31
|
+
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
32
|
+
let offset = 0;
|
|
33
|
+
const cookie = view.getUint32(offset, true);
|
|
34
|
+
offset += 4;
|
|
35
|
+
let size;
|
|
36
|
+
let runContainers;
|
|
37
|
+
if (cookie === 12346) {
|
|
38
|
+
size = view.getUint32(offset, true);
|
|
39
|
+
offset += 4;
|
|
40
|
+
} else if ((cookie & 65535) === 12347) {
|
|
41
|
+
size = (cookie >>> 16) + 1;
|
|
42
|
+
const runBytes = Math.ceil(size / 8);
|
|
43
|
+
runContainers = bytes.subarray(offset, offset + runBytes);
|
|
44
|
+
offset += runBytes;
|
|
45
|
+
} else throw new Error(`invalid roaring cookie: ${cookie}`);
|
|
46
|
+
const cardinalities = new Array(size);
|
|
47
|
+
const types = new Array(size);
|
|
48
|
+
for (let i = 0; i < size; i++) {
|
|
49
|
+
offset += 2;
|
|
50
|
+
cardinalities[i] = view.getUint16(offset, true) + 1;
|
|
51
|
+
offset += 2;
|
|
52
|
+
types[i] = isRunContainer(runContainers, i) ? "run" : cardinalities[i] <= 4096 ? "array" : "bitmap";
|
|
53
|
+
}
|
|
54
|
+
if (cookie === 12346 || size >= 4) offset += 4 * size;
|
|
55
|
+
for (let i = 0; i < size; i++) if (types[i] === "array") offset += cardinalities[i] * 2;
|
|
56
|
+
else if (types[i] === "bitmap") offset += 8192;
|
|
57
|
+
else {
|
|
58
|
+
const runCount = view.getUint16(offset, true);
|
|
59
|
+
offset += 2 + runCount * 4;
|
|
60
|
+
}
|
|
61
|
+
return offset;
|
|
62
|
+
}
|
|
63
|
+
function isRunContainer(runContainers, index) {
|
|
64
|
+
if (!runContainers) return false;
|
|
65
|
+
return Boolean(runContainers[Math.floor(index / 8)] & 1 << index % 8);
|
|
66
|
+
}
|
|
67
|
+
function writeDeletionVector(positions) {
|
|
68
|
+
const byKey = /* @__PURE__ */ new Map();
|
|
69
|
+
for (const pos of positions) {
|
|
70
|
+
if (typeof pos !== "bigint") throw new Error(`deletion vector position must be bigint: ${pos}`);
|
|
71
|
+
if (pos < 0n) throw new Error(`deletion vector position must be non-negative: ${pos}`);
|
|
72
|
+
const key = Number(pos >> 32n);
|
|
73
|
+
const value = Number(pos & 4294967295n);
|
|
74
|
+
let bucket = byKey.get(key);
|
|
75
|
+
if (!bucket) {
|
|
76
|
+
bucket = [];
|
|
77
|
+
byKey.set(key, bucket);
|
|
78
|
+
}
|
|
79
|
+
bucket.push(value);
|
|
80
|
+
}
|
|
81
|
+
const bitmaps = [...byKey.entries()].sort(([a], [b]) => a - b).map(([key, values]) => {
|
|
82
|
+
values.sort((a, b) => a - b);
|
|
83
|
+
const dedup = [];
|
|
84
|
+
for (const v of values) if (!dedup.length || dedup[dedup.length - 1] !== v) dedup.push(v);
|
|
85
|
+
return {
|
|
86
|
+
key,
|
|
87
|
+
bitmap: writeRoaringBitmap32(dedup)
|
|
88
|
+
};
|
|
89
|
+
});
|
|
90
|
+
const payloadLength = 4 + (8 + bitmaps.reduce((sum, b) => sum + 4 + b.bitmap.byteLength, 0));
|
|
91
|
+
const out = new Uint8Array(4 + payloadLength + 4);
|
|
92
|
+
const view = new DataView(out.buffer);
|
|
93
|
+
view.setUint32(0, payloadLength, false);
|
|
94
|
+
view.setUint32(4, DV_MAGIC, false);
|
|
95
|
+
view.setBigUint64(8, BigInt(bitmaps.length), true);
|
|
96
|
+
let offset = 16;
|
|
97
|
+
for (const { key, bitmap } of bitmaps) {
|
|
98
|
+
view.setUint32(offset, key, true);
|
|
99
|
+
offset += 4;
|
|
100
|
+
out.set(bitmap, offset);
|
|
101
|
+
offset += bitmap.byteLength;
|
|
102
|
+
}
|
|
103
|
+
view.setUint32(out.byteLength - 4, crc32(out.subarray(4, out.byteLength - 4)), false);
|
|
104
|
+
return out;
|
|
105
|
+
}
|
|
106
|
+
let crcTable;
|
|
107
|
+
function crc32(bytes) {
|
|
108
|
+
crcTable ??= makeCrcTable();
|
|
109
|
+
let crc = 4294967295;
|
|
110
|
+
for (const byte of bytes) crc = crcTable[(crc ^ byte) & 255] ^ crc >>> 8;
|
|
111
|
+
return ~crc >>> 0;
|
|
112
|
+
}
|
|
113
|
+
function makeCrcTable() {
|
|
114
|
+
const table = /* @__PURE__ */ new Uint32Array(256);
|
|
115
|
+
for (let i = 0; i < table.length; i++) {
|
|
116
|
+
let c = i;
|
|
117
|
+
for (let j = 0; j < 8; j++) c = c & 1 ? 3988292384 ^ c >>> 1 : c >>> 1;
|
|
118
|
+
table[i] = c >>> 0;
|
|
119
|
+
}
|
|
120
|
+
return table;
|
|
121
|
+
}
|
|
122
|
+
export { readDeletionVector, writeDeletionVector };
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { readDeletionVector } from "./deletion-vector.mjs";
|
|
2
|
+
const PUFFIN_MAGIC = 1346781489;
|
|
3
|
+
async function puffinReadDeletionVector(file, { offset, length, referencedDataFile }) {
|
|
4
|
+
const buffer = await file.slice(0, file.byteLength);
|
|
5
|
+
const bytes = new Uint8Array(buffer);
|
|
6
|
+
const blob = readPuffinMetadata(bytes).blobs.find((blob) => {
|
|
7
|
+
return blob.type === "deletion-vector-v1" && BigInt(blob.offset) === BigInt(offset) && BigInt(blob.length) === BigInt(length);
|
|
8
|
+
});
|
|
9
|
+
if (!blob) throw new Error("puffin deletion-vector-v1 blob not found");
|
|
10
|
+
if (blob["compression-codec"]) throw new Error(`unsupported puffin blob compression: ${blob["compression-codec"]}`);
|
|
11
|
+
if (referencedDataFile && blob.properties?.["referenced-data-file"] !== referencedDataFile) throw new Error("puffin deletion vector referenced-data-file mismatch");
|
|
12
|
+
const start = toSafeNumber(blob.offset);
|
|
13
|
+
const end = start + toSafeNumber(blob.length);
|
|
14
|
+
return readDeletionVector(bytes.subarray(start, end));
|
|
15
|
+
}
|
|
16
|
+
function readPuffinMetadata(bytes) {
|
|
17
|
+
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
18
|
+
if (view.getUint32(0, false) !== PUFFIN_MAGIC) throw new Error("invalid puffin file magic");
|
|
19
|
+
if (view.getUint32(bytes.byteLength - 4, false) !== PUFFIN_MAGIC) throw new Error("invalid puffin footer magic");
|
|
20
|
+
const payloadSize = view.getInt32(bytes.byteLength - 12, true);
|
|
21
|
+
if (payloadSize < 0) throw new Error(`invalid puffin footer payload size: ${payloadSize}`);
|
|
22
|
+
const flags = view.getUint32(bytes.byteLength - 8, true);
|
|
23
|
+
const compressed = Boolean(flags & 1);
|
|
24
|
+
if (flags & -2) throw new Error(`unsupported puffin footer flags: ${flags}`);
|
|
25
|
+
if (compressed) throw new Error("compressed puffin footers are not supported");
|
|
26
|
+
const payloadStart = bytes.byteLength - 12 - payloadSize;
|
|
27
|
+
const footerMagicStart = payloadStart - 4;
|
|
28
|
+
if (footerMagicStart < 4 || view.getUint32(footerMagicStart, false) !== PUFFIN_MAGIC) throw new Error("invalid puffin footer start magic");
|
|
29
|
+
const payload = bytes.subarray(payloadStart, payloadStart + payloadSize);
|
|
30
|
+
return JSON.parse(new TextDecoder().decode(payload));
|
|
31
|
+
}
|
|
32
|
+
function toSafeNumber(value) {
|
|
33
|
+
const out = Number(value);
|
|
34
|
+
if (!Number.isSafeInteger(out)) throw new Error(`puffin offset exceeds safe integer range: ${value}`);
|
|
35
|
+
return out;
|
|
36
|
+
}
|
|
37
|
+
function writePuffinFile({ blobs, properties }) {
|
|
38
|
+
if (!Array.isArray(blobs) || !blobs.length) throw new Error("writePuffinFile requires at least one blob");
|
|
39
|
+
let cursor = 4;
|
|
40
|
+
const footer = { blobs: blobs.map((blob) => {
|
|
41
|
+
if (!blob.type) throw new Error("puffin blob type is required");
|
|
42
|
+
if (!(blob.data instanceof Uint8Array)) throw new Error("puffin blob data must be a Uint8Array");
|
|
43
|
+
const meta = {
|
|
44
|
+
type: blob.type,
|
|
45
|
+
fields: blob.fields ?? [],
|
|
46
|
+
"snapshot-id": toSafeNumber(blob.snapshotId ?? -1),
|
|
47
|
+
"sequence-number": toSafeNumber(blob.sequenceNumber ?? -1),
|
|
48
|
+
offset: cursor,
|
|
49
|
+
length: blob.data.byteLength
|
|
50
|
+
};
|
|
51
|
+
if (blob.properties) meta.properties = blob.properties;
|
|
52
|
+
cursor += blob.data.byteLength;
|
|
53
|
+
return meta;
|
|
54
|
+
}) };
|
|
55
|
+
if (properties) footer.properties = properties;
|
|
56
|
+
const footerPayload = new TextEncoder().encode(JSON.stringify(footer));
|
|
57
|
+
const totalSize = 4 + blobs.reduce((sum, b) => sum + b.data.byteLength, 0) + 4 + footerPayload.byteLength + 4 + 4 + 4;
|
|
58
|
+
const out = new Uint8Array(totalSize);
|
|
59
|
+
const view = new DataView(out.buffer);
|
|
60
|
+
let offset = 0;
|
|
61
|
+
view.setUint32(offset, PUFFIN_MAGIC, false);
|
|
62
|
+
offset += 4;
|
|
63
|
+
for (const blob of blobs) {
|
|
64
|
+
out.set(blob.data, offset);
|
|
65
|
+
offset += blob.data.byteLength;
|
|
66
|
+
}
|
|
67
|
+
view.setUint32(offset, PUFFIN_MAGIC, false);
|
|
68
|
+
offset += 4;
|
|
69
|
+
out.set(footerPayload, offset);
|
|
70
|
+
offset += footerPayload.byteLength;
|
|
71
|
+
view.setInt32(offset, footerPayload.byteLength, true);
|
|
72
|
+
offset += 4;
|
|
73
|
+
view.setUint32(offset, 0, true);
|
|
74
|
+
offset += 4;
|
|
75
|
+
view.setUint32(offset, PUFFIN_MAGIC, false);
|
|
76
|
+
return out;
|
|
77
|
+
}
|
|
78
|
+
export { puffinReadDeletionVector, readPuffinMetadata, writePuffinFile };
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
function readRoaringBitmap32(bytes) {
|
|
2
|
+
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
3
|
+
let offset = 0;
|
|
4
|
+
const cookie = view.getUint32(offset, true);
|
|
5
|
+
offset += 4;
|
|
6
|
+
let size;
|
|
7
|
+
let runContainers;
|
|
8
|
+
if (cookie === 12346) {
|
|
9
|
+
size = view.getUint32(offset, true);
|
|
10
|
+
offset += 4;
|
|
11
|
+
} else if ((cookie & 65535) === 12347) {
|
|
12
|
+
size = (cookie >>> 16) + 1;
|
|
13
|
+
const runBytes = Math.ceil(size / 8);
|
|
14
|
+
runContainers = bytes.subarray(offset, offset + runBytes);
|
|
15
|
+
offset += runBytes;
|
|
16
|
+
} else throw new Error(`invalid roaring cookie: ${cookie}`);
|
|
17
|
+
const keys = new Array(size);
|
|
18
|
+
const cardinalities = new Array(size);
|
|
19
|
+
const types = new Array(size);
|
|
20
|
+
for (let i = 0; i < size; i++) {
|
|
21
|
+
keys[i] = view.getUint16(offset, true);
|
|
22
|
+
cardinalities[i] = view.getUint16(offset + 2, true) + 1;
|
|
23
|
+
offset += 4;
|
|
24
|
+
types[i] = isRunContainer(runContainers, i) ? "run" : cardinalities[i] <= 4096 ? "array" : "bitmap";
|
|
25
|
+
}
|
|
26
|
+
if (cookie === 12346 || size >= 4) offset += 4 * size;
|
|
27
|
+
const values = [];
|
|
28
|
+
for (let i = 0; i < size; i++) {
|
|
29
|
+
const keyBase = keys[i] * 65536;
|
|
30
|
+
const cardinality = cardinalities[i];
|
|
31
|
+
const type = types[i];
|
|
32
|
+
if (type === "array") for (let j = 0; j < cardinality; j++) {
|
|
33
|
+
values.push(keyBase + view.getUint16(offset, true));
|
|
34
|
+
offset += 2;
|
|
35
|
+
}
|
|
36
|
+
else if (type === "bitmap") for (let word = 0; word < 1024; word++) {
|
|
37
|
+
let bits = view.getBigUint64(offset, true);
|
|
38
|
+
offset += 8;
|
|
39
|
+
while (bits) {
|
|
40
|
+
const bit = trailingZeroes64(bits);
|
|
41
|
+
values.push(keyBase + word * 64 + bit);
|
|
42
|
+
bits &= bits - 1n;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
const runCount = view.getUint16(offset, true);
|
|
47
|
+
offset += 2;
|
|
48
|
+
for (let run = 0; run < runCount; run++) {
|
|
49
|
+
const start = view.getUint16(offset, true);
|
|
50
|
+
const length = view.getUint16(offset + 2, true) + 1;
|
|
51
|
+
offset += 4;
|
|
52
|
+
for (let value = start; value < start + length; value++) values.push(keyBase + value);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return values;
|
|
57
|
+
}
|
|
58
|
+
function isRunContainer(runContainers, index) {
|
|
59
|
+
if (!runContainers) return false;
|
|
60
|
+
return Boolean(runContainers[Math.floor(index / 8)] & 1 << index % 8);
|
|
61
|
+
}
|
|
62
|
+
function writeRoaringBitmap32(values) {
|
|
63
|
+
const containers = /* @__PURE__ */ new Map();
|
|
64
|
+
for (const value of values) {
|
|
65
|
+
if (!Number.isInteger(value) || value < 0 || value > 4294967295) throw new Error(`roaring value out of range: ${value}`);
|
|
66
|
+
const key = Math.floor(value / 65536);
|
|
67
|
+
const lo = value % 65536;
|
|
68
|
+
let bucket = containers.get(key);
|
|
69
|
+
if (!bucket) {
|
|
70
|
+
bucket = [];
|
|
71
|
+
containers.set(key, bucket);
|
|
72
|
+
}
|
|
73
|
+
const last = bucket.length ? bucket[bucket.length - 1] : -1;
|
|
74
|
+
if (lo < last) throw new Error(`roaring values must be sorted: ${value}`);
|
|
75
|
+
if (lo > last) bucket.push(lo);
|
|
76
|
+
}
|
|
77
|
+
const bodies = [...containers.keys()].sort((a, b) => a - b).map((key) => {
|
|
78
|
+
const items = containers.get(key);
|
|
79
|
+
if (items.length <= 4096) {
|
|
80
|
+
const buf = new Uint8Array(items.length * 2);
|
|
81
|
+
const view = new DataView(buf.buffer);
|
|
82
|
+
for (let i = 0; i < items.length; i++) view.setUint16(i * 2, items[i], true);
|
|
83
|
+
return {
|
|
84
|
+
key,
|
|
85
|
+
cardinality: items.length,
|
|
86
|
+
bytes: buf
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
const buf = /* @__PURE__ */ new Uint8Array(8192);
|
|
90
|
+
for (const v of items) buf[v >>> 3] |= 1 << (v & 7);
|
|
91
|
+
return {
|
|
92
|
+
key,
|
|
93
|
+
cardinality: items.length,
|
|
94
|
+
bytes: buf
|
|
95
|
+
};
|
|
96
|
+
});
|
|
97
|
+
const size = bodies.length;
|
|
98
|
+
const headerSize = 8 + 4 * size + 4 * size;
|
|
99
|
+
const totalSize = headerSize + bodies.reduce((sum, b) => sum + b.bytes.byteLength, 0);
|
|
100
|
+
const out = new Uint8Array(totalSize);
|
|
101
|
+
const view = new DataView(out.buffer);
|
|
102
|
+
let offset = 0;
|
|
103
|
+
view.setUint32(offset, 12346, true);
|
|
104
|
+
offset += 4;
|
|
105
|
+
view.setUint32(offset, size, true);
|
|
106
|
+
offset += 4;
|
|
107
|
+
for (const body of bodies) {
|
|
108
|
+
view.setUint16(offset, body.key, true);
|
|
109
|
+
view.setUint16(offset + 2, body.cardinality - 1, true);
|
|
110
|
+
offset += 4;
|
|
111
|
+
}
|
|
112
|
+
let bodyOffset = headerSize;
|
|
113
|
+
for (const body of bodies) {
|
|
114
|
+
view.setUint32(offset, bodyOffset, true);
|
|
115
|
+
offset += 4;
|
|
116
|
+
bodyOffset += body.bytes.byteLength;
|
|
117
|
+
}
|
|
118
|
+
for (const body of bodies) {
|
|
119
|
+
out.set(body.bytes, offset);
|
|
120
|
+
offset += body.bytes.byteLength;
|
|
121
|
+
}
|
|
122
|
+
return out;
|
|
123
|
+
}
|
|
124
|
+
function trailingZeroes64(value) {
|
|
125
|
+
let count = 0;
|
|
126
|
+
while ((value & 1n) === 0n) {
|
|
127
|
+
value >>= 1n;
|
|
128
|
+
count++;
|
|
129
|
+
}
|
|
130
|
+
return count;
|
|
131
|
+
}
|
|
132
|
+
export { readRoaringBitmap32, writeRoaringBitmap32 };
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
import { parquetMetadataAsync } from "../../../../hyparquet@1.26.2/node_modules/hyparquet/src/metadata.mjs";
|
|
2
|
+
import { cachedAsyncBuffer, concat } from "../../../../hyparquet@1.26.2/node_modules/hyparquet/src/utils.mjs";
|
|
3
|
+
import { parquetReadObjects } from "../../../../hyparquet@1.26.2/node_modules/hyparquet/src/read.mjs";
|
|
4
|
+
import "../../../../hyparquet@1.26.2/node_modules/hyparquet/src/node.mjs";
|
|
5
|
+
import { compressors } from "../../../../hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/compressors.mjs";
|
|
6
|
+
import "../../../../hyparquet-compressors@1.1.1/node_modules/hyparquet-compressors/src/index.mjs";
|
|
7
|
+
import { equalityMatch, sanitize } from "./utils.mjs";
|
|
8
|
+
import { fetchDeleteMaps, urlResolver } from "./fetch.mjs";
|
|
9
|
+
import { icebergManifests, splitManifestEntries } from "./manifest.mjs";
|
|
10
|
+
import { icebergMetadata } from "./metadata.mjs";
|
|
11
|
+
import { deleteFileAppliesToDataEntry } from "./delete.mjs";
|
|
12
|
+
const DEFAULT_ROW_GROUP_CONCURRENCY = 4;
|
|
13
|
+
async function icebergRead({ tableUrl, rowStart = 0, rowEnd = Infinity, metadataFileName, metadata, snapshotId, resolver, lister, rowGroupConcurrency = DEFAULT_ROW_GROUP_CONCURRENCY }) {
|
|
14
|
+
if (!tableUrl) throw new Error("tableUrl is required");
|
|
15
|
+
if (rowStart > rowEnd) throw new Error("rowStart must be less than rowEnd");
|
|
16
|
+
if (rowStart < 0) throw new Error("rowStart must be positive");
|
|
17
|
+
rowGroupConcurrency = normalizeRowGroupConcurrency(rowGroupConcurrency);
|
|
18
|
+
resolver ??= urlResolver();
|
|
19
|
+
metadata ??= await icebergMetadata({
|
|
20
|
+
tableUrl,
|
|
21
|
+
metadataFileName,
|
|
22
|
+
resolver,
|
|
23
|
+
lister
|
|
24
|
+
});
|
|
25
|
+
const manifestList = await icebergManifests({
|
|
26
|
+
metadata,
|
|
27
|
+
resolver,
|
|
28
|
+
snapshotId
|
|
29
|
+
});
|
|
30
|
+
const currentSchemaId = metadata["current-schema-id"];
|
|
31
|
+
const schema = metadata.schemas.find((s) => s["schema-id"] === currentSchemaId);
|
|
32
|
+
if (!schema) throw new Error("current schema not found in metadata");
|
|
33
|
+
const rowLineage = metadata["format-version"] >= 3;
|
|
34
|
+
const { dataEntries, deleteEntries } = splitManifestEntries(manifestList);
|
|
35
|
+
if (dataEntries.length === 0) throw new Error("No data manifest files found for current snapshot");
|
|
36
|
+
const hasDeletes = deleteEntries.length > 0;
|
|
37
|
+
const deleteMaps = fetchDeleteMaps(deleteEntries, resolver);
|
|
38
|
+
const totalRowsToRead = rowEnd === Infinity ? Infinity : rowEnd - rowStart;
|
|
39
|
+
let fileIndex = 0;
|
|
40
|
+
let skipRows = rowStart;
|
|
41
|
+
if (hasDeletes) skipRows = 0;
|
|
42
|
+
else while (fileIndex < dataEntries.length && skipRows >= dataEntries[fileIndex].data_file.record_count) {
|
|
43
|
+
skipRows -= Number(dataEntries[fileIndex].data_file.record_count);
|
|
44
|
+
fileIndex++;
|
|
45
|
+
}
|
|
46
|
+
const fileReads = [];
|
|
47
|
+
let rowsRemaining = hasDeletes ? Infinity : totalRowsToRead;
|
|
48
|
+
for (let i = fileIndex; i < dataEntries.length && rowsRemaining > 0; i++) {
|
|
49
|
+
const recordCount = Number(dataEntries[i].data_file.record_count);
|
|
50
|
+
const fileRowStart = i === fileIndex ? skipRows : 0;
|
|
51
|
+
const availableRows = recordCount - fileRowStart;
|
|
52
|
+
if (availableRows <= 0) continue;
|
|
53
|
+
const rowsToRead = rowsRemaining === Infinity ? availableRows : Math.min(rowsRemaining, availableRows);
|
|
54
|
+
fileReads.push({
|
|
55
|
+
entry: dataEntries[i],
|
|
56
|
+
fileRowStart,
|
|
57
|
+
fileRowEnd: fileRowStart + rowsToRead
|
|
58
|
+
});
|
|
59
|
+
if (rowsRemaining !== Infinity) rowsRemaining -= rowsToRead;
|
|
60
|
+
}
|
|
61
|
+
const { positionDeletesMap, equalityDeleteGroups } = await deleteMaps;
|
|
62
|
+
const rows = (await Promise.all(fileReads.map(async ({ entry, fileRowStart, fileRowEnd }) => {
|
|
63
|
+
const rows = [];
|
|
64
|
+
for await (const batch of readDataFile({
|
|
65
|
+
dataEntry: entry,
|
|
66
|
+
fileRowStart,
|
|
67
|
+
fileRowEnd,
|
|
68
|
+
schema,
|
|
69
|
+
metadata,
|
|
70
|
+
resolver,
|
|
71
|
+
rowLineage,
|
|
72
|
+
positionDeletesMap,
|
|
73
|
+
equalityDeleteGroups,
|
|
74
|
+
rowGroupConcurrency
|
|
75
|
+
})) concat(rows, batch);
|
|
76
|
+
return rows;
|
|
77
|
+
}))).flat();
|
|
78
|
+
if (!hasDeletes) return rows;
|
|
79
|
+
return rows.slice(rowStart, rowEnd === Infinity ? void 0 : rowEnd);
|
|
80
|
+
}
|
|
81
|
+
async function* readDataFile({ dataEntry, fileRowStart, fileRowEnd, schema, metadata, resolver, rowLineage, positionDeletesMap, equalityDeleteGroups, wantedColumns, rowGroupConcurrency = 1, filter, signal }) {
|
|
82
|
+
const { data_file, sequence_number, partition_spec_id } = dataEntry;
|
|
83
|
+
if (sequence_number === void 0) throw new Error("sequence number not found, check v2 inheritance logic");
|
|
84
|
+
const sequenceNumber = sequence_number;
|
|
85
|
+
const partitionSpec = metadata["partition-specs"].find((s) => s["spec-id"] === partition_spec_id);
|
|
86
|
+
const asyncBuffer = cachedAsyncBuffer(await resolver.reader(data_file.file_path, Number(data_file.file_size_in_bytes)));
|
|
87
|
+
const parquetMetadata = await parquetMetadataAsync(asyncBuffer);
|
|
88
|
+
const kv = parquetMetadata.key_value_metadata?.find((k) => k.key === "iceberg.schema");
|
|
89
|
+
let parquetIcebergSchema;
|
|
90
|
+
if (kv?.value) parquetIcebergSchema = JSON.parse(kv.value);
|
|
91
|
+
else if (parquetMetadata.schema.some((s) => s.field_id !== void 0)) parquetIcebergSchema = parquetSchemaToIceberg(parquetMetadata.schema);
|
|
92
|
+
else parquetIcebergSchema = schema;
|
|
93
|
+
const parquetColumnNames = [];
|
|
94
|
+
for (const field of schema.fields) {
|
|
95
|
+
const parquetField = parquetIcebergSchema.fields.find((f) => f.id === field.id);
|
|
96
|
+
if (parquetField && field.type !== "unknown") parquetColumnNames.push(sanitize(parquetField.name));
|
|
97
|
+
else parquetColumnNames.push(void 0);
|
|
98
|
+
}
|
|
99
|
+
const lineageColumns = rowLineage ? rowLineageColumnNames(parquetIcebergSchema) : {};
|
|
100
|
+
const dataColumnNamesById = columnNamesById(parquetIcebergSchema);
|
|
101
|
+
const positionDeleteGroups = positionDeletesMap.get(data_file.file_path);
|
|
102
|
+
const positionDeletes = /* @__PURE__ */ new Set();
|
|
103
|
+
if (positionDeleteGroups) for (const group of positionDeleteGroups) {
|
|
104
|
+
if (!deleteFileAppliesToDataEntry(dataEntry, group.deleteEntry, metadata, "position")) continue;
|
|
105
|
+
for (const pos of group.positions) positionDeletes.add(pos);
|
|
106
|
+
}
|
|
107
|
+
const applicableEqualityGroups = equalityDeleteGroups.filter((group) => deleteFileAppliesToDataEntry(dataEntry, group.deleteEntry, metadata, "equality"));
|
|
108
|
+
const wantedSet = wantedColumns ? new Set(wantedColumns) : null;
|
|
109
|
+
const wantsLineageOutput = !wantedSet || wantedSet.has("_row_id") || wantedSet.has("_last_updated_sequence_number");
|
|
110
|
+
const columns = [];
|
|
111
|
+
for (let i = 0; i < schema.fields.length; i++) {
|
|
112
|
+
const parquetName = parquetColumnNames[i];
|
|
113
|
+
if (!parquetName) continue;
|
|
114
|
+
if (wantedSet && !wantedSet.has(schema.fields[i].name)) continue;
|
|
115
|
+
columns.push(parquetName);
|
|
116
|
+
}
|
|
117
|
+
for (const group of applicableEqualityGroups) for (const predicate of group.rows) for (const key of Object.keys(predicate)) {
|
|
118
|
+
const colName = dataColumnNamesById[Number(key)] ?? key;
|
|
119
|
+
if (colName === "file_path" || colName === "pos") continue;
|
|
120
|
+
if (!columns.includes(colName)) columns.push(colName);
|
|
121
|
+
}
|
|
122
|
+
if (rowLineage && wantsLineageOutput) {
|
|
123
|
+
for (const c of [lineageColumns.rowId, lineageColumns.lastUpdatedSequenceNumber]) if (c && !columns.includes(c)) columns.push(c);
|
|
124
|
+
}
|
|
125
|
+
const parquetColumns = columns.length > 0 ? columns : parquetColumnNames.filter((n) => n !== void 0);
|
|
126
|
+
const icebergToParquet = {};
|
|
127
|
+
for (let i = 0; i < schema.fields.length; i++) {
|
|
128
|
+
const parquetName = parquetColumnNames[i];
|
|
129
|
+
if (parquetName) icebergToParquet[schema.fields[i].name] = parquetName;
|
|
130
|
+
}
|
|
131
|
+
const parquetFilter = filter ? remapFilterColumns(filter, icebergToParquet) : void 0;
|
|
132
|
+
async function readRowGroupRange({ readStart, readEnd }) {
|
|
133
|
+
const rows = await parquetReadObjects({
|
|
134
|
+
file: asyncBuffer,
|
|
135
|
+
metadata: parquetMetadata,
|
|
136
|
+
columns: parquetColumns,
|
|
137
|
+
rowStart: readStart,
|
|
138
|
+
rowEnd: readEnd,
|
|
139
|
+
compressors,
|
|
140
|
+
filter: parquetFilter,
|
|
141
|
+
filterStrict: false,
|
|
142
|
+
useBloomFilters: true,
|
|
143
|
+
utf8: false
|
|
144
|
+
});
|
|
145
|
+
const batch = [];
|
|
146
|
+
for (let idx = 0; idx < rows.length; idx++) {
|
|
147
|
+
const row = rows[idx];
|
|
148
|
+
const pos = BigInt(readStart + idx);
|
|
149
|
+
if (positionDeletes.has(pos)) continue;
|
|
150
|
+
if (applicableEqualityGroups.some((group) => group.rows.some((predicate) => equalityMatch(row, predicate, dataColumnNamesById)))) continue;
|
|
151
|
+
const mapped = {};
|
|
152
|
+
for (let i = 0; i < schema.fields.length; i++) {
|
|
153
|
+
const field = schema.fields[i];
|
|
154
|
+
if (wantedSet && !wantedSet.has(field.name)) continue;
|
|
155
|
+
const parquetColumnName = parquetColumnNames[i];
|
|
156
|
+
if (parquetColumnName) mapped[field.name] = row[parquetColumnName];
|
|
157
|
+
else {
|
|
158
|
+
const partitionField = partitionSpec?.fields.find((pf) => pf["source-id"] === field.id && pf.transform === "identity");
|
|
159
|
+
let nameMapping;
|
|
160
|
+
if (metadata.properties?.["schema.name-mapping.default"]) nameMapping = nameMappingById(JSON.parse(metadata.properties["schema.name-mapping.default"]), field.id);
|
|
161
|
+
if (partitionField && Object.hasOwn(data_file.partition, partitionField.name)) mapped[field.name] = data_file.partition[partitionField.name] ?? null;
|
|
162
|
+
else if (nameMapping) {
|
|
163
|
+
for (const name of nameMapping.names) if (parquetColumnNames.indexOf(name) !== -1) {
|
|
164
|
+
mapped[field.name] = row[name];
|
|
165
|
+
break;
|
|
166
|
+
}
|
|
167
|
+
} else if (field["initial-default"] !== void 0) mapped[field.name] = field["initial-default"];
|
|
168
|
+
else mapped[field.name] = null;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
if (rowLineage && wantsLineageOutput) {
|
|
172
|
+
applyRowLineage(mapped, {
|
|
173
|
+
row,
|
|
174
|
+
pos,
|
|
175
|
+
firstRowId: data_file.first_row_id,
|
|
176
|
+
sequenceNumber,
|
|
177
|
+
rowIdColumn: lineageColumns.rowId,
|
|
178
|
+
lastUpdatedSequenceNumberColumn: lineageColumns.lastUpdatedSequenceNumber
|
|
179
|
+
});
|
|
180
|
+
if (wantedSet && !wantedSet.has("_row_id")) delete mapped._row_id;
|
|
181
|
+
if (wantedSet && !wantedSet.has("_last_updated_sequence_number")) delete mapped._last_updated_sequence_number;
|
|
182
|
+
}
|
|
183
|
+
batch.push(mapped);
|
|
184
|
+
}
|
|
185
|
+
return batch;
|
|
186
|
+
}
|
|
187
|
+
const rowGroupRanges = [];
|
|
188
|
+
let groupStart = 0;
|
|
189
|
+
for (const rowGroup of parquetMetadata.row_groups) {
|
|
190
|
+
if (signal?.aborted) throw new DOMException("Aborted", "AbortError");
|
|
191
|
+
const rowCount = Number(rowGroup.num_rows);
|
|
192
|
+
const groupEnd = groupStart + rowCount;
|
|
193
|
+
if (groupEnd <= fileRowStart) {
|
|
194
|
+
groupStart = groupEnd;
|
|
195
|
+
continue;
|
|
196
|
+
}
|
|
197
|
+
if (groupStart >= fileRowEnd) break;
|
|
198
|
+
const readStart = Math.max(groupStart, fileRowStart);
|
|
199
|
+
const readEnd = Math.min(groupEnd, fileRowEnd);
|
|
200
|
+
rowGroupRanges.push({
|
|
201
|
+
readStart,
|
|
202
|
+
readEnd
|
|
203
|
+
});
|
|
204
|
+
groupStart = groupEnd;
|
|
205
|
+
}
|
|
206
|
+
const concurrency = normalizeRowGroupConcurrency(rowGroupConcurrency);
|
|
207
|
+
if (concurrency === 1 || rowGroupRanges.length <= 1) {
|
|
208
|
+
for (const range of rowGroupRanges) {
|
|
209
|
+
if (signal?.aborted) throw new DOMException("Aborted", "AbortError");
|
|
210
|
+
const batch = await readRowGroupRange(range);
|
|
211
|
+
if (batch.length > 0) yield batch;
|
|
212
|
+
}
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
const tasks = /* @__PURE__ */ new Map();
|
|
216
|
+
let nextStart = 0;
|
|
217
|
+
let nextYield = 0;
|
|
218
|
+
function startTask(index) {
|
|
219
|
+
const task = readRowGroupRange(rowGroupRanges[index]).then((batch) => ({ batch }), (error) => ({ error }));
|
|
220
|
+
tasks.set(index, task);
|
|
221
|
+
}
|
|
222
|
+
while (nextStart < rowGroupRanges.length && tasks.size < concurrency) {
|
|
223
|
+
startTask(nextStart);
|
|
224
|
+
nextStart++;
|
|
225
|
+
}
|
|
226
|
+
while (nextYield < rowGroupRanges.length) {
|
|
227
|
+
if (signal?.aborted) throw new DOMException("Aborted", "AbortError");
|
|
228
|
+
const task = tasks.get(nextYield);
|
|
229
|
+
if (!task) throw new Error("internal row group scheduling error");
|
|
230
|
+
const result = await task;
|
|
231
|
+
tasks.delete(nextYield);
|
|
232
|
+
if (result.error) throw result.error;
|
|
233
|
+
while (nextStart < rowGroupRanges.length && tasks.size < concurrency) {
|
|
234
|
+
startTask(nextStart);
|
|
235
|
+
nextStart++;
|
|
236
|
+
}
|
|
237
|
+
if (result.batch && result.batch.length > 0) yield result.batch;
|
|
238
|
+
nextYield++;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
function remapFilterColumns(filter, mapping) {
|
|
242
|
+
const anyFilter = filter;
|
|
243
|
+
for (const op of [
|
|
244
|
+
"$and",
|
|
245
|
+
"$or",
|
|
246
|
+
"$nor"
|
|
247
|
+
]) {
|
|
248
|
+
const subs = anyFilter[op];
|
|
249
|
+
if (Array.isArray(subs)) {
|
|
250
|
+
const out = [];
|
|
251
|
+
for (const sub of subs) {
|
|
252
|
+
const m = remapFilterColumns(sub, mapping);
|
|
253
|
+
if (!m) return void 0;
|
|
254
|
+
out.push(m);
|
|
255
|
+
}
|
|
256
|
+
return { [op]: out };
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
const out = {};
|
|
260
|
+
for (const [key, cond] of Object.entries(anyFilter)) {
|
|
261
|
+
const mapped = mapping[key];
|
|
262
|
+
if (!mapped) return void 0;
|
|
263
|
+
out[mapped] = cond;
|
|
264
|
+
}
|
|
265
|
+
return out;
|
|
266
|
+
}
|
|
267
|
+
function normalizeRowGroupConcurrency(value) {
|
|
268
|
+
if (value === Infinity) return Number.MAX_SAFE_INTEGER;
|
|
269
|
+
const normalized = Math.floor(value);
|
|
270
|
+
if (!Number.isFinite(normalized) || normalized < 1) throw new Error("rowGroupConcurrency must be at least 1");
|
|
271
|
+
return normalized;
|
|
272
|
+
}
|
|
273
|
+
function nameMappingById(mappings, fieldId) {
|
|
274
|
+
for (const m of mappings) {
|
|
275
|
+
if (m["field-id"] === fieldId) return m;
|
|
276
|
+
if (m.fields) {
|
|
277
|
+
const hit = nameMappingById(m.fields, fieldId);
|
|
278
|
+
if (hit) return hit;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
function rowLineageColumnNames(parquetIcebergSchema) {
|
|
283
|
+
return {
|
|
284
|
+
rowId: columnNameByFieldId(parquetIcebergSchema, 2147483540),
|
|
285
|
+
lastUpdatedSequenceNumber: columnNameByFieldId(parquetIcebergSchema, 2147483539)
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
function columnNameByFieldId(schema, fieldId) {
|
|
289
|
+
const field = schema.fields.find((f) => f.id === fieldId);
|
|
290
|
+
return field ? sanitize(field.name) : void 0;
|
|
291
|
+
}
|
|
292
|
+
function parquetSchemaToIceberg(parquetSchema) {
|
|
293
|
+
const fields = [];
|
|
294
|
+
for (const elem of parquetSchema) {
|
|
295
|
+
if (elem.field_id === void 0) continue;
|
|
296
|
+
fields.push({
|
|
297
|
+
id: elem.field_id,
|
|
298
|
+
name: elem.name,
|
|
299
|
+
required: false,
|
|
300
|
+
type: "unknown"
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
return {
|
|
304
|
+
type: "struct",
|
|
305
|
+
"schema-id": 0,
|
|
306
|
+
fields
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
function columnNamesById(schema) {
|
|
310
|
+
const out = {};
|
|
311
|
+
for (const field of schema.fields) out[field.id] = sanitize(field.name);
|
|
312
|
+
return out;
|
|
313
|
+
}
|
|
314
|
+
function applyRowLineage(out, { row, pos, firstRowId, sequenceNumber, rowIdColumn, lastUpdatedSequenceNumberColumn }) {
|
|
315
|
+
const storedRowId = rowIdColumn ? row[rowIdColumn] : void 0;
|
|
316
|
+
const storedLastUpdatedSequenceNumber = lastUpdatedSequenceNumberColumn ? row[lastUpdatedSequenceNumberColumn] : void 0;
|
|
317
|
+
if (storedRowId != null) out._row_id = storedRowId;
|
|
318
|
+
else if (firstRowId != null) out._row_id = BigInt(firstRowId) + pos;
|
|
319
|
+
else out._row_id = null;
|
|
320
|
+
if (storedLastUpdatedSequenceNumber != null) out._last_updated_sequence_number = storedLastUpdatedSequenceNumber;
|
|
321
|
+
else if (firstRowId != null) out._last_updated_sequence_number = sequenceNumber;
|
|
322
|
+
else out._last_updated_sequence_number = null;
|
|
323
|
+
}
|
|
324
|
+
export { icebergRead, readDataFile };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ByteWriter } from "../../../../hyparquet-writer@0.16.
|
|
2
|
-
import "../../../../hyparquet-writer@0.16.
|
|
1
|
+
import { ByteWriter } from "../../../../hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/bytewriter.mjs";
|
|
2
|
+
import "../../../../hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/src/node.mjs";
|
|
3
3
|
import { signRequest } from "./sigv4.mjs";
|
|
4
4
|
function s3SignedResolver({ accessKeyId, secretAccessKey, sessionToken, region, endpoint, pathStyle = false }) {
|
|
5
5
|
const ep = endpoint ? new URL(endpoint.replace(/\/$/, "") + "/") : void 0;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AsyncBuffer } from "../../../../hyparquet@1.26.2/node_modules/hyparquet/types/index.mjs";
|
|
2
2
|
import "../../../../hyparquet@1.26.2/node_modules/hyparquet/types/node.mjs";
|
|
3
|
-
import { Writer } from "../../../../hyparquet-writer@0.16.
|
|
4
|
-
import "../../../../hyparquet-writer@0.16.
|
|
3
|
+
import { Writer } from "../../../../hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/index.mjs";
|
|
4
|
+
import "../../../../hyparquet-writer@0.16.1_patch_hash=7a5e451ac7634d7546ac56bcc5eadacf7715a6241640c2b5a5bc0cfc9763b8ec/node_modules/hyparquet-writer/types/node.mjs";
|
|
5
5
|
interface WriterOptions {
|
|
6
6
|
/**
|
|
7
7
|
* If `'*'`, the writer must create the object only if it does not already
|