Tsurugi Advent Calendar 2023の15日目です。
テーブルを作成するcreate table文は、Tsurugiではまだ未対応のデータ型があります。binaryとかBLOBとか。
char/varcharは対応していますが、現状(Tsurugi 1.0.0-BETA2)では、指定する桁数はバイト数であって文字数ではないことに注意が必要です。
char/varcharにinsert/updateするときは、UTF-8に変換されて入れられます。
また、今はchar/varcharにヌル文字(文字コード0)を含めることが出来ません。
Tsurugi 1.0.0-BETA1では、ヌル文字が含まれた文字列のinsertは出来ますが、select時にERR_DATA_CORRUPTIONが発生します。
Tsurugi 1.0.0-BETA2では、ヌル文字が含まれた文字列をinsertしようとするとINVALID_RUNTIME_VALUE_EXCEPTIONが発生します。
embulk-output-tsurugidb 0.1.3では、ヌル文字が含まれているレコードはinsertをスキップするようにしました。
それと、decimal(「decimal(4,1)みたいな」)や dateも使うことが出来ますが、リテラルが対応していません。
つまり、Tsurugi SQLコンソール(tgsql)からinsert文で値を入れることが出来ません^^;
decimalについては、castで代用することが出来ますが。
(decimalもdateも、Iceaxeからバインド変数を使って入れることは可能です)
ところで、Tsurugi 1.0.0-BETA2では、create table if not existsが使えるようになりました。
テーブルが存在しないときだけcreate tableを実行します。(テーブルが存在しているときは何もしません(エラーにもなりません))
※コメント投稿者のブログIDはブログ作成者のみに通知されます