-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
PostgreSQLSchemaManager::selectTableColumns is excluding columns that are not related to an extension #5781
Comments
allenisalai
pushed a commit
to allenisalai/dbal
that referenced
this issue
Oct 24, 2022
This fixes a bug where there was a pg_proc which was a dependency of an extention and also had an identical oid to the table class being described. Oids are not guaranteed to be unique because they will wrap around once they hit the unsigned integer max. The added conditional will ensure that the target object of the dependency is a table. Fixes: doctrine#5781
allenisalai
pushed a commit
to allenisalai/dbal
that referenced
this issue
Nov 2, 2022
This fixes a bug where there was a pg_proc which was a dependency of an extention and also had an identical oid to the table class being described. Oids are not guaranteed to be unique because they will wrap around once they hit the unsigned integer max. The added conditional will ensure that the target object of the dependency is a table. Fixes: doctrine#5781
allenisalai
pushed a commit
to allenisalai/dbal
that referenced
this issue
Nov 2, 2022
This fixes a bug where there was a pg_proc which was a dependency of an extention and also had an identical oid to the table class being described. Oids are not guaranteed to be unique because they will wrap around once they hit the unsigned integer max. The added conditional will ensure that the target object of the dependency is a table. Fixes: doctrine#5781
allenisalai
pushed a commit
to allenisalai/dbal
that referenced
this issue
Nov 23, 2022
This fixes a bug where there was a pg_proc which was a dependency of an extention and also had an identical oid to the table class being described. Oids are not guaranteed to be unique because they will wrap around once they hit the unsigned integer max. The added conditional will ensure that the target object of the dependency is a table. Fixes: doctrine#5781
allenisalai
pushed a commit
to allenisalai/dbal
that referenced
this issue
Dec 21, 2022
This fixes a bug where there was a pg_proc which was a dependency of an extention and also had an identical oid to the table class being described. Oids are not guaranteed to be unique because they will wrap around once they hit the unsigned integer max. The added conditional will ensure that the target object of the dependency is a table. Fixes: doctrine#5781
allenisalai
pushed a commit
to allenisalai/dbal
that referenced
this issue
Dec 27, 2022
This fixes a bug where there was a pg_proc which was a dependency of an extention and also had an identical oid to the table class being described. Oids are not guaranteed to be unique because they will wrap around once they hit the unsigned integer max. The added conditional will ensure that the target object of the dependency is a table. Fixes: doctrine#5781
allenisalai
pushed a commit
to allenisalai/dbal
that referenced
this issue
Jan 16, 2023
This fixes a bug where there was a pg_proc which was a dependency of an extention and also had an identical oid to the table class being described. Oids are not guaranteed to be unique because they will wrap around once they hit the unsigned integer max. The added conditional will ensure that the target object of the dependency is a table. Fixes: doctrine#5781
allenisalai
pushed a commit
to allenisalai/dbal
that referenced
this issue
Feb 1, 2023
This fixes a bug where there was a pg_proc which was a dependency of an extention and also had an identical oid to the table class being described. Oids are not guaranteed to be unique because they will wrap around once they hit the unsigned integer max. The added conditional will ensure that the target object of the dependency is a table. Fixes: doctrine#5781
allenisalai
pushed a commit
to allenisalai/dbal
that referenced
this issue
Feb 1, 2023
This fixes a bug where there was a pg_proc which was a dependency of an extention and also had an identical oid to the table class being described. Oids are not guaranteed to be unique because they will wrap around once they hit the unsigned integer max. The added conditional will ensure that the target object of the dependency is a table. Fixes: doctrine#5781
allenisalai
pushed a commit
to allenisalai/dbal
that referenced
this issue
Feb 16, 2023
This fixes a bug where there was a pg_proc which was a dependency of an extention and also had an identical oid to the table class being described. Oids are not guaranteed to be unique because they will wrap around once they hit the unsigned integer max. The added conditional will ensure that the target object of the dependency is a table. Fixes: doctrine#5781
allenisalai
pushed a commit
to allenisalai/dbal
that referenced
this issue
Feb 17, 2023
This fixes a bug where there was a pg_proc which was a dependency of an extention and also had an identical oid to the table class being described. Oids are not guaranteed to be unique because they will wrap around once they hit the unsigned integer max. The added conditional will ensure that the target object of the dependency is a table. Fixes: doctrine#5781
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Bug Report
Summary
I am running into an issue with the
pg_depend
join here. It appears that theON
condition maybe be incorrect. Based onhttps://www.postgresql.org/docs/15/catalog-pg-depend.html it seems like the
ON
condition should use theclassid
instead ofobjid
.In our system, the
pg_depend
record that matches thec.oid
points topg_proc
which has the sameoid
as mymigration_versions
table but a differentclassid
. Below are the queries I used to come to my conclusions.Query 1
comes fromsrc/Schema/PostgreSQLSchemaManager::selectTableColumns()
, but I removedAND d.refobjid IS NULL
so we could see what is returned and added some extra columns for debugging.Query 1:
Results of Query 1:
Query 2
includes more information about thepg_class
that relates to thepg_depend
record.Results of Query 2:
It seems like my
migration_versions
table just happens to have the same oid aspg_proc
which is causing records to return when they shouldn't. I'm definitely not a psql expert so there's a great chance I've just misunderstood something.Expected behaviour
Since my
migration_versions
table isn't managed by and extension, the columns should be returned byselectTableColumns
.I'll create a PR to test if changing the condition to use
classid
will solve the issue on my end.The text was updated successfully, but these errors were encountered: