You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
finalvarsql = newStringBuilder("SELECT name, class_name, package_name, kind, file_path, line, signature, reference_to FROM symbols WHERE 1=1");
150
+
finalvarsql = newStringBuilder("SELECT name, class_name, package_name, kind, file_path, line, signature, reference_to FROM symbols WHERE id IN (SELECT rowid FROM symbols_fts WHERE symbols_fts MATCH ?)");
121
151
finalvarparams = newArrayList<>();
122
152
123
153
if (request.getQuery() != null && !request.getQuery().isBlank()) {
124
154
if (request.getQuery().contains("::")) {
125
155
finalvarparts = request.getQuery().split("::");
126
156
finalvarcontainerTerm = parts[0];
127
157
finalvarsymbolTerm = parts[1];
128
-
sql.append(" AND name LIKE ? AND (class_name LIKE ? OR package_name LIKE ?)");
129
-
params.add("%" + symbolTerm + "%");
130
-
params.add("%" + containerTerm + "%");
131
-
params.add("%" + containerTerm + "%");
158
+
params.add(String.format("name:%s* AND (class_name:%s* OR package_name:%s*)", symbolTerm, containerTerm, containerTerm));
132
159
} else {
133
-
sql.append(" AND (name LIKE ? OR class_name LIKE ? OR package_name LIKE ?)");
134
-
params.add("%" + request.getQuery() + "%");
135
-
params.add("%" + request.getQuery() + "%");
136
-
params.add("%" + request.getQuery() + "%");
160
+
params.add(String.format("name:%s* OR class_name:%s* OR package_name:%s*", request.getQuery(), request.getQuery(), request.getQuery()));
137
161
}
162
+
} else {
163
+
// Fallback for empty query if other filters are present
164
+
sql.setLength(0);
165
+
sql.append("SELECT name, class_name, package_name, kind, file_path, line, signature, reference_to FROM symbols WHERE 1=1");
138
166
}
139
167
140
168
if (request.getClassName() != null && !request.getClassName().isBlank()) {
0 commit comments