|
|
@@ -1,6 +1,23 @@
|
|
|
export class PostgresMetaQuery {
|
|
|
constructor(private target, private queryModel) {}
|
|
|
|
|
|
+ getOperators(datatype: string) {
|
|
|
+ switch (datatype) {
|
|
|
+ case 'float4':
|
|
|
+ case 'float8': {
|
|
|
+ return ['=', '!=', '<', '<=', '>', '>='];
|
|
|
+ }
|
|
|
+ case 'text':
|
|
|
+ case 'varchar':
|
|
|
+ case 'char': {
|
|
|
+ return ['=', '!=', '<', '<=', '>', '>=', 'IN', 'NOT IN', 'LIKE', 'NOT LIKE', '~', '~*', '!~', '!~*'];
|
|
|
+ }
|
|
|
+ default: {
|
|
|
+ return ['=', '!=', '<', '<=', '>', '>=', 'IN', 'NOT IN'];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
// quote identifier as literal to use in metadata queries
|
|
|
quoteIdentAsLiteral(value) {
|
|
|
return this.queryModel.quoteLiteral(this.queryModel.unquoteIdentifier(value));
|