-
Notifications
You must be signed in to change notification settings - Fork 110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dead GUC enable_geqo in CBDB, but not in Postgres #657
Comments
This commit 9e6035c describes very clear that it is only for extension compatibility sake. |
Yeah, my question is
|
+1. If the kernel doesn't know the GUC, it could be defined in the extension. |
@reshke If the GUC is used only by the extension, why not define the GUC in the extension? |
I dont know the reasons and im purely unaware of them. But this looks like very-very old decision made and early as Greenplum 5 or even earlier. I did not find any discussion nor reasons in opensource.
Because this way you need to modify extension to that this extension is compatible with CBDB. So, for every extension that uses enable_geqo GUC, and that you want to use with CBDB, you need to do some modification. In my opinion is in purely beneficial to avoid that. |
The common code are dead code in the kernel. Normally, the common code for extensions are general and interactive with kernel code, like frame work, hook functions etc., not just defined but unused. The one principal of the code conduct is to make kernel code clean. Let's make the adapter code in the extension, not in the kernel. |
In cbdb enable_geqo value is always false, so absence of core geqo related parts is not an issue, when not used. enable_geqo just signals extension to avoid there usages. IMO it is very inconsistent decision (made by Pivotal or even earlier) to remove |
The geo related GUCs are ignored since Greenplum init commit, we don't know the concern behind that , and if it's still a concern now. |
totally agree |
The challenges are: |
Thats ok, thats why |
I have a question, so why we not call the |
Cloudberry Database version
main
What happened
Commit 9e6035c bring back enable_geqo, but the GUC is still not used in CBDB:
https://github.com/search?q=repo%3Acloudberrydb%2Fcloudberrydb+enable_geqo&type=code
In Postgres, it surely be used in planner:
https://github.com/search?q=repo%3Apostgres%2Fpostgres%20enable_geqo&type=code
Though it's put in codes, but still a dead GUC in codes and users can not set it when using CBDB.
Why GPDB/CBDB doesn't use enable_geqo unlike Postgres, shall we use it in codes or remove it entirely if there is any consideration by GPDB?
What you think should happen instead
No response
How to reproduce
NULL
Operating System
All
Anything else
No response
Are you willing to submit PR?
Code of Conduct
The text was updated successfully, but these errors were encountered: