ladybird/Userland/Libraries
Jan de Visser 001949d77a LibSQL: Improve error handling
The handling of filesystem level errors was basically non-existing or
consisting of `VERIFY_NOT_REACHED` assertions. Addressed this by
* Adding `open` methods to `Heap` and `Database` which return errors.
* Changing the interface of methods of these classes and clients
downstream to propagate these errors.

The constructors of `Heap` and `Database` don't open the underlying
filesystem file anymore.

The SQL statement handlers return an `SQLErrorCode::InternalError`
error code if an error comes back from the lower levels. Note that some
of these errors are things like duplicate index entry errors that should
be caught before the SQL layer attempts to actually update the database.

Added tests to catch attempts to open weird or non-existent files as
databases.

Finally, in between me writing this patch and submitting the PR the
AK::Result<Foo, Bar> template got deprecated in favour of ErrorOr<Foo>.
This resulted in more busywork.
2021-12-04 20:49:22 +03:30
..
LibArchive LibArchive: Limit all Tar header fields to their buffer length 2021-11-24 19:09:00 +02:00
LibAudio LibAudio: Optimize sample moves in FlacLoader 2021-11-28 13:33:51 -08:00
LibC Kernel+LibC: Implement sigaltstack() 2021-12-01 21:44:11 +02:00
LibCards AK: Convert AK::Format formatting helpers to returning ErrorOr<void> 2021-11-17 00:21:13 +01:00
LibChess Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
LibCompress Everywhere: Pass AK::ReadonlyBytes by value 2021-11-11 01:27:46 +01:00
LibConfig LibConfig: Add list methods for groups and keys 2021-11-18 09:08:51 +01:00
LibCore LibCore: Add lstat() syscall wrapper 2021-12-04 14:24:04 +01:00
LibCoredump LibCore+AK: Move MappedFile from AK to LibCore 2021-11-23 11:33:36 +01:00
LibCpp LibCpp: Add "ignore invalid statements" option to Preprocessor 2021-12-03 15:38:21 +01:00
LibCrypt Everywhere: Use my cool new @serenityos.org email address 2021-09-01 11:37:25 +04:30
LibCrypto AK: Convert AK::Format formatting helpers to returning ErrorOr<void> 2021-11-17 00:21:13 +01:00
LibDebug LibCore+AK: Move MappedFile from AK to LibCore 2021-11-23 11:33:36 +01:00
LibDesktop LibDesktop: Make allowlist APIs return ErrorOr<void> 2021-11-24 00:25:23 +01:00
LibDeviceTree Libraries: Add LibDeviceTree for manipulating OpenFirmware Device Trees 2021-10-21 19:20:03 -07:00
LibDiff Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
LibDl Toolchain+Userland: Enable TLS for x86_64 2021-07-04 01:07:28 +02:00
LibDSP LibDSP: Fix potential slicing issue in volume_from_envelope 2021-11-29 14:19:31 -08:00
LibELF Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
LibFileSystemAccessClient Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
LibGemini Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
LibGfx LibGfx+FontEditor: Consolidate BitmapFont width and height limits 2021-11-30 10:51:51 +01:00
LibGL LibGL: Add GL::present_context() 2021-12-01 12:35:08 +01:00
LibGUI LibGUI: Make FilteringProxyModel reference-count its parent model 2021-12-02 22:43:54 +01:00
LibHTTP LibWeb+LibHTTP: Support multiple Set-Cookie response headers 2021-11-19 13:54:35 +03:30
LibImageDecoderClient Everywhere: Pass AK::ReadonlyBytes by value 2021-11-11 01:27:46 +01:00
LibIMAP Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
LibIPC LibIPC: Mark ClientConnection::die() as an override 2021-11-30 23:34:40 +01:00
LibJS LibUnicode: Do not generate data for "generic" calendars 2021-12-01 16:36:26 +00:00
LibKeyboard AK: Make JSON parser return ErrorOr<JsonValue> (instead of Optional) 2021-11-17 00:21:10 +01:00
LibLine Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
LibM Libraries: Fix typos 2021-10-01 01:06:40 +01:00
LibMain LibMain: Rename .arguments to .strings :^) 2021-11-22 22:13:22 +01:00
LibMarkdown Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
LibPCIDB LibCore+AK: Move MappedFile from AK to LibCore 2021-11-23 11:33:36 +01:00
LibPDF AK: Convert AK::Format formatting helpers to returning ErrorOr<void> 2021-11-17 00:21:13 +01:00
LibProtocol RequestServer+LibProtocol: Add an 'EnsureConnection' IPC endpoint 2021-09-28 22:32:31 +02:00
LibPthread LibPthread: Initialize conditions with realtime clock 2021-11-24 19:44:57 +01:00
LibRegex LibRegex: Avoid rewriting a+ as a* as part of atomic rewriting 2021-11-18 09:09:22 +01:00
LibSanitizer LibSanitizer+AK: Add float cast overflow handler 2021-08-08 10:55:36 +02:00
LibSQL LibSQL: Improve error handling 2021-12-04 20:49:22 +03:30
LibSymbolication LibCore+AK: Move MappedFile from AK to LibCore 2021-11-23 11:33:36 +01:00
LibSyntax LibWeb: Implement first draft of CSS syntax highlighting :^) 2021-10-23 19:07:44 +02:00
LibSystem LibCore+LibSystem: Move syscall wrappers from LibSystem to LibCore 2021-11-23 11:33:36 +01:00
LibTest AK: Make JSON parser return ErrorOr<JsonValue> (instead of Optional) 2021-11-17 00:21:10 +01:00
LibTextCodec Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
LibThreading LibThreading: Remove redundant method 2021-11-02 11:07:26 +01:00
LibTLS Everywhere: Pass AK::ReadonlyBytes by value 2021-11-11 01:27:46 +01:00
LibUnicode LibUnicode: Fix copy-paste error in calendar_pattern_style_to_string 2021-12-01 16:36:26 +00:00
LibUSBDB LibCore+AK: Move MappedFile from AK to LibCore 2021-11-23 11:33:36 +01:00
LibVideo LibCore+AK: Move MappedFile from AK to LibCore 2021-11-23 11:33:36 +01:00
LibVT LibGUI+Everywhere: Make sync requests to Clipboard server more obvious 2021-11-21 11:49:06 +00:00
LibWasm AK: Convert AK::Format formatting helpers to returning ErrorOr<void> 2021-11-17 00:21:13 +01:00
LibWeb LibWeb: Stop sending "load" event twice to iframes 2021-12-04 14:47:24 +01:00
LibWebSocket Libraries: Fix visibility of Object-derivative constructors 2021-11-02 22:56:53 +01:00
LibX86 LibX86: Take load base address into consideration during disassembly 2021-10-25 12:14:26 +02:00
CMakeLists.txt LibMain: Add a new library for more ergonomic userspace entry functions 2021-11-22 19:28:31 +01:00