Skip to content

ADBDEV-1540 update gporca submodule with 43 pull request#176

Merged
deart2k merged 1 commit intoadb-5.xfrom
adb-5.x-gporca-3.116
Apr 15, 2021
Merged

ADBDEV-1540 update gporca submodule with 43 pull request#176
deart2k merged 1 commit intoadb-5.xfrom
adb-5.x-gporca-3.116

Conversation

@deart2k
Copy link
Member

@deart2k deart2k commented Apr 13, 2021

No description provided.

@deart2k deart2k requested a review from Stolb27 April 13, 2021 12:20
@leskin-in
Copy link

leskin-in commented Apr 13, 2021

@deart2k the commit message & PR description are ambiguous. Could you rewrite it or at least explain which "Pull request 43" do you mean?

UPD: It is likely arenadata/gporca#43. Still, I suppose it would be nice to clarify the commit message.

@deart2k deart2k merged commit 920652f into adb-5.x Apr 15, 2021
@deart2k deart2k deleted the adb-5.x-gporca-3.116 branch April 15, 2021 06:30
deart2k pushed a commit to deart2k/gpdb that referenced this pull request Jan 30, 2026
The previous commit added a few regressions. The regression was related to
replacing the comparison condition of the comparison with 't' with a truth
check. This change is due to the fact that in PyGreSQL 5, unlike the 4th
version, it converts the bool values. But it was not taken into account that
such values can be set in Python code.
The error of calling verify in TestDML has also been fixed. The verify method
was called without passing a connection, and although the verify implementation
in the class itself does not require a connection, this function may be
overloaded in a child class.
Stolb27 added a commit that referenced this pull request Mar 10, 2026
The following points have been fixed:
1. PyGreSQL 5 has added support for converting additional data types.
Analyzedb: Converting datetime to a string for correct comparison with the value
saved in the file.
el8_migrate_localte.py, gparray.py, gpcatalog.py and gpcheckcat: using the Bool
type instead of comparing with a string.
gpcheckcat, repair_missing_extraneous.py and unique_index_violation_check:
using python list instead of string parsing.
2. PyGreSQL 5 added support for closing a connection when using the with
construct. Because of this, in a number of places, reading from the cursor took
place after the connection was closed.
3. PyGreSQL 5 does not end the transaction if an error occurs, which leads to a
possible connection leak if an error occurs in the connect function. So catch
errors that happen in the connect function.
4. Add closure of the connection saved in context after the scenario in behave
tests.
5. Add closure to the connection if it does not return from the function.
6. Use the python wrapper for the connect function instead of C one.
7. Use a custom cursor to disable row postprocessing to avoid correcting a large
amount of code.
8. Fix the bool and array format in isolation2 tests.
9. Add notifications processing to isolation2 tests.
10. Also fix the notifications processing in the resgroup_query_mem test.
11. Fix the notifications processing in gpload.
12. Fix pg_config search when building deb packages.
13. Fix gpexpand behave tests (#176) The previous commit added a few
    regressions. The regression was related to replacing the comparison
    condition of the comparison with 't' with a truth check. This change
    is due to the fact that in PyGreSQL 5, unlike the 4th version, it
    converts the bool values. But it was not taken into account that
    such values can be set in Python code. The error of calling verify
    in TestDML has also been fixed. The verify method was called without
    passing a connection, and although the verify implementation in the
    class itself does not require a connection, this function may be
    overloaded in a child class.
14. Fix PyGreSQL install to be compatible with both python versions
    (#183) PyGreSQL install works in Python 2 but breaks in Python 3
    because the _pg extension must be importable as a top-level module
    (e.g. from _pg import *). Python 3 resolves extension modules via
    sys.path, so _pg*.so has to be located at the sys.path root, not
    only inside the pygresql/ package directory. Move _pg*.so from
    pygresql directory to the top-level, so the same install layout
    works for both Python versions. Update _pg*.so RPATH to match its
    installed location so dpkg-shlibdeps can resolve libpq.so during
    Debian packaging.
15. Fix Python unit tests after PyGreSQL update (#222)
    - test_it_retries_the_connection: use mock object that support
      context managment
    - GpArrayTestCase: use bool type instead str 't'/'f'
    - GpCheckCatTestCase: check connection in DbWrapper.
    - DifferentialRecoveryClsTestCase and GpStopSmartModeTestCase: mock
      GgdbCursor to return connection.
    - RepairMissingExtraneousTestCase and
      UniqueIndexViolationCheckTestCase: use python arrays instead of
      string representation of Postgres arrays. Also fix seg ids set in
      get_segment_to_oid_mapping. Since seg ids in issues are now ints,
      we do not need to cast all_seg_ids array elements to strings.
16. Move PyGreSQL code to submodule (#269)
    It would be nice to avoid patching this module. Also this patch
    fixes Greengage installation scripts for PyGreSQL to support
    non-root release builds over DESTDIR. It was a problem of Greengage,
    non PyGreSQL. Additionally, include the new PyGreSQL license to the
    NOTICE file
17. Fix minirepro and gpsd utility for PyGreSQL-5.2.5 (#291)
    Both utils used outdated version of method pgdb.connect(). The patch
    changes the way pgdb.connect() is used by avoiding usage of
    parameter which later gets parsed. Instead both utils now use
    parameters of the same names.

Co-authored-by: Denis Garsh <d.garsh@arenadata.io>
Co-authored-by: Vasiliy Ivanov <ivi@arenadata.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants