plain.postgres 0.111.1__tar.gz → 0.111.2__tar.gz
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.
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/PKG-INFO +1 -1
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/CHANGELOG.md +11 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/test/pytest.py +9 -1
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/pyproject.toml +1 -1
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/.gitignore +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/CLAUDE.md +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/LICENSE +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/README.md +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/README.md +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/__init__.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/adapters.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/agents/.claude/rules/plain-postgres.md +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/agents/.claude/skills/plain-postgres-doctor/SKILL.md +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/aggregates.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/base.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/cli/__init__.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/cli/converge.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/cli/core.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/cli/decorators.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/cli/diagnose.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/cli/migrations.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/cli/schema.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/cli/sync.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/config.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/connection.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/constants.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/constraints.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/convergence/__init__.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/convergence/analysis.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/convergence/fixes.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/convergence/planning.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/database_url.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/db.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/ddl.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/default_settings.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/deletion.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/dialect.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/entrypoints.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/enums.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/exceptions.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/expressions.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/__init__.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/base.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/binary.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/boolean.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/duration.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/encrypted.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/json.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/mixins.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/network.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/numeric.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/primary_key.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/related.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/related_descriptors.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/related_lookups.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/related_managers.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/reverse_descriptors.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/reverse_related.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/temporal.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/text.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/timezones.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/uuid.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/forms.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/functions/__init__.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/functions/comparison.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/functions/datetime.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/functions/math.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/functions/mixins.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/functions/random.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/functions/text.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/functions/uuid.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/functions/window.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/indexes.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/introspection/__init__.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/introspection/health/__init__.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/introspection/health/checks_cumulative.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/introspection/health/checks_snapshot.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/introspection/health/checks_structural.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/introspection/health/context.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/introspection/health/helpers.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/introspection/health/ownership.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/introspection/health/runner.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/introspection/health/types.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/introspection/schema.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/lookups.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/meta.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/middleware.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/__init__.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/autodetector.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/exceptions.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/executor.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/graph.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/loader.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/migration.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/operations/__init__.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/operations/base.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/operations/fields.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/operations/models.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/operations/special.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/optimizer.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/questioner.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/recorder.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/serializer.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/state.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/utils.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/writer.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/options.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/otel.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/preflight/__init__.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/preflight/database.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/preflight/indexes.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/preflight/models.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/query.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/query_utils.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/registry.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/schema.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/sources.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/sql/__init__.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/sql/compiler.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/sql/constants.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/sql/datastructures.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/sql/query.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/sql/where.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/test/__init__.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/test/database.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/transaction.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/types.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/types.pyi +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/utils.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/forms.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/0001_initial.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/0002_test_field_removed.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/0003_deleteparent_childsetnull_childsetdefault_and_more.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/0004_defaultquerysetmodel_mixintestmodel_and_more.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/0005_feature_carfeature_car_features.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/0006_secretstore.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/0007_treenode_unconstrainedchild.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/0008_setsentinelparent_diamondparenta_midparent_and_more.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/0009_circb_circa_circb_partner.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/0010_hideableitem.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/0011_defaultsexample.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/0012_iterationexample.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/0013_indexexample_constraintexample_nullabilityexample.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/0014_widget_rename_feature_tag_remove_carfeature_car_and_more.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/0015_dbdefaultsexample.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/0016_formsexample.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/0017_random_string_token.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/0018_storageparametersexample.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/__init__.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/models/__init__.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/models/constraints.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/models/defaults.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/models/delete.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/models/encrypted.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/models/forms.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/models/indexes.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/models/iteration.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/models/mixins.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/models/nullability.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/models/querysets.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/models/relationships.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/models/storage_parameters.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/models/trees.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/models/unregistered.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/urls.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/views.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/settings.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/urls.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/conftest.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/conftest_convergence.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_autodetector_not_null_errors.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_autodetector_type_change.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_connection_isolation.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_connection_lifecycle.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_connection_pool.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_connection_self_heal.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_constraint_violation_error.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_convergence.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_convergence_constraints.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_convergence_defaults.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_convergence_fk.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_convergence_indexes.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_convergence_nullability.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_convergence_storage_parameters.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_convergence_timeouts.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_db_expression_defaults.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_diagnose.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_executor_connection_hook.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_fk_characterization.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_health.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_introspection.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_literal_default_persistence.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_management_connection.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_migration_executor.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_no_callable_defaults.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_otel_metrics.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_preflight_duplicate_indexes.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_preflight_fk_composite_hint.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_preflight_fk_coverage.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_schema_normalize_type.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_schema_timeouts.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_create_update.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_database_url.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_deferred_loading.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_delete_behaviors.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_encrypted_fields.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_exceptions.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_field_defaults.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_functions_uuid.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_integrity_error_mapping.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_iterator.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_m2m.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_manager_assignment.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_manual_pk.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_mixins.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_modelform_roundtrip.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_queryset_repr.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_queryset_slicing.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_random_string_field.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_raw_query.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_read_only_transactions.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_related.py +0 -0
- {plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_related_instance_filter.py +0 -0
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# plain-postgres changelog
|
|
2
2
|
|
|
3
|
+
## [0.111.2](https://github.com/dropseed/plain/releases/plain-postgres@0.111.2) (2026-07-15)
|
|
4
|
+
|
|
5
|
+
### What's changed
|
|
6
|
+
|
|
7
|
+
- The `setup_db` pytest fixture is now pytest-xdist aware: each worker gets its own test database (`gw0_<db>`, `gw1_<db>`, …), so `plain test -n <N>` runs in parallel without workers colliding while creating, migrating, and dropping the same database. Off-xdist the database name is unchanged (`test_<db>`). ([a8880771d2](https://github.com/dropseed/plain/commit/a8880771d2))
|
|
8
|
+
- Removed an unnecessary `type: ignore` comment in the SQL compiler. ([2a1bf46f13](https://github.com/dropseed/plain/commit/2a1bf46f13))
|
|
9
|
+
|
|
10
|
+
### Upgrade instructions
|
|
11
|
+
|
|
12
|
+
- No changes required.
|
|
13
|
+
|
|
3
14
|
## [0.111.1](https://github.com/dropseed/plain/releases/plain-postgres@0.111.1) (2026-07-10)
|
|
4
15
|
|
|
5
16
|
### What's changed
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import os
|
|
3
4
|
import re
|
|
4
5
|
from collections.abc import Generator
|
|
5
6
|
from typing import Any
|
|
@@ -44,12 +45,19 @@ def setup_db(request: Any) -> Generator[None]:
|
|
|
44
45
|
"""
|
|
45
46
|
verbosity = request.config.option.verbose
|
|
46
47
|
|
|
48
|
+
# Under pytest-xdist each worker runs its own session and hits this
|
|
49
|
+
# fixture independently. Give each worker its own database (gw0_<db>,
|
|
50
|
+
# gw1_<db>, …) so they don't collide creating/migrating/dropping the
|
|
51
|
+
# same one. PYTEST_XDIST_WORKER is unset off-xdist → empty prefix →
|
|
52
|
+
# the plain `test_<db>` name.
|
|
53
|
+
prefix = os.environ.get("PYTEST_XDIST_WORKER", "")
|
|
54
|
+
|
|
47
55
|
# Test DB points at a different database name, so a pool built
|
|
48
56
|
# against the runtime URL would connect to the wrong place. Close
|
|
49
57
|
# any existing pool so the next checkout rebuilds against the
|
|
50
58
|
# active POSTGRES_URL (which use_test_database swaps).
|
|
51
59
|
runtime_pool_source.close()
|
|
52
|
-
ctx = use_test_database(verbosity=verbosity)
|
|
60
|
+
ctx = use_test_database(verbosity=verbosity, prefix=prefix)
|
|
53
61
|
with suppress_db_tracing():
|
|
54
62
|
ctx.__enter__()
|
|
55
63
|
try:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/related_descriptors.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/fields/reverse_descriptors.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/introspection/health/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/introspection/health/context.py
RENAMED
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/introspection/health/helpers.py
RENAMED
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/introspection/health/ownership.py
RENAMED
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/introspection/health/runner.py
RENAMED
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/introspection/health/types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/operations/__init__.py
RENAMED
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/operations/base.py
RENAMED
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/operations/fields.py
RENAMED
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/operations/models.py
RENAMED
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/plain/postgres/migrations/operations/special.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/0001_initial.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/0006_secretstore.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/0010_hideableitem.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/migrations/0016_formsexample.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/models/relationships.py
RENAMED
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/app/examples/models/storage_parameters.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_autodetector_type_change.py
RENAMED
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_connection_isolation.py
RENAMED
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_connection_lifecycle.py
RENAMED
|
File without changes
|
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_connection_self_heal.py
RENAMED
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_constraint_violation_error.py
RENAMED
|
File without changes
|
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_convergence_constraints.py
RENAMED
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_convergence_defaults.py
RENAMED
|
File without changes
|
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_convergence_indexes.py
RENAMED
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_convergence_nullability.py
RENAMED
|
File without changes
|
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_convergence_timeouts.py
RENAMED
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_db_expression_defaults.py
RENAMED
|
File without changes
|
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_executor_connection_hook.py
RENAMED
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_fk_characterization.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_literal_default_persistence.py
RENAMED
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_management_connection.py
RENAMED
|
File without changes
|
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_no_callable_defaults.py
RENAMED
|
File without changes
|
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_preflight_duplicate_indexes.py
RENAMED
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_preflight_fk_composite_hint.py
RENAMED
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_preflight_fk_coverage.py
RENAMED
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/internal/test_schema_normalize_type.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_integrity_error_mapping.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_read_only_transactions.py
RENAMED
|
File without changes
|
|
File without changes
|
{plain_postgres-0.111.1 → plain_postgres-0.111.2}/tests/public/test_related_instance_filter.py
RENAMED
|
File without changes
|