Open sparrovv opened 3 months ago
At my company we started using VPN that only works over IPv6. Since that we started seeing below errors when connecting:
08:57:16 Encountered an error: Database Error ('communication error', gaierror(8, 'nodename nor servname provided, or not known'))
Mainly played around and used chat GPT to make the above changes, so please let me know if they look fine with you.
Details
Updated the method __get_host_address_info to support returning both IPv4 and IPv6 address information.
__get_host_address_info
Modified the initializer to handle both IPv4 and IPv6 addresses.
hostport
address_family
AF_INET
AF_INET6
I've tried to connect both on new and old VPN and this snipped doesn't return an error anymore:
password = os.environ.get("REDSHIFT_PASSWORD") user = os.environ.get("REDSHIFT_USER") databse = os.environ.get("REDSHIFT_DATABASE") host = os.environ.get("REDSHIFT_HOST") conn = redshift_connector.connect( host=host, database=databse, user=user, password=password, ) cursor: redshift_connector.Cursor = conn.cursor() cursor.execute("select 1") result: tuple = cursor.fetchall() print(result) cursor.close()
./build.sh
pytest test/unit
Description
At my company we started using VPN that only works over IPv6. Since that we started seeing below errors when connecting:
Mainly played around and used chat GPT to make the above changes, so please let me know if they look fine with you.
Details
Updated the method
__get_host_address_info
to support returning both IPv4 and IPv6 address information.Modified the initializer to handle both IPv4 and IPv6 addresses.
__get_host_address_info
is called and its response is unpacked intohostport
andaddress_family
.AF_INET
for IPv4 andAF_INET6
for IPv6).hostport
which now correctly handles both address types.Motivation and Context
Testing
I've tried to connect both on new and old VPN and this snipped doesn't return an error anymore:
Screenshots (if appropriate)
Types of changes
Checklist
./build.sh
succeedspytest test/unit
and they are passing.