Skip to content

Conversation

@pangpang20
Copy link
Collaborator

Description

This PR delivers a stable v1.0.4 release of the gaussdb-python driver by resolving the three recently reported test-related issues (#25, #26, #27) and introducing several quality-of-life improvements to CI, documentation, and test reliability.

Key highlights:

  • Fixed PYTHONPATH misconfiguration that caused AttributeError: module 'gaussdb' has no attribute 'version' when running the driver locally.
  • Resolved sporadic unit test failures in test_range (insufficient privileges) and test_adapt (Faker returning None for binary types).
  • Added wal_level detection to automatically skip logical decoding tests when the database is not configured for logical replication.
  • Improved CI workflows with DNS/Python environment diagnostics and suppression of noisy ResourceWarnings.
  • Updated README and sub-package documentation with correct multi-module PYTHONPATH examples.
  • Bumped gaussdb, gaussdb_pool, and isort_gaussdb versions in preparation for release.

Closes #25, closes #26, closes #27.

Changes Made

Documentation

  • Updated README.rst, gaussdb/README.rst, gaussdb_pool/README.rst, and tools/isort-gaussdb/README.rst to use correct backticks for license file links and clarified local development instructions.
  • Fixed all local development examples to set PYTHONPATH to both gaussdb and gaussdb_pool submodules, preventing import/attribute errors.

Test fixes & robustness

  • Added get_wal_level() helper and automatic skip of logical decoding tests when wal_level != logical.
  • Fixed schema cleanup in range/composite tests by forcing owner to root and using fully qualified type names.
  • Improved Faker binary matcher in tests/fix_faker.py to accept None/empty values.
  • Added proper blank lines and import order fixes for better black/isort compliance.
  • Skipped unsupported composite/range type tests explicitly on GaussDB.

Testing

  • All unit tests now pass consistently on both standard and SSL CI runners.
  • Logical decoding tests are automatically skipped on databases without wal_level = logical.
  • Range and composite type tests correctly clean up schemas and skip where unsupported.
  • Local development setup verified with the updated PYTHONPATH instructions (no more AttributeError on gaussdb.version).
  • SSL workflow diagnostics confirmed correct resolution of DNS and async resolver environment.

chenyunliang520 added 16 commits November 17, 2025 14:23
…odules and fix byte literal formatting in tests/fix_faker.py
…gical; skip composite and range type tests on GaussDB
…gical; skip composite and range type tests on GaussDB
@5xuanwen 5xuanwen merged commit 92f9ac2 into HuaweiCloudDeveloper:master Nov 24, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants