@@ -143,6 +143,7 @@ async function getObjectCompletions(
143
143
forSchema : string ,
144
144
sqlTypes : { [ index : string ] : CompletionType }
145
145
) : Promise < CompletionItem [ ] > {
146
+ forSchema = Statement . noQuotes ( Statement . delimName ( forSchema , true ) ) ;
146
147
const allObjects = await DbCache . getObjects ( forSchema , Object . values ( sqlTypes ) . map ( k => k . type ) ) ;
147
148
148
149
return allObjects . map ( ( value ) => {
@@ -330,13 +331,6 @@ async function getCompletionItemsForRefs(currentStatement: LanguageStatement.def
330
331
331
332
const curClause = currentStatement . getClauseForOffset ( offset ) ;
332
333
const tokenAtOffset = currentStatement . getTokenByOffset ( offset ) ;
333
- let emptyObjectRefs : Boolean = false ;
334
-
335
- // Get all the schemas
336
- if ( objectRefs . length === 0 && cteList . length === 0 ) {
337
- emptyObjectRefs = true ;
338
- completionItems . push ( ...( await getCachedSchemas ( ) ) ) ;
339
- }
340
334
341
335
// Set the default schema for all references without one
342
336
for ( let ref of objectRefs ) {
@@ -383,7 +377,7 @@ async function getCompletionItemsForRefs(currentStatement: LanguageStatement.def
383
377
completionItems . push ( ...aliasItems ) ;
384
378
385
379
// get completions for objects
386
- if ( tokenAtOffset === undefined && ( emptyObjectRefs || curClause !== ClauseType . Unknown ) ) {
380
+ if ( tokenAtOffset === undefined && ( curClause !== ClauseType . Unknown ) ) {
387
381
// get all the completion items for objects in each referenced schema
388
382
completionItems . push (
389
383
...( await getObjectCompletions ( getDefaultSchema ( ) , completionTypes ) )
@@ -436,6 +430,12 @@ async function getCompletionItemsForRefs(currentStatement: LanguageStatement.def
436
430
}
437
431
}
438
432
433
+ if ( completionItems . length === 0 ) {
434
+ // Get all the schemas
435
+ // TODO: very very slow
436
+ // completionItems.push(...(await getCachedSchemas()));
437
+ }
438
+
439
439
return completionItems ;
440
440
}
441
441
0 commit comments