クラス TableFilter_INDEX_DERBY
java.lang.Object
org.opengion.hayabusa.db.AbstractTableFilter
org.opengion.plugin.table.TableFilter_INDEX
org.opengion.plugin.table.TableFilter_INDEX_DERBY
- すべての実装されたインタフェース:
TableFilter
TableFilter_INDEX_DERBY は、TableUpda インターフェースを継承した、DBTableModel 処理用の
実装クラスです。とくに、MySQL用のインデックス作成スクリプトを作成します。
ここでは、テーブル一覧の検索結果より、GF07 のインデックスカラム定義テーブルから
必要な情報を取得し、テーブル作成スクリプトを作成します。
出力ファイルは、テーブル名+"I.sql" という命名規則で作成します。
検索では、(SYSTEM_ID,TBLSYU,TABLE_NAME,TABLE_LABEL,INDEX_NAME,NAME_JA,INDTYPE,TABLESPACE_NAME,INITIAL_EXTENT)
の項目を取得する必要があります。
- 変更履歴:
- 6.4.5.0 (2016/04/08) 新規作成, 6.8.1.0 (2017/07/14) JAVADB → DERBY に変更
- 導入されたバージョン:
- JDK1.1,
-
フィールドの概要
クラスから継承されたフィールド org.opengion.plugin.table.TableFilter_INDEX
INDEX_NAME, INDTYPE, INITIAL_EXTENT, SYSTEM_ID, TABLE_LABEL, TABLE_NAME, TABLESPACE_NAME, TBLSYU
クラスから継承されたフィールド org.opengion.hayabusa.db.AbstractTableFilter
BUFFER_MIDDLE, CR, EXEC_END_TAG, EXEC_START_TAG, execEndTag, isXml, XML_END_TAG, XML_START_TAG
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明protected String
makeDropLine
(int[] clmNo, String[] data) インデックス削除の構文を、作成します。protected String
makeEndLine
(int[] clmNo, String[] data) 定義の最後の部分の処理を実行します。protected String
makeIndexClmStr
(String clm, String useLen, String seqNo) インデックスを作成するための文字列を返します。protected String
makeLineList
(int[] clmNo, String[] data, String clms) インデックス作成の処理を実行します。クラスから継承されたメソッド org.opengion.plugin.table.TableFilter_INDEX
execute, makeHeadLine
クラスから継承されたメソッド org.opengion.hayabusa.db.AbstractTableFilter
getDbid, getDBTableModel, getErrorCode, getErrorMessage, getKeys, getModifyType, getParameterRows, getResource, getReturnMap, getSql, getTableColumnNo, getTransaction, getValue, getViewMarker, initSet, isDebug, makeErrorMessage, setDbid, setDBTableModel, setDebug, setKeysVals, setModifyType, setParameterRows, setParamMap, setResource, setSql, setTransaction, setValue, setViewMarker
-
コンストラクタの詳細
-
TableFilter_INDEX_DERBY
public TableFilter_INDEX_DERBY()デフォルトコンストラクター- 変更履歴:
- 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor., 6.8.1.0 (2017/07/14) JAVADB → DERBY に変更
-
-
メソッドの詳細
-
makeLineList
インデックス作成の処理を実行します。- オーバーライド:
makeLineList
クラス内TableFilter_INDEX
- パラメータ:
clmNo
- カラム番号配列data
- 1行分のデータ配列clms
- カラム名(CSV形式)- 戻り値:
- 作成された1行分の文字列
- 変更履歴:
- 6.4.0.5 (2016/01/09) AUTO_INCREMENT 使用時は、PRIMARY KEY 制約を、TABLE 側に入れる必要がある。
- このメソッドは、nullを返しません
-
makeEndLine
定義の最後の部分の処理を実行します。- オーバーライド:
makeEndLine
クラス内TableFilter_INDEX
- パラメータ:
clmNo
- カラム番号配列data
- 1行分のデータ配列- 戻り値:
- 定義の最後の部分
- 変更履歴:
- 6.0.2.3 (2014/10/10) EXEC_END_TAG を追加。キャッシュします。, 6.4.0.5 (2016/01/09) INDTYPE が 9:未使用 の場合の処理を追加。
-
makeDropLine
インデックス削除の構文を、作成します。- オーバーライド:
makeDropLine
クラス内TableFilter_INDEX
- パラメータ:
clmNo
- カラム番号配列data
- 1行分のデータ配列- 戻り値:
- 作成された1行分の文字列
- 変更履歴:
- 5.6.9.2 (2013/10/18) 新規作成, 6.0.2.3 (2014/10/10) EXEC_END_TAG を追加。キャッシュします。, 6.4.4.1 (2016/03/18) StringBuilderの代わりに、OgBuilderを使用する。, 6.7.2.0 (2017/01/16) DROP INDEX インデックス名 に変更。プライマリキーは、削除しない。
- このメソッドは、nullを返しません
-
makeIndexClmStr
インデックスを作成するための文字列を返します。 通常、カラム名をそのまま返します。 7.3.0.0 (2021/01/06) seqNoがマイナスの場合は、カラム名に DESC を付けて逆インデックスにします。 ※ ORACLEの場合、逆インデックスはバグがあったり、正インデックスで自動判断するそうなので、 基本的には使わない方が良いそうです。 ※ FIREBERD には、カラムごとの逆インデックスは定義できません。 エラーチェックは入れていませんので、ご注意ください。 ※ MySQL は、8.0で採用されています。それ以前のバージョンでは動作しません。 ※ MySQL の 500バイト以上のカラムのインデックス制限が解除されているかどうかは、未調査です。- オーバーライド:
makeIndexClmStr
クラス内TableFilter_INDEX
- パラメータ:
clm
- カラム名useLen
- カラムのバイト数seqNo
- カラム順(マイナスの場合は、逆順)…DERBY以外には使用しないことにします。- 戻り値:
- インデックスカラムの文字列
- 関連項目:
- 変更履歴:
- 7.3.0.0 (2021/01/06) SEQNO がマイナスの場合、カラムに DESC を付ける(逆順カラム)
-