From f2969ad9b19a2516ad106ad66e4e6c12fcf15c57 Mon Sep 17 00:00:00 2001 From: Nathan <148575555+nathan-artie@users.noreply.github.com> Date: Tue, 18 Jun 2024 17:11:01 -0700 Subject: [PATCH] [mssql] Reuse columns from `ValidColumns` --- clients/mssql/staging.go | 10 ++++------ clients/snowflake/staging.go | 2 ++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/clients/mssql/staging.go b/clients/mssql/staging.go index a9b39715..b7093bd8 100644 --- a/clients/mssql/staging.go +++ b/clients/mssql/staging.go @@ -42,9 +42,8 @@ func (s *Store) PrepareTemporaryTable(tableData *optimization.TableData, tableCo } }() - // TODO: Refactor the loop below to use the columns from [ValidColumns] - columns := columns.ColumnNames(tableData.ReadOnlyInMemoryCols().ValidColumns()) - stmt, err := tx.Prepare(mssql.CopyIn(tempTableID.FullyQualifiedName(), mssql.BulkOptions{}, columns...)) + cols := tableData.ReadOnlyInMemoryCols().ValidColumns() + stmt, err := tx.Prepare(mssql.CopyIn(tempTableID.FullyQualifiedName(), mssql.BulkOptions{}, columns.ColumnNames(cols)...)) if err != nil { return fmt.Errorf("failed to prepare bulk insert: %w", err) } @@ -54,9 +53,8 @@ func (s *Store) PrepareTemporaryTable(tableData *optimization.TableData, tableCo additionalDateFmts := s.config.SharedTransferConfig.TypingSettings.AdditionalDateFormats for _, value := range tableData.Rows() { var row []any - for _, col := range columns { - colKind, _ := tableData.ReadOnlyInMemoryCols().GetColumn(col) - castedValue, castErr := parseValue(value[col], colKind, additionalDateFmts) + for _, col := range cols { + castedValue, castErr := parseValue(value[col.Name()], col, additionalDateFmts) if castErr != nil { return castErr } diff --git a/clients/snowflake/staging.go b/clients/snowflake/staging.go index c6ad7d80..7d5c13ab 100644 --- a/clients/snowflake/staging.go +++ b/clients/snowflake/staging.go @@ -106,6 +106,8 @@ func (s *Store) PrepareTemporaryTable(tableData *optimization.TableData, tableCo return fmt.Errorf("failed to run copy into temporary table: %w", err) } + slog.Error("pretend error", "value", copyCommand) + return nil }