2026-10-02 14:53:02 +08:00
|
|
|
|
cabal-version: 2.4
|
|
|
|
|
|
|
|
|
|
|
|
name: chusql-server
|
|
|
|
|
|
version: 1.0.0
|
|
|
|
|
|
synopsis: ChuSQL 数据库服务器:TCP 端点 + 自家协议 + SQL 会话
|
|
|
|
|
|
description: ChuSQL 的数据库服务器。负责监听 TCP、一行一条 JSON 的自家协议、
|
|
|
|
|
|
登录与限流,并把用户 SQL 转交给 chusql-core-engine(存储则由进程内
|
|
|
|
|
|
的 chusql_core_storage 动态库承担)。Web 管理端与命令行客户端都只
|
|
|
|
|
|
通过这条 TCP 连接访问数据库。
|
|
|
|
|
|
build-type: Simple
|
|
|
|
|
|
|
|
|
|
|
|
library
|
|
|
|
|
|
hs-source-dirs: src
|
|
|
|
|
|
exposed-modules: ChuSQL.Server.Accounts
|
|
|
|
|
|
ChuSQL.Server.Backend
|
2026-10-03 02:17:46 +08:00
|
|
|
|
ChuSQL.Server.Catalog
|
2026-10-02 14:53:02 +08:00
|
|
|
|
ChuSQL.Server.Policy
|
|
|
|
|
|
ChuSQL.Server.Privileges
|
|
|
|
|
|
ChuSQL.Server.Session
|
|
|
|
|
|
ChuSQL.Server.TCP
|
|
|
|
|
|
build-depends: base >= 4.14 && < 5
|
|
|
|
|
|
, aeson
|
|
|
|
|
|
, bytestring
|
|
|
|
|
|
, chusql-core-engine
|
|
|
|
|
|
, chusql-core-model
|
|
|
|
|
|
, chusql-interface
|
|
|
|
|
|
, containers
|
|
|
|
|
|
, crypton
|
|
|
|
|
|
, directory
|
|
|
|
|
|
, filepath
|
|
|
|
|
|
, memory
|
|
|
|
|
|
, network
|
|
|
|
|
|
, scientific
|
|
|
|
|
|
, text
|
|
|
|
|
|
, time
|
|
|
|
|
|
, vector
|
|
|
|
|
|
default-language: Haskell2010
|
|
|
|
|
|
ghc-options: -Wall
|
|
|
|
|
|
|
|
|
|
|
|
executable chusql-server
|
|
|
|
|
|
main-is: Main.hs
|
|
|
|
|
|
hs-source-dirs: app
|
|
|
|
|
|
build-depends: base
|
2026-10-03 02:17:46 +08:00
|
|
|
|
, aeson
|
2026-10-02 14:53:02 +08:00
|
|
|
|
, chusql-core-engine
|
|
|
|
|
|
, chusql-core-model
|
|
|
|
|
|
, chusql-interface
|
|
|
|
|
|
, chusql-server
|
|
|
|
|
|
, containers
|
|
|
|
|
|
, filepath
|
|
|
|
|
|
, text
|
|
|
|
|
|
, time
|
|
|
|
|
|
default-language: Haskell2010
|
|
|
|
|
|
ghc-options: -Wall -threaded
|
|
|
|
|
|
-- 运行期找 libchusql_core_storage.so:$ORIGIN 让二进制与动态库同目录即可
|
|
|
|
|
|
if os(linux)
|
|
|
|
|
|
ld-options: -Wl,-rpath,$ORIGIN
|
|
|
|
|
|
if os(osx)
|
|
|
|
|
|
ld-options: -Wl,-rpath,@loader_path
|
|
|
|
|
|
|
|
|
|
|
|
test-suite chusql-server-test
|
|
|
|
|
|
type: exitcode-stdio-1.0
|
|
|
|
|
|
main-is: Spec.hs
|
|
|
|
|
|
hs-source-dirs: test
|
|
|
|
|
|
build-depends: base
|
|
|
|
|
|
, aeson
|
|
|
|
|
|
, bytestring
|
|
|
|
|
|
, chusql-core-engine
|
|
|
|
|
|
, chusql-core-model
|
|
|
|
|
|
, chusql-interface
|
|
|
|
|
|
, chusql-server
|
|
|
|
|
|
, containers
|
|
|
|
|
|
, directory
|
|
|
|
|
|
, filepath
|
|
|
|
|
|
, hspec
|
|
|
|
|
|
, network
|
|
|
|
|
|
, text
|
|
|
|
|
|
, time
|
|
|
|
|
|
, vector
|
|
|
|
|
|
default-language: Haskell2010
|
|
|
|
|
|
ghc-options: -Wall -threaded
|