altcodepro-polydb-python 2.5.6__tar.gz → 2.5.8__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.
- {altcodepro_polydb_python-2.5.6/src/altcodepro_polydb_python.egg-info → altcodepro_polydb_python-2.5.8}/PKG-INFO +1 -1
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/pyproject.toml +1 -1
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8/src/altcodepro_polydb_python.egg-info}/PKG-INFO +1 -1
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/__init__.py +1 -1
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/AzureTableStorageAdapter.py +5 -1
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/databaseFactory.py +57 -31
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/LICENSE +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/MANIFEST.in +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/README.md +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/requirements-aws.txt +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/requirements-azure.txt +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/requirements-dev.txt +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/requirements-gcp.txt +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/requirements-generic.txt +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/requirements.txt +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/setup.cfg +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/setup.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/altcodepro_polydb_python.egg-info/SOURCES.txt +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/altcodepro_polydb_python.egg-info/dependency_links.txt +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/altcodepro_polydb_python.egg-info/requires.txt +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/altcodepro_polydb_python.egg-info/top_level.txt +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/PolyDB.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/AWSSecretsManagerAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/AzureBlobStorageAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/AzureFileStorageAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/AzureKeyVaultAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/AzureQueueAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/BlockchainBlobAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/BlockchainFileAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/BlockchainKVAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/BlockchainQueueAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/DynamoDBAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/EFSAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/FirestoreAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/GCPFilestoreAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/GCPPubSubAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/GCPSecretManagerAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/GCPStorageAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/KafkaQueueAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/MongoDBAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/PostgreSQLAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/RabbitMQAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/S3Adapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/S3CompatibleAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/SQSAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/VaultAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/VercelBlobAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/VercelFileAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/VercelKVAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/VercelQueueAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/__init__.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/advanced_query.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/audit/AuditStorage.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/audit/__init__.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/audit/context.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/audit/manager.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/audit/models.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/base/NoSQLKVAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/base/ObjectStorageAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/base/QueueAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/base/SecretsAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/base/SharedFilesAdapter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/base/__init__.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/batch.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/cache.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/cloudDatabaseFactory.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/decorators.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/errors.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/json_safe.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/models.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/monitoring.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/multitenancy.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/observability/__init__.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/observability/logging.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/py.typed +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/query.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/registry.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/retry.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/schema.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/security.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/services/__init__.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/services/compliance_service.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/services/security_service.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/types.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/utils.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/validation.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_advanced_query_injection.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_atomic_decrement.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_audit_chain_cutover.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_audit_hmac.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_aws.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_azure.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_azure_queue_receipt_handle.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_azure_table_empty_filter.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_azure_table_unpack_entity.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_blockchain.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_cloud_factory.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_field_encryption.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_gcp.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_kafka.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_like_pattern_escaping.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_mongodb.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_multi_engine.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_multitenancy_ddl_injection.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_nosql_operator_injection.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_observability.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_postgresql.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_queue_extend_delay_cancel.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_rabbitmq.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_redis_kv.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_schema_ddl_injection.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_secrets_aws.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_secrets_vault.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_session_vars.py +0 -0
- {altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_vercel.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: altcodepro-polydb-python
|
|
3
|
-
Version: 2.5.
|
|
3
|
+
Version: 2.5.8
|
|
4
4
|
Summary: Production-ready multi-cloud database abstraction layer with connection pooling, retry logic, and thread safety
|
|
5
5
|
Author: AltCodePro
|
|
6
6
|
Project-URL: Homepage, https://github.com/altcodepro/polydb-python
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "altcodepro-polydb-python"
|
|
7
|
-
version = "2.5.
|
|
7
|
+
version = "2.5.8"
|
|
8
8
|
description = "Production-ready multi-cloud database abstraction layer with connection pooling, retry logic, and thread safety"
|
|
9
9
|
readme = { file = "README.md", content-type = "text/markdown" }
|
|
10
10
|
requires-python = ">=3.11"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: altcodepro-polydb-python
|
|
3
|
-
Version: 2.5.
|
|
3
|
+
Version: 2.5.8
|
|
4
4
|
Summary: Production-ready multi-cloud database abstraction layer with connection pooling, retry logic, and thread safety
|
|
5
5
|
Author: AltCodePro
|
|
6
6
|
Project-URL: Homepage, https://github.com/altcodepro/polydb-python
|
|
@@ -4,7 +4,7 @@ PolyDB - Enterprise Cloud-Independent Database Abstraction
|
|
|
4
4
|
Full LINQ support, field-level audit, cache, soft delete, overflow storage
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
|
-
__version__ = "2.5.
|
|
7
|
+
__version__ = "2.5.8"
|
|
8
8
|
|
|
9
9
|
from .cloudDatabaseFactory import CloudDatabaseFactory
|
|
10
10
|
from .databaseFactory import DatabaseFactory
|
|
@@ -404,7 +404,11 @@ class AzureTableStorageAdapter(NoSQLKVAdapter):
|
|
|
404
404
|
|
|
405
405
|
polydb_meta = getattr(model, "__polydb__", None)
|
|
406
406
|
if isinstance(polydb_meta, dict):
|
|
407
|
-
collection =
|
|
407
|
+
collection = (
|
|
408
|
+
polydb_meta.get("collection")
|
|
409
|
+
or polydb_meta.get("collection_name")
|
|
410
|
+
or polydb_meta.get("table")
|
|
411
|
+
)
|
|
408
412
|
if collection:
|
|
409
413
|
return self._sanitize_table_name(str(collection))
|
|
410
414
|
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/databaseFactory.py
RENAMED
|
@@ -576,21 +576,40 @@ class DatabaseFactory:
|
|
|
576
576
|
# `before`, so a plain id-addressed update() still lands on
|
|
577
577
|
# the entity's real physical key instead of a mismatched
|
|
578
578
|
# default partition / the id used as a row key it never had.
|
|
579
|
+
#
|
|
580
|
+
# meta.pk_field is None for the overwhelming majority of
|
|
581
|
+
# models (nothing declares an explicit partition/sort key) —
|
|
582
|
+
# that does NOT mean there's no partition key to recover, it
|
|
583
|
+
# means the adapter's own real default applies instead
|
|
584
|
+
# (NoSQLKVAdapter._get_pk_rk/_pk_rk_field_names: "tenant_id"
|
|
585
|
+
# / "id"). Resolving against meta.pk_field alone and giving
|
|
586
|
+
# up when it's unset silently produced pkey=None here, which
|
|
587
|
+
# patch()'s own dict-shaped entity_id branch has no fallback
|
|
588
|
+
# for either — the combination wrote every default-tier
|
|
589
|
+
# update to a bogus PartitionKey="None" row instead of the
|
|
590
|
+
# real one. Also check entity_id itself first (the caller's
|
|
591
|
+
# own already-resolved tenant/partition value, e.g.
|
|
592
|
+
# core_db.py's db_update passing {"id":..., "tenant_id":...})
|
|
593
|
+
# — it's more direct and just as authoritative as `before`.
|
|
594
|
+
pk_field_name = meta.pk_field or "tenant_id"
|
|
595
|
+
rk_field_name = meta.rk_field or "id"
|
|
579
596
|
pkey = data.get("PartitionKey") or data.get("partition_key") or data.get("pk")
|
|
580
|
-
if not pkey
|
|
581
|
-
pkey = data.get(
|
|
597
|
+
if not pkey:
|
|
598
|
+
pkey = data.get(pk_field_name)
|
|
599
|
+
if not pkey and isinstance(entity_id, dict):
|
|
600
|
+
pkey = entity_id.get(pk_field_name)
|
|
582
601
|
if not pkey and before:
|
|
583
602
|
pkey = (
|
|
584
603
|
before.get("PartitionKey")
|
|
585
604
|
or before.get("partition_key")
|
|
586
605
|
or before.get("pk")
|
|
587
606
|
or before.get("_pk")
|
|
588
|
-
or
|
|
607
|
+
or before.get(pk_field_name)
|
|
589
608
|
)
|
|
590
609
|
rkey = None
|
|
591
|
-
if
|
|
592
|
-
rkey = data.get(
|
|
593
|
-
before.get(
|
|
610
|
+
if rk_field_name != "id":
|
|
611
|
+
rkey = data.get(rk_field_name) or (
|
|
612
|
+
before.get(rk_field_name) if before else None
|
|
594
613
|
)
|
|
595
614
|
en_id = entity_id
|
|
596
615
|
if pkey:
|
|
@@ -758,38 +777,45 @@ class DatabaseFactory:
|
|
|
758
777
|
)
|
|
759
778
|
# Same physical-key recovery as update() (see there for why a
|
|
760
779
|
# scalar entity_id alone isn't enough once a model's pk_field
|
|
761
|
-
# /rk_field differ from "id"
|
|
780
|
+
# /rk_field differ from "id", and why meta.pk_field being
|
|
781
|
+
# unset must fall back to the adapter's own real default
|
|
782
|
+
# ("tenant_id"/"id"), never a silent no-op).
|
|
783
|
+
pk_field_name = meta.pk_field or "tenant_id"
|
|
784
|
+
rk_field_name = meta.rk_field or "id"
|
|
762
785
|
en_id = entity_id
|
|
763
|
-
|
|
786
|
+
pkey = None
|
|
787
|
+
if isinstance(entity_id, dict):
|
|
788
|
+
pkey = entity_id.get(pk_field_name)
|
|
789
|
+
if not pkey and before:
|
|
764
790
|
pkey = (
|
|
765
791
|
before.get("PartitionKey")
|
|
766
792
|
or before.get("partition_key")
|
|
767
793
|
or before.get("pk")
|
|
768
794
|
or before.get("_pk")
|
|
769
|
-
or
|
|
795
|
+
or before.get(pk_field_name)
|
|
770
796
|
)
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
797
|
+
if pkey:
|
|
798
|
+
rkey = None
|
|
799
|
+
if rk_field_name != "id":
|
|
800
|
+
rkey = before.get(rk_field_name) if before else None
|
|
801
|
+
if isinstance(en_id, dict):
|
|
802
|
+
en_pk = (
|
|
803
|
+
en_id.get("PartitionKey")
|
|
804
|
+
or en_id.get("partition_key")
|
|
805
|
+
or en_id.get("pk")
|
|
806
|
+
)
|
|
807
|
+
if not en_pk:
|
|
808
|
+
en_id["partition_key"] = pkey
|
|
809
|
+
en_rk = (
|
|
810
|
+
en_id.get("RowKey")
|
|
811
|
+
or en_id.get("row_key")
|
|
812
|
+
or en_id.get("rk")
|
|
813
|
+
or en_id.get("id")
|
|
814
|
+
)
|
|
815
|
+
if not en_rk and rkey:
|
|
816
|
+
en_id["row_key"] = rkey
|
|
817
|
+
else:
|
|
818
|
+
en_id = {"partition_key": pkey, "row_key": rkey or entity_id}
|
|
793
819
|
result = adapters.nosql.delete(cls, en_id, etag=etag)
|
|
794
820
|
success = True
|
|
795
821
|
if self._enable_cache and self._cache:
|
|
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
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/EFSAdapter.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
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/S3Adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/SQSAdapter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/adapters/__init__.py
RENAMED
|
File without changes
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/advanced_query.py
RENAMED
|
File without changes
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/audit/AuditStorage.py
RENAMED
|
File without changes
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/audit/__init__.py
RENAMED
|
File without changes
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/audit/context.py
RENAMED
|
File without changes
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/audit/manager.py
RENAMED
|
File without changes
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/audit/models.py
RENAMED
|
File without changes
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/base/NoSQLKVAdapter.py
RENAMED
|
File without changes
|
|
File without changes
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/base/QueueAdapter.py
RENAMED
|
File without changes
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/base/SecretsAdapter.py
RENAMED
|
File without changes
|
|
File without changes
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/base/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/cloudDatabaseFactory.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/multitenancy.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
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/src/polydb/services/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_atomic_decrement.py
RENAMED
|
File without changes
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_audit_chain_cutover.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
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_cloud_factory.py
RENAMED
|
File without changes
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_field_encryption.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_multi_engine.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_observability.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_schema_ddl_injection.py
RENAMED
|
File without changes
|
|
File without changes
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_secrets_vault.py
RENAMED
|
File without changes
|
{altcodepro_polydb_python-2.5.6 → altcodepro_polydb_python-2.5.8}/tests/test_session_vars.py
RENAMED
|
File without changes
|
|
File without changes
|