gabriel / musehub public
0067_mpack_index_byte_range.py python
34 lines 897 B
Raw
sha256:302574ddba13c9a20694c0fb051176eef4896f943b63bc458df886633b1bfcd6 feat: mpack byte-range index — store byte_offset/byte_lengt… Sonnet 4.6 minor ⚠ breaking 19 days ago
1 """Add byte_offset and byte_length to musehub_mpack_index for range-GET reads.
2
3 Enables O(object_size) byte-range S3 GETs instead of downloading the full
4 mpack to extract a single object. NULL on existing rows — code falls back
5 to full-mpack download when columns are absent.
6
7 Revision ID: 0067
8 Revises: 0066
9 """
10 from __future__ import annotations
11
12 import sqlalchemy as sa
13 from alembic import op
14
15 revision: str = "0067"
16 down_revision: str = "0066"
17 branch_labels = None
18 depends_on = None
19
20
21 def upgrade() -> None:
22 op.add_column(
23 "musehub_mpack_index",
24 sa.Column("byte_offset", sa.BigInteger(), nullable=True),
25 )
26 op.add_column(
27 "musehub_mpack_index",
28 sa.Column("byte_length", sa.Integer(), nullable=True),
29 )
30
31
32 def downgrade() -> None:
33 op.drop_column("musehub_mpack_index", "byte_length")
34 op.drop_column("musehub_mpack_index", "byte_offset")
File History 1 commit
sha256:302574ddba13c9a20694c0fb051176eef4896f943b63bc458df886633b1bfcd6 feat: mpack byte-range index — store byte_offset/byte_lengt… Sonnet 4.6 minor 19 days ago