Skip to content

Formatter doesn't recognize Hive CREATE TABLE modifiers #797

Open

Description

@melin

Input data

Which SQL and options did you provide as input?

CREATE TABLE k8s_demos.dd_dd_dd 
(id string COMMENT 'd', name string COMMENT 'name') 
using paimon COMMENT '122' TBLPROPERTIES (
  'compression' = 'ZSTD',
  'bizOwner' = 'huaixin',
  'dataLevel' = 'P3',
  'dwClassification' = '',
  'subject1' = '',
  'subject2' = '',
  'primary-key' = 'id'
) lifeCycle 122;

Expected Output

CREATE TABLE k8s_demos.dd_dd_dd (
  id string COMMENT 'd', 
  name string COMMENT 'name'
) 
using paimon 
COMMENT '122' 
TBLPROPERTIES (
  'compression' = 'ZSTD',
  'primary-key' = 'id'
) lifeCycle 122;

Actual Output

CREATE TABLE k8s_demos.dd_dd_dd (id string COMMENT 'd', name string COMMENT 'name') using paimon COMMENT '122' TBLPROPERTIES (
  'compression' = 'ZSTD',
  'bizOwner' = 'huaixin',
  'dataLevel' = 'P3',
  'dwClassification' = '',
  'subject1' = '',
  'subject2' = '',
  'primary-key' = 'id'
) lifeCycle 122;

Usage

  • How are you calling / using the library?
  • What SQL language(s) does this apply to?
  • Which SQL Formatter version are you using?

Activity

  1. nene commented on Nov 6, 2024

    @nene
    Collaborator

    Thanks for reporting. There are a few different problems here.

    One is that the expression inside the first pair of parenthesis (the columns list) is pretty short, so it gets formatted on a single line. Though if one would just increase it by one character, it would get formatted as:

    CREATE TABLE k8s_demos.dd_dd_dd (
      id string COMMENT 'id',
      name string COMMENT 'name'
    ) using paimon COMMENT '122' TBLPROPERTIES (
      'compression' = 'ZSTD',
      'bizOwner' = 'huaixin',
      'dataLevel' = 'P3',
      'dwClassification' = '',
      'subject1' = '',
      'subject2' = '',
      'primary-key' = 'id'
    ) lifeCycle 122;

    The second is that the formatter doesn't recognize USING, COMMENT and TBLPROPERTIES as entities to be formatted on separate lines. With USING and TBLPROPERTIES that should be easily achievable. However, with COMMENT it's tricky as the formatter won't be able to distinguish between column comment and table comment. So if one is to be formatted on a separate line, all of them would be, which is probably not what you want.

  2. changed the title [-][FORMATTING] Hive create table sql[/-] [+]Formatter doesn't recognize Hive CREATE TABLE modifiers[/+] on Nov 6, 2024
  3. melin commented on Nov 6, 2024

    @melin
    Author

    The solution possible?
    Judge in ‘create table (...)’ comment in parentheses does not need to add a new line, other comment add a new line.

  4. nene commented on Nov 6, 2024

    @nene
    Collaborator

    Sorry, but I don't quite understand what you are trying to say.

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions