PackagePackagetypeA library you install and call yourself.See every one →What this type is →by SAPby SAPoriginPublished by SAP itself. A visible facet, never an input to a reading — a dormant official plugin reads exactly like a dormant independent one.See every one →

@cap-js/db-service

The base every CAP database service is built on: the shared query translation and pooling that SQLite, PostgreSQL and HANA specialise rather than reimplement.

Facts

Latestv3.1.2ReleasedLast pushLicenceApache-2.0

Where it sits

Lives in
Provides
Database connectorsCAPDatabase connectorscapabilityConnecting an application’s data model and queries to a database, including the differences in supported queries, types and schema management between database implementations. Changing an existing schema belongs to [schema evolution](capability:schema-evolution).
Part of
@cap-js/cds-dbs@cap-js/cds-dbsartifactThe monorepo behind CAP's SQL database services — the base service, SQLite, PostgreSQL and HANA all live here, which is why they version together.
Flavors
Requires
@sap/cds^10@sap/cdsartifactThe peer range, as published.

Who is behind it

SAP Cloud Application Programming ModelSAP Cloud Application Programming ModelOrganisationMaintains this
In the atlas: maintains 34
@cap-js
maintainerJohannes VogtPersonContributes to this
In the atlas: maintains 1, contributes to 28, wrote 10
@Akatuoro
Arley Triana MorinPersonContributes to this
In the atlas: contributes to 9, wrote 1
@arleytm
Andreas SchmidtPersonContributes to this
In the atlas: contributes to 6
@aschmidt93
Bob den OsPersonContributes to this
In the atlas: contributes to 13
@BobdenOs
Andre MeyeringPersonContributes to this
In the atlas: contributes to 10
@bugwelle
CAP BotPersonContributes to this
In the atlas: contributes to 5
@cap-bots
Christian GeorgiPersonContributes to this
In the atlas: maintains 1, contributes to 53
@chgeo
Christian SchüringsPersonContributes to this
In the atlas: contributes to 25
@cschuerings
Daniel HutzelPersonContributes to this
In the atlas: contributes to 32, wrote 3
@danjoa
Daniel O'GradyPersonContributes to this
In the atlas: contributes to 10
@daogrady
35 contributors

Before choosing this

Conditions

LicenceSAP Developer License Agreement 3.2 CAP§ 1from Database connectorsA covered CAP application uses a connector to copy or persist SAP product data in a non-SAP database product.
  • § 1 License. Productive customer applications are limited to SAP BTP or another SAP-licensed platform, and mass extraction to a non-SAP product is restricted except where solely required for SAP interoperability.

The connector itself does not decide the licence boundary. Section 1 makes the destination and purpose of extraction relevant, including the scoped exception for interoperability with an SAP product.

SAP Developer License Agreement 3.2 CAP →

What it declares

Every artifact

Type
Package
Origin
By SAP

As a package

Declared for
^10
Where it runs
does not say
Distributed through
does not say

Connections2

Install

npm add @cap-js/db-service

Derived from the package name. No recipe recorded; the README has the configuration.

README

quoted from cap-js/cds-dbs under Apache-2.0, read
cap-js/cds-dbs/db-service/README.mdOn GitHub

CDS base database service

Welcome to the base database service for SAP Cloud Application Programming Model Node.js. This service forms the core of all supported databases and is the base of our streamlined database architecture.

Find documentation at https://cap.cloud.sap/docs/guides/databases

Support

This project is open to feature requests/suggestions, bug reports etc. via GitHub issues.

Contribution

Contribution and feedback are encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our Contribution Guidelines.

Versioning

This library follows Semantic Versioning. All notable changes are documented in CHANGELOG.md.

Code of Conduct

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone. By participating in this project, you agree to abide by its Code of Conduct at all times.

Licensing

Copyright 2024 SAP SE or an SAP affiliate company and cds-dbs contributors. Please see our LICENSE for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available via the REUSE tool.

Apache-2.0, read

History

Latest

v3.1.2

Fixes 4

Notes
Fixed
  • allow path expressions in infix filter of expands (#1755) (cbe4f65)
  • cqn2pql: handle parameterized views in from_args (#1738) (8f4dc35)
  • Primary keys were not resolved for localized. entities (#1749) (410eef8)
  • recurse into xpr nodes in collectDistanceTo (#1746) (c5dc20d)
  1. v3.1.1

    Fixes 1, Performance 2

    Notes
    Fixed
    • cqn4sql: correctly expand not exists <assoc> alongside a null-check branch (#1736) (bfb0a01)
    Performance Improvements
    • do not use ranked search for static values (#1727) (33fb36b)
    • if explicit order by is specified, do not add ranked search as a secondary clause (33fb36b)
  2. v3.1.0

    Features 1, Fixes 6

    Notes
    Added
    Fixed
    • cqn4sql: reject overly nested query expressions instead of crashing (#1712) (29a45b7)
    • don't throw when releasing/destroying a resource that's no longer in the pool (#1696) (5d3b277)
    • exclude cds.Vector from wildcard select expansion (#1716) (398bacc)
    • INSERT.from(SELECT) used non-existent value (#1565) (fd98844)
    • pool: recover lost connection after stale acquire timeout (#1724) (cf6af99)
    • pql groupby path expression (#1700) (82b5e03)
  3. v3.0.1

    Fixes 2

    Notes
    Fixed
  4. v3.0.0dated in the atlas

    Breaking 1, Features 3, Fixes 8

    Notes
    ⚠ BREAKING CHANGES
    Added
    Fixed
    • builtin-pool: ignore released/destroyed resource if already draining (#1631) (de37489)
    • calc element with exists through association (#1608) (0d24b28)
    • InsertResult for keyless entities (#1617) (2efe922)
    • InsertResult is broken if entity has assoc keys (#1616) (9925d22)
    • query results fixed gaps (#1625) (5d60e7f)
    • resolve $self in infix filters with path expressions and nested exists (#1604) (baa3528)
    • resolve nested assoc-into-assoc inline path resolution (#1602) (ec6fba0)
    • we can't return keys for INSERT.from(SELECT.from(...)) (#1622) (ccc9f88)
  5. v2.11.0

    Features 1

    Notes
    Added
    • supersede potentially compromised release (#1590) (3be4044)
  6. v2.10.1

    Fixes 1

    Notes
    Fixed
    • supersede potentially compromised release (#1589) (bd73895)
  7. v2.10.0

    Features 3, Fixes 3

    Notes
    Added
    Fixed
  8. v2.9.0

    Features 2, Fixes 7

    Notes
    Added
    Fixed
  9. v2.8.2

    Fixes 5

    Notes
    Fixed
  10. v2.8.1

    Fixes 1

    Notes
    Fixed
  11. v2.8.0

    Features 1, Fixes 1

    Notes
    Added
    Fixed
  12. v2.7.0

    Features 1, Fixes 2

    Notes
    Added
    Fixed
  13. v2.6.0

    Features 2, Fixes 2

    Notes
    Added
    • flattening: allow flattening of n-ary structures in list (#1337) (7ec18f2)
    • flattening: allow flattening of structures with exactly one leaf (7ec18f2)
    Fixed
    • @cds.search: properly exclude an association from being searched (#1385) (9ed4245)
    • tree table with expand (#1363) (bdad412)
  14. v2.5.1

    Fixes 1

    Notes
    Fixed
  15. v2.5.0

    Features 2, Fixes 3

    Notes
    Added
    • make hana server version accessible to sub classes (#1263) (a3ccc3e)
    • sets default to hana cloud if server version cannot be detected (a3ccc3e)
    Fixed
    • @cds.search: no duplicates for search along to-many paths (#1341) (5c5f4fb)
    • associations in [@cds](https://github.com/cds).search are additive (#1355) (ea931cb)
    • set proper element link for path into fk (#1344) (9f365d3)
  16. v2.4.0

    Features 2, Fixes 6

    Notes
    Added
    • tuple expansion: allow structs with exactly one element/fk in comparison (#1291) (75ea826)
    • cds.db.foreach uses real object mode streaming (#1318) (cd28b53)
    Fixed
    • assoc2join: target side access detection (#1282) (6f9befa)
    • cqn4sql: only consider own property [@cds](https://github.com/cds).persistence.skip (#1324) (bd1f52f)
    • exists: do not loose custom where (#1322) (644918c)
    • arithmetic operators can only be used with scalar operands (#1307) (d58d335)
    • detect path expression inside nested xpr after exists (#1292) (852d915), closes #1225
    • reject comparison of two empty structures (#1306) (d97304d)
  17. v2.3.0

    Features 2, Fixes 4

    Notes
    Added
    Fixed
    • count subquery for queries with only expand columns (#1264) (097a332)
    • cqn4sql: multiple path expressions in where clause (#1272) (9b35366)
    • hierarchy: only modify where if existent (#1265) (eaca855)
    • TypeError for empty list (#1269) (f262718)
  18. v2.2.0

    Features 1

    Notes
    Added
  19. v2.1.2

    Fixes 1

    Notes
    Fixed
    • Hierarchy View support for ancestors/descendants requests (#1241) (1ccb8b7)
  20. v2.1.1

    Fixes 2

    Notes
    Fixed
  21. v2.1.0

    Features 1

    Notes
    Added
  22. v2.0.1

    Changed 1, Fixes 4

    Notes
    Fixed
    Changed
  23. v2.0.0dated in the atlas

    Breaking 1, Changed 1, Fixes 4

    Notes
    ⚠ BREAKING CHANGES
    • update peer dependency to @sap/cds@9 (#1178)
    Fixed
    Changed
  24. v1.20.0

    Features 1, Fixes 3

    Notes
    Added
    Fixed
    • expand: proper subquery from construction (#1126) (e343e79), closes #1114 #1112
    • Improved support for special characters in column names (#1141) (ba04697)
    • infer: for localized queries, use localized.<entity> as _target (#1140) (b08707b)
  25. v1.19.1

    Fixes 1

    Notes
    Fixed
    • scoped queries: wrap filter in xpr if needed (#1105) (8f44df3)
  26. v1.19.0

    Features 2, Fixes 2

    Notes
    Added
    Fixed
  27. v1.18.0

    Features 2, Fixes 3

    Notes
    Added
    • query modifiers on expand ref are propagated to subquery (#1049) (39fbadf)
    • support query modifiers at leaf of from ref (#1050) (500a666)
    Fixed
    • <expand>[@odata](https://github.com/odata).count queries (#966) (6607a84)
    • align debug log format of stmt values (#1052) (93af0fe)
    • expand + groupby may return null, dont attach .element (#1042) (cf2e0a2)
  28. v1.17.2

    Fixes 1

    Notes
    Fixed
    • replace polynomial regex with simple string op (#1015) (3fe6e6b)
  29. v1.17.1

    Fixes 2

    Notes
    Fixed
    • deep update resulting in deep delete of sub-element (#1006) (ef2f817)
    • nested $self reference to other column (#1009) (41a76d8)
  30. v1.17.0

    Features 1, Fixes 7

    Notes
    Added
    Fixed
    • UPDATE: no assocs in list which matches subquery results (4bcb88a)
    • UPDATE: only perform subselect matching if necessary (#989) (4bcb88a)
    • contains not evaluting to bool (#980) (760484b)
    • nested ternary in calculated element (#981) (5f4a1fe)
    • reject virtual elements in all expressions (#972) (d0c949d)
    • starts endswith for null values (#975) (f0330bc)
    • use "valuevalue" as internal column name for UPSERT (#976) (8c86b86)
  31. v1.16.2

    Fixes 1

    Notes
    Fixed
  32. v1.16.1

    Fixes 5

    Notes
    Fixed
  33. v1.16.0

    Changed 1, Fixes 4

    Notes
    Changed
    • single column in search function is also treated as CQN list (#898) (f6593e6)
    Fixed
    • foreignKeys aspect on association may not be set (#903) (732a2f3)
    • insert on uuid with default value (#911) (545e489)
    • session_context, current_date, current_time and current_timestamp are treated as SAP HANA functions and are callable in upper case (#910) (50ebd10)
    • wrap values in array if it is object, so it can be spreaded (#882) (11f3e8b)
  34. v1.15.1

    Fixes 2

    Notes
    Fixed
  35. v1.15.0

    Features 1, Fixes 2

    Notes
    Added
    • enable path expressions in infix filter after exists predicate (#875) (7e50359)
    Fixed
    • search: ignore invalid path expressions inside @cds.search (#849) (250edd5)
    • nested exists wrapped in xpr (7e50359)
  36. v1.14.1

    Fixes 3

    Notes
    Fixed
    • deep delete for views (#496) (82154ef)
    • properly support default, cds.on.insert and cds.on.update for UPSERT queries (#425) (338e9f5)
    • SELECT cds.hana.BINARY (#870) (33c3ebe)
  37. v1.14.0

    Features 1, Fixes 2

    Notes
    Added
    • assoc-like calc elements after exists predicate (#831) (05f7d75)
    Fixed
    • Improved behavioral consistency between the database services (#837) (b6f7187)
    • Treat assoc-like calculated elements as unmanaged assocs (#830) (cbe0df7)
  38. v1.13.0

    Features 1, Fixes 3

    Notes
    Added
    Fixed
    • deep-queries: properly return insert result (#803) (8d800e2)
    • dont use virtual key for UPDATE … where (&lt;key&gt;) in <subquery> (#800) (d25af70)
    • reject all path expressions w/o foreign keys (#806) (cd271a8)
  39. v1.12.1

    Fixes 5

    Notes
    Fixed
    • deep groupby expand queries (#768) (5423cf3)
    • deep: prevent false unique constraint errors and combine delete queries (#781) (01de95f)
    • logging: from changes in @sap/cds (#791) (1e8bf06)
    • prepend aliases to refs within function args in on conditions (#795) (9b34314), closes #779
    • prevent $search queries from throwing (#772) (cdf4d37)
  40. v1.12.0

    Changed 1, Fixes 3

    Notes
    Fixed
    Changed
  41. v1.11.0

    Features 1, Changed 1, Fixes 1

    Notes
    Added
    • search: enable deep search with path expressions (#590) (e9e9461)
    Changed
    • search interprets only first search term instead of raising an error (#707) (0b9108c)
    Fixed
    • optimize foreign key access for expand with aggregations (#734) (77b7978)
  42. v1.10.3

    Fixes 2

    Notes
    Fixed
    • rewrite assoc chains if intermediate assoc is not fk (#715) (3873f9a)
    • Support expand with group by clause (#721) (90c9e6a)
  43. v1.10.2

    Fixes 1

    Notes
    Fixed
  44. v1.10.1

    Fixes 1

    Notes
    Fixed
    • Only check first row if no changes required (#552) (39b0b85)
  45. v1.10.0

    Features 1

    Notes
    Added
  46. v1.9.2

    Fixes 1

    Notes
    Fixed
    • do not prepend table alias to session variables (#656) (24e8b19)
  47. v1.9.1

    Fixes 1

    Notes
    Fixed
    • dont mistake non-key access with foreign key (#642) (2cd2349)
  48. v1.9.0

    Features 1, Changed 1, Fixes 9

    Notes
    Added
    Fixed
    • order by: reject non-fk traversals of own columns in order by (#599) (3288d63)
    • Align all quote functions with @sap/cds-compiler (#619) (42e9828)
    • assign artificial alias if selecting from anonymous subquery (#608) (e1a7711)
    • avoid spread operator (#630) (a39fb65)
    • flat update with arbitrary where clauses (#598) (f108798)
    • improved = and != with val null (#626) (cbcfe3b)
    • Improved placeholders and limit clause (#567) (d5d5dbb)
    • multiple result responses (#602) (bf0bed4)
    • only consider persisted columns for simple operations (#592) (6e31bda)
    Changed
  49. v1.8.0

    Features 2, Fixes 6

    Notes
    Added
    Fixed
    • expand: Only accept on structures, assocs or table aliases (#551) (3248512)
    • order by: for localized sorting, prepend table alias (#546) (a273a92)
    • etag with stream_compat (#562) (b0a3a41)
    • exclude cds.LargeBinary from wildcard expansion (#577) (6661d63)
    • Reduce insert queries for deep update (#568) (55e5114)
    • Reduced count query complexity when possible (#553) (3331f02)
  50. v1.7.0

    Features 5, Fixes 6

    Notes
    Added
    • also support lowercase matchespattern function (#528) (6ea574e)
    • forUpdate and forShareLock (#148) (99a1170)
    • hana: drop prepared statements after end of transaction (#537) (b1f864e)
    • hana: Add views with parameters support (#488) (3790ec0)
    • orderby: allow to disable collations with @cds.collate: false (#492) (820f971)
    Fixed
    • cqn2sql: Smart quoting of columns inside UPSERT rows (#519) (78fe10b)
    • Getting rid of quirks mode (#514) (c9aa6e8)
    • issue with reused select cqns (#505) (916d175)
    • joins without columns are rejected (#535) (eb9beda)
    • search: dont search non string aggregations (#527) (c87900c)
    • search: search on aggregated results in HAVING clause (#524) (61d348e)
  51. v1.6.4

    Fixes 4

    Notes
    Fixed
    • cqn2sql: smart quoting also for update statements (#475) (1688f77)
    • INSERT with first undefined value (#484) (c21e3c4)
    • Allow SELECT.join queries again with full infer call (#469) (5329ec0)
    • optimize foreign key access in a join relevant path (#481) (5e30de4), closes #479
  52. v1.6.3

    Fixes 3

    Notes
    Fixed
    • cqn4sql: be robust against $self.<element>; references (#471) (2921b0e)
    • infer: Always use srv.model (#451) (41cf4a2)
    • Throw 'new Error' instead of string on $search with multiple words (#472) (51be94d)
  53. v1.6.2

    Fixes 6

    Notes
    Fixed
    • ** infer:** unique alias for scoped subqueries (#465) (5dbaa8e)
    • Allow only for array of arrays as data for plain SQL (#449) (22e1c43)
    • dont insert structured elements (#461) (f3f688d)
    • ignore virtual keys in UPSERT(#463) (49adbf3)
    • INSERT entries containing undefined values (#453) (d3aad75)
    • select without columns from unknown entity (#466) (eb857de)
  54. v1.6.1

    Fixes 1

    Notes
    Fixed
    • consider leafs in ref with filter (→ .id) for alias calculation (#440) (3e2ef24)
  55. v1.6.0

    Features 5, Fixes 13

    Notes
    Added
    • Add fallback for @cap-js/hana for unknown entities (#403) (e7dd6de)
    • SELECT returns binaries as Buffers (#416) (d4240d5)
    • SELECT returns LargeBinaries as streams unless feature flag "stream_compat" is set (#251) (8165a4a)
    • strict mode to validate input for INSERT, UPDATE and UPSERT (#384) (4644483)
    • Support Readable Streams inside INSERT.entries (#343) (f6faf89)
    Fixed
    • cqn4sql: only transform list if necessary (#438) (8a7ec65)
    • always generate unique subquery aliases (#435) (c875b7d)
    • consider list in from.where (#429) (3288e94)
    • cqn2sql: $user.locale refs (#431) (ec55276)
    • cqn4sql: expand structured keys in on-conditions (#421) (b1e0677)
    • Do not generate UUIDs for association keys (#398) (9970e14)
    • enumeration issue with session context in @cap-js/hana (#399) (8106a20)
    • make @cap-js/sqlite work with better-sqlite3@9.3.0 (#422) (44c0a59)
    • pass context of navigation for list within infix filter (#433) (0ca077f)
    • Restore former deep upsert behavior / error (#406) (284b1e3)
    • Skip virtual fields on UPSERTs (#405) (1a05dcb)
    • sqlite date string compatibility parsing only for valid dates (#410) (2a8bb2d), closes #409
    • UPSERT for @cap-js/hana for entities with multiple keys (#418) (9bbac6e)
  56. v1.5.1

    Fixes 2, Performance 1

    Notes
    Fixed
    • cqn2sql: supporting calculated elements (#387) (2153fb9)
    • do not rely on db constraints for deep delete (#390) (9623af6)
    Performance Improvements
  57. v1.5.0

    Features 1, Fixes 2

    Notes
    Added
    • Improved connection pool for HANAService (#349) (1c284e6)
    Fixed
    • localized: refs in subqueries in from are translated (#366) (cfe4897)
    • wrong odata count in filter with groupby (#352) (70690a1)
  58. v1.4.0

    Features 3, Fixes 5

    Notes
    Added
    • UPDATE/DELETE: Enable path expressions for improved data manipulation (#325) (94f0776)
    • temporal data: add time slice key to conflict clause (#249) (67b8edf)
    • use place holders for update and delete (#323) (81472b9)
    Fixed
    • align time function behavior (#322) (c3ab40a)
    • calculated elements: path expressions in func.args within xpr (#321) (cee25e3)
    • Disconnect db service on shutdown (#327) (8471bda)
    • non-fk access in filter conditions are properly rejected (#336) (4c948fe)
    • search: check calculated columns at any depth (#310) (8fd6153)
  59. v1.3.2

    Fixes 1

    Notes
    Fixed
    • preserve $count for result of SELECT queries (#280) (23bef24)
  60. v1.3.1

    Fixes 1

    Notes
    Fixed
    • Error message for search with multiple arguments. #265
  61. v1.3.0

    Changed 2, Fixes 4

    Notes
    Changed
    • INSERT.into(...).rows/values() is not allowed anymore without specifying .columns(...). #209
    • Deep deletion uses correlated subqueries instead of materializing the to be deleted object before. #212
    Fixed
    • Various fixes for calculated elements on read. #220 #223 #233
    • Don't release to pool connections twice. #243
    • Syntax error in matchesPattern function. #237
    • SELECTs with more than 50 columns does not return null values. #238 #261
  62. v1.2.1

    Fixes 1

    Notes
    Fixed
    • Association expansion in infix filters. #213
  63. v1.2.0

    Features 3, Fixes 7

    Notes
    Added
    • support for calculated elements on read. #113 #123
    • support for managed associations with default values. #193
    • introduced new operator == which translates to IS NOT DISTINCT FROM. #164
    Fixed
    • resolved a type error which occured in some cases for deeply nested expands. #173
    • path expression traversing non-foreign-key fields within infix filters are now properly rejected for exists predicates. #181
    • CQL functions: In the args of the concat function an xpr is now wrapped in parentheses. #196
    • Make UPDATE and ofarray typed column compatible. #184
    • Ensure that INSERT with rows always inserts into the correct column. #193
    • Allow DateTime columns to compare against their returned value. #206
    • Deep Insert using backlink associations as key #199.
  64. v1.1.0

    Fixes 5

    Notes
    Fixed
    • UPDATE with path expressions do not end up in a dump anymore. Instead, a proper error message is emitted.
    • UPDATE is only noop if it does not include an element annotated with @cds.on.update.
    • SELECT with '*' that is not expanded creates now a clearer error when the column name is required.
    • SELECT with plain SQL statements will return correct result regardless of casing.
    • View resolving for streams.
  65. v1.0.1

    Fixes 2

    Notes
    Fixed
    • Paths addressing a column of the query via $self.<column> in group by / order by, having or where are now correctly substituted.
    • Mapping for OData average function to ANSI SQL compliant avg function.
  66. v1.0.0

    Other 1

    Notes
    • Initial Release
120,642downloads per week, npm
Weekly downloads for @cap-js/db-service26 complete calendar weeks from 2026-04-20 to 2026-10-18; the latest total is 120642.20 Apr – 26 Apr: 265,43427 Apr – 3 May: 247,8824 May – 10 May: 272,37611 May – 17 May: 275,30318 May – 24 May: 279,17225 May – 31 May: 252,8711 Jun – 7 Jun: 211,6218 Jun – 14 Jun: 277,03615 Jun – 21 Jun: 277,00922 Jun – 28 Jun: 266,01129 Jun – 5 Jul: 268,5316 Jul – 12 Jul: 267,56113 Jul – 19 Jul: 273,72020 Jul – 26 Jul: 274,40827 Jul – 2 Aug: 259,9793 Aug – 9 Aug: 258,79710 Aug – 16 Aug: 208,11317 Aug – 23 Aug: 242,27524 Aug – 30 Aug: 249,73931 Aug – 6 Sept: 192,6267 Sept – 13 Sept: 162,75014 Sept – 20 Sept: 192,01621 Sept – 27 Sept: 233,75028 Sept – 4 Oct: 238,1245 Oct – 11 Oct: 209,46612 Oct – 18 Oct: 120,642
Database connectors
  1. SAP HANA CloudManaged SAP HANA database service on BTP
  2. PostgreSQL on SAP BTP, hyperscaler optionManaged PostgreSQL from the hyperscaler via a BTP service binding
  3. com.sap.cds:cds-feature-hanaSAP HANA Cloud datasource for CAP Java applications
  4. com.sap.cds:cds-feature-jdbcJDBC runtime for H2 and SQLite in CAP Java
  5. com.sap.cds:cds-feature-postgresqlPostgreSQL datasource for CAP Java applications
  6. com.sap.cds:cds-services-bomMaven bill of materials pinning CAP Java module versions
  7. @cap-js/hanaSAP HANA database service for CAP
  8. @cap-js/postgresPostgreSQL database service for CAP
  9. @cap-js/sqliteSQLite database service for CAP, in memory during development
  10. cap-postgres-btp-connectivityTunnels CAP Node.js to a private PostgreSQL via Cloud Connector
  11. cds-mongodbMongoDB as a CAP database service through Mongoose
  12. @cds-pgroll/postgresCLI for DROP and RENAME schema changes beside @cap-js/postgres
  13. @neoimpulse/cap-js-restore-model-defined-typesCAP plugin casting read values back to CDS model types
  14. @quadrio/cds-db2DB2 adapter for CDS
  15. @sap/cds-hanaDatabase adapter for SAP HANA in CAP
  16. @sap/cdsCAP Node.js runtime
  17. @sap/hana-clientSAP's Node.js driver for SAP HANA
  18. SAP HANASAP's relational database platform, on-premise and in HANA Cloud
  19. cds-pgPostgreSQL adapter for SAP CDS from the SAP Mentors community
  20. cap-snowflakeCAP database adapter for Snowflake with OData V4 support
  21. cds-mysqlMySQL and MariaDB database adapter for CAP

Details

Sources5
npm registrydiscovered herechecked
The discovery passdiscovered herechecked
npm registry, @cap-js/db-serviceversion, releases, installschecked
github.com/git+https://github.com/cap-js/cds-dbs.gittree, pushes, contributors, CIchecked
db-service/README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
declared for^10
latestv3.1.2
first release
releases and cadence71, ~12d median
discovered vianpm registry, The discovery pass
first seen in the atlas
ecosystem and domaincap, data-and-persistence
Flavors1
Node.js
“Welcome to the base database service for [SAP Cloud Application Programming Model](https://cap.cloud.sap) Node.js. This service forms the core of all supported databases and is the base of our streamlined database architecture.” — cap-js/cds-dbs — db-service READMEchecked
Contributors35
History in the atlas7
  1. The link named the root of a monorepo, so every crawl read the repository README — 'This is a monorepo for our SQL Database Services' — and filed it as this package's own: data/crawled/readmes/cap-js-db-service.md is that root README today. npm declares the directory as 'main/db-service', which the crawler cannot use as a path, so the subfolder URL is where it has to come from.
  2. The entry named no registry page, so the only address it offered was a repository it shares with three other packages.
  3. The repository's README states the relation: the four subfolders are parts of one monorepo, each published on its own.
  4. Re-read on the package's own README in the repository — the document the subfolder link now resolves to — which carries the second sentence about forming the core of all supported databases as well.
  5. Typed cds-plugin by placement, which defaults every candidate to that. It is not one.
  6. The base every CAP database service is built on: the shared query translation and pooling that SQLite, PostgreSQL and HANA specialise rather than reimplement.
  7. First seen.
For your agent
Ref
artifact:cap-js-db-service
JSON
/artifacts/cap-js-db-service.json
MCP
Connecting an agent