|
18 | 18 | Protocol, Tuple, runtime_checkable) |
19 | 19 |
|
20 | 20 | from aws_advanced_python_wrapper.driver_info import DriverInfo |
| 21 | +from aws_advanced_python_wrapper.host_list_provider import ( |
| 22 | + AuroraTopologyUtils, MultiAzTopologyUtils) |
21 | 23 | from aws_advanced_python_wrapper.utils.rds_url_type import RdsUrlType |
22 | 24 |
|
23 | 25 | if TYPE_CHECKING: |
|
33 | 35 | from aws_advanced_python_wrapper.errors import (AwsWrapperError, |
34 | 36 | QueryTimeoutError) |
35 | 37 | from aws_advanced_python_wrapper.host_list_provider import ( |
36 | | - ConnectionStringHostListProvider, MultiAzHostListProvider, |
37 | | - RdsHostListProvider) |
| 38 | + ConnectionStringHostListProvider, RdsHostListProvider) |
38 | 39 | from aws_advanced_python_wrapper.hostinfo import HostInfo |
39 | 40 | from aws_advanced_python_wrapper.utils.decorators import \ |
40 | 41 | preserve_transaction_status_with_timeout |
@@ -408,7 +409,7 @@ def is_dialect(self, conn: Connection, driver_dialect: DriverDialect) -> bool: |
408 | 409 | return False |
409 | 410 |
|
410 | 411 | def get_host_list_provider_supplier(self) -> Callable: |
411 | | - return lambda provider_service, props: RdsHostListProvider(provider_service, props) |
| 412 | + return lambda provider_service, props: RdsHostListProvider(provider_service, props, AuroraTopologyUtils(self, props)) |
412 | 413 |
|
413 | 414 | @property |
414 | 415 | def blue_green_status_query(self) -> str: |
@@ -481,7 +482,7 @@ def is_dialect(self, conn: Connection, driver_dialect: DriverDialect) -> bool: |
481 | 482 | return False |
482 | 483 |
|
483 | 484 | def get_host_list_provider_supplier(self) -> Callable: |
484 | | - return lambda provider_service, props: RdsHostListProvider(provider_service, props) |
| 485 | + return lambda provider_service, props: RdsHostListProvider(provider_service, props, AuroraTopologyUtils(self, props)) |
485 | 486 |
|
486 | 487 | @property |
487 | 488 | def blue_green_status_query(self) -> str: |
@@ -531,14 +532,10 @@ def is_dialect(self, conn: Connection, driver_dialect: DriverDialect) -> bool: |
531 | 532 | return False |
532 | 533 |
|
533 | 534 | def get_host_list_provider_supplier(self) -> Callable: |
534 | | - return lambda provider_service, props: MultiAzHostListProvider( |
| 535 | + return lambda provider_service, props: RdsHostListProvider( |
535 | 536 | provider_service, |
536 | 537 | props, |
537 | | - self._TOPOLOGY_QUERY, |
538 | | - self._HOST_ID_QUERY, |
539 | | - self._IS_READER_QUERY, |
540 | | - self._WRITER_HOST_QUERY, |
541 | | - self._WRITER_HOST_COLUMN_INDEX) |
| 538 | + MultiAzTopologyUtils(self, props, self._WRITER_HOST_QUERY, self._WRITER_HOST_COLUMN_INDEX)) |
542 | 539 |
|
543 | 540 | def prepare_conn_props(self, props: Properties): |
544 | 541 | # These props are added for RDS metrics purposes, they are not required for functional correctness. |
@@ -590,13 +587,10 @@ def is_dialect(self, conn: Connection, driver_dialect: DriverDialect) -> bool: |
590 | 587 | return False |
591 | 588 |
|
592 | 589 | def get_host_list_provider_supplier(self) -> Callable: |
593 | | - return lambda provider_service, props: MultiAzHostListProvider( |
| 590 | + return lambda provider_service, props: RdsHostListProvider( |
594 | 591 | provider_service, |
595 | 592 | props, |
596 | | - self._TOPOLOGY_QUERY, |
597 | | - self._HOST_ID_QUERY, |
598 | | - self._IS_READER_QUERY, |
599 | | - self._WRITER_HOST_QUERY) |
| 593 | + MultiAzTopologyUtils(self, props, self._WRITER_HOST_QUERY)) |
600 | 594 |
|
601 | 595 |
|
602 | 596 | class UnknownDatabaseDialect(DatabaseDialect): |
|
0 commit comments