1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 04:38:11 +00:00
serenity/Userland/Libraries/LibSQL
Timothy Flynn 4e5f56f737 LibSQL: Support launching a singleton SQLServer instance for Lagom hosts
On Serenity, SQLServer is started by SystemServer. But on Lagom, it is
manually started by e.g. Ladybird when the application is started, and
killed when the application exits. This means every Ladybird process
starts its own SQLServer, which defeats the purpose of SQLServer acting
as the single process interacting with the database files.

This patch will allow SQLClient to start up a single SQLServer instance,
first checking if one already exists. If it does exist, SQLClient will
simply connect to SQLServer's socket. If it does not exist, SQLClient
will launch SQLServer much like SystemServer would (with a local socket
file, etc.).

The child SQLServer process is double-forked; the grandchild process
becomes the SQLServer process, which the middle child process simply
exits to "detach" the grandchild process from the SQLClient process.
2022-12-11 10:08:17 -05:00
..
AST LibSQL+SQLServer+sql: Send and parse the correct number of changed rows 2022-12-07 13:09:00 +01:00
BTree.cpp LibSQL: Fix BTree corruption in TreeNode::split 2022-11-26 09:15:34 +01:00
BTree.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
BTreeIterator.cpp LibSQL: Fix BTree corruption in TreeNode::split 2022-11-26 09:15:34 +01:00
CMakeLists.txt LibSQL+SQLServer: Generate SQLServer's IPC sources with LibSQL on Lagom 2022-12-08 17:14:48 +01:00
Database.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Database.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Forward.h LibSQL+SQLServer: Introduce and use ResultOr<ValueType> 2022-02-10 23:11:13 +01:00
HashIndex.cpp Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
HashIndex.h Everywhere: Remove redundant inequality comparison operators 2022-11-06 10:25:08 -07:00
Heap.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Heap.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Index.cpp LibSQL: Add missing header includes 2022-10-14 17:47:44 +03:30
Index.h LibSQL: Add missing header includes 2022-10-14 17:47:44 +03:30
Key.cpp LibSQL: Introduce Serializer as a mediator between Heap and client code 2021-08-21 22:03:30 +02:00
Key.h LibSQL: Resolve cyclic dependency 2021-10-06 23:52:40 +01:00
Meta.cpp Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
Meta.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Result.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Result.h LibSQL: Parse and execute sequential placeholder values 2022-12-07 13:09:00 +01:00
ResultSet.cpp LibSQL+SQLServer: Introduce and use ResultOr<ValueType> 2022-02-10 23:11:13 +01:00
ResultSet.h LibSQL+SQLServer: Introduce and use ResultOr<ValueType> 2022-02-10 23:11:13 +01:00
Row.cpp LibSQL: Store a NonnullRefPtr to the table definition in SQL::Row 2022-11-30 11:43:13 +01:00
Row.h LibSQL: Store a NonnullRefPtr to the table definition in SQL::Row 2022-11-30 11:43:13 +01:00
Serializer.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Serializer.h Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
SQLClient.cpp LibSQL: Support launching a singleton SQLServer instance for Lagom hosts 2022-12-11 10:08:17 -05:00
SQLClient.h LibSQL: Support launching a singleton SQLServer instance for Lagom hosts 2022-12-11 10:08:17 -05:00
TreeNode.cpp Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
Tuple.cpp LibSQL+SQLServer+SQLStudio+sql: Send result rows over IPC as SQL::Value 2022-12-07 13:09:00 +01:00
Tuple.h LibSQL+SQLServer+SQLStudio+sql: Send result rows over IPC as SQL::Value 2022-12-07 13:09:00 +01:00
TupleDescriptor.h Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
Type.h LibSQL+SQLServer+SQLStudio+sql: Give ID types a distinct name 2022-12-08 17:14:48 +01:00
Value.cpp LibSQL: Add an IPC encoder/decoder for SQL::Value 2022-12-07 13:09:00 +01:00
Value.h LibSQL: Add an IPC encoder/decoder for SQL::Value 2022-12-07 13:09:00 +01:00