Ticket #87 (closed 不具合: fixed)
MySQLでuseMapperNameAsTableNameが有効のときデフォルトクエリ内の変数名が正しくキャメルケースにならない
| Reported by: | iteman | Owned by: | iteman |
|---|---|---|---|
| Priority: | major | Milestone: | 1.1.0 |
| Component: | 04: カーネル | Version: | The Latest Version of 1.0 |
| Keywords: | Cc: | ||
| Blocking: | Blocked By: |
Description (last modified by iteman) (diff)
MySQLでuseMapperNameAsTableNameが有効のときデフォルトクエリ内の変数名が正しくキャメルケースにならない
MySQLのlower_case_table_namesシステム変数が1に設定されていることを前提とした、MDB2のケース関連オプションとキャメルケース変換の関係を下記に示す。
| MDB2_PORTABILITY_FIX_CASE($db->options['portability']) | $db->options['field_case']の値 | foo_barフィールド用の変数名 |
| 有効 | CASE_LOWER(0) | $fOOBAR |
| 有効 | CASE_UPPER(1) | メタデータ取得時に例外発生 |
| 無効 | CASE_LOWER(0) | $fooBar |
| 無効 | CASE_UPPER(1) | $fOOBAR |
3番目のパターンのみ成功するため、useMapperNameAsTableNameが有効な場合は、無条件に下記の設定を行うようにすれば解決できると思われる。
- $db->options['portability']にMDB2_PORTABILITY_FIX_CASEを設定する
- $db->options['field_case']にCASE_LOWERを設定する
Change History
Note: See
TracTickets for help on using
tickets.

