Skip to content

[FORMATTING] Formatting SQLITE with identifierCase: "preserve" converts "result" to "RESULT" while it's an identifier. #795

@Auios

Description

@Auios

Input data

Which SQL and options did you provide as input?

const config: FormatOptionsWithLanguage = {
  tabWidth: 2,
  useTabs: false,
  keywordCase: "upper",
  identifierCase: "preserve",
  dataTypeCase: "upper",
  functionCase: "upper",
  indentStyle: "standard",
  logicalOperatorNewline: "before",
  // expressionWidth: number,
  linesBetweenQueries: 1,
  denseOperators: false,
  newlineBeforeSemicolon: false,
  // params?: ParamItems | string[],
  // paramTypes?: ParamTypes,
};

Expected Output

CREATE TABLE steamLoginLogs (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    createdAt DATETIME DEFAULT CURRENT_TIMESTAMP,
    ipAddress TEXT DEFAULT NULL,
    clientId TEXT DEFAULT NULL,
    actualId TEXT DEFAULT NULL,
    fbid INTEGER DEFAULT NULL,
    username TEXT DEFAULT NULL,
    publisherBanned BOOLEAN DEFAULT NULL,
    vacbanned BOOLEAN DEFAULT NULL,
    result TEXT CHECK(result IN ('ERROR', 'FAIL', 'NEW', 'SUCCESS'))
);

Actual Output

CREATE TABLE steamLoginLogs (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  createdAt DATETIME DEFAULT CURRENT_TIMESTAMP,
  ipAddress TEXT DEFAULT NULL,
  clientId TEXT DEFAULT NULL,
  actualId TEXT DEFAULT NULL,
  fbid INTEGER DEFAULT NULL,
  username TEXT DEFAULT NULL,
  publisherBanned BOOLEAN DEFAULT NULL,
  vacbanned BOOLEAN DEFAULT NULL,
  RESULT TEXT CHECK (RESULT IN ('ERROR', 'FAIL', 'NEW', 'SUCCESS'))
);

Usage

  • How are you calling / using the library?
    npx tsc format_sql.ts

  • What SQL language(s) does this apply to?
    SQLite

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