Skip to content

Commit

Permalink
Merge branch 'main' into issue_196_fk_name
Browse files Browse the repository at this point in the history
  • Loading branch information
cfhowes committed Jan 6, 2024
2 parents 7fa4ddc + 26d5ddb commit d36cb5c
Show file tree
Hide file tree
Showing 6 changed files with 549 additions and 46,182 deletions.
9 changes: 5 additions & 4 deletions CHANGELOG.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@
### Fixes
1. Include source column names in FOREIGN KEY references. Fix for: https://github.com/xnuinside/simple-ddl-parser/issues/196

**v0.31.3**
### Improvements
1. Support for KEY statement in CREATE TABLE statements. KEY statements will now create INDEX entries in the DDL parser.

**v0.31.3**
### Improvements
#### Snowflake update:
1. Added support for Snowflake Virtual Column definition in External Column `AS ()` statement - https://github.com/xnuinside/simple-ddl-parser/issues/218
2. enforce support for Snowflake _FILE_FORMAT options in External Column ddl statement - https://github.com/xnuinside/simple-ddl-parser/issues/221

#### Others
1. Support for KEY statement in CREATE TABLE statements. KEY statements will now create INDEX entries in the DDL parser.


**v0.31.2**
### Improvements
Expand Down
57 changes: 33 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -497,6 +497,15 @@ https://github.com/PBalsdon


## Changelog
**v0.31.3**
### Improvements
#### Snowflake update:
1. Added support for Snowflake Virtual Column definition in External Column `AS ()` statement - https://github.com/xnuinside/simple-ddl-parser/issues/218
2. enforce support for Snowflake _FILE_FORMAT options in External Column ddl statement - https://github.com/xnuinside/simple-ddl-parser/issues/221

#### Others
1. Support for KEY statement in CREATE TABLE statements. KEY statements will now create INDEX entries in the DDL parser.


**v0.31.2**
### Improvements
Expand All @@ -520,7 +529,7 @@ Default encoding is utf-8.
Fix for: https://github.com/xnuinside/simple-ddl-parser/issues/199

### Improvements:
1. Added `Snowflake Table DDL support of WITH MASKING POLICY column definition` - https://github.com/xnuinside/simple-ddl-parser/issues/201
1. Added `Snowflake Table DDL support of WITH MASKING POLICY column definition` - https://github.com/xnuinside/simple-ddl-parser/issues/201


### Updates:
Expand Down Expand Up @@ -555,11 +564,11 @@ Added support for ORGANIZE BY statement
### Fixes
1. AUTOINCREMENT statement now parsed validly same way as AUTO_INCREMENT and showed up in output as 'autoincrement' property of the column
Fix for: https://github.com/xnuinside/simple-ddl-parser/issues/170
2. Fix issue ' TypeError argument of type 'NoneType' is not iterable' on some foreigen keys https://github.com/xnuinside/simple-ddl-parser/issues/148
2. Fix issue ' TypeError argument of type 'NoneType' is not iterable' on some foreigen keys https://github.com/xnuinside/simple-ddl-parser/issues/148

### New Features

1. Support for non-numeric column type parameters https://github.com/xnuinside/simple-ddl-parser/issues/171
1. Support for non-numeric column type parameters https://github.com/xnuinside/simple-ddl-parser/issues/171
It shows in column attribute 'type_parameters'.


Expand All @@ -574,8 +583,8 @@ Fixes:
**v0.28.0**

Important Changes (Pay attention):
1. Because of parsing now AUTO_INCREMENT as a separate property of column previous output changed.
Previously it was parsed as a part of type like: 'INT AUTO_INCREMENT'.
1. Because of parsing now AUTO_INCREMENT as a separate property of column previous output changed.
Previously it was parsed as a part of type like: 'INT AUTO_INCREMENT'.
Now type will be only 'INT', but in column property you will see 'autoincrement': True.

Amazing innovation:
Expand Down Expand Up @@ -604,10 +613,10 @@ Fixes:
Improvements:

1. Added support for '*' in size column (ORACLE dialect) - https://github.com/xnuinside/simple-ddl-parser/issues/151
2. Added arg 'debug' to parser, works same way as 'silent' - to get more clear error output.
2. Added arg 'debug' to parser, works same way as 'silent' - to get more clear error output.

New features:
1. Added support for ORACLE 'ORGANIZATION INDEX'
1. Added support for ORACLE 'ORGANIZATION INDEX'
2. Added support for SparkSQL Partition by with procedure call - https://github.com/xnuinside/simple-ddl-parser/issues/154
3. Added support for DEFAULT CHARSET statement MySQL - https://github.com/xnuinside/simple-ddl-parser/issues/153

Expand Down Expand Up @@ -659,7 +668,7 @@ Improvements:
New features:
1. Support SparkSQL USING - https://github.com/xnuinside/simple-ddl-parser/issues/117
Updates initiated by ticket https://github.com/xnuinside/simple-ddl-parser/issues/120:
2. In Parser you can use argument json_dump=True in method .run() if you want get result in JSON format.
2. In Parser you can use argument json_dump=True in method .run() if you want get result in JSON format.
- README updated

Fixes:
Expand All @@ -678,7 +687,7 @@ Fixes:
1. Added flag to raise errors if parser cannot parse statement DDLParser(.., silent=False) - https://github.com/xnuinside/simple-ddl-parser/issues/109
2. Added flag to DDLParser(.., normalize_names=True) that change output of parser:
if flag is True (default 'False') then all identifiers will be returned without '[', '"' and other delimiters that used in different SQL dialects to separate custom names from reserved words & statements.
For example, if flag set 'True' and you pass this input:
For example, if flag set 'True' and you pass this input:

CREATE TABLE [dbo].[TO_Requests](
[Request_ID] [int] IDENTITY(1,1) NOT NULL,
Expand All @@ -695,30 +704,30 @@ In output you will have names like 'dbo' and 'TO_Requests', not '[dbo]' and '[TO
**v0.24.1**

## Fixes:
### HQL:
### HQL:
1. fields_terminated_by now parses , as "','", not as '' previously

### Common:
1. To output added 'if_not_exists' field in result to get availability 1-to-1 re-create ddl by metadata.
1. To output added 'if_not_exists' field in result to get availability 1-to-1 re-create ddl by metadata.

**v0.24.0**

## Fixes:

### HQL:
### HQL:

1. More then 2 tblproperties now are parsed correctly https://github.com/xnuinside/simple-ddl-parser/pull/104
1. More then 2 tblproperties now are parsed correctly https://github.com/xnuinside/simple-ddl-parser/pull/104


### Common:

2. 'set' in lower case now also parsed validly.
3. Now names like 'schema', 'database', 'table' can be used as names in CREATE DATABASE | SCHEMA | TABLESPACE | DOMAIN | TYPE statements and after INDEX and CONSTRAINT.
3. Now names like 'schema', 'database', 'table' can be used as names in CREATE DATABASE | SCHEMA | TABLESPACE | DOMAIN | TYPE statements and after INDEX and CONSTRAINT.
4. Creation of empty tables also parsed correctly (like CREATE Table table;).

## New Statements Support:
## New Statements Support:

### HQL:
### HQL:
1. Added support for CLUSTERED BY - https://github.com/xnuinside/simple-ddl-parser/issues/103
2. Added support for INTO ... BUCKETS
3. CREATE REMOTE DATABASE | SCHEMA
Expand All @@ -729,7 +738,7 @@ Big refactoring: less code complexity & increase code coverage. Radon added to p

### Fixes:

1. Fix for issue with ALTER UNIQUE - https://github.com/xnuinside/simple-ddl-parser/issues/101
1. Fix for issue with ALTER UNIQUE - https://github.com/xnuinside/simple-ddl-parser/issues/101

### New Features

Expand All @@ -756,8 +765,8 @@ PostgreSQL:
### Fixes:

### BigQuery:
1. CREATE TABLE statement with 'project_id' in format like project.dataset.table_name now is parsed validly.
'project' added to output.
1. CREATE TABLE statement with 'project_id' in format like project.dataset.table_name now is parsed validly.
'project' added to output.
Also added support project.dataset.name format in CREATE SCHEMA and ALTER statement


Expand Down Expand Up @@ -787,7 +796,7 @@ I started to add partial support for BigQuery

## MSSQL:

1. Added support for PRIMARY KEY CLUSTERED - full details about clusterisation are parsed now in separate key 'clustered_primary_key'.
1. Added support for PRIMARY KEY CLUSTERED - full details about clusterisation are parsed now in separate key 'clustered_primary_key'.
I don't like that but when I started I did not thought about all those details, so in version 1.0.* I will work on more beautiful and logically output structure.
https://github.com/xnuinside/simple-ddl-parser/issues/91

Expand All @@ -796,11 +805,11 @@ Pay attention: previously they parsed somehow, but in incorrect structure.
### Improvements:

1. Strings in double quotes moved as separate token from ID to fix a lot of issues with strings with spaces inside
2. Now parser can parse statements separated by new line also (without GO or ; at the end of statement) - https://github.com/xnuinside/simple-ddl-parser/issues/90
2. Now parser can parse statements separated by new line also (without GO or ; at the end of statement) - https://github.com/xnuinside/simple-ddl-parser/issues/90

### Fixes:

1. Now open strings is not valid in checks (previously the was parsed.) Open string sample 'some string (exist open quote, but there is no close quote)
1. Now open strings is not valid in checks (previously the was parsed.) Open string sample 'some string (exist open quote, but there is no close quote)
2. Order like ASC, DESK in primary keys now parsed valid (not as previously as column name)

**v0.21.2**
Expand All @@ -817,13 +826,13 @@ Fixies:

## MSSQL:

1. Added support for statements:
1. Added support for statements:
1. PERIOD FOR SYSTEM_TIME in CREATE TABLE statement
2. ON [PRIMARY] after CREATE TABLE statement (sample in test files test_mssql_specific.py)
3. WITH statement for TABLE properties
4. TEXTIMAGE_ON statement
5. DEFAULT NEXT VALUE FOR in COLUMN DEFAULT

2. Added support for separating tables DDL by 'GO' statement as in output of MSSQL
3. Added support for CREATE TYPE as TABLE

Expand Down
56 changes: 37 additions & 19 deletions docs/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -567,6 +567,24 @@ https://github.com/PBalsdon
Changelog
---------

**v0.31.3**

Improvements
^^^^^^^^^^^^

Snowflake update:
~~~~~~~~~~~~~~~~~


#. Added support for Snowflake Virtual Column definition in External Column ``AS ()`` statement - https://github.com/xnuinside/simple-ddl-parser/issues/218
#. enforce support for Snowflake _FILE_FORMAT options in External Column ddl statement - https://github.com/xnuinside/simple-ddl-parser/issues/221

Others
~~~~~~


#. Support for KEY statement in CREATE TABLE statements. KEY statements will now create INDEX entries in the DDL parser.

**v0.31.2**

Improvements
Expand Down Expand Up @@ -610,7 +628,7 @@ Improvements:
^^^^^^^^^^^^^


#. Added ``Snowflake Table DDL support of WITH MASKING POLICY column definition`` - https://github.com/xnuinside/simple-ddl-parser/issues/201
#. Added ``Snowflake Table DDL support of WITH MASKING POLICY column definition`` - https://github.com/xnuinside/simple-ddl-parser/issues/201

Updates:
^^^^^^^^
Expand Down Expand Up @@ -666,13 +684,13 @@ Fixes

#. AUTOINCREMENT statement now parsed validly same way as AUTO_INCREMENT and showed up in output as 'autoincrement' property of the column
Fix for: https://github.com/xnuinside/simple-ddl-parser/issues/170
#. Fix issue ' TypeError argument of type 'NoneType' is not iterable' on some foreigen keys https://github.com/xnuinside/simple-ddl-parser/issues/148
#. Fix issue ' TypeError argument of type 'NoneType' is not iterable' on some foreigen keys https://github.com/xnuinside/simple-ddl-parser/issues/148

New Features
^^^^^^^^^^^^


#. Support for non-numeric column type parameters https://github.com/xnuinside/simple-ddl-parser/issues/171
#. Support for non-numeric column type parameters https://github.com/xnuinside/simple-ddl-parser/issues/171
It shows in column attribute 'type_parameters'.

**v0.28.1**
Expand All @@ -691,8 +709,8 @@ Fixes:
Important Changes (Pay attention):


#. Because of parsing now AUTO_INCREMENT as a separate property of column previous output changed.
Previously it was parsed as a part of type like: 'INT AUTO_INCREMENT'.
#. Because of parsing now AUTO_INCREMENT as a separate property of column previous output changed.
Previously it was parsed as a part of type like: 'INT AUTO_INCREMENT'.
Now type will be only 'INT', but in column property you will see 'autoincrement': True.

Amazing innovation:
Expand Down Expand Up @@ -729,12 +747,12 @@ Improvements:


#. Added support for '*' in size column (ORACLE dialect) - https://github.com/xnuinside/simple-ddl-parser/issues/151
#. Added arg 'debug' to parser, works same way as 'silent' - to get more clear error output.
#. Added arg 'debug' to parser, works same way as 'silent' - to get more clear error output.

New features:


#. Added support for ORACLE 'ORGANIZATION INDEX'
#. Added support for ORACLE 'ORGANIZATION INDEX'
#. Added support for SparkSQL Partition by with procedure call - https://github.com/xnuinside/simple-ddl-parser/issues/154
#. Added support for DEFAULT CHARSET statement MySQL - https://github.com/xnuinside/simple-ddl-parser/issues/153

Expand Down Expand Up @@ -795,7 +813,7 @@ New features:

#. Support SparkSQL USING - https://github.com/xnuinside/simple-ddl-parser/issues/117
Updates initiated by ticket https://github.com/xnuinside/simple-ddl-parser/issues/120:
#. In Parser you can use argument json_dump=True in method .run() if you want get result in JSON format.
#. In Parser you can use argument json_dump=True in method .run() if you want get result in JSON format.


* README updated
Expand Down Expand Up @@ -823,7 +841,7 @@ New features:
#. Added flag to raise errors if parser cannot parse statement DDLParser(.., silent=False) - https://github.com/xnuinside/simple-ddl-parser/issues/109
#. Added flag to DDLParser(.., normalize_names=True) that change output of parser:
if flag is True (default 'False') then all identifiers will be returned without '[', '"' and other delimiters that used in different SQL dialects to separate custom names from reserved words & statements.
For example, if flag set 'True' and you pass this input:
For example, if flag set 'True' and you pass this input:

CREATE TABLE [dbo].\ `TO_Requests <[Request_ID] [int] IDENTITY(1,1>`_ NOT NULL,
[user_id] [int]
Expand Down Expand Up @@ -853,7 +871,7 @@ Common:
^^^^^^^


#. To output added 'if_not_exists' field in result to get availability 1-to-1 re-create ddl by metadata.
#. To output added 'if_not_exists' field in result to get availability 1-to-1 re-create ddl by metadata.

**v0.24.0**

Expand All @@ -864,14 +882,14 @@ HQL:
^^^^


#. More then 2 tblproperties now are parsed correctly https://github.com/xnuinside/simple-ddl-parser/pull/104
#. More then 2 tblproperties now are parsed correctly https://github.com/xnuinside/simple-ddl-parser/pull/104

Common:
^^^^^^^


#. 'set' in lower case now also parsed validly.
#. Now names like 'schema', 'database', 'table' can be used as names in CREATE DATABASE | SCHEMA | TABLESPACE | DOMAIN | TYPE statements and after INDEX and CONSTRAINT.
#. Now names like 'schema', 'database', 'table' can be used as names in CREATE DATABASE | SCHEMA | TABLESPACE | DOMAIN | TYPE statements and after INDEX and CONSTRAINT.
#. Creation of empty tables also parsed correctly (like CREATE Table table;).

New Statements Support:
Expand All @@ -893,7 +911,7 @@ Fixes:
^^^^^^


#. Fix for issue with ALTER UNIQUE - https://github.com/xnuinside/simple-ddl-parser/issues/101
#. Fix for issue with ALTER UNIQUE - https://github.com/xnuinside/simple-ddl-parser/issues/101

New Features
^^^^^^^^^^^^
Expand Down Expand Up @@ -935,8 +953,8 @@ BigQuery:
^^^^^^^^^


#. CREATE TABLE statement with 'project_id' in format like project.dataset.table_name now is parsed validly.
'project' added to output.
#. CREATE TABLE statement with 'project_id' in format like project.dataset.table_name now is parsed validly.
'project' added to output.
Also added support project.dataset.name format in CREATE SCHEMA and ALTER statement

**v0.22.2**
Expand Down Expand Up @@ -981,7 +999,7 @@ MSSQL:
------


#. Added support for PRIMARY KEY CLUSTERED - full details about clusterisation are parsed now in separate key 'clustered_primary_key'.
#. Added support for PRIMARY KEY CLUSTERED - full details about clusterisation are parsed now in separate key 'clustered_primary_key'.
I don't like that but when I started I did not thought about all those details, so in version 1.0.* I will work on more beautiful and logically output structure.
https://github.com/xnuinside/simple-ddl-parser/issues/91

Expand All @@ -992,13 +1010,13 @@ Improvements:


#. Strings in double quotes moved as separate token from ID to fix a lot of issues with strings with spaces inside
#. Now parser can parse statements separated by new line also (without GO or ; at the end of statement) - https://github.com/xnuinside/simple-ddl-parser/issues/90
#. Now parser can parse statements separated by new line also (without GO or ; at the end of statement) - https://github.com/xnuinside/simple-ddl-parser/issues/90

Fixes:
^^^^^^


#. Now open strings is not valid in checks (previously the was parsed.) Open string sample 'some string (exist open quote, but there is no close quote)
#. Now open strings is not valid in checks (previously the was parsed.) Open string sample 'some string (exist open quote, but there is no close quote)
#. Order like ASC, DESK in primary keys now parsed valid (not as previously as column name)

**v0.21.2**
Expand All @@ -1022,7 +1040,7 @@ New Features:
## MSSQL:
1. Added support for statements:
1. Added support for statements:
1. PERIOD FOR SYSTEM_TIME in CREATE TABLE statement
2. ON [PRIMARY] after CREATE TABLE statement (sample in test files test_mssql_specific.py)
3. WITH statement for TABLE properties
Expand Down
Loading

0 comments on commit d36cb5c

Please sign in to comment.