Skip to content

v0.23.0

Choose a tag to compare

@hymkor hymkor released this 14 Oct 03:08
· 374 commits to master since this release

Changes in v0.23.0 (English)

  • For non-DML SQL, "database/sql".Conn is now used instead of "database/sql".DB
    • This ensures the same connection is used continuously, avoiding potential issues caused by using different connections for consecutive SQL statements
  • Users can no longer use BEGIN statements
    • Transactions are automatically started internally, and using BEGIN could cause inconsistencies
  • Behavior of DDL execution within transactions has been improved
    • Previously, all DDL was disallowed within transactions; now the database-specific rules determine which statements can run
    • PostgreSQL: All statements are allowed except VACUUM, REINDEX, CLUSTER, CREATE/DROP DATABASE, CREATE/DROP TABLESPACE
    • SQLite3: All statements are allowed except VACUUM
  • Update csvi package to v1.15.0 + snapshot:
    • Added key bindings ] and [ to adjust the width of the current column (widen and narrow, respectively).
    • Added -rv option to prevent unnatural colors on terminals with a white background
    • At startup, the width of ambiguous-width Unicode characters was being measured, but on terminals that do not support the cursor position query sequence ESC[6n, this could cause a hang followed by an error. To address this:
      • If ESC[6n is not supported, the program now continues without aborting.
      • Skipped the measurement of ambiguous-width Unicode characters when the environment variable RUNEWIDTH_EASTASIAN is defined.
    • Suppress color output if the NO_COLOR environment variable is set (following https://no-color.org/ )
    • When the environment variable COLORFGBG is defined in the form (FG);(BG) and (FG) is less than (BG), the program now uses color settings designed for light backgrounds (equivalent to -rv).

Changes in v0.23.0 (Japanese)

  • DML 以外の SQL について、 "database/sql".DB の代わりに "database/sql".Conn を使用するようにした
    • 前後の SQL で別の接続が使われることで発生しうるトラブルを防ぐため、同一接続を継続使用するように変更
  • BEGIN 文をユーザが使用できないようにした
    • トランザクションは内部で自動開始されるため、BEGIN を使うと不整合が起こる可能性がある
  • トランザクション中の DDL 実行に関する挙動を改善
    • 従来は一律不可としていたが、データベースごとに実行可能な文を判定するように変更
    • PostgreSQL: VACUUM, REINDEX, CLUSTER, CREATE/DROP DATABASE, CREATE/DROP TABLESPACE 以外はトランザクション内で実行可能
    • SQLite3: VACUUM 以外はトランザクション内で実行可能
  • CSVI を v1.15.0 + snapshot へ更新:
    • カーソル列の幅を広げる ] と、縮める [ を実装
    • 白背景の端末でも色が不自然にならないよう、-rv オプションを追加
    • 起動時に曖昧幅の Unicode 文字の表示幅を計測していたが、カーソル位置を取得するシーケンス ESC[6n をサポートしない端末では、入力待ちのままエラー終了してしまう問題があった。そのため:
      • ESC[6n が無効な場合でもエラーとせず、編集を継続できるようにした。
      • 環境変数 RUNEWIDTH_EASTASIAN が定義されていたら、曖昧幅の Unicode 文字の幅計測を省くようにした。
    • 環境変数 NO_COLOR が定義されている場合、カラー表示を抑制するようにした ( https://no-color.org/ に準拠 )
    • 環境変数 COLORFGBG が (FG);(BG) 形式で定義されており、(FG) が (BG) より小さい整数の時、白背景を想定した色使いをするようにした (-rvと等価)