postgresql: change plugin id (#77444)

* postgres: change plugin id

* fixed cue file

* codeowners update

* fixed backend test
This commit is contained in:
Gábor Farkas
2023-11-13 08:49:26 +01:00
committed by GitHub
parent 675e946b40
commit 2d391c1bf5
35 changed files with 21 additions and 18 deletions

View File

@ -0,0 +1,45 @@
import {
ColumnDefinition,
getStandardSQLCompletionProvider,
LanguageCompletionProvider,
TableDefinition,
TableIdentifier,
} from '@grafana/experimental';
import { DB, SQLQuery } from 'app/features/plugins/sql/types';
interface CompletionProviderGetterArgs {
getColumns: React.MutableRefObject<(t: SQLQuery) => Promise<ColumnDefinition[]>>;
getTables: React.MutableRefObject<(d?: string) => Promise<TableDefinition[]>>;
}
export const getSqlCompletionProvider: (args: CompletionProviderGetterArgs) => LanguageCompletionProvider =
({ getColumns, getTables }) =>
(monaco, language) => ({
...(language && getStandardSQLCompletionProvider(monaco, language)),
tables: {
resolve: async () => {
return await getTables.current();
},
},
columns: {
resolve: async (t?: TableIdentifier) => {
return await getColumns.current({ table: t?.table, refId: 'A' });
},
},
});
export async function fetchColumns(db: DB, q: SQLQuery) {
const cols = await db.fields(q);
if (cols.length > 0) {
return cols.map((c) => {
return { name: c.value, type: c.value, description: c.value };
});
} else {
return [];
}
}
export async function fetchTables(db: DB) {
const tables = await db.lookup?.();
return tables || [];
}