From 8fd7b4eb8fe19cf4323f97556431ede90f95ad65 Mon Sep 17 00:00:00 2001 From: p-eye Date: Thu, 25 Jul 2024 19:04:06 +0900 Subject: [PATCH] fix: timezone setting for TIME type --- .../output/bigquery/value_converter_factory.rb | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/embulk/output/bigquery/value_converter_factory.rb b/lib/embulk/output/bigquery/value_converter_factory.rb index 0e575b2..89fb6e5 100644 --- a/lib/embulk/output/bigquery/value_converter_factory.rb +++ b/lib/embulk/output/bigquery/value_converter_factory.rb @@ -225,12 +225,19 @@ def string_converter } end when 'TIME' - Proc.new {|val| - next nil if val.nil? - with_typecast_error(val) do |val| + if @timestamp_format + Proc.new {|val| + next nil if val.nil? + with_typecast_error(val) do |val| + Time.strptime(val, @timestamp_format).strftime("%H:%M:%S.%6N") + end + } + else + Proc.new {|val| + next nil if val.nil? Time.parse(val).strftime("%H:%M:%S.%6N") - end - } + } + end when 'RECORD' Proc.new {|val| next nil if val.nil?