diff --git a/pkg/resources/external_table.go b/pkg/resources/external_table.go index e95570e93a..afc599ca71 100644 --- a/pkg/resources/external_table.go +++ b/pkg/resources/external_table.go @@ -212,8 +212,8 @@ func CreateExternalTable(data *schema.ResourceData, meta interface{}) error { // Set optionals if v, ok := data.GetOk("partition_by"); ok { - partiionBys := expandStringList(v.(*schema.Set).List()) - builder.WithPartitionBys(partiionBys) + partitionBys := expandStringList(v.([]interface{})) + builder.WithPartitionBys(partitionBys) } if v, ok := data.GetOk("pattern"); ok { diff --git a/pkg/snowflake/external_table.go b/pkg/snowflake/external_table.go index 57723c174c..502d8f21e7 100644 --- a/pkg/snowflake/external_table.go +++ b/pkg/snowflake/external_table.go @@ -118,9 +118,10 @@ func (tb *ExternalTableBuilder) Create() string { q.WriteString(strings.Join(columnDefinitions, ", ")) q.WriteString(fmt.Sprintf(`)`)) - if len(tb.partitionBys) > 1 { - q.WriteString(` PARTIION BY `) + if len(tb.partitionBys) > 0 { + q.WriteString(` PARTITION BY ( `) q.WriteString(EscapeString(strings.Join(tb.partitionBys, ", "))) + q.WriteString(` )`) } q.WriteString(` WITH LOCATION = ` + EscapeString(tb.location))