-
Notifications
You must be signed in to change notification settings - Fork 58
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Create a pattern for drilling down to a single "show objects like" row (
#748) * SNOW-1011766: Factoring out shared logic of getting a row from SHOW ... LIKE ... based on object name from NativeAppManager and ImageRepositoryManager to a mixin. * Adding identifier_to_show_like_pattern * move show_specific_object to SqlExecutionMixin * add test and remove TODO * CR review * using show_specific_object in image_repository.manager.get_repository_url (#755) --------- Co-authored-by: David Wang <d.wang@snowflake.com>
- Loading branch information
1 parent
4c59ac3
commit 00414d5
Showing
11 changed files
with
164 additions
and
160 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
from typing import Callable, List, Optional | ||
|
||
from snowflake.connector.cursor import DictCursor | ||
|
||
|
||
def _rows_generator(cursor: DictCursor, predicate: Callable[[dict], bool]): | ||
return (row for row in cursor.fetchall() if predicate(row)) | ||
|
||
|
||
def find_all_rows(cursor: DictCursor, predicate: Callable[[dict], bool]) -> List[dict]: | ||
return list(_rows_generator(cursor, predicate)) | ||
|
||
|
||
def find_first_row( | ||
cursor: DictCursor, predicate: Callable[[dict], bool] | ||
) -> Optional[dict]: | ||
"""Returns the first row that matches the predicate, or None.""" | ||
return next(_rows_generator(cursor, predicate), None) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.