memsql / dbt-singlestore

Apache License 2.0
7 stars 8 forks source link

Error for incremental materialization #19

Closed m19peters closed 1 year ago

m19peters commented 1 year ago

When running an incremental materialization defined as below we are seeing the following error...

14:53:53 (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'using testdb.test__dbt_tmp\n where (\n \n ' at line 6")

model is...

**{{ config(materialized='incremental' , primary_key=['id'] , unique_key=['id'] , shard_key=['id'] )}}

select from ( select 'a' id union select 'b' id union select 'c' id ) x {% if is_incremental() %} -- this filter will only be applied on an incremental run where not exists (select from {{ this }} x where x.id = id) {% endif %}**

executing sql is....

**delete from testdb.test using testdb.test__dbt_tmp where (

                `testdb`.`test__dbt_tmp`.id = `testdb`.`test`.id

        );

insert into testdb.test (id) ( select id from testdb.test__dbt_tmp )**

Version of things is... I could not get 1.1.2 singlestore to work with 1.4.1 so am running 1.1.0 core. Python version 3.9.16

Core:

Plugins:

okramarenko commented 1 year ago

Hey @m19peters!

We wanted to reach out and say a big thank you for flagging the issue you came across in our adapter.

Good news! We've fixed the problem you encountered.

If you have any more questions or need further assistance, don't hesitate to reach out.

Take care and have a fantastic day!

When running an incremental materialization defined as below we are seeing the following error...

14:53:53 (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'using testdb.test__dbt_tmp\n where (\n \n ' at line 6")

model is...

**{{ config(materialized='incremental' , primary_key=['id'] , unique_key=['id'] , shard_key=['id'] )}}

select from ( select 'a' id union select 'b' id union select 'c' id ) x {% if is_incremental() %} -- this filter will only be applied on an incremental run where not exists (select from {{ this }} x where x.id = id) {% endif %}**

executing sql is....

**delete from testdb.test using testdb.test__dbt_tmp where (

                `testdb`.`test__dbt_tmp`.id = `testdb`.`test`.id

        );

insert into testdb.test (id) ( select id from testdb.test__dbt_tmp )**

Version of things is... I could not get 1.1.2 singlestore to work with 1.4.1 so am running 1.1.0 core. Python version 3.9.16

Core:

  • installed: 1.1.0
  • latest: 1.4.1 - Update available!

Your version of dbt-core is out of date! You can find instructions for upgrading here: https://docs.getdbt.com/docs/installation

Plugins:

  • singlestore: 1.1.2 - Up to date!