UTL_FILE.NEW_LINE silently ignores negative line counts
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 64/100
調査の方向性
まず、Oracle互換のUTL_FILE実装とそのテストを見つけ、次に sys.ora_utl_file_new_line の引数検証と改行ループを調べます。負の回数ではVALUE_ERRORの経路を通り、ゼロおよび正の回数では従来の動作が維持されることを確認する回帰テストを追加します。Oracle互換モードでこれらのSQLケースがパスすれば完了です。
索引モデルが issue の本文から書いたものです。
説明
What happened?
The Oracle signature defines UTL_FILE.NEW_LINE's lines parameter as NATURAL, but IvorySQL exposes it as INTEGER and silently loops zero times for a negative value. A caller receives success without writing anything, hiding an invalid argument.
What did you expect to happen?
Negative lines values should be rejected through the package's VALUE_ERROR path. Zero and positive counts should retain their existing behavior. This expectation follows the Oracle-compatible UTL_FILE contract; no Oracle server output is being claimed here.
How can we reproduce it (as minimally and precisely as possible)?
In Oracle-compatible mode, open a writable file and call:
-- Use the repository's UTL_FILE test directory or another writable directory.
SELECT sys.ora_utl_file_new_line(file_handle, -1);
The pre-fix implementation returns successfully and writes no newline. The regression should verify the error for a negative count and preserve the zero/positive cases.
IvorySQL version
master
Compatible mode
oracle
Server encoding
UTF8
Anything else we need to know?
This is limited to the IvorySQL Oracle-compatible UTL_FILE package. The issue concerns argument validation before the newline loop. Oracle server version/output is not available for this report.
OS version
The reproducer is SQL-level and should run on all supported platforms; CI should cover the platform-specific builds.
Before submitting
- I confirmed the problem still happens on current master
- I searched existing issues and found no duplicate
- 主要言語
- C
- スター
- 1.1k
- フォーク
- 232
- 平均マージ
- 3日 2時間
- マージ済み PR(30日)
- 15
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
IvorySQL/IvorySQL のほかの issue
-
PostgreSQL::Version rejects documented full psql version output対応中かも @feitiansiyan が 2 日前に担当しました。 オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
IvorySQL/IvorySQL#2999 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Character function regression assumes normal identifier case on default interchange clusters対応中かも @zhouxj52 が 17 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
IvorySQL/IvorySQL#2470 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
xml2 no-libxslt expected files do not match PG/Oracle input scripts対応中かも @zhouxj52 が 17 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
IvorySQL/IvorySQL#2468 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Title: Build failure in DBMS_SCHEDULER due to incorrect placement of pg_noreturn対応中かも @darshan-s-44 が 23 日前に担当しました。 オープンbug good first issue
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
Ivy input bindings with an omitted indicator pointer crash during execution対応中かも @Loyal-Young が 37 日前に担当しました。 オープン
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
IvorySQL/IvorySQL#2257 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
IvorySQL/IvorySQL の issue をすべて見る
似ている issue
-
Preserve final logical line at EOF in db2ldif_read_ldif_line()対応中かも @ccsimplyspolit が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
389ds/389-ds-base#8088 ·
メンテナーはふだん 2 日以内に返信
-
ai-driven-fuzzing bug Minor
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
linagora/open-bastion#431 ·
メンテナーはふだん 1 日以内に返信
-
JWT: malformed exp and nbf claim types bypass time validation対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
Properties side panel changes width when switching panels (MOs wider, Density Profile narrower)オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
FriendsofECCE/ECCE#843 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100