#ruby #odbc #snowflake-cloud-data-platform #sequel
#ruby #odbc #snowflake-cloud-data-platform #продолжение
Вопрос:
Есть ли способ переопределить multi_insert_sql_strategy
то, что указано при использовании таких методов, как multi_insert
? Я использую адаптер ODBC, который возвращается в :separate
качестве стратегии. База данных, к которой я подключаюсь (Snowflake), поддерживает несколько строк в VALUES
предложении, и поэтому я хотел бы использовать :values
ее в качестве стратегии. Я не нашел, что это вариант, который я могу передать.
Стратегия по умолчанию: https://github.com/jeremyevans/sequel/blob/9202d780b92626646c9faeff90a7f7b9d7b6c10d/lib/sequel/dataset/sql.rb#L1340
multi_insert
код: https://github.com/jeremyevans/sequel/blob/ff5d77cb60a61b41d3eb500344f287f0b9fbdb97/lib/sequel/dataset/actions.rb#L484
Доступные опции, для import
которых используется multi_insert
: https://www.rubydoc.info/github/jeremyevans/sequel/Sequel/Dataset:import
Ответ №1:
Да, вы можете переопределить стратегию:
DB.extend_datasets do
def multi_insert_sql_strategy; :values; end
end
В общем, вы можете рассмотреть возможность работы над адаптером Sequel для Snowflake, поскольку предполагается, что об этом позаботится адаптер.