darold / darold/ora2pg

GENERATED ... AS IDENTITY (options) wrapped in an extra pair of parentheses, fails to load in PostgreSQL

Open
#1,978 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Perl
Stars
1.2k
Forks
378
PR merge metrics
No merged PRs in 30d

Description

ora2pg version: 25.0

When converting an Oracle IDENTITY column with explicit sequence options, the generated PostgreSQL DDL wraps the options clause in an extra, redundant pair of parentheses. The result fails to load.

Oracle source:

CREATE TABLE customers (
    customer_id NUMBER GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1),
    name        VARCHAR2(100)
);

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the conversion with the Oracle IDENTITY definition shown in the issue and inspect the generated PostgreSQL DDL. Locate the conversion logic that formats explicit identity sequence options; done means the generated statement has no redundant parentheses and loads successfully in PostgreSQL.

Written by the indexing model from the issue text.

Assessment

Tech stack
perl, postgresql
Domain
databases
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.