src/Palete/SymbolLoader.vala
authorAlan <alan@roojs.com>
Wed, 8 May 2024 08:07:24 +0000 (16:07 +0800)
committerAlan <alan@roojs.com>
Wed, 8 May 2024 08:07:24 +0000 (16:07 +0800)
src/Palete/SymbolLoader.vala

index 4629ed1..b57f49d 100644 (file)
@@ -14,5 +14,33 @@ namespace Palete
                }
                
        
-       }
+       
+       
+               public Symbol? singleByFqn(string fqn)
+               {
+                       var sq = new SQ.Query<Symbol>("symbol");
+                       var res = new Symbol();
+                       var stmt = sq.selectPrepare("
+                                       SELECT 
+                                               * 
+                                       FROM 
+                                               symbol 
+                                       WHERE 
+                                               file_id IN (" + string.joinv("," , this.manager.file_ids) + ")
+                                       AND
+                                               fqn = $fqn
+                                       LIMIT 1;
+                       ");
+                       stmt.bind_text(stmt.bind_parameter_index ("$fqn"), fqn);
+                       if (!sq.selectExecuteInto(stmt,res)) {
+                               return null;
+                       }
+                       res.file = this.files_ids.get((int)res.file_id);
+                                               
+                       
+                       return res;
+                       
+                       
+               }
+       }       
 }
\ No newline at end of file