|
|
@@ -9,12 +9,23 @@ export interface MysqlQuery {
|
|
|
refId: string;
|
|
|
format: string;
|
|
|
alias: string;
|
|
|
+ rawSql: string;
|
|
|
}
|
|
|
|
|
|
export interface QueryMeta {
|
|
|
sql: string;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+var defaulQuery = `SELECT
|
|
|
+ UNIX_TIMESTAMP(<time_column>) as time_sec,
|
|
|
+ <value column> as value,
|
|
|
+ <series name column> as metric
|
|
|
+FROM <table name>
|
|
|
+WHERE $__timeFilter(time_column)
|
|
|
+ORDER BY <time_column> ASC
|
|
|
+`;
|
|
|
+
|
|
|
class MysqlQueryCtrl extends QueryCtrl {
|
|
|
static templateUrl = 'partials/query.editor.html';
|
|
|
|
|
|
@@ -35,6 +46,10 @@ class MysqlQueryCtrl extends QueryCtrl {
|
|
|
{text: 'Table', value: 'table'},
|
|
|
];
|
|
|
|
|
|
+ if (!this.target.rawSql) {
|
|
|
+ this.target.rawSql = defaulQuery;
|
|
|
+ }
|
|
|
+
|
|
|
this.panelCtrl.events.on('data-received', this.onDataReceived.bind(this), $scope);
|
|
|
this.panelCtrl.events.on('data-error', this.onDataError.bind(this), $scope);
|
|
|
}
|