Skip to content

Commit a2d1fb1

Browse files
authored
added user-defined-functions.csv (#1060)
* added user-defined-functions.csv
1 parent 2dee75a commit a2d1fb1

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

dumper/app/src/main/java/com/google/edwmigration/dumper/application/dumper/connector/snowflake/SnowflakeLogsConnector.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,20 @@ public final void addTasksTo(
300300
out.add(new FormatTask(FORMAT_NAME));
301301
out.add(SnowflakeYamlSummaryTask.create(FORMAT_NAME, arguments));
302302

303+
if (arguments.isAssessment()) {
304+
String userDefinedFunctions =
305+
"SELECT FUNCTION_SCHEMA, FUNCTION_NAME, FUNCTION_LANGUAGE, ARGUMENT_SIGNATURE, "
306+
+ "FUNCTION_OWNER, COMMENT, VOLATILITY, RUNTIME_VERSION, LAST_ALTERED, "
307+
+ "PACKAGES, IMPORTS, IS_AGGREGATE, IS_DATA_METRIC, IS_MEMOIZABLE "
308+
+ "FROM SNOWFLAKE.ACCOUNT_USAGE.FUNCTIONS "
309+
+ "WHERE FUNCTION_SCHEMA != 'INFORMATION_SCHEMA' "
310+
+ "AND DELETED IS NULL";
311+
out.add(
312+
new JdbcSelectTask(
313+
"user_defined_functions.csv", userDefinedFunctions, TaskCategory.OPTIONAL)
314+
.withHeaderClass(FunctionsHeader.class));
315+
}
316+
303317
// (24 * 7) -> 7 trailing days == 168 hours
304318
// Actually, on Snowflake, 7 days ago starts at midnight in an unadvertised time zone. What the
305319
// <deleted>.
@@ -507,6 +521,23 @@ String viewName() {
507521
}
508522
}
509523

524+
private enum FunctionsHeader {
525+
FUNCTION_SCHEMA,
526+
FUNCTION_NAME,
527+
FUNCTION_LANGUAGE,
528+
ARGUMENT_SIGNATURE,
529+
FUNCTION_OWNER,
530+
COMMENT,
531+
VOLATILITY,
532+
RUNTIME_VERSION,
533+
LAST_ALTERED,
534+
PACKAGES,
535+
IMPORTS,
536+
IS_AGGREGATE,
537+
IS_DATA_METRIC,
538+
IS_MEMOIZABLE
539+
}
540+
510541
@Nonnull
511542
static String formatPrefix(@Nonnull Class<? extends Enum<?>> enumClass, @Nonnull String view) {
512543
String selectList =

0 commit comments

Comments
 (0)