Doctrine DBAL
  1. Doctrine DBAL
  2. DBAL-206

OraclePlatform causes problems with more schemas with same table names

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.1.5
    • Fix Version/s: 2.1.6, 2.2
    • Component/s: Platforms
    • Security Level: All
    • Labels:
      None
    • Environment:
      Oracle database

      Description

      OraclePlatform is using the ALL_* tables to fetch schema information but is only supplying the table name in the where condition. This causes problems when you have multiple schemas with tables that have the same name. Their columns/FK get mixed up.

      My colleague and I have traced the problem down to the OraclePlatform class and replaced the ALL_* tables with USER_*. The fix for that is on github https://github.com/FranPregernik/dbal/commit/c70bc462b49a168105304cdff0086dcd15cc347d.

      As mentioned in the comment message the other fix would be to fetch the schema name (user) of the table and add it to the where part of the queries. Something like this:

      t.owner = user

      A pull request has been made on github for this.

        Activity

        Fran Pregernik created issue -
        Benjamin Eberlei made changes -
        Field Original Value New Value
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 2.1.6 [ 10181 ]
        Fix Version/s 2.2 [ 10142 ]
        Resolution Fixed [ 1 ]
        Benjamin Eberlei made changes -
        Workflow jira [ 13376 ] jira-feedback2 [ 17783 ]
        Benjamin Eberlei made changes -
        Workflow jira-feedback2 [ 17783 ] jira-feedback3 [ 20138 ]

          People

          • Assignee:
            Benjamin Eberlei
            Reporter:
            Fran Pregernik
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: