SQLiteConnector
概要
SQLite向けに実装された DBConnector の派生クラスです。
このクラスはモバイル版でのみ利用できます。
このクラスはコネクションプールをサポートしません。
コンストラクタ
構文
new SQLiteConnnector({ database, version })
new SQLiteConnnector({ database, version, onConfigure, onCreate, onUpgrade, onDowngrade, onOpen })
引数
単一の、以下のプロパティを持つオブジェクトです。
-
database:stringデータベース名です。
-
version:numberデータベースのバージョンです。この値はSQLiteの
PRAGMAコマンド(PRAGMA user_version=<バージョン>)によって設定されるユーザバージョンです。指定する値は 1 以上の整数でなければなりません。
プロパティ
databaseで指定したデータベースが既に存在し、ユーザバージョンが設定されている場合、設定されたユーザバージョンと引数として与えたversionプロパティの値の比較によって、データベースのバージョン変更のためのコールバック関数が呼び出されます。 -
onConfigure:function(省略可)データベースに初めて接続する際に、一度だけ呼び出されるコールバック関数です。
コールバック関数として、引数を持たない関数を指定します。 コールバック関数が
Promiseを返す場合、プロパティonOpenに設定したコールバック関数の呼び出しの前に、その履行を待ち合わせます。 コールバック関数の返すPromiseでない値やPromiseの履行の際に与えられる値は無視されます。プロパティ
onConfigureに設定されたコールバック関数は、プロパティonCreate,onUpgrade,onDowngrade,onOpenに設定したコールバック関数より先に呼び出されます。このプロパティの指定は任意です。指定がない場合、何も行われません。
-
onCreate:function(省略可)データベースに初めて接続する際に、一度だけ呼び出されるコールバック関数です。 このコールバック関数は、指定のデータベースが未作成の場合にのみ呼び出されます。
コールバック関数として、引数を持たない関数を指定します。 コールバック関数が
Promiseを返す場合、プロパティonOpenに設定したコールバック関数の呼び出しの前に、その履行を待ち合わせます。 コールバック関数の返すPromiseでない値やPromiseの履行の際に与えられる値は無視されます。プロパティ
onConfigureにコールバック関数が設定されている場合、onCreateに設定したコールバック関数はそれより後に呼び出されます。プロパティ
onOpenにコールバック関数が設定されている場合、onCreateに設定したコールバック関数はそれより先に呼び出されます。このプロパティの指定は任意です。指定がない場合、何も行われません。
-
onUpgrade:function(省略可)データベースに初めて接続する際に、一度だけ呼び出されるコールバック関数です。 このコールバック関数は、指定のデータベースが作成済みかつ、引数として与えた
versionプロパティの値が対象のデータベースのユーザバージョンより新しい(大きい)場合にのみ呼び出されます。コールバック関数として、以下の引数を持つ関数を指定します。
-
oldVersion:numberデータベースに設定されているユーザバージョンです。 第1引数として与えられます。
-
newVersion:number引数のプロパティ
versionで指定した新しいユーザバージョンです。 第2引数として与えられます。
コールバック関数が
Promiseを返す場合、プロパティonOpenに設定したコールバック関数の呼び出しの前に、その履行を待ち合わせます。 コールバック関数の返すPromiseでない値やPromiseの履行の際に与えられる値は無視されます。プロパティ
onConfigureにコールバック関数が設定されている場合、onUpgradeに設定したコールバック関数はそれより後に呼び出されます。プロパティ
onOpenにコールバック関数が設定されている場合、onUpgradeに設定したコールバック関数はそれより先に呼び出されます。このプロパティの指定は任意です。指定がない場合、何も行われません。
-
-
onDowngrade:function(省略可)データベースに初めて接続する際に、一度だけ呼び出されるコールバック関数です。 このコールバック関数は、指定のデータベースが作成済みかつ、引数として与えた
versionプロパティの値が対象のデータベースのユーザバージョンより古い(小さい)場合にのみ呼び出されます。コールバック関数として、以下の引数を持つ関数を指定します。
-
oldVersion:numberデータベースに設定されているユーザバージョンです。 第1引数として与えられます。
-
newVersion:number引数のプロパティ
versionで指定した新しいユーザバージョンです。 第2引数として与えられます。
コールバック関数が
Promiseを返す場合、プロパティonOpenに設定したコールバック関数の呼び出しの前に、その履行を待ち合わせます。 コールバック関数の返すPromiseでない値やPromiseの履行の際に与えられる値は無視されます。プロパティ
onConfigureにコールバック関数が設定されている場合、onDowngradeに設定したコールバック関数はそれより後に呼び出されます。プロパティ
onOpenにコールバック関数が設定されている場合、onDowngradeに設定したコールバック関数はそれより先に呼び出されます。このプロパティの指定は任意です。指定がない場合、何も行われません。
-
-
onOpen:function(省略可)データベースに初めて接続する際に、一度だけ呼び出されるコールバック関数です。
コールバック関数として、引数を持たない関数を指定します。 コールバック関数が返す値は無視されます。
プロパティ
onOpenに設定されたコールバック関数は、プロパティonConfigure,onCreate,onUpgrade,onDowngradeに設定したコールバック関数より後に呼び出されます。このプロパティの指定は任意です。指定がない場合、何も行われません。
- データベースへの実際の接続は可能な限り遅延されます。つまり、実際にデータベースへのアクセスが行われるタイミングに合わせてデータベースへの接続が行われます。そのため、コンストラクタ引数として与えたコールバック関数
onConfigure,onCreate,onUpgrade,onDowngrade,onOpenの実行もまた同じタイミングまで遅延されます。
例外
TypeError- 引数のプロパティ
databaseに文字列が指定されていない場合 - 引数のプロパティ
versionに数値が指定されていない場合 - 引数のプロパティ
versionの値が整数でなかった場合 - 引数のプロパティ
versionの値が 0 以下だった場合 - 引数のプロパティ
onConfigureに関数でも nullish でもない値が指定された場合 - 引数のプロパティ
onCreateに関数でも nullish でもない値が指定された場合 - 引数のプロパティ
onUpgradeに関数でも nullish でもない値が指定された場合 - 引数のプロパティ
onDowngradeに関数でも nullish でもない値が指定された場合 - 引数のプロパティ
onOpenに関数でも nullish でもない値が指定された場合
- 引数のプロパティ
解説
SQLiteConnector のインスタンスを生成します。
引数のプロパティとして以下のコールバック関数を指定できます:
onConfigureonCreateonUpgradeonDowngradeonOpen
これらのコールバック関数は、生成された SQLiteConnector インスタンスを使って初めてデータベースへ接続する際に呼び出されます。
それぞれのコールバック関数が呼び出される条件は以下の通りです:
-
onConfigureデータベースへ接続する際に呼び出されます。
-
onCreateデータベースへ接続する際、プロパティ
databaseで指定したデータベースがまだ作成されていない場合に呼び出されます。 -
onUpgradeデータベースへ接続する際、プロパティ
databaseで指定したデータベースが作成済みで、プロパティversionで指定したバージョンが、対象のデータベースのユーザバージョンより新しかった場合に呼び出されます。 -
onDowngradeデータベースへ接続する際、プロパティ
databaseで指定したデータベースが作成済みで、プロパティversionで指定したバージョンが、対象のデータベースのユーザバージョンより古かった場合に呼び出されます。 -
onOpenデータベースへ接続する際に呼び出されます。
それぞれのコールバック関数の実行順序は以下の通りです:
onConfigure- 接続先のデータベースの状態によって分岐:
- データベース未作成:
onCreate - データベース作成済みかつ、現在のユーザバージョンより新しいバージョンが指定された:
onUpgrade - データベース作成済みかつ、現在のユーザバージョンより古いバージョンが指定された:
onDowngrade
- データベース未作成:
onOpen
コールバック関数の呼び出しはデータベース接続の際に呼び出されますが、データベース接続自体は SQLiteConnector のインスタンス生成のタイミングとは一致しません。
メソッド
end()
- この関数は何も行いません。
execute()
- SQL文を実行します。
connect()
- この関数は何も行いません。
disconnect()
- この関数は何も行いません。
createTable()
- 指定されたテーブル定義情報からテーブルを作成します。
dropTable()
- 指定されたテーブルを削除します。
getSchema()
- データベースの定義情報を取得します。
fixPreparedStatementQuery()
- この関数は何も行いません。
asIdentifier()
- 文字列をデータベースで使用する識別子として変換します。
asString()
- 文字列をデータベースで使用する文字列リテラルに変換します。
asValue()
- データをデータベースで使用する値リテラルに変換します。