History

GrafanaAdapters: Added functions to be able to retrieve table and columns names for the Filter Expression query builder.

Billy Ernest committed 9 years ago

Commit 200bd281 parent ebaf6041 file · +39 −0Browse files

Unified · Split

Source/Libraries/Adapters/GrafanaAdapters/GrafanaDataSourceBase.cs+39−0
@@ -630,6 +630,45 @@ namespace GrafanaAdapters · 629 unmodified lines
630630 });
631631 }
632632
633+ /// <summary>
634+ /// Search data source for a list of columns from a specific table.
635+ /// </summary>
636+ /// <param name="request">Table Name.</param>
637+ public virtual Task<string[]> SearchFields(Target request)
638+ {
639+ return Task.Factory.StartNew(() => {
640+ return Metadata.Tables[request.target].Columns.Cast<DataColumn>().Select(x => x.ColumnName).ToArray();
641+ });
642+ }
643+
644+
645+ /// <summary>
646+ /// Search data source for a list of tables.
647+ /// </summary>
648+ /// <param name="request">Request.</param>
649+ public virtual Task<string[]> SearchFilters(Target request)
650+ {
651+ return Task.Factory.StartNew(() => {
652+ return Metadata.Tables.Cast<DataTable>().Select(x => x.TableName).ToArray();
653+ });
654+ }
655+
656+ /// <summary>
657+ /// Search data source for a list of columns from a specific table.
658+ /// </summary>
659+ /// <param name="request">Table Name.</param>
660+ public virtual Task<string[]> SearchOrderBys(Target request)
661+ {
662+ return Task.Factory.StartNew(() => {
663+ IEnumerable<string> ascStrings = Metadata.Tables[request.target].Columns.Cast<DataColumn>().Select(x => x.ColumnName + " ASC").ToArray();
664+ IEnumerable<string> descStrings = Metadata.Tables[request.target].Columns.Cast<DataColumn>().Select(x => x.ColumnName + " DESC").ToArray();
665+ return ascStrings.Union(descStrings).OrderBy(x => x).ToArray();
666+ });
667+ }
668+
669+
670+
671+
633672 /// <summary>
634673 /// Queries data source for annotations in a time-range (e.g., Alarms).
635674 /// </summary>

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t