Skip to content

Conversation

@rsanchez-xtillion
Copy link
Contributor

@rsanchez-xtillion rsanchez-xtillion commented Jan 10, 2026

Added support to parse optional IN/OUT keywords in stored procedure parameter declaration for Oracle. Example:

CREATE OR REPLACE PROCEDURE test_proc (
    a NUMBER,
    b IN NUMBER,
    c IN OUT NUMBER,
    d OUT NUMBER
) AS
BEGIN
    c := c + a + b;
    d := 42 + c;
END;

https://docs.oracle.com/en/database/other-databases/timesten/22.1/plsql-developer/examples-using-input-and-output-parameters-and-bind-variables.html#GUID-4B20426E-F93F-4835-88CB-6A79829A8D7F

Changes:

  • Implemented _parse_column_def method in Oracle
  • Added input property in the ColumnDef class

@rsanchez-xtillion rsanchez-xtillion marked this pull request as ready for review January 10, 2026 22:14
@rsanchez-xtillion rsanchez-xtillion changed the title Added support for Oracle IN/OUT in stored procedure parameters feat(Oracle): Added support for IN/OUT keywords in stored procedure parameters Jan 10, 2026
@rsanchez-xtillion rsanchez-xtillion changed the title feat(Oracle): Added support for IN/OUT keywords in stored procedure parameters feat(oracle): Added support for IN/OUT keywords in stored procedure parameters Jan 10, 2026
Copy link
Collaborator

@georgesittas georgesittas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @rsanchez-xtillion, thanks for taking a stab at this, but I'm not sure this is the right way to address this feature gap.

We generally handle these as ColumnConstraints. Have you tried introducing a constraint parser or something to avoid overriding and copying logic in Oracle?

@rsanchez-xtillion
Copy link
Contributor Author

Hey @georgesittas, I have not tried that approach but it makes more sense, I'll try doing it that way and push the changes when I'm ready

@rsanchez-xtillion rsanchez-xtillion force-pushed the oracle-in-out-proc-params branch from 954f719 to fb916a7 Compare January 12, 2026 17:06
Copy link
Collaborator

@georgesittas georgesittas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @rsanchez-xtillion, looks better. A few more comments.

Copy link
Collaborator

@georgesittas georgesittas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the contribution!

@georgesittas georgesittas merged commit 32ef521 into tobymao:main Jan 13, 2026
9 checks passed
georgesittas pushed a commit that referenced this pull request Jan 13, 2026
…arameters (#6710)

* Added support for Oracle IN/OUT in proc params

* Made test more exhaustive

* removed parse_column_def override in oracle and added column constraint parser instead

* removed unused input arg from columndef expression

* replaced replace(None) with pop()

* fixed linter and formatting errors

* save boolean as presence of IN/OUT keyword instead of keyword text
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants