diff options
author | Joshua Watt <JPEWhacker@gmail.com> | 2023-11-03 08:26:26 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-11-09 17:33:02 +0000 |
commit | cfbb1d2cc01565610ba06a755e10425ff2076d9b (patch) | |
tree | 0e703d7210246573d50e1b07fd505c0001a9ae17 /bitbake/lib/hashserv/__init__.py | |
parent | baa3e5391daf41b6dd6e914a112abb00d3517da1 (diff) | |
download | poky-cfbb1d2cc01565610ba06a755e10425ff2076d9b.tar.gz |
bitbake: hashserv: Add SQLalchemy backend
Adds an SQLAlchemy backend to the server. While this database backend is
slower than the more direct sqlite backend, it easily supports just
about any SQL server, which is useful for large scale deployments.
(Bitbake rev: e0b73466dd7478c77c82f46879246c1b68b228c0)
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/hashserv/__init__.py')
-rw-r--r-- | bitbake/lib/hashserv/__init__.py | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/bitbake/lib/hashserv/__init__.py b/bitbake/lib/hashserv/__init__.py index 90d8cff15f..9a8ee4e88b 100644 --- a/bitbake/lib/hashserv/__init__.py +++ b/bitbake/lib/hashserv/__init__.py | |||
@@ -35,15 +35,32 @@ def parse_address(addr): | |||
35 | return (ADDR_TYPE_TCP, (host, int(port))) | 35 | return (ADDR_TYPE_TCP, (host, int(port))) |
36 | 36 | ||
37 | 37 | ||
38 | def create_server(addr, dbname, *, sync=True, upstream=None, read_only=False): | 38 | def create_server( |
39 | addr, | ||
40 | dbname, | ||
41 | *, | ||
42 | sync=True, | ||
43 | upstream=None, | ||
44 | read_only=False, | ||
45 | db_username=None, | ||
46 | db_password=None | ||
47 | ): | ||
39 | def sqlite_engine(): | 48 | def sqlite_engine(): |
40 | from .sqlite import DatabaseEngine | 49 | from .sqlite import DatabaseEngine |
41 | 50 | ||
42 | return DatabaseEngine(dbname, sync) | 51 | return DatabaseEngine(dbname, sync) |
43 | 52 | ||
53 | def sqlalchemy_engine(): | ||
54 | from .sqlalchemy import DatabaseEngine | ||
55 | |||
56 | return DatabaseEngine(dbname, db_username, db_password) | ||
57 | |||
44 | from . import server | 58 | from . import server |
45 | 59 | ||
46 | db_engine = sqlite_engine() | 60 | if "://" in dbname: |
61 | db_engine = sqlalchemy_engine() | ||
62 | else: | ||
63 | db_engine = sqlite_engine() | ||
47 | 64 | ||
48 | s = server.Server(db_engine, upstream=upstream, read_only=read_only) | 65 | s = server.Server(db_engine, upstream=upstream, read_only=read_only) |
49 | 66 | ||