2022.10.25

MariaDB

MariaDB Connector/C++ 1.0.2 GA版(リリース日:2022年10月11日)

主な変更点

  • executeBatch/executeLargeBatch PreparedStatementメソッド実行の2つの最適化モードのサポートが追加されました。
    • rewriteBatchedStatements接続オプション
    • useBulkStmts接続オプション

rewriteBatchedStatements

  • rewriteBatchedStatements接続オプションを使用すると、INSERTクエリの場合、コネクタはバッチパラメータセットを使用して単一のクエリを作成します。例えば:
    INSERT INTO ab (i) VALUES (?) with first batch values = 1, second = 2
    は、次のように書き換えられます。
    INSERT INTO ab (i) VALUES (1), (2)
    クエリを複数値で書き換えることができない場合、rewriteBatchedStatements接続オプションは複数クエリを使用します。例えば:
    INSERT INTO ab(col1) VALUES (?) ON DUPLICATE KEY UPDATE col2=? with values [1,2] and [2,3]
    は、次のように書き換えられます。
    INSERT INTO ab(col1) VALUES (1) ON DUPLICATE KEY UPDATE col2=2;INSERT INTO TABLE(col1) VALUES (3) ON DUPLICATE KEY UPDATE col2=4
  • rewriteBatchedStatements接続オプションが選択されている場合、useServerPrepStmtsオプションはfalseに設定されます。
  • rewriteBatchedStatementsとuseBulkStmtsの両方のオプションが選択されている場合、rewriteBatchedStatementsが優先されます。

useBulkStmts

  • useBulkStmts接続オプションは、MariaDBの一括実行機能を使用するため、MariaDB Server 10.2.7以降が必要です。useServerPrepStmtsが設定されていない場合でも、つまり、デフォルトのステートメント準備メソッドがクライアント側の準備である場合でも、useBulkStmtsが使用されます。
  • useBulkStmtsとrewriteBatchedStatementsの両方のオプションが選択されている場合、rewriteBatchedStatementsが優先されます。

修正されたバグ

  • 複数のスレッドから接続を試みると、コネクタがクラッシュします。
  • PreparedStatement setDoubleは、最初の有効数字6桁のみを処理し、その他の数字は全てゼロにします。
  • 結果セットのストリーミングはこのリリースシリーズではサポートされていませんが、setFetchSizeを設定しても例外がスローされず、アプリケーションがクラッシュする可能性があります。
    • このリリース以降、setFetchSizeの設定は、フェッチサイズ > 0 を設定しようとすると、SQLFeatureNotImplementedExceptionをスローします。

MariaDB Connector/C++ 1.0.2のリリースノート(MariaDB社ウェブサイト):
https://mariadb.com/docs/release-notes/mariadb-connector-cpp-1-0/1-0-2/


MariaDBプロダクト・サポート・サービス

MariaDB
MariaDBプロダクト・サポート・サービスは、MariaDBおよびその関連製品をご利用されているお客様へ、必要なソフトウェアや専門的なサポートなどを提供するサービスです。