44
55namespace Keboola \Db \ImportExport \Storage \Snowflake ;
66
7+ use Generator ;
78use Keboola \Db \ImportExport \Backend \ImportState ;
89use Keboola \Db \ImportExport \ImportOptions ;
9- use Keboola \Db \ImportExport \Backend \Snowflake \Helper \QuoteHelper ;
1010use Keboola \Db \ImportExport \Backend \Snowflake \SnowflakeImportAdapterInterface ;
1111use Keboola \Db \ImportExport \Storage \DestinationInterface ;
1212use Keboola \Db \ImportExport \Storage \SourceInterface ;
@@ -32,14 +32,14 @@ public function __construct(SourceInterface $source)
3232 * @param Table $destination
3333 */
3434 public function executeCopyCommands (
35- array $ commands ,
35+ Generator $ commands ,
3636 Connection $ connection ,
3737 DestinationInterface $ destination ,
3838 ImportOptions $ importOptions ,
3939 ImportState $ importState
4040 ): int {
4141 $ importState ->startTimer ('copyToStaging ' );
42- $ connection ->query ($ commands[ 0 ] );
42+ $ connection ->query ($ commands-> current () );
4343 $ rows = $ connection ->fetchAll (sprintf (
4444 'SELECT COUNT(*) AS "count" FROM %s.%s ' ,
4545 QueryBuilder::quoteIdentifier ($ destination ->getSchema ()),
@@ -56,7 +56,7 @@ public function getCopyCommands(
5656 DestinationInterface $ destination ,
5757 ImportOptions $ importOptions ,
5858 string $ stagingTableName
59- ): array {
59+ ): Generator {
6060 $ quotedColumns = array_map (function ($ column ) {
6161 return QueryBuilder::quoteIdentifier ($ column );
6262 }, $ importOptions ->getColumns ());
@@ -75,6 +75,6 @@ public function getCopyCommands(
7575 QueryBuilder::quoteIdentifier ($ this ->source ->getTableName ()),
7676 );
7777
78- return [ $ sql] ;
78+ yield $ sql ;
7979 }
8080}
0 commit comments