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

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

XMLWordPrintable

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

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

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

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

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

              Created:
              Updated:
              Resolved: