Skip to content

Releases: xnuinside/simple-ddl-parser

1.5.0 fix uniques in case of indexes / unique case for several columns

18 May 21:33
Compare
Choose a tag to compare

Fixes

  1. Now, unique set up to column only if it was only one column in unique constraint/index. Issue - #255
  2. Fixed issue when UNIQUE KEY was identified as primary key - #253

v1.4.0 ⭕ Oracle new output keywords - is_global & temp

14 May 20:27
Compare
Choose a tag to compare

Fixes

🔍 BigQuery:

  1. Indexes without schema causes issues in BigQuery dialect - fixed.

Improvements

⭕ Oracle:

  1. Added new output keywords in table definition - temp & is_global. Added support for create global temporary table - #182

1.3.0 🐘 PostgreSQL WITH TIME ZONE & 🔍 BigQuery PARTITION BY Improvements

11 May 16:55
Compare
Choose a tag to compare

Fixes

🐘 PostgreSQL:

  1. Timezone was moved out from type definition to keyword 'with_time_zone' it can be True (if with time zone) or False (if without)

🔍 BigQuery:

  1. Previously Range in RANGE_BUCKETS was parsed as a columns, now this behaviour is changed and
    range placed in own keyword - 'range' (can be array or str).
    Also for all ``*_TRUNC PARTITIONS` like DATETIME_TRUNC, TIMESTAMP_TRUNC, etc, second argument moved to arg 'trunc_by'

Improvements

🐘 PostgreSQL:

  1. Added support for PostgreSQL with / without time zone - #250

🔍 BigQuery:

  1. Added support for GENERATE_ARRAY in RANGE_BUCKETS #183

1.2.1 MySQL 🐬 & ⭕ Oracle & 🐘 PostgreSQL updates

09 May 12:55
ade1dd0
Compare
Choose a tag to compare

Fixes

🐬 MySQL:

  1. Fixed issue relative to auto_increment that caused empty output if auto_increment defined in table properties -
    #206

Improvements

🐬 MySQL:

  1. auto_increment added as property to mysql output

⭕ Oracle:

  1. Added support for constraint name in column definition - #203
  2. Added support for GENERATED (ALWAYS | (BY DEFAULT [ON NULL])) AS IDENTITY in column definition

🐘 PostgreSQL:

  1. Added support for CAST statement in column GENERATE ALWAYS expression - #198

v1.1.0: 🐬 & ❄ Improvements

21 Apr 18:25
Compare
Choose a tag to compare

Improvements

🐬 MySQL:

  1. Added support for INDEX statement inside table definition
  2. Added support for MySQL INVISIBLE/VISIBLE statement - #243

❄ Snowflake:

  1. Added support for cluster by statement before columns definition - #234

1.0.4 Few Fixes & New statements release

25 Mar 20:50
Compare
Choose a tag to compare

🐈

Improvements

  1. Support functions with schema prefix in DEFAULT and CHECK statements. #240

Fixes

  1. Fix for REFERENCES NOT NULL - #239
  2. Fix for snowflake stage name location format bug fix - #241

v1.0.3 Fixed bug with `CREATE OR REPLACE SCHEMA` & some more

20 Jan 15:30
Compare
Choose a tag to compare

v1.0.3

Improvements

  1. Fixed bug with CREATE OR REPLACE SCHEMA.
  2. Added support of create empty tables without columns CREATE TABLE tablename (); (valid syntax in SQL)

Snowflake

  1. Fixed bug with snowflake stage_ fileformat option value equal a single string as FIELD_OPTIONALLY_ENCLOSED_BY = '\"', FIELD_DELIMITER = '|'
  2. improve snowflake fileformat key equals value into dict. type.

v1.0.2 Snowflake, MySQL, and other small improvements release

14 Jan 14:20
Compare
Choose a tag to compare

Improvements

  1. Fixed bug with places first table property value in 'authorization' key. Now it is used real property name.
  2. Fixed typo on Databricks dialect
  3. improved equals symbols support within COMMENT statement.
  4. turn regexp into functions

MySQL Improvements

  1. UNSIGNED property after int parsed validly now

Snowflake

  1. Snowflake TAG now available on SCHEMA definitions.

v1.0.1 `normalize_names=True` improvements

11 Jan 06:00
Compare
Choose a tag to compare

v1.0.1

Minor Fixes

  1. When using normalize_names=True do not remove [] from types like decimal(21)[].
  2. When using normalize_names=True ensure that "complex"."type" style names convert to complex.type.

1.0.0 Major release with output updates

09 Jan 10:04
41757cb
Compare
Choose a tag to compare

v1.0.0
In output structure was done important changes that can in theory breaks code.

Important changes

  1. Important change:

all custom table properties that are defined after column definition in 'CREATE TABLE' statement and relative to only one dialect (only for SparkSQL, or HQL,etc), for example, like here:
https://github.com/xnuinside/simple-ddl-parser/blob/main/tests/dialects/test_snowflake.py#L767 or https://github.com/xnuinside/simple-ddl-parser/blob/main/tests/dialects/test_spark_sql.py#L133 will be saved now in property table_properties as dict.
Previously they was placed on same level of table output as columns, alter, etc. Now, they grouped and moved to key table_properties.

  1. Formatting parser result now represented by 2 classes - Output & TableData, that makes it more strict and readable.

And more.

Full Changelog of version 1.0.0: https://github.com/xnuinside/simple-ddl-parser/blob/main/CHANGELOG.txt#L1