Uploaded image for project: 'Tuigwaa'
  1. Tuigwaa
  2. TUIGWAA-127

テーブル編集時に、異なるサイトのテーブルメタデータが利用される

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 1.0.1, 1.0, 0.9.1, 0.9, 0.8
    • Fix Version/s: 1.0.2
    • Component/s: database
    • Labels:
      None

      Description

      テーブル編集時に発行される SQL を構築する DynaConfiguration#getAlterSQLString 内で、schema 名が引き渡されておらず、
      その結果、alter 文の生成をする為の上記メソッドでは、同名であれば他サイトのテーブル情報を利用する可能性がある。

      詳細としては、DatabaseMetadata (Hibernate) #getTableMetadata では、DatabaseMetaData (javax.sql)#getTables を呼び出しており、
      この際にschema 名が null だと、テーブル名のマッチングにスキーマ情報が利用されない。(インターフェース定義より)
      また、DatabaseMetadata#getTableMetadata メソッドは、テーブル名がマッチしたタイミングでそのテーブル情報を返すので、
      異なるスキーマのテーブル情報でも特に気にせず返してしまうことが原因。

      これにより、標準テーブル作成モードで複数サイト間でのテーブル編集が不安定になる可能性がある。

        Attachments

          Activity

            People

            • Assignee:
              someda someda
              Reporter:
              someda someda
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: