-
Notifications
You must be signed in to change notification settings - Fork 59
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
[Bug] explain data change on operatorMem, mpp22698 test failed #295
Comments
Hi, I try to repeoduce but failed, gpadmin=# select get_operator_mem('explain select * from mpp22698;');
ERROR: function get_operator_mem(unknown) does not exist
LINE 1: select get_operator_mem('explain select * from mpp22698;');
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts. Could you provide a complete case? |
According to the message: it's not a statistic issue(just a notice and hint). It shows the real errors are inside PL/Python function "get_operator_mem", a related pr #292 has fixed sth about operatorMem in explain output. |
The following is DDL of this function. I believe something changed caused this failure. create or replace function get_operator_mem(query text) returns text as |
@avamingli Oh, ok. Let me look into the function. Will get back to you for confirmation. If it is an incompatible change, I would update test case accordingly. |
I spoke with Mingli and confirmed this is as designed. The following is more details I identified: New behavior:
Old behavior:
That is why Python PL failed. operatorMemStr = cur_line[cur_line.rindex(')'):] Gonna change test case to fix it. Closing this issue. |
Cloudberry Database version
No response
What happened
Issue the following statements:
SET gp_resqueue_print_operator_memory_limits=on;
SET gp_resqueue_memory_policy_auto_fixed_mem=100;
create table mpp22698(c1 int, c2 int) partition by range(c2) (start(1) end(6) every(1));
select get_operator_mem('explain select * from mpp22698;');
You will get the following:
NOTICE: One or more columns in the following table(s) do not have statistics: mpp22698
HINT: For non-partitioned tables, run analyze <table_name>(<column_list>). For partitioned tables, run analyze rootpartition <table_name>(<column_list>). See log for columns missing statistics.
ERROR: IndexError: list index out of range
CONTEXT: Traceback (most recent call last):
PL/Python function "get_operator_mem", line 8, in
list_opermem.add(operatorMemStr.split(':')[1])
PL/Python function "get_operator_mem"
But test case expects the following:
What you think should happen instead
No response
How to reproduce
As mentioned above
Operating System
centos7
Anything else
No response
Are you willing to submit PR?
Code of Conduct
The text was updated successfully, but these errors were encountered: