velocity-python 0.1.102__tar.gz → 0.1.103__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.
- {velocity_python-0.1.102 → velocity_python-0.1.103}/PKG-INFO +1 -1
- {velocity_python-0.1.102 → velocity_python-0.1.103}/pyproject.toml +1 -1
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/__init__.py +1 -1
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/handlers/mixins/data_service.py +61 -17
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity_python.egg-info/PKG-INFO +1 -1
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_data_service_renumber.py +58 -11
- {velocity_python-0.1.102 → velocity_python-0.1.103}/LICENSE +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/README.md +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/setup.cfg +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/amplify.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/amplify_build.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/assets/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/assets/backfill.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/assets/indexing.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/assets/references.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/assets/service.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/assets/usage_index.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/blobs.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/deploy/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/deploy/config.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/deploy/operations.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/deploy/policies.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/deploy/reconcile.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/deploy/targets.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/dirty_pipeline.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/email.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/handlers/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/handlers/base_handler.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/handlers/context.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/handlers/context_factory.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/handlers/exceptions.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/handlers/lambda_handler.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/handlers/masquerade.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/handlers/mixins/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/handlers/mixins/job_handler.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/handlers/mixins/web_handler.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/handlers/perf.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/handlers/response.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/handlers/sqs_handler.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/job_results.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/s3.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/sms.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/ssm_config.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/tests/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/tests/test_amplify_build_policy_size.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/tests/test_amplify_build_shim.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/tests/test_base_handler_error_response.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/tests/test_deploy_policies.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/tests/test_deploy_reconcile.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/tests/test_email.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/tests/test_lambda_handler_json_serialization.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/tests/test_response.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/tests/test_sms.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/core/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/core/async_support.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/core/column.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/core/database.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/core/decorators.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/core/engine.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/core/jsonproxy.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/core/result.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/core/row.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/core/sequence.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/core/table.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/core/transaction.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/core/view.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/exceptions.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/maintenance.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/migrations.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/base/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/base/initializer.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/base/operators.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/base/sql.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/base/types.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/mysql/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/mysql/operators.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/mysql/reserved.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/mysql/sql.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/mysql/types.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/postgres/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/postgres/operators.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/postgres/reserved.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/postgres/sql.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/postgres/types.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/sqlite/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/sqlite/operators.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/sqlite/reserved.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/sqlite/sql.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/sqlite/types.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/sqlserver/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/sqlserver/operators.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/sqlserver/reserved.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/sqlserver/sql.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/sqlserver/types.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/tablehelper.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/common_db_test.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/common.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/conftest.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_column.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_connections.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_database.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_engine.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_general_usage.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_imports.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_result.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_row.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_row_comprehensive.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_schema_locking.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_schema_locking_unit.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_sequence.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_sql_comprehensive.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_table.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_table_comprehensive.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_transaction.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/sql/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/sql/common.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/sql/test_postgres_select_advanced.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/sql/test_postgres_select_variances.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/test_cursor_rowcount_fix.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/test_db_utils.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/test_postgres.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/test_postgres_unchanged.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/test_process_error_robustness.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/test_result_caching.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/test_result_sql_aware.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/test_row_get_missing_column.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/test_schema_locking_initializers.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/test_schema_locking_simple.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/test_sql_builder.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/test_tablehelper.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/test_view_helper.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/utils.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/logging.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/misc/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/misc/conv/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/misc/conv/iconv.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/misc/conv/oconv.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/misc/db.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/misc/export.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/misc/format.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/misc/mail.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/misc/merge.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/misc/pdf.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/misc/tests/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/misc/tests/test_db.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/misc/tests/test_fix.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/misc/tests/test_format.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/misc/tests/test_iconv.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/misc/tests/test_mail_send.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/misc/tests/test_merge.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/misc/tests/test_oconv.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/misc/tests/test_original_error.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/misc/tests/test_timer.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/misc/timer.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/misc/tools.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/nosql/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/nosql/core/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/nosql/core/capabilities.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/nosql/core/store.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/nosql/core/where.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/nosql/exceptions.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/nosql/servers/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/nosql/servers/base/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/nosql/servers/cassandra/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/nosql/servers/cassandra/translation.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/nosql/servers/couchbase/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/nosql/servers/couchbase/translation.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/nosql/servers/dynamodb/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/nosql/servers/dynamodb/translation.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/nosql/servers/elasticsearch/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/nosql/servers/elasticsearch/translation.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/nosql/servers/memory/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/nosql/servers/mongodb/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/nosql/servers/mongodb/translation.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/nosql/servers/redis/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/payment/__init__.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/payment/authorizenet_adapter.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/payment/authorizenet_mirror.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/payment/base_adapter.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/payment/braintree_adapter.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/payment/braintree_mirror.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/payment/charge_rules.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/payment/stripe_adapter.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/payment/stripe_mirror.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity_python.egg-info/SOURCES.txt +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity_python.egg-info/dependency_links.txt +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity_python.egg-info/entry_points.txt +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity_python.egg-info/requires.txt +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity_python.egg-info/top_level.txt +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_activity_tracking_aborted_tx.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_amplify_build.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_asset_indexing.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_asset_references.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_assets_service.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_async_support.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_batch_operations.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_blob_store.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_column_tx_arg.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_concurrency_safety.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_connection_pool.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_connection_resilience.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_context_job_descriptions.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_data_service_query_cap.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_data_service_save_as.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_db_credentials_ssm_cascade.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_db_maintenance.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_decorators.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_delete_hook_fk_blocked.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_dirty_pipeline_fast_path.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_email_processing.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_enqueue_send_failures.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_get_cognito_user_provider.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_http_handler_rollback.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_iconv_money_to_cents.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_identifier_injection_guard.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_job_handler.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_job_results.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_json_columns.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_jsonb_dict_adapter.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_lambda_handler.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_lambda_handler_auth.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_lambda_handler_masquerade.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_masquerade_grant.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_mixins_import.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_n_plus_one.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_nosql_dynamodb.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_nosql_memory.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_nosql_mongodb.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_nosql_redis.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_nosql_translation.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_nosql_where.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_observability.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_on_commit.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_payment_authorizenet_adapter.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_payment_braintree_adapter.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_payment_braintree_mirror.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_payment_mirror_empty_table.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_payment_profile_sorting.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_payment_stripe_adapter.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_pdf.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_prepared_statements.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_psycopg3_upgrade.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_query_cache.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_query_missing_table_unlocked.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_response.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_restricted_direct_tables.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_retry_side_effect_guard.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_return_default_safety.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_row_batch_update.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_row_cache_staleness.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_schema_migrations.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_security_hardening.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_server_cursor.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_single_autocommit_safety.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_spreadsheet_functions.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_sqlite_backend.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_sqs_per_record_transactions.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_ssm_config.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_store_user_data.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_sys_modified_count_postgres_demo.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_table_alter.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_transaction_class_wrapping.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_transaction_commit_and_ownership.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_transaction_edge_cases.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_where_clause_validation.py +0 -0
- {velocity_python-0.1.102 → velocity_python-0.1.103}/tests/test_write_hook_create_flow.py +0 -0
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/handlers/mixins/data_service.py
RENAMED
|
@@ -65,12 +65,59 @@ def _bump_sys_id_sequence(tx, table):
|
|
|
65
65
|
)
|
|
66
66
|
|
|
67
67
|
|
|
68
|
+
def _sys_id_fk_references(tx, table):
|
|
69
|
+
"""Foreign keys pointing AT this table's sys_id, as
|
|
70
|
+
(referencing_table, referencing_column) pairs. A multi-column FK yields
|
|
71
|
+
referencing_column None (callers treat it conservatively)."""
|
|
72
|
+
return tx.execute(
|
|
73
|
+
"""select con.conrelid::regclass::text as referencing_table,
|
|
74
|
+
case when array_length(con.conkey, 1) = 1
|
|
75
|
+
then (select att.attname from pg_attribute att
|
|
76
|
+
where att.attrelid = con.conrelid
|
|
77
|
+
and att.attnum = con.conkey[1])
|
|
78
|
+
end as referencing_column
|
|
79
|
+
from pg_constraint con
|
|
80
|
+
join pg_class rel on rel.oid = con.confrelid
|
|
81
|
+
join pg_namespace nsp on nsp.oid = rel.relnamespace
|
|
82
|
+
where con.contype = 'f' and nsp.nspname = 'public'
|
|
83
|
+
and rel.relname = %s
|
|
84
|
+
and (select att.attname from pg_attribute att
|
|
85
|
+
where att.attrelid = con.confrelid
|
|
86
|
+
and att.attnum = con.confkey[1]) = 'sys_id'""",
|
|
87
|
+
(table,),
|
|
88
|
+
).all()
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
def _count_fk_rows(tx, references, sys_id):
|
|
92
|
+
"""Rows that actually reference ``sys_id`` through the given FK pairs.
|
|
93
|
+
Returns human-readable "table (n row(s))" descriptions, or raises for an
|
|
94
|
+
FK shape too odd to check safely (multi-column, unquotable names)."""
|
|
95
|
+
blocked = []
|
|
96
|
+
for ref in references:
|
|
97
|
+
ref_table = ref.get("referencing_table") or ""
|
|
98
|
+
ref_column = ref.get("referencing_column") or ""
|
|
99
|
+
if not (_IDENTIFIER_RE.match(ref_table) and _IDENTIFIER_RE.match(ref_column)):
|
|
100
|
+
raise AlertError(
|
|
101
|
+
f"Renumbering is not allowed: {ref_table or 'a table'} references "
|
|
102
|
+
f"this table through a foreign key this tool cannot inspect."
|
|
103
|
+
)
|
|
104
|
+
count = tx.execute(
|
|
105
|
+
f'select count(*) as n from "{ref_table}" where "{ref_column}" = %s',
|
|
106
|
+
(sys_id,),
|
|
107
|
+
).scalar()
|
|
108
|
+
if count:
|
|
109
|
+
blocked.append(f"{ref_table} ({count} row(s))")
|
|
110
|
+
return blocked
|
|
111
|
+
|
|
112
|
+
|
|
68
113
|
def renumber_row(tx, table, old_sys_id, new_sys_id, overwrite=False):
|
|
69
114
|
"""Assign a CHOSEN sys_id to an existing row (admin surgery).
|
|
70
115
|
|
|
71
116
|
Rules (deliberately simple):
|
|
72
|
-
-
|
|
73
|
-
|
|
117
|
+
- a foreign-key CONSTRAINT on this table's sys_id is fine; what refuses
|
|
118
|
+
the change is actual referencing ROWS — rows pointing at the old id
|
|
119
|
+
(reassigning references is not implemented), or, on overwrite, rows
|
|
120
|
+
pointing at the occupant that would be deleted;
|
|
74
121
|
- when the target sys_id already exists: refused unless ``overwrite`` —
|
|
75
122
|
which DELETES the occupying row first;
|
|
76
123
|
- the table's sys_id sequence is bumped past MAX(sys_id) afterwards so
|
|
@@ -95,27 +142,24 @@ def renumber_row(tx, table, old_sys_id, new_sys_id, overwrite=False):
|
|
|
95
142
|
if not tx.table(table).find(old_id):
|
|
96
143
|
raise AlertError(f"Record {old_id} was not found in {table}.")
|
|
97
144
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
join pg_class rel on rel.oid = con.confrelid
|
|
102
|
-
join pg_namespace nsp on nsp.oid = rel.relnamespace
|
|
103
|
-
where con.contype = 'f' and nsp.nspname = 'public'
|
|
104
|
-
and rel.relname = %s
|
|
105
|
-
limit 5""",
|
|
106
|
-
(table,),
|
|
107
|
-
).all()
|
|
108
|
-
if referencing:
|
|
109
|
-
tables = ", ".join(sorted({r["referencing_table"] for r in referencing}))
|
|
145
|
+
references = _sys_id_fk_references(tx, table)
|
|
146
|
+
blocked = _count_fk_rows(tx, references, old_id)
|
|
147
|
+
if blocked:
|
|
110
148
|
raise AlertError(
|
|
111
|
-
f"Renumbering is not allowed: {
|
|
112
|
-
"
|
|
113
|
-
"
|
|
149
|
+
f"Renumbering is not allowed: {', '.join(sorted(blocked))} still "
|
|
150
|
+
f"reference {table} {old_id}. (Reassigning references is not "
|
|
151
|
+
"implemented — repoint or remove those rows first.)"
|
|
114
152
|
)
|
|
115
153
|
|
|
116
154
|
if tx.table(table).find(new_id):
|
|
117
155
|
if not overwrite:
|
|
118
156
|
return "exists"
|
|
157
|
+
occupied = _count_fk_rows(tx, references, new_id)
|
|
158
|
+
if occupied:
|
|
159
|
+
raise AlertError(
|
|
160
|
+
f"Cannot overwrite {table} {new_id}: {', '.join(sorted(occupied))} "
|
|
161
|
+
"still reference it."
|
|
162
|
+
)
|
|
119
163
|
tx.execute(f'DELETE FROM "{table}" WHERE sys_id = %s', (new_id,))
|
|
120
164
|
|
|
121
165
|
tx.execute(
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
"""renumber_row: chosen-sys_id assignment with FK
|
|
2
|
-
|
|
1
|
+
"""renumber_row: chosen-sys_id assignment with row-level FK checking (a
|
|
2
|
+
constraint alone no longer denies — actual referencing ROWS do), occupied-
|
|
3
|
+
target confirmation, overwrite semantics, and the sequence bump."""
|
|
3
4
|
|
|
4
5
|
import pytest
|
|
5
6
|
from unittest.mock import MagicMock
|
|
@@ -9,9 +10,13 @@ from velocity.aws.handlers.mixins.data_service import renumber_row
|
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
class FakeTx:
|
|
12
|
-
def __init__(self, existing_ids=(5,),
|
|
13
|
+
def __init__(self, existing_ids=(5,), fk=(), refs=None):
|
|
14
|
+
"""``fk``: (referencing_table, referencing_column) pairs — the FK
|
|
15
|
+
constraints on this table's sys_id. ``refs``: {(table, column):
|
|
16
|
+
{sys_id: row_count}} — the rows actually referencing each id."""
|
|
13
17
|
self.existing = set(existing_ids)
|
|
14
|
-
self.
|
|
18
|
+
self.fk = list(fk)
|
|
19
|
+
self.refs = refs or {}
|
|
15
20
|
self.executed = []
|
|
16
21
|
outer = self
|
|
17
22
|
|
|
@@ -29,8 +34,15 @@ class FakeTx:
|
|
|
29
34
|
result = MagicMock()
|
|
30
35
|
if "pg_constraint" in sql:
|
|
31
36
|
result.all.return_value = [
|
|
32
|
-
{"referencing_table": t} for t in self.
|
|
37
|
+
{"referencing_table": t, "referencing_column": c} for t, c in self.fk
|
|
33
38
|
]
|
|
39
|
+
elif sql.strip().lower().startswith("select count(*)"):
|
|
40
|
+
for (t, c), counts in self.refs.items():
|
|
41
|
+
if f'"{t}"' in sql and f'"{c}"' in sql:
|
|
42
|
+
result.scalar.return_value = counts.get(params[0], 0)
|
|
43
|
+
break
|
|
44
|
+
else:
|
|
45
|
+
result.scalar.return_value = 0
|
|
34
46
|
else:
|
|
35
47
|
result.all.return_value = []
|
|
36
48
|
if sql.strip().upper().startswith("DELETE"):
|
|
@@ -54,6 +66,28 @@ def test_simple_renumber_updates_and_bumps_sequence():
|
|
|
54
66
|
assert 42 in tx.existing and 5 not in tx.existing
|
|
55
67
|
|
|
56
68
|
|
|
69
|
+
def test_fk_constraint_without_referencing_rows_is_allowed():
|
|
70
|
+
# Paul's studios case (2026-09-05): a legacy event.studio_id FK exists,
|
|
71
|
+
# but no event row points at this studio — the renumber must proceed.
|
|
72
|
+
tx = FakeTx(existing_ids=(5,), fk=(("event", "studio_id"),))
|
|
73
|
+
assert renumber_row(tx, "studio", 5, 42) == "renumbered"
|
|
74
|
+
assert any(s.startswith("select count(*)") for s in sqls(tx))
|
|
75
|
+
assert 42 in tx.existing
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
def test_actual_referencing_rows_deny_with_counts():
|
|
79
|
+
tx = FakeTx(
|
|
80
|
+
existing_ids=(5,),
|
|
81
|
+
fk=(("event", "studio_id"),),
|
|
82
|
+
refs={("event", "studio_id"): {5: 3}},
|
|
83
|
+
)
|
|
84
|
+
with pytest.raises(AlertError) as err:
|
|
85
|
+
renumber_row(tx, "studio", 5, 42)
|
|
86
|
+
assert "event (3 row(s))" in str(err.value)
|
|
87
|
+
assert "still reference studio 5" in str(err.value)
|
|
88
|
+
assert not any(s.startswith(("DELETE", "UPDATE")) for s in sqls(tx))
|
|
89
|
+
|
|
90
|
+
|
|
57
91
|
def test_occupied_target_reports_exists_without_touching_data():
|
|
58
92
|
tx = FakeTx(existing_ids=(5, 42))
|
|
59
93
|
assert renumber_row(tx, "studio", 5, 42) == "exists"
|
|
@@ -61,19 +95,32 @@ def test_occupied_target_reports_exists_without_touching_data():
|
|
|
61
95
|
|
|
62
96
|
|
|
63
97
|
def test_overwrite_deletes_the_occupant_then_renumbers():
|
|
64
|
-
tx = FakeTx(existing_ids=(5, 42))
|
|
98
|
+
tx = FakeTx(existing_ids=(5, 42), fk=(("event", "studio_id"),))
|
|
65
99
|
assert renumber_row(tx, "studio", 5, 42, overwrite=True) == "renumbered"
|
|
66
100
|
ordered = [s.split()[0] for s in sqls(tx) if s.split()[0] in ("DELETE", "UPDATE")]
|
|
67
101
|
assert ordered == ["DELETE", "UPDATE"]
|
|
68
102
|
assert tx.existing == {42}
|
|
69
103
|
|
|
70
104
|
|
|
71
|
-
def
|
|
72
|
-
tx = FakeTx(
|
|
105
|
+
def test_overwrite_refused_when_the_occupant_is_referenced():
|
|
106
|
+
tx = FakeTx(
|
|
107
|
+
existing_ids=(5, 42),
|
|
108
|
+
fk=(("event", "studio_id"),),
|
|
109
|
+
refs={("event", "studio_id"): {42: 2}},
|
|
110
|
+
)
|
|
73
111
|
with pytest.raises(AlertError) as err:
|
|
74
|
-
renumber_row(tx, "
|
|
75
|
-
assert "
|
|
76
|
-
assert
|
|
112
|
+
renumber_row(tx, "studio", 5, 42, overwrite=True)
|
|
113
|
+
assert "Cannot overwrite studio 42" in str(err.value)
|
|
114
|
+
assert "event (2 row(s))" in str(err.value)
|
|
115
|
+
assert 42 in tx.existing # occupant untouched
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
def test_uninspectable_fk_shape_stays_conservatively_denied():
|
|
119
|
+
# Multi-column FK surfaces referencing_column None — deny rather than guess.
|
|
120
|
+
tx = FakeTx(existing_ids=(5,), fk=(("event_link", None),))
|
|
121
|
+
with pytest.raises(AlertError) as err:
|
|
122
|
+
renumber_row(tx, "studio", 5, 42)
|
|
123
|
+
assert "cannot inspect" in str(err.value)
|
|
77
124
|
|
|
78
125
|
|
|
79
126
|
@pytest.mark.parametrize(
|
|
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
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/handlers/base_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/handlers/context_factory.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/handlers/lambda_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/handlers/mixins/__init__.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/handlers/mixins/job_handler.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/handlers/mixins/web_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/handlers/sqs_handler.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
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/tests/test_deploy_policies.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/aws/tests/test_deploy_reconcile.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
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/base/__init__.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/base/initializer.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/base/operators.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/mysql/__init__.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/mysql/operators.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/mysql/reserved.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/postgres/__init__.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/postgres/operators.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/postgres/reserved.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/postgres/types.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/sqlite/__init__.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/sqlite/operators.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/sqlite/reserved.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/sqlserver/__init__.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/sqlserver/operators.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/sqlserver/reserved.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/sqlserver/sql.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/servers/sqlserver/types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/__init__.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/common.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/conftest.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_column.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_database.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_engine.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_imports.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_result.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_row.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_sequence.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/postgres/test_table.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
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/test_postgres_unchanged.py
RENAMED
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/test_result_caching.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/test_result_sql_aware.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/test_sql_builder.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/test_tablehelper.py
RENAMED
|
File without changes
|
{velocity_python-0.1.102 → velocity_python-0.1.103}/src/velocity/db/tests/test_view_helper.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
|