group by date - postgres, mysql

This commit is contained in:
Jan Prochazka
2020-06-26 15:48:02 +02:00
parent bf24796899
commit c38aac4015
3 changed files with 58 additions and 3 deletions

View File

@@ -1,5 +1,30 @@
const SqlDumper = require('../default/SqlDumper');
class PostgreDumper extends SqlDumper {}
class PostgreDumper extends SqlDumper {
/** @param type {import('@dbgate/types').TransformType} */
transform(type, dumpExpr) {
switch (type) {
case 'GROUP:YEAR':
case 'YEAR':
this.put('^extract(^year ^from %c)', dumpExpr);
break;
case 'MONTH':
this.put('^extract(^month ^from %c)', dumpExpr);
break;
case 'DAY':
this.put('^extract(^day ^from %c)', dumpExpr);
break;
case 'GROUP:MONTH':
this.put("^to_char(%c, '%s')", dumpExpr, 'YYYY-MM');
break;
case 'GROUP:DAY':
this.put("^to_char(%c, '%s')", dumpExpr, 'YYYY-MM-DD');
break;
default:
dumpExpr();
break;
}
}
}
module.exports = PostgreDumper;