taozhi8833998 / taozhi8833998/node-sql-parser

[Postgres]: Structure of `orderby` AST does not match MySQL

Open
#1,943 5 comments 0 reactions 1 assignee View on GitHub

@taozhi8833998 is already working on this.

Since Jun 7, 2024.

enhancement
Dominant language
PEG.js
Stars
1k
Forks
244
PR merge metrics
No merged PRs in 30d

Description

Sorry for all the issues - having some trouble migrating to v5 as a lot of our Postgres tests are failing.

Parsing this query for MySQL and Postgres gives a different results structure. These were equivalent pre-v5 and both looked like the MySQL structure. This would be improved if the OrderBy type was not any:

SELECT col1 FROM tablename WHERE col1 = 'value' ORDER BY col2 DESC

MySQL:

{
   "orderby": [
        {
          "expr": {
            "type": "column_ref",
            "table": null,
            "column": "col2"
          },
          "type": "DESC"
        }
      ],
}

Postgres:

{
   "orderby": [
        {
          "expr": {
            "type": "column_ref",
            "table": null,
            "column": {
              "expr": {
                "type": "default",
                "value": "col2"
              }
            }
          },
          "type": "DESC",
          "nulls": null
        }
      ],
}

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.