Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
78b025f
Fix SIGSEGV when running the 'execute on initplan' function (#61)
whitehawk Sep 22, 2025
64ab1c7
Update CODE_OF_CONDUCT.md (#48)
StacyRs Sep 23, 2025
7af2d30
Cleanup idle reader gang after utility statements
zhangh43 Jul 15, 2020
6a73b0a
update CONTRIBUTING.md
dimoffon Sep 26, 2025
d016d74
Fix hash join spill file issue when rescanning (#65)
silent-observer Sep 29, 2025
1c9963e
fix flaky fts_segment_reset test (#62)
ShapatinAA Sep 30, 2025
e2c9aa5
update CONTRIBUTING.md (#68)
dimoffon Oct 1, 2025
c4e1085
Fix double-cleanup SIGSEGV when coordinator encounters OOM (#40)
red1452 Oct 2, 2025
810d51b
Fix Orca cost model to prefer hashing smaller tables (#67)
silent-observer Oct 2, 2025
ccc0e4b
[ORCA] Fix a segmentation fault when append statistics to a group.
KnightMurloc Sep 29, 2025
b5bddda
[ORCA] Fix infinite recursion during statistic derivation
KnightMurloc Sep 29, 2025
5944707
Add building a deb package feature (#31)
magf Oct 7, 2025
95df356
Update issue templates
dimoffon Oct 7, 2025
69e5937
Merge remote-tracking branch 'origin/main'
dimoffon Oct 8, 2025
43b119a
change the format of bug_report to yml
dimoffon Oct 8, 2025
4010f2e
Merge pull request #83 from dimoffon/main
dimoffon Oct 8, 2025
eaa3405
Update CONTRIBUTING.md (#82)
dimoffon Oct 8, 2025
8a2a471
Track PQresult allocations in server side (#45)
bandetto Oct 13, 2025
67dca3d
Accept vacuum operations in XactLockTableWait assertion (#86)
bimboterminator1 Oct 15, 2025
5636bc6
Allow standby to start with hot_standby = on in utility mode
bandetto Oct 22, 2025
e7e7361
Revert "Remove tests that depend on hot_standby"
bandetto Oct 9, 2025
8b638b7
Fix the 'max_tm_gxacts' value after fault injection (#106)
whitehawk Sep 30, 2025
1b63b1b
Don't create motion on QE slice (#111)
RekGRpth Oct 31, 2025
1d42b1f
ADBDEV-8787: (v6) Run tests for feature branches with slashes
magf Nov 13, 2025
f99696f
The pipeline build is not working
magf Nov 19, 2025
5f699fc
Fix memory corruption for AOCO addcol abort
divyeshddv Jan 24, 2023
20c446b
Fix vacuum failure to clean up some segment files of AOCS tables
whitehawk Nov 20, 2025
97d1193
Ensure that creation of an empty relfile is fsync'd at checkpoint.
hlinnaka Jul 4, 2023
23f88d8
GG-16: Fix the package building pipeline for external PRs
mgaidai-arenadata Nov 26, 2025
881e3d3
Fix escaping for perfmon metrics export (#121)
VoidZeroNull0 Nov 26, 2025
3bd8817
Fix inconsistency DROP IF EXISTS command (#130)
RekGRpth Nov 26, 2025
13b86fa
Fix subplans with correlated functions or master-only or replicated t…
vbwagner Nov 27, 2025
e594bec
Merge branch 'adb-6.x' into ADBDEV-8923
RekGRpth Dec 1, 2025
5800fd3
Merge remote-tracking branch 'arenadata/adb-6.x' into ADBDEV-8923
RekGRpth Dec 3, 2025
5878192
Fix the arenadata_toolkit upgrade_test test.
RekGRpth Dec 4, 2025
2f3945f
Merge branch 'ADBDEV-8948' into ADBDEV-8923
RekGRpth Dec 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .abi-check/6.29.1/postgres.symbols.ignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ConfigureNamesBool_gp
65 changes: 30 additions & 35 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,45 @@
# Code of Conduct
# Greengage DB Community Code of Conduct

## Intro
Greengage DB is an open community project. Every Greengage DB user or developer is responsible for making the community a place where people want to come back. We expect all community members to maintain professional ethics and communicate respectfully and politely.

Standing on the shoulders of the giants means not only leveraging the code base of the most successful open source relational database (PostgreSQL) but also taking a page out of one of the most successful open source governance bodies: Apache Software Foundation (ASF). Greengage Database developer community has adopted not only the Apache License but also the following code of conduct heavily borrowing from an ASF’s:
## Community Development Principles

This code of conduct applies to all spaces that are associated with the participation in the Greengage Database open source project, including chat, all public and private mailing lists, issue trackers, wikis, blogs, Twitter, and any other communication channel used by our community. A code of conduct which is specific to in-person events (ie., conferences, meetups, etc.) is expected to be a superset of this document covering additional principles put forward by the organizers of the event(s) and landlords of the space where the event is held.
In developing code, documentation, and any other products of intellectual work, we are guided by principles that are important for the development of the community.

We expect this code of conduct to be honored by everyone who participates in the Greengage Database community formally or informally, or claims any affiliation with the project, in any activities and especially when representing the Greengage Database project, in any role.
**Collaboration**

This code is not exhaustive or complete. It serves to distil our common understanding of a collaborative, shared environment and goals. We expect it to be followed in spirit as much as in the letter so that it can enrich all of us and the technical communities in which we participate.
Anyone can join the Greengage DB community and make a contribution.

## Specific guidelines
**Equality**

We strive to:
1. **Be open** We invite anyone to participate in our community. We preferably use public methods of communication for project-related messages, unless discussing something sensitive. This applies to messages for help or project-related support, too; not only is a public support request much more likely to result in an answer to a question, it also makes sure that any inadvertent mistakes made by people answering will be more easily detected and corrected.
2. **Be empathetic**, welcoming, friendly, and patient. We work together to resolve conflict, assume good intentions, and do our best to act in an empathetic fashion. We may all experience some frustration from time to time, but we do not allow frustration to turn into a personal attack. A community where people feel uncomfortable or threatened is not a productive one. We should be respectful when dealing with other community members as well as with people outside our community.
3. **Be collaborative**. Our work will be used by other people, and in turn will depend on the work of others. When we make something for the benefit of the project, we are willing to explain to others how it works, so that they can build on the work to make it even better. Any decision we make will affect users and colleagues, and we take those consequences seriously when making decisions.
4. **Be inquisitive**. Nobody knows everything! Asking questions early avoids many problems later, so questions are encouraged, though they may be directed to the appropriate forum. Those who are asked should be responsive and helpful, within the context of our shared goal of improving Greengage Database project code.
5. **Be careful in the words that we choose**. Whether we are participating as professionals or volunteers, we value professionalism in all interactions, and take responsibility for our own speech. Be kind to others. Do not insult or put down other participants. Harassment and other exclusionary behaviour are not acceptable. This includes, but is not limited to:
* Violent threats or language directed against another person.
* Sexist, racist, or otherwise discriminatory jokes and language.
* Posting sexually explicit or violent material.
* Posting (or threatening to post) other people's personally identifying information ("doxing").
* Sharing private content, such as emails sent privately or non-publicly, or unlogged forums such as IRC channel history.
* Personal insults, especially those using racist or sexist terms.
* Unwelcome sexual attention.
* Excessive or unnecessary profanity.
* Repeated harassment of others. In general, if someone asks you to stop, then stop.
* Advocating for, or encouraging, any of the above behaviour.
6. **Be concise**. Keep in mind that what you write once will be read by hundreds of persons. Writing a short email means people can understand the conversation as efficiently as possible. Short emails should always strive to be empathetic, welcoming, friendly and patient. When a long explanation is necessary, consider adding a summary.
Try to bring new ideas to a conversation so that each mail adds something unique to the thread, keeping in mind that the rest of the thread still contains the other messages with arguments that have already been made.
Try to stay on topic, especially in discussions that are already fairly large.
7. **Step down considerately**. Members of every project come and go. When somebody leaves or disengages from the project they should tell people they are leaving and take the proper steps to ensure that others can pick up where they left off. In doing so, they should remain respectful of those who continue to participate in the project and should not misrepresent the project's goals or achievements. Likewise, community members should respect any individual's choice to leave the project.
The contribution of each community member will be assessed equally, based on its objective significance for the project.

## Diversity statement
**Opportunities**

Greengage Database project welcomes and encourages participation by everyone. We are committed to being a community that everyone feels good about joining. Although we may not be able to satisfy everyone, we will always work to treat everyone well.
Community members who contribute to Greengage DB can influence the direction of the product's development.

No matter how you identify yourself or how others perceive you: we welcome you. Though no list can hope to be comprehensive, we explicitly honour diversity in: age, culture, ethnicity, genotype, gender identity or expression, language, national origin, neurotype, phenotype, political beliefs, profession, race, religion, sexual orientation, socioeconomic status, subculture and technical ability.
**Availability**

Though we welcome people fluent in all languages, Greengage Database project development is conducted in English.
The project code will be distributed under an open license for community members anywhere in the world.

Standards for behaviour in this community are detailed in the Code of Conduct above. We expect participants in our community to meet these standards in all their interactions and to help others to do so as well.
## Code of Conduct in Action

## Reporting guidelines
This code of conduct applies to all available channels of interaction between community members, including comments on code or documentation, the project's social media, and online and offline events that are partially or fully dedicated to Greengage DB.

While this code of conduct should be adhered to by participants, we recognize that sometimes people may have a bad day, or be unaware of some of the guidelines in this code of conduct. When that happens, you may reply to them and point out this code of conduct. Such messages may be in public or in private, whatever is most appropriate. However, regardless of whether the message is public or not, it should still adhere to the relevant parts of this code of conduct; in particular, it should not be abusive or disrespectful.
Every member of the Greengage DB community is expected to adhere to the project’s code of conduct, especially when speaking on behalf of Greengage DB in the public space.
We encourage everyone to be interested in Greengage DB, regardless of their track record or formal qualifications. This does not negate the important procedures for code and documentation quality, but it does require respectful and polite treatment.

If you believe someone is violating this code of conduct, you may reply to them and point out this code of conduct. Assume good faith; it is more likely that participants are unaware of their bad behaviour than that they intentionally try to degrade the quality of the discussion. Should there be difficulties in dealing with the situation, you may report your compliance issues in confidence to coc@greengagedb.org. This will go to an individual who is entrusted with your report.
The Greengage DB project exists thanks to the voluntary contributions of its members. Some of them may leave the project over time, and this decision should be respected in the same way as their initial involvement. We expect this code of conduct to be followed in the event of parting with the project, and the departing community member is supposed to treat those who remain with respect.

## Appropriate Conduct

No personal characteristics can serve as grounds for refusing to work for the benefit of the Greengage DB project or belittling your contribution to it. This code of conduct considers any attacks on a person unacceptable. These are the basic principles of communication in the community.

Unacceptable behavior is any threat to use violence, damage social or professional reputation, expressed to an individual or a group of people. Threats to damage the Greengage DB project or its reputation or the implementation of such threats are also a violation of this code of conduct. Harassment of any kind and violation of the basic principles of communication are not tolerated in the Greengage DB community.

In the event of receiving a warning about inappropriate behavior, it is necessary to immediately stop it. Subsequent violations of the Code of Conduct will serve as grounds for taking restrictive measures against the violator, up to and including exclusion from the community.

## Reporting

In many cases, simply sending a link to this code of conduct will be enough to maintain a good community culture. If you see a discussion where the code may potentially be violated, proactively send a link to it.
In some cases, violations may require issuing warnings and other restrictive measures. In this case, please contact us at **code@greengagedb.org**.
84 changes: 84 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Bug Report
description: Create a report to help us improve GreengageDB
title: "[Bug] "
labels: ["bug"]
assignees: []

body:
- type: textarea
id: problem_description
attributes:
label: "Describe the problem"
description: "Please describe the issue you observed, and any steps we can take to reproduce it"
placeholder: "Describe the problem you encountered..."
validations:
required: true

- type: textarea
id: reproduction_steps
attributes:
label: "How to reproduce"
description: "Steps to reproduce the behavior"
placeholder: |
1.
2.
3.
...
validations:
required: true

- type: textarea
id: expected_behavior
attributes:
label: "Expected behavior"
description: "A clear and concise description of what you expected to happen"
placeholder: "Describe what you expected to happen..."
validations:
required: true

- type: textarea
id: additional_data
attributes:
label: "Additional data"
description: |
If the problem is SQL-related, include a copy of the SQL query and the schema.

If a segment in your cluster encountered a fatal error, supply the contents of the log directory (at minimum of the affected segment(s), but preferably all segments).

Note that log files can contain confidential information.
placeholder: |
SQL Query:
Schema:
Log files:
...

- type: input
id: environment_greengagedb
attributes:
label: "GreengageDB version"
description: "What version of GreengageDB are you using?"
validations:
required: true

- type: input
id: environment_os
attributes:
label: "Server OS"
description: "What operating system is the server running on?"
placeholder: "e.g. Linux/Distrib version"
validations:
required: true

- type: input
id: environment_client
attributes:
label: "Client application"
description: "What client application are you using?"
placeholder: "e.g. psql, JDBC, pxf, ..."

- type: textarea
id: additional_context
attributes:
label: "Additional context"
description: "What was the impact? Add any other context about the problem here"
placeholder: "Add any other relevant context about the problem..."
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: Feature request
about: Suggest an idea for Greengage project
title: "[Feature]"
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is.

**Describe the solution**
A clear and concise description of what you want to happen.

**Additional context**
Add any other context about the feature request, user stories or examples of usage.
43 changes: 31 additions & 12 deletions .github/workflows/greengage-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
branches: ['main'] # Trigger on push to main (after merged PR)
tags: ['6.*'] # Trigger on tags for versioned releases
pull_request:
branches: ['*'] # Trigger on pull requests for all branches
branches: ['**'] # Trigger on pull requests for all branches

# Concurrency control to cancel previous runs on new push to same PR/branch
concurrency:
Expand All @@ -18,12 +18,12 @@ jobs:
strategy:
fail-fast: true # Stop on any failure in the matrix
matrix:
target_os: [ubuntu] #, centos]
target_os: [ubuntu]
permissions:
contents: read # Explicit for default behavior
packages: write # Required for GHCR access
actions: write # Required for artifact upload
uses: greengagedb/greengage-ci/.github/workflows/greengage-reusable-build.yml@v1
uses: greengagedb/greengage-ci/.github/workflows/greengage-reusable-build.yml@v8
with:
version: 6
target_os: ${{ matrix.target_os }}
Expand All @@ -36,12 +36,12 @@ jobs:
strategy:
fail-fast: true
matrix:
target_os: [ubuntu] #, centos]
target_os: [ubuntu]
permissions:
contents: read # Explicit for default behavior
packages: read # Explicit for GHCR access clarity
actions: write # Required for artifact upload
uses: greengagedb/greengage-ci/.github/workflows/greengage-reusable-tests-behave.yml@v1
uses: greengagedb/greengage-ci/.github/workflows/greengage-reusable-tests-behave.yml@v9
with:
version: 6
target_os: ${{ matrix.target_os }}
Expand All @@ -54,12 +54,12 @@ jobs:
strategy:
fail-fast: true
matrix:
target_os: [ubuntu] #, centos]
target_os: [ubuntu]
permissions:
contents: read # Explicit for default behavior
packages: read # Explicit for GHCR access clarity
actions: write # Required for artifact upload
uses: greengagedb/greengage-ci/.github/workflows/greengage-reusable-tests-regression.yml@v1
uses: greengagedb/greengage-ci/.github/workflows/greengage-reusable-tests-regression.yml@v9
with:
version: 6
target_os: ${{ matrix.target_os }}
Expand All @@ -72,12 +72,12 @@ jobs:
strategy:
fail-fast: true
matrix:
target_os: [ubuntu] #, centos]
target_os: [ubuntu]
permissions:
contents: read # Explicit for default behavior
packages: read # Explicit for GHCR access clarity
actions: write # Required for artifact upload
uses: greengagedb/greengage-ci/.github/workflows/greengage-reusable-tests-orca.yml@v1
uses: greengagedb/greengage-ci/.github/workflows/greengage-reusable-tests-orca.yml@v9
with:
version: 6
target_os: ${{ matrix.target_os }}
Expand All @@ -90,7 +90,7 @@ jobs:
strategy:
fail-fast: true
matrix:
target_os: [ubuntu] #, centos]
target_os: [ubuntu]
permissions:
contents: read # Explicit for default behavior
packages: read # Explicit for GHCR access clarity
Expand All @@ -108,16 +108,35 @@ jobs:
strategy:
fail-fast: true
matrix:
target_os: [ubuntu] #, centos]
target_os: [ubuntu]
permissions:
contents: read # Explicit for default behavior
packages: write # Required for GHCR access
actions: write # Required for artifact upload
uses: greengagedb/greengage-ci/.github/workflows/greengage-reusable-upload.yml@v1
uses: greengagedb/greengage-ci/.github/workflows/greengage-reusable-upload.yml@v9
with:
version: 6
target_os: ${{ matrix.target_os }}
secrets:
ghcr_token: ${{ secrets.GITHUB_TOKEN }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}

# Rebuild prod-redy version without debug extensions and pack it to deb
package:
needs: build # For push (main or tags)
strategy:
fail-fast: false
matrix:
target_os: [ubuntu]
permissions:
contents: read # Explicit for default behavior
packages: write # Required for GHCR access
actions: write # Required for artifact upload
uses: greengagedb/greengage-ci/.github/workflows/greengage-reusable-package.yml@v9
with:
version: 6
target_os: ${{ matrix.target_os }}
test_docker: ubuntu:22.04 # Docker Image (e.g., ubuntu:22.04, ubuntu:noble) for deploy test. Skip if empty
secrets:
ghcr_token: ${{ secrets.GITHUB_TOKEN }}
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@ GTAGS
lib*dll.def
lib*.pc
compile_commands.json
**/debian/*
!**/debian/co*
!**/debian/lint*
!**/debian/rules

# Local excludes in root directory
/GNUmakefile
Expand All @@ -65,3 +69,4 @@ compile_commands.json
/Debug/
/Release/
/CMakeLists.txt
/Package/
Loading
Loading