@@ -352,6 +352,9 @@ class Snowflake(edw_service.EdwService):
352352 INDIVIDUAL_QUERY_STATS_TEMPLATE = (
353353 'edw/snowflake_aws/metadata/individual_query_stats.sql.j2'
354354 )
355+ INJECT_TOKEN_INTO_TABLE = (
356+ f'{ SEARCH_QUERY_TEMPLATE_LOCATION } /inject_token_into_table.sql.j2'
357+ )
355358
356359 CLOUD : str = None
357360 SERVICE_TYPE = None
@@ -655,11 +658,13 @@ def TextSearchQuery(
655658 limit : int | None = None ,
656659 date_between : tuple [datetime .date , datetime .date ] | None = None ,
657660 ) -> tuple [float , dict [str , Any ]]:
658- # TODO(user): Add support for order_by, limit and date_between args.
659661 query_name = 'text_search_query'
660662 context = {
661663 'table_name' : table_path ,
662664 'search_text' : search_keyword ,
665+ 'order_by' : order_by ,
666+ 'limit' : limit ,
667+ 'date_between' : date_between ,
663668 }
664669 self .client_interface .client_vm .RenderTemplate (
665670 data .ResourcePath (self .INDEX_SEARCH_QUERY_TEMPLATE ),
@@ -670,11 +675,28 @@ def TextSearchQuery(
670675 res , meta = self .client_interface .ExecuteQuery (
671676 query_name , print_results = True
672677 )
673- meta ['edw_search_result_rows' ] = int (
674- meta ['query_results' ][ 'RESULT_ROWS' ][ 0 ]
678+ meta ['edw_search_result_rows' ] = len (
679+ meta ['query_results' ]. get ( 'EVENT_TIMESTAMP' , [])
675680 )
676681 return res , meta
677682
683+ def InjectTokenIntoTable (
684+ self , table_path : str , token : str , token_count : int
685+ ) -> tuple [float , dict [str , Any ]]:
686+ query_name = 'inject_token_into_table'
687+ context = {
688+ 'table_name' : table_path ,
689+ 'token' : token ,
690+ 'token_count' : token_count ,
691+ }
692+ self .client_interface .client_vm .RenderTemplate (
693+ data .ResourcePath (self .INJECT_TOKEN_INTO_TABLE ),
694+ query_name ,
695+ context ,
696+ should_log_file = True ,
697+ )
698+ return self .client_interface .ExecuteQuery (query_name , print_results = True )
699+
678700 def SetWarehouse (self , warehouse : str ):
679701 """Switches Snowflake Warehouse."""
680702 assert isinstance (
0 commit comments