GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — [BUG] SQLite: INSERT OR IGNORE / ABORT / FAIL / ROLLBACK and UPDATE OR ... do not parse · Issue #2852 · JSQLParser/JSqlParser

[BUG] SQLite: INSERT OR IGNORE / ABORT / FAIL / ROLLBACK and UPDATE OR ... do not parse #2852

New issue
Copy link
New issue
Copy link
Open
Open
[BUG] SQLite: INSERT OR IGNORE / ABORT / FAIL / ROLLBACK and UPDATE OR ... do not parse#2852
Copy link

Description

@ItsDeadlyProgrammer
ItsDeadlyProgrammer
opened on Oct 23, 2026
Issue body actions

SQLite accepts a conflict resolution algorithm after INSERT OR and UPDATE OR: ABORT, FAIL, IGNORE, REPLACE and ROLLBACK (lang_insert, lang_update, lang_conflict). Only INSERT OR REPLACE parses.

JSqlParser: current master (90ac3a7).

Statement Result
INSERT OR REPLACE INTO t VALUES (1) parses
INSERT OR IGNORE INTO t VALUES (1) Encountered: <K_INSERT> / "INSERT"
INSERT OR ABORT INTO t VALUES (1) same
INSERT OR FAIL INTO t VALUES (1) same
INSERT OR ROLLBACK INTO t VALUES (1) same
UPDATE OR IGNORE t SET a = 1 Encountered: <K_UPDATE> / "UPDATE"
UPDATE OR REPLACE t SET a = 1 same

INSERT OR IGNORE is the usual SQLite form of "insert if it does not exist yet", so it is common in application code. The grammar handles only <K_INSERT> <K_OR> <K_REPLACE> as an Upsert (UpsertType.INSERT_OR_REPLACE).

Related in the same dialect: CREATE TABLE t (a INT) WITHOUT ROWID fails with Expected OIDS but found ROWID, and ... STRICT fails with Encountered: <K_STRICT>.

Activity

  1. ItsDeadlyProgrammer
    added 3 commits that reference this issue on Oct 23, 2026

    feat: parse INSERT OR ABORT, FAIL, IGNORE and ROLLBACK (SQLite)

    b57a924

    feat: parse INSERT OR ABORT, FAIL, IGNORE and ROLLBACK (SQLite)

    25fd3dd

    feat: parse INSERT OR ABORT, FAIL, IGNORE and ROLLBACK (SQLite)

    93c0f32
  2. manticore-projects
    added a commit that references this issue on Oct 26, 2026

    feat: parse INSERT OR ABORT, FAIL, IGNORE and ROLLBACK (SQLite) (#2853)

    9663289
  3. DylanMerigaud
    added a commit that references this issue on Nov 1, 2026

    feat: parse UPDATE OR conflict algorithms in the SQLite dialect

    e60aeb9
  4. manticore-projects
    added a commit that references this issue on Nov 9, 2026

    feat: parse UPDATE OR conflict algorithms in the SQLite dialect (#2885)

    e27929f
  5. chinmayajha
    added a commit that references this issue on Nov 9, 2026

    feat: parse SQLite WITHOUT ROWID and STRICT table options

    72284c7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.