Skip to content

Upper case "CREATE" in column name ends table parse #94

@n2ygk

Description

@n2ygk

Describe the bug
It looks like you are seeing CREATE and breaking the table DDL parse...

To Reproduce

t1.sql:

DROP TABLE IF EXISTS demo;
--
CREATE TABLE demo
(
     foo                             char(1),
     create_date                     DATETIME2,
     created_BY                      VARCHAR (20)
)
--

t2.sql:

DROP TABLE IF EXISTS demo;
--
CREATE TABLE demo
(
     foo                             char(1),
     CREATE_date                     DATETIME2,
     created_by                      VARCHAR (20),
)
--
sdp -v t1.sql
$ sdp -v t1.sql
Start parsing file t1.sql 

File with result was saved to >> schemas folder
[{'alter': {},
  'checks': [],
  'columns': [{'check': None,
               'default': None,
               'name': 'foo',
               'nullable': True,
               'references': None,
               'size': 1,
               'type': 'char',
               'unique': False},
              {'check': None,
               'default': None,
               'name': 'create_date',
               'nullable': True,
               'references': None,
               'size': None,
               'type': 'DATETIME2',
               'unique': False},
              {'check': None,
               'default': None,
               'name': 'created_BY',
               'nullable': True,
               'references': None,
               'size': 20,
               'type': 'VARCHAR',
               'unique': False}],
  'index': [],
  'partitioned_by': [],
  'primary_key': [],
  'schema': None,
  'table_name': 'demo',
  'tablespace': None}]

vs:

$ sdp -v t2.sql
Start parsing file t2.sql 

File with result was saved to >> schemas folder
[{'alter': {},
  'checks': [],
  'columns': [{'check': None,
               'default': None,
               'name': 'foo',
               'nullable': True,
               'references': None,
               'size': 1,
               'type': 'char',
               'unique': False}],
  'index': [],
  'partitioned_by': [],
  'primary_key': [],
  'schema': None,
  'table_name': 'demo',
  'tablespace': None}]

Expected behavior
A capitalized substring field name that is CREATE shouldn't break the parser.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions