first commit
This commit is contained in:
78
test_autocomplete_debug.html
Normal file
78
test_autocomplete_debug.html
Normal file
@@ -0,0 +1,78 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Autocomplete Test</title>
|
||||
<script>
|
||||
function testColumnAutocomplete() {
|
||||
// Teste die verschiedenen Funktionen
|
||||
console.log('Testing extractTableNameFromQuery...');
|
||||
|
||||
// Test-Queries
|
||||
const testQueries = [
|
||||
'SELECT * FROM AUTH_CONFIG',
|
||||
'SELECT NAME FROM AUTH_CONFIG WHERE',
|
||||
'select id, name from AUTH_CONFIG',
|
||||
'SELECT COUNT(*) FROM AUTH_CONFIG',
|
||||
'SELECT * FROM AUTH_CONFIG ORDER BY'
|
||||
];
|
||||
|
||||
testQueries.forEach(query => {
|
||||
console.log(`Query: "${query}"`);
|
||||
|
||||
// Simuliere extractTableNameFromQuery
|
||||
const upperText = query.toUpperCase();
|
||||
const patterns = [
|
||||
/\bFROM\s+([A-Z_][A-Z0-9_]*)/,
|
||||
/\bFROM\s+([A-Z_][A-Z0-9_]*)\s+[A-Z_]/,
|
||||
/\bFROM\s+([A-Z_][A-Z0-9_]*)\s*,/,
|
||||
/\bFROM\s+([A-Z_][A-Z0-9_]*)\s*$/,
|
||||
/\bFROM\s+([A-Z_][A-Z0-9_]*)\s+WHERE/,
|
||||
/\bFROM\s+([A-Z_][A-Z0-9_]*)\s+ORDER/,
|
||||
/\bFROM\s+([A-Z_][A-Z0-9_]*)\s+GROUP/
|
||||
];
|
||||
|
||||
let found = false;
|
||||
for (const pattern of patterns) {
|
||||
const match = upperText.match(pattern);
|
||||
if (match && match[1]) {
|
||||
console.log(` Found table: ${match[1]} with pattern: ${pattern}`);
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!found) {
|
||||
console.log(' No table found');
|
||||
}
|
||||
|
||||
// Teste shouldShowColumnAutocomplete
|
||||
const textBeforeCursor = query.toUpperCase();
|
||||
const hasFromClause = /\bFROM\s+[A-Z_][A-Z0-9_]*/.test(textBeforeCursor);
|
||||
console.log(` Has FROM clause: ${hasFromClause}`);
|
||||
|
||||
const selectPatterns = [
|
||||
/\bSELECT\s*$/,
|
||||
/\bSELECT\s+((?:[A-Z_0-9*]+(?:\s*,\s*)?)*)\s*([A-Z_0-9]*)$/,
|
||||
/\bSELECT\s+[^,]+(?:\s*,\s*[^,]*)*\s*,\s*([A-Z_0-9]*)$/
|
||||
];
|
||||
|
||||
selectPatterns.forEach((pattern, index) => {
|
||||
if (pattern.test(textBeforeCursor)) {
|
||||
console.log(` SELECT pattern ${index} matched`);
|
||||
}
|
||||
});
|
||||
|
||||
console.log('---');
|
||||
});
|
||||
}
|
||||
|
||||
// Teste beim Laden der Seite
|
||||
window.onload = testColumnAutocomplete;
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Autocomplete Debug Test</h1>
|
||||
<p>Öffne die Browser-Konsole um die Test-Ergebnisse zu sehen.</p>
|
||||
<p>Teste dann in der echten Anwendung: "SELECT " gefolgt von "FROM AUTH_CONFIG"</p>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user