feat(fc2c-i): migration 0004 enables tsm_system_rows

This commit is contained in:
2026-05-15 15:48:29 -04:00
parent f7f75fcac6
commit a638c469e0
2 changed files with 50 additions and 0 deletions
@@ -0,0 +1,23 @@
"""fc2c-i: enable tsm_system_rows for scalable random sampling
Revision ID: 0004
Revises: 0003
Create Date: 2026-05-15
"""
from typing import Sequence, Union
from alembic import op
revision: str = "0004"
down_revision: Union[str, None] = "0003"
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
op.execute("CREATE EXTENSION IF NOT EXISTS tsm_system_rows")
def downgrade() -> None:
op.execute("DROP EXTENSION IF EXISTS tsm_system_rows")
+27
View File
@@ -0,0 +1,27 @@
"""Integration: the tsm_system_rows extension is installed by migration 0004.
Needs a real Postgres (CI does not provision one), so integration-marked.
"""
import pytest
from sqlalchemy import text
pytestmark = pytest.mark.integration
@pytest.mark.asyncio
async def test_tsm_system_rows_extension_present(db):
row = (
await db.execute(
text("SELECT 1 FROM pg_extension WHERE extname = 'tsm_system_rows'")
)
).first()
assert row is not None
@pytest.mark.asyncio
async def test_system_rows_sampling_is_usable(db):
# Should parse and execute even on an empty table.
await db.execute(
text("SELECT * FROM image_record TABLESAMPLE SYSTEM_ROWS(1)")
)