mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-23 21:56:00 +00:00
expression parser
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import _ from 'lodash';
|
||||
import { SqlDumper } from '@dbgate/types';
|
||||
import { Expression, ColumnRefExpression } from './types';
|
||||
import { dumpSqlSourceRef } from './dumpSqlSource';
|
||||
@@ -14,5 +15,13 @@ export function dumpSqlExpression(dmp: SqlDumper, expr: Expression) {
|
||||
dmp.put('%i', expr.columnName);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'placeholder':
|
||||
dmp.putRaw('{PLACEHOLDER}');
|
||||
break;
|
||||
|
||||
case 'value':
|
||||
dmp.put('%v', expr.value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,7 +70,11 @@ export interface ValueExpression {
|
||||
value: any;
|
||||
}
|
||||
|
||||
export type Expression = ColumnRefExpression | ValueExpression;
|
||||
export interface PlaceholderExpression {
|
||||
exprType: 'placeholder';
|
||||
}
|
||||
|
||||
export type Expression = ColumnRefExpression | ValueExpression | PlaceholderExpression;
|
||||
export type OrderByExpression = Expression & { direction: 'ASC' | 'DESC' };
|
||||
|
||||
export type ResultField = Expression & { alias?: string };
|
||||
|
||||
Reference in New Issue
Block a user