Skip to content
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

[pg] fix getting table information if search_path contains escaped schema name #3821

Merged
merged 1 commit into from
Jan 29, 2020
Merged

[pg] fix getting table information if search_path contains escaped schema name #3821

merged 1 commit into from
Jan 29, 2020

Conversation

linniksa
Copy link
Contributor

@linniksa linniksa commented Jan 14, 2020

Q A
Type bug
BC Break no

Summary

I got problem with doctrine migrations with postresql database:
There is no column with name 'version' on table 'migration_versions'.

after research i found that error happiness if search_path contains escaped schema name (eg set search_path = '123', public;)

this patch fix my problem, also simplifies the code and use native processing of search_path from postgres (no need to handle "$user" anymore))

@morozov
Copy link
Member

morozov commented Jan 14, 2020

@linniksa please provide a functional test that would fail without the fix.

@linniksa linniksa requested a review from morozov January 14, 2020 19:52
@linniksa
Copy link
Contributor Author

@morozov done

@morozov
Copy link
Member

morozov commented Jan 15, 2020

I'm fine with merging the patch as is and making all suggested API improvements later but I'd like to get someone who has more experience with PostgreSQL.

morozov
morozov previously approved these changes Jan 15, 2020
@linniksa linniksa changed the base branch from master to 2.10.x January 16, 2020 08:14
@linniksa linniksa changed the base branch from 2.10.x to 2.10 January 16, 2020 08:16
…hema name (eg "812pp")

also simplifies the code and now exactly matches postgresql search rules
@morozov
Copy link
Member

morozov commented Jan 16, 2020

Someone better familiar with PostgreSQL, please take a look.

@morozov morozov merged commit a0e2373 into doctrine:2.10 Jan 29, 2020
@morozov
Copy link
Member

morozov commented Jan 29, 2020

Thanks, @linniksa!

@morozov morozov self-assigned this Jan 29, 2020
@morozov morozov added this to the 2.10.2 milestone Jan 29, 2020
@linniksa linniksa deleted the fix-pg-search-path-resolution branch January 29, 2020 08:14
rgrellmann added a commit to Rossmann-IT/dbal that referenced this pull request Apr 22, 2020
Release [2.10.2](https://github.com/doctrine/dbal/milestone/75)

2.10.2
======

- Total issues resolved: **4**
- Total pull requests resolved: **19**
- Total contributors: **10**

Improvement,Static Analysis
---------------------------

 - [3964: Mark every exception as immutable](doctrine#3964) thanks to @greg0ire

CI,Improvement,Static Analysis
------------------------------

 - [3961: Stop relying on the master version of Psalm](doctrine#3961) thanks to @greg0ire
 - [3951: Setup static analysis with Psalm](doctrine#3951) thanks to @greg0ire
 - [3799: Upgrade to PHPStan v0.12](doctrine#3799) thanks to @lcobucci

Improvement,Logging,Test Suite
------------------------------

 - [3957: Reworked LoggingTest to be able to test Statement::executeUpdate()](doctrine#3957) thanks to @morozov

CI,Code Style,Improvement,Strict Typing
---------------------------------------

 - [3955: Remove baseline](doctrine#3955) thanks to @greg0ire

Bug,SQLite,Schema Introspection,Schema Managers
-----------------------------------------------

 - [3937: Column comment incorrectly introspected on SQLite](doctrine#3937) thanks to @morozov

Bug,Documentation,Prepared Statements,Query
-------------------------------------------

 - [3896: Updated documentation for QueryBuilder::execute() return value type](doctrine#3896) thanks to @morozov

Bug,Prepared Statements
-----------------------

 - [3894: Make sure that the $types array has the same keys $params](doctrine#3894) thanks to @morozov
 - [3893: Ensure the constructor arguments are passed to custom classes](doctrine#3893) thanks to @duncan3dc
 - [3843: Fix unquoted stmt fragments backslash escaping](doctrine#3843) thanks to @morozov

Documentation,Improvement
-------------------------

 - [3886: Update readme](doctrine#3886) thanks to @greg0ire
 - [3834: Fix docblock typos in DriverManager docs](doctrine#3834) thanks to @CHItA

CI,Improvement,MariaDB,MySQL
----------------------------

 - [3884: Use Docker consistently](doctrine#3884) thanks to @greg0ire
 - [3478: Improve readiness probe stability for containerized databases on CI](doctrine#3478) thanks to @morozov

 - [3883: Fix broken build](doctrine#3883) thanks to @greg0ire

Bug,Documentation,Query,Query Limit/Offset Modification
-------------------------------------------------------

 - [3842: Fixed the QueryBuilder::setMaxResults() signature to accept NULL](doctrine#3842) thanks to @morozov

Bug,Query
---------

 - [3832: Fix JOIN with no condition bug](doctrine#3832) thanks to @BenMorel

Bug,PostgreSQL,Schema Introspection
-----------------------------------

 - [3821: &doctrine#91;pg&doctrine#93; fix getting table information if search&doctrine#95;path contains escaped schema name](doctrine#3821) thanks to @linniksa

Documentation,Improvement,Logging
---------------------------------

 - [3812: Fix DebugStack#queries docblock type](doctrine#3812) thanks to @ostrolucky

Bug,Regression,Schema
---------------------

 - [3790: fixed unqualified table name of fk constraints when using schemas](doctrine#3790) thanks to @stlrnz and @Alarich

# gpg: Signature made Mon Apr 20 19:59:36 2020
# gpg:                using DSA key 2C3A645671828132
# gpg: Can't check signature: public key not found

# Conflicts:
#	README.md
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 4, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants