1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 04:48:14 +00:00
serenity/Userland/Libraries
Jan de Visser d074a601df LibSQL+SQLServer: Bare bones INSERT and SELECT statements
This patch provides very basic, bare bones implementations of the
INSERT and SELECT statements. They are *very* limited:
- The only variant of the INSERT statement that currently works is
   SELECT INTO schema.table (column1, column2, ....) VALUES
      (value11, value21, ...), (value12, value22, ...), ...
   where the values are literals.
- The SELECT statement is even more limited, and is only provided to
  allow verification of the INSERT statement. The only form implemented
  is: SELECT * FROM schema.table

These statements required a bit of change in the Statement::execute
API. Originally execute only received a Database object as parameter.
This is not enough; we now pass an ExecutionContext object which
contains the Database, the current result set, and the last Tuple read
from the database. This object will undoubtedly evolve over time.

This API change dragged SQLServer::SQLStatement into the patch.

Another API addition is Expression::evaluate. This method is,
unsurprisingly, used to evaluate expressions, like the values in the
INSERT statement.

Finally, a new test file is added: TestSqlStatementExecution, which
tests the currently implemented statements. As the number and flavour of
implemented statements grows, this test file will probably have to be
restructured.
2021-08-21 22:03:30 +02:00
..
LibArchive LibArchive: Move method implementations away from header 2021-05-17 18:14:05 +01:00
LibAudio LibAudio: Resample FLAC audio data 2021-08-18 18:16:48 +02:00
LibC LibC: Add FNM_NOMATCH to fnmatch.h 2021-08-19 22:27:26 +02:00
LibCards LibGfx: Use "try_" prefix for static factory functions 2021-07-21 18:02:15 +02:00
LibChess LibChess: Fix hashing of the chess board 2021-07-30 20:49:18 +02:00
LibCompress LibCompress: Discard GZip NAME & COMMENT optional strings 2021-05-18 08:09:21 +02:00
LibCore LibCore: Show version and help before parsing positional arguments 2021-08-20 20:13:12 +02:00
LibCoreDump LibCoreDump: Make narrowing uint64_t => FlatPtr conversion explicit 2021-08-08 10:55:36 +02:00
LibCpp Tests: Add regression tests for the LibCpp preprocessor 2021-08-14 12:40:55 +02:00
LibCrypt Everywhere: Add a blank line after copyright header where missing 2021-05-15 00:27:09 +01:00
LibCrypto AK: Move FormatParser definition from header to implementation file 2021-08-19 23:49:25 +02:00
LibDebug LibDebug: Store 64-bit numbers in AttributeValue 2021-08-08 10:55:36 +02:00
LibDesktop Userland: Use Core::Process::spawn() instead of posix_spawn() in places 2021-08-06 01:06:42 +02:00
LibDiff AK+Everywhere: Consolidate String::index_of() and String::find() 2021-05-24 11:59:18 +02:00
LibDl Toolchain+Userland: Enable TLS for x86_64 2021-07-04 01:07:28 +02:00
LibELF LibELF+LibTest: Fix incorrect #ifdef 2021-08-12 08:16:07 +02:00
LibFileSystemAccessClient FileSystemAccessServer: Add window title as parameter for opening file 2021-08-07 12:48:22 +02:00
LibGemini AK: Implement String::find_any_of() and StringView::find_any_of() 2021-07-02 21:54:21 +02:00
LibGfx LibGfx: Make FastBoxBlurFilter go faster 2021-08-18 11:35:51 +02:00
LibGL LibGL: Use integer comparison for GL_EQUAL and GL_NOTEQUAL 2021-08-21 13:48:59 +04:30
LibGUI LibGUI: Reduce amount we init for FileIconProvider::filetype_image_icon 2021-08-20 15:31:22 +02:00
LibHTTP LibCore+LibHTTP: Check the status of the socket after EINPROGRESS 2021-08-13 20:30:19 +04:30
LibImageDecoderClient Userland: Remove dummy IPC methods 2021-06-24 00:38:58 +02:00
LibIMAP Everywhere: Make use of container version of all_of 2021-08-03 10:46:43 +02:00
LibIPC LibIPC: Pass only message size to decoder 2021-08-11 18:28:59 +02:00
LibJS LibJS: Implement RegExp.prototype.compile 2021-08-20 19:16:33 +02:00
LibKeyboard LibKeyboard: Remove an unnecessary #include when building with KERNEL 2021-06-30 11:30:28 +02:00
LibLine LibLine: Correct spelling mistake in variable name 2021-07-21 14:15:24 +02:00
LibM AK: Introduce Math.h 2021-07-19 16:34:21 +04:30
LibMarkdown LibMarkdown: Wrap non-inline code blocks in <pre> 2021-06-09 18:06:54 +01:00
LibPCIDB Everywhere: "file name" => "filename" 2021-04-29 22:16:18 +02:00
LibPDF Everywhere: Use AK/Math.h if applicable 2021-07-19 16:34:21 +04:30
LibProtocol LibProtocol: Use URL class in RequestClient::start_request argument 2021-06-06 16:00:11 +02:00
LibPthread Kernel+Userland: Remove global futexes 2021-08-17 01:21:47 +02:00
LibRegex LibRegex: Treat pattern string characters as unsigned 2021-08-20 19:16:33 +02:00
LibSanitizer LibSanitizer+AK: Add float cast overflow handler 2021-08-08 10:55:36 +02:00
LibSQL LibSQL+SQLServer: Bare bones INSERT and SELECT statements 2021-08-21 22:03:30 +02:00
LibSymbolication LibDebug+Everywhere: Make DebugInfo not own the ELF image 2021-08-06 01:14:03 +02:00
LibSyntax LibWeb+LibSyntax: Implement nested syntax highlighters 2021-06-07 14:45:49 +04:30
LibSystem Kernel+LibSystem: Add a 4th syscall argument 2021-07-25 14:08:50 +02:00
LibTest LibTest+Utilities: Print a start message before each test in run-tests 2021-08-19 18:42:34 +02:00
LibTextCodec LibTextCodec: Remove unused is_standardized_encoding() 2021-08-20 15:31:46 +02:00
LibThreading Revert "LibThreading: Fix BackgroundAction result use-after-free" 2021-07-12 11:29:37 +02:00
LibTLS LibTLS: Add DHE_RSA AES GCM cipher suites 2021-08-16 03:50:53 +04:30
LibUnicode LibUnicode: Download and parse DerivedNormalizationProps UCD file 2021-08-11 13:11:01 +02:00
LibUSBDB LibUSBDB: Fix vendor id decoding 2021-06-18 19:41:25 +04:30
LibVideo Userland: Use kmalloc_array() where appropriate 2021-08-08 00:03:45 +02:00
LibVT Userland: Make use of container version of any_of 2021-08-02 00:37:18 +02:00
LibWasm LibWasm: Move some Values and Vector<Value>s instead of copying them 2021-08-12 21:03:53 +02:00
LibWeb LibWeb: Fix inverted-if typo in flex_shrink_factor() 2021-08-20 19:15:32 +02:00
LibWebSocket AK+Everywhere: Disallow constructing Functions from incompatible types 2021-06-06 00:27:30 +04:30
LibX86 LibX86: Stub out Disassembler::next() for x86_64 2021-08-02 17:11:47 +02:00
CMakeLists.txt LibTTF/LibGfx: Remove circular dependency by merging LibTTF into LibGfx 2021-07-29 21:46:25 +01:00