Doctrine DBAL
  1. Doctrine DBAL
  2. DBAL-144

Oracle tables without indices are not handled during convert - this behavior should be tolerant since Oracle does not require indicies.

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.1
    • Fix Version/s: 2.1.5
    • Component/s: Platforms
    • Labels:
      None
    • Environment:
      CentOS 5.0, PHP 5.3.6, Oracle 11g EE, Symfony 2.0 Doctrine 2.1

      Description

      While it is good practice to always have at least one index defined on every table, in some cases (such as temporary tables) indices are not necessary. Oracle does not enforce creating indices for every table, and it is common to create some tables without them. The Table.php (line 556) method throws an exception if an index is not found for a given table. It's obvious there are ramifications for findByPK( ) auto-generated methods - these should be generated for every case where PK exists to accommodate Oracle and tolerate variances from accepted best-practices with most other database platforms.

        Activity

        Ed Anderson created issue -
        Ed Anderson made changes -
        Field Original Value New Value
        Description While it is good practice to always have at least one index defined on every table, in some cases (such as temporary tables) where indices are not necessary. Oracle does not enforce creating indices for every table, and it is common to create some tables without them. The Table.php (line 556) method throws an exception if an index is not found for a given table. It's obvious there are ramifications for findByPK( ) auto-generated methods - these should be generated for every case where PK exists to accommodate Oracle and tolerate variances from accepted best-practices with most other database platforms. While it is good practice to always have at least one index defined on every table, in some cases (such as temporary tables) indices are not necessary. Oracle does not enforce creating indices for every table, and it is common to create some tables without them. The Table.php (line 556) method throws an exception if an index is not found for a given table. It's obvious there are ramifications for findByPK( ) auto-generated methods - these should be generated for every case where PK exists to accommodate Oracle and tolerate variances from accepted best-practices with most other database platforms.
        Hide
        Benjamin Eberlei added a comment -

        When does this error happen?

        This method is called through Table::getPrimaryKey(). Does this happen during the "doctrine:schema*" toolchain?

        Show
        Benjamin Eberlei added a comment - When does this error happen? This method is called through Table::getPrimaryKey(). Does this happen during the "doctrine:schema*" toolchain?
        Hide
        Ed Anderson added a comment -

        This happens in the doctrine:schema toolchain.

        Show
        Ed Anderson added a comment - This happens in the doctrine:schema toolchain.
        Hide
        Benjamin Eberlei added a comment -

        Fixed.

        Show
        Benjamin Eberlei added a comment - Fixed.
        Benjamin Eberlei made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 2.1.4 [ 10167 ]
        Resolution Fixed [ 1 ]
        Benjamin Eberlei made changes -
        Workflow jira [ 12895 ] jira-feedback2 [ 17739 ]
        Benjamin Eberlei made changes -
        Workflow jira-feedback2 [ 17739 ] jira-feedback3 [ 20094 ]

        This list may be incomplete, as errors occurred whilst retrieving source from linked applications:

        • Request to http://www.doctrine-project.org/fisheye/ failed: Error in remote call to 'FishEye 0 (http://www.doctrine-project.org/fisheye/)' (http://www.doctrine-project.org/fisheye) [AbstractRestCommand{path='/rest-service-fe/search-v1/crossRepositoryQuery', params={query=DBAL-144, expand=changesets[0:20].revisions[0:29],reviews}, methodType=GET}] : Received status code 503 (Service Temporarily Unavailable)

          People

          • Assignee:
            Benjamin Eberlei
            Reporter:
            Ed Anderson
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: