string_agg usage fix

This commit is contained in:
Jan Prochazka
2024-07-25 10:47:20 +02:00
parent 3867b7f5ba
commit be6e0f3bc8
2 changed files with 5 additions and 4 deletions

View File

@@ -55,8 +55,8 @@ class Analyser extends DatabaseAnalyser {
super(pool, driver, version);
}
createQuery(resFileName, typeFields) {
const query = super.createQuery(sql[resFileName], typeFields);
createQuery(resFileName, typeFields, replacements = {}) {
const query = super.createQuery(sql[resFileName], typeFields, replacements);
return query;
}
@@ -139,7 +139,8 @@ class Analyser extends DatabaseAnalyser {
this.feedback({ analysingMessage: 'Loading routines' });
const routines = await this.analyserQuery('routines', ['procedures', 'functions'], {
$typeAgg: this.driver.dialect.stringAgg ? 'string_agg' : 'max',
$typeAggFunc: this.driver.dialect.stringAgg ? 'string_agg' : 'max',
$typeAggParam: this.driver.dialect.stringAgg ? ", '|'" : '',
});
this.feedback({ analysingMessage: 'Loading indexes' });

View File

@@ -5,7 +5,7 @@ select
max(routine_definition) as "definition",
max(md5(routine_definition)) as "hash_code",
routine_type as "object_type",
$typeAgg(data_type, '|') as "data_type",
$typeAggFunc(data_type $typeAggParam) as "data_type",
max(external_language) as "language"
from
information_schema.routines where routine_schema != 'information_schema' and routine_schema != 'pg_catalog' and routine_schema !~ '^_timescaledb_'