Fix create_graph failing when ag_catalog is not in search_path - #2505
Open
NotHimmel wants to merge 2 commits into
Open
Fix create_graph failing when ag_catalog is not in search_path#2505NotHimmel wants to merge 2 commits into
NotHimmel wants to merge 2 commits into
Conversation
create_index_on_column() passed "graphid_ops" as an unqualified operator
class name, so it was resolved against the caller's search_path. Whenever
ag_catalog was not on the search_path, creating a label failed with
ERROR: operator class "graphid_ops" does not exist for access method "btree"
even for a fully qualified call such as
SELECT ag_catalog.create_graph('g');
The error is misleading: the operator class does exist, it is simply not
visible. This affected create_graph(), create_vlabel(), create_elabel(),
the CSV loader, and label creation from a CREATE or MERGE clause at query
time, since all of them reach create_label().
The unqualified name arrived with the id column indexes in apache#2117, so this
is a regression. Before that commit create_label() built no index and
resolved no name through the search_path. Every other object referenced by
the DDL that create_label() generates is already reached either by OID or
by an ag_catalog qualified name, so qualifying this one restores the
previous behaviour.
Member
|
@NotHimmel Can you add a test case please |
Cover create_label() with ag_catalog off the search_path. The block calls create_graph(), create_vlabel(), create_elabel() and a cypher CREATE clause, all through ag_catalog qualified names, so it exercises both create_index_on_column() branches (the unique index on a vertex label's id column and the non-unique indexes on an edge label's start_id and end_id columns) plus label creation at query time. Without the qualified operator class name the first statement fails with ERROR: operator class "graphid_ops" does not exist for access method "btree"
NotHimmel
force-pushed
the
fix/qualify-graphid-ops-master
branch
from
August 24, 2026 05:47
4aaa27f to
8972571
Compare
Contributor
Author
Added a regression test. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #2504