/
yuddzy
/
sqlite
Обзор
Документация
Войти
/
yuddzy
/
sqlite
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/test_integration.cpp
67 строк
2 KB
yuddzy
Реализация новых функций
22 ноя 2025, 04:56
22 ноя 2025, 04:56
dfafc2e
Код
Авторство
О чём код?
#include <iostream> #include <string> #include <memory> #include <windows.h> #include <unordered_set> #include "Command.h" #include "parser.h" using namespace std; int main() { // Установка кодировки для русских символов в Windows SetConsoleOutputCP(65001); SimpleDB db; string command; cout << "=== Тестирование интеграции парсера и команд ===" << endl; cout << "Введите SQL команду (или 'exit' для выхода):" << endl; cout << "Примеры команд:" << endl; cout << " CREATE TABLE users (id INT, name VARCHAR(50), age INT)" << endl; cout << " INSERT INTO users (id, name, age) VALUES (1, 'John', 25)" << endl; cout << " SELECT * FROM users" << endl; cout << " UPDATE users SET name = 'Jane' WHERE id = 1" << endl; cout << " DELETE FROM users WHERE id = 1" << endl; cout << "=============================================" << endl; while (true) { cout << "SQL> "; getline(cin, command); if (command == "exit" || command == "EXIT") { cout << "Выход из тестирования..." << endl; break; } if (command.empty()) continue; try { auto sql_command = parse_sql_command(command); cout << "✓ Команда успешно распознана: " << sql_command->getCommandType() << endl; // Тестируем валидацию if (sql_command->validate()) { cout << "✓ Валидация прошла успешно" << endl; // Выполняем команду sql_command->execute(&db); cout << "✓ Команда выполнена успешно" << endl; } else { cout << "✗ Валидация не прошла" << endl; } } catch (const ValidationError& e) { cout << "✗ Ошибка валидации: " << e.what() << endl; } catch (const exception& e) { cout << "✗ Неожиданная ошибка: " << e.what() << endl; } cout << "----------------------------------------" << endl; } return 0; }