iris-pgwire 1.7.0__tar.gz → 1.7.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.
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/PKG-INFO +3 -2
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/pyproject.toml +3 -1
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/__init__.py +1 -1
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/catalog/functions.py +40 -40
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/conversions/ddl_idempotency.py +2 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/.gitignore +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/LICENSE +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/README.md +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/_column_naming.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/_noop_cursor.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/_result_processing.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/_type_mapping.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/auth/__init__.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/auth/auth_selector.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/auth/gssapi_auth.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/auth/oauth_bridge.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/auth/scram.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/auth/wallet_credentials.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/backend_selector.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/bulk_executor.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/catalog/__init__.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/catalog/_reentrancy.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/catalog/catalog_functions.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/catalog/catalog_router.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/catalog/function_installer.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/catalog/oid_generator.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/catalog/pg_attrdef.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/catalog/pg_attribute.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/catalog/pg_class.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/catalog/pg_constraint.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/catalog/pg_index.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/catalog/pg_namespace.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/catalog/pg_type.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/catalog/views/__init__.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/catalog/views/definitions.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/catalog/views/installer.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/column_validator.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/config.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/config_schema.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/constitutional.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/conversions/__init__.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/conversions/bulk_insert.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/conversions/date_horolog.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/conversions/ddl_splitter.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/conversions/json_path.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/conversions/vector_syntax.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/copy_handler.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/csv_processor.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/dbapi_connection_pool.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/dbapi_executor.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/debug_tracer.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/health_checker.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/integratedml.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/iris_constructs.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/iris_executor.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/iris_log_handler.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/iris_user_management.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/migrations/__init__.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/migrations/__main__.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/migrations/executor.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/models/__init__.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/models/backend_config.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/models/connection_pool_state.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/models/dbapi_connection.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/models/ipm_metadata.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/models/vector_query_request.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/observability.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/performance_monitor.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/protocol.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/quality/__init__.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/quality/__main__.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/quality/code_quality_validator.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/quality/documentation_validator.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/quality/package_metadata_validator.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/quality/security_validator.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/quality/validator.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/schema_mapper.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/server.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/__init__.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/alias_extractor.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/api.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/array_literal.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/array_params.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/boolean_expr.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/boolean_translator.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/cache.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/column_types.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/confidence_analyzer.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/config.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/constraint_translator.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/copy_parser.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/date_translator.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/ddl_parser.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/ddl_translator.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/debug.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/default_values.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/enum_registry.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/enum_translator.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/error_handler.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/identifier_normalizer.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/index_validator.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/interceptor.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/logging_config.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/mappings/__init__.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/mappings/constructs.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/mappings/datatypes.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/mappings/document_filters.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/mappings/functions.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/metadata_cache.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/metrics.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/models.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/normalizer.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/parser.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/performance_monitor.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/pg_array.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/pg_functions.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/pipeline.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/refiner.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/reserved_words.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/returning_plan.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/skipped_table_set.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/sqlstate.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/statement_filter.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/transaction_translator.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/translator.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/type_translator.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/validator.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/verbatim.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/testing/__init__.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/testing/base_fixture_builder.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/type_mapping.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/vector_metrics.py +0 -0
- {iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/vector_optimizer.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: iris-pgwire
|
|
3
|
-
Version: 1.7.
|
|
3
|
+
Version: 1.7.2
|
|
4
4
|
Summary: PostgreSQL Wire Protocol Server for InterSystems IRIS - Connect BI tools, Python frameworks, and PostgreSQL clients to IRIS databases
|
|
5
5
|
Project-URL: Homepage, https://github.com/intersystems-community/iris-pgwire
|
|
6
6
|
Project-URL: Documentation, https://github.com/intersystems-community/iris-pgwire#readme
|
|
@@ -57,10 +57,11 @@ Requires-Dist: opentelemetry-instrumentation-asyncio>=0.41b0
|
|
|
57
57
|
Requires-Dist: opentelemetry-sdk>=1.20.0
|
|
58
58
|
Requires-Dist: prometheus-client>=0.17.0
|
|
59
59
|
Requires-Dist: psycopg2-binary>=2.9.10
|
|
60
|
-
Requires-Dist: pydantic
|
|
60
|
+
Requires-Dist: pydantic<2.12,>=2.0.0
|
|
61
61
|
Requires-Dist: pyyaml>=6.0.0
|
|
62
62
|
Requires-Dist: sqlparse>=0.4.0
|
|
63
63
|
Requires-Dist: structlog>=23.0.0
|
|
64
|
+
Requires-Dist: typing-extensions<5,>=4.12.2
|
|
64
65
|
Provides-Extra: ai
|
|
65
66
|
Provides-Extra: dev
|
|
66
67
|
Requires-Dist: black>=23.0.0; extra == 'dev'
|
|
@@ -63,7 +63,9 @@ dependencies = [
|
|
|
63
63
|
"opentelemetry-sdk>=1.20.0",
|
|
64
64
|
"opentelemetry-instrumentation-asyncio>=0.41b0",
|
|
65
65
|
"opentelemetry-exporter-otlp>=1.20.0",
|
|
66
|
-
|
|
66
|
+
# pydantic>=2.12 requires typing_extensions>=4.14.1; IRIS irispython ships 4.12.2
|
|
67
|
+
"pydantic>=2.0.0,<2.12",
|
|
68
|
+
"typing_extensions>=4.12.2,<5",
|
|
67
69
|
"pyyaml>=6.0.0",
|
|
68
70
|
"prometheus-client>=0.17.0",
|
|
69
71
|
]
|
|
@@ -6,7 +6,7 @@ Based on the specification from docs/iris_pgwire_plan.md and proven patterns fro
|
|
|
6
6
|
caretdev/sqlalchemy-iris.
|
|
7
7
|
"""
|
|
8
8
|
|
|
9
|
-
__version__ = "1.7.
|
|
9
|
+
__version__ = "1.7.2"
|
|
10
10
|
__author__ = "Thomas Dyar <thomas.dyar@intersystems.com>"
|
|
11
11
|
|
|
12
12
|
# Don't import server/protocol in __init__ to avoid sys.modules conflicts
|
|
@@ -491,57 +491,57 @@ JSONB_BUILD_OBJECT6 = CatalogFunction(
|
|
|
491
491
|
|
|
492
492
|
JSONB_CONTAINS = CatalogFunction(
|
|
493
493
|
name="JSONB_CONTAINS",
|
|
494
|
-
signature="
|
|
494
|
+
signature="LEFTJSON VARCHAR(65535), RIGHTJSON VARCHAR(65535)",
|
|
495
495
|
returns="INTEGER",
|
|
496
496
|
purpose="PostgreSQL jsonb @> containment operator — returns 1 if rightJson is contained in leftJson, 0 otherwise",
|
|
497
497
|
body="""{
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
}
|
|
506
|
-
|
|
498
|
+
SET TRESULT = 0
|
|
499
|
+
IF (RIGHTJSON = "") || (RIGHTJSON = "{}") || (RIGHTJSON = "[]") { QUIT 1 }
|
|
500
|
+
IF (LEFTJSON = "") || ($ZCVT(LEFTJSON,"L") = "null") { QUIT 0 }
|
|
501
|
+
SET TLEFT = "", TRIGHT = ""
|
|
502
|
+
TRY {
|
|
503
|
+
SET TLEFT = ##CLASS(%DynamicAbstractObject).%FromJSON(LEFTJSON)
|
|
504
|
+
SET TRIGHT = ##CLASS(%DynamicAbstractObject).%FromJSON(RIGHTJSON)
|
|
505
|
+
} CATCH EX {
|
|
506
|
+
SET TLEFT = "", TRIGHT = ""
|
|
507
507
|
}
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
}
|
|
520
|
-
|
|
508
|
+
IF $ISOBJECT(TRIGHT) = 0 { QUIT (TLEFT = TRIGHT) }
|
|
509
|
+
IF $ZCVT($CLASSNAME(TRIGHT),"U") = "%LIBRARY.DYNAMICOBJECT" {
|
|
510
|
+
IF $ISOBJECT(TLEFT) = 0 { QUIT 0 }
|
|
511
|
+
IF $ZCVT($CLASSNAME(TLEFT),"U") '= "%LIBRARY.DYNAMICOBJECT" { QUIT 0 }
|
|
512
|
+
SET TRESULT = 1
|
|
513
|
+
SET TITER = TRIGHT.%GetIterator()
|
|
514
|
+
WHILE TITER.%GetNext(.TKEY, .TRVAL) && TRESULT {
|
|
515
|
+
SET TLVAL = TLEFT.%Get(TKEY)
|
|
516
|
+
IF $ISOBJECT(TRVAL) {
|
|
517
|
+
IF $ISOBJECT(TLVAL) = 0 { SET TRESULT = 0 QUIT }
|
|
518
|
+
IF ##CLASS(PGWire.funcJSONBCONTAINS).JSONBCONTAINS(TLVAL.%ToJSON(), TRVAL.%ToJSON()) = 0 { SET TRESULT = 0 }
|
|
519
|
+
} ELSE {
|
|
520
|
+
IF (TLVAL '= TRVAL) { SET TRESULT = 0 }
|
|
521
521
|
}
|
|
522
522
|
}
|
|
523
|
-
|
|
523
|
+
QUIT TRESULT
|
|
524
524
|
}
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
}
|
|
537
|
-
|
|
525
|
+
IF $ZCVT($CLASSNAME(TRIGHT),"U") = "%LIBRARY.DYNAMICARRAY" {
|
|
526
|
+
IF $ISOBJECT(TLEFT) = 0 { QUIT 0 }
|
|
527
|
+
IF $ZCVT($CLASSNAME(TLEFT),"U") '= "%LIBRARY.DYNAMICARRAY" { QUIT 0 }
|
|
528
|
+
SET TRESULT = 1
|
|
529
|
+
SET TITERR = TRIGHT.%GetIterator()
|
|
530
|
+
WHILE TITERR.%GetNext(, .TRVAL) && TRESULT {
|
|
531
|
+
SET TFOUND = 0
|
|
532
|
+
SET TITERL = TLEFT.%GetIterator()
|
|
533
|
+
WHILE TITERL.%GetNext(, .TLVAL) {
|
|
534
|
+
IF $ISOBJECT(TRVAL) && $ISOBJECT(TLVAL) {
|
|
535
|
+
IF ##CLASS(PGWire.funcJSONBCONTAINS).JSONBCONTAINS(TLVAL.%ToJSON(), TRVAL.%ToJSON()) { SET TFOUND = 1 QUIT }
|
|
536
|
+
} ELSEIF (TLVAL = TRVAL) {
|
|
537
|
+
SET TFOUND = 1 QUIT
|
|
538
538
|
}
|
|
539
539
|
}
|
|
540
|
-
|
|
540
|
+
IF 'TFOUND { SET TRESULT = 0 }
|
|
541
541
|
}
|
|
542
|
-
|
|
542
|
+
QUIT TRESULT
|
|
543
543
|
}
|
|
544
|
-
|
|
544
|
+
QUIT (TLEFT = TRIGHT)
|
|
545
545
|
}""",
|
|
546
546
|
)
|
|
547
547
|
|
|
@@ -109,6 +109,8 @@ class DdlErrorHandler:
|
|
|
109
109
|
r"already\s+exists",
|
|
110
110
|
r"Duplicate\s+table\s+name",
|
|
111
111
|
r"Duplicate\s+index\s+name",
|
|
112
|
+
# IRIS: "Class 'Schema.Table' already has index named 'IdxName'."
|
|
113
|
+
r"already\s+has\s+index\s+named",
|
|
112
114
|
r"SQLCODE\s*[:\s]\s*<?-?\d+>?", # IRIS SQLCODEs often indicate duplicates
|
|
113
115
|
]
|
|
114
116
|
return any(re.search(p, error_msg, re.IGNORECASE) for p in patterns)
|
|
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
|
|
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
|
{iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/quality/package_metadata_validator.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
|
{iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/boolean_translator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/confidence_analyzer.py
RENAMED
|
File without changes
|
|
File without changes
|
{iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/constraint_translator.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
|
{iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/identifier_normalizer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/mappings/constructs.py
RENAMED
|
File without changes
|
{iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/mappings/datatypes.py
RENAMED
|
File without changes
|
{iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/mappings/document_filters.py
RENAMED
|
File without changes
|
{iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/mappings/functions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/performance_monitor.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
|
{iris_pgwire-1.7.0 → iris_pgwire-1.7.2}/src/iris_pgwire/sql_translator/transaction_translator.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
|