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 メソッドは、テーブル名がマッチしたタイミングでそのテーブル情報を返すので、
      異なるスキーマのテーブル情報でも特に気にせず返してしまうことが原因。

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

        Activity

        Hide
        someda someda added a comment -

        schema を引き渡すように変更 rev.1125

        Show
        someda someda added a comment - schema を引き渡すように変更 rev.1125
        Hide
        someda someda added a comment -

        状態変更のため再オープン。

        Show
        someda someda added a comment - 状態変更のため再オープン。

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development