1.12.0 (2024-07-25)
Added
UPDATE/DELETE: Enable path expressions for improved data manipulation (#325) (94f0776)- Add fallback for @cap-js/hana for unknown entities (#403) (e7dd6de)
- Add missing
funccqn structures (#629) (9d7539a) - Add simple queries feature flag (#660) (3335202)
- also support lowercase matchespattern function (#528) (6ea574e)
- Dataset streams (#136) (006b1b4)
- Enable native HANA fuzzy search for
searchfunction queries (#707) (0b9108c) - forUpdate and forShareLock (#148) (99a1170)
- hana: drop prepared statements after end of transaction (#537) (b1f864e)
- Improved connection pool for HANAService (#349) (1c284e6)
- Odata built-in query functions (#558) (6e63367)
- orderby: allow to disable collations with @cds.collate: false (#492) (820f971)
- Reduce distinct from usage (#157) (d5bcec9)
- search: enable deep search with path expressions (#590) (e9e9461)
- 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,UPDATEandUPSERT(#384) (4644483) - support HANA stored procedures (#542) (52a00a0)
- Support Readable Streams inside INSERT.entries (#343) (f6faf89)
- temporal data: add time slice key to conflict clause (#249) (67b8edf)
- use place holders for update and delete (#323) (81472b9)
Fixed
- **
infer:** unique alias for scoped subqueries (#465) (5dbaa8e) cqn2sql: smart quoting also for update statements (#475) (1688f77)cqn4sql: be robust against$self.references (#471) (2921b0e)cqn4sql: only transform list if necessary (#438) (8a7ec65)expand: enable expanding from subquery (#709) (5ed03e5), closes #708expand: Only accept on structures, assocs or table aliases (#551) (3248512)INSERTwith firstundefinedvalue (#484) (c21e3c4)order by: for localized sorting, prepend table alias (#546) (a273a92)order by: reject non-fk traversals of own columns in order by (#599) (3288d63)- A test fix to test release please (#274) (a444f78)
- add placeholder for string values (#733) (8136a45)
- Align all quote functions with @sap/cds-compiler (#619) (42e9828)
- align time function behavior (#322) (c3ab40a)
- Allow only for array of arrays as data for plain SQL (#449) (22e1c43)
- Allow SELECT.join queries again with full infer call (#469) (5329ec0)
- Always deduplicate columns (#151) (db5fbbe)
- always generate unique subquery aliases (#435) (c875b7d)
- another comment (#304) (efc7fe2)
- assign artificial alias if selecting from anonymous subquery (#608) (e1a7711)
- avoid spread operator (#630) (a39fb65)
- better-sqlite3@8.6.0 (#210) (3781159)
- broad expand with more than 50 columns (#261) (27e187f)
- calculated elements: path expressions in
func.argswithinxpr(#321) (cee25e3) - cds failing tests (#154) (d2bd96e)
- cds.infer: Always use srv.model (#451) (41cf4a2)
- comment (#296) (55dcf46)
- comment (#302) (f97d295)
- consider
listinfrom.where(#429) (3288e94) - cqn2sql: $user.locale refs (#431) (ec55276)
- cqn2sql: Smart quoting of columns inside UPSERT rows (#519) (78fe10b)
- cqn2sql: supporting calculated elements (#387) (2153fb9)
- cqn4sql: expand structured keys in on-conditions (#421) (b1e0677)
- deep delete for views without navigation (#434) (3ebc9c2)
- deep insert with backlinks as key in children (#199) (253ae0d)
- Disconnect db service on shutdown (#327) (8471bda)
- Do not generate UUIDs for association keys (#398) (9970e14)
- do not include assoc in INSERT columns (#203) (d78657f)
- do not prepend table alias to session variables (#656) (24e8b19)
- do not rely on db constraints for deep delete (#390) (9623af6)
- don't release to pool twice (#243) (4f2e8f1)
- Don't skip unknown columns in INSERT.columns (#189) (8503a9e)
- dont insert structured elements (#461) (f3f688d)
- dont mistake non-key access with foreign key (#642) (2cd2349)
- draft: deep update on a managed draft entity without change should update the
modifiedAtfield on the parent entity (#149) (e12577e) - enumeration issue with session context in @cap-js/hana (#399) (8106a20)
- etag with stream_compat (#562) (b0a3a41)
- exclude
cds.LargeBinaryfrom wildcard expansion (#577) (6661d63) - flat update with arbitrary where clauses (#598) (f108798)
- for aggregated
expandalways set explicit alias (#739) (53a8075), closes #708 - Getting rid of quirks mode (#514) (c9aa6e8)
- ignore virtual keys in UPSERT(#463) (49adbf3)
- improved
=and!=with valnullfor HANA and Postgres (#626) (cbcfe3b) - Improved placeholders and limit clause (#567) (d5d5dbb)
- INSERT entries containing undefined values (#453) (d3aad75)
- issue with reused select cqns (#505) (916d175)
- joins without columns are rejected (#535) (eb9beda)
- localized:
refs in subqueries infromare translated (#366) (cfe4897) - make @cap-js/sqlite work with better-sqlite3@9.3.0 (#422) (44c0a59)
- multiple result responses (#602) (bf0bed4)
- non-fk access in filter conditions are properly rejected (#336) (4c948fe)
- Only check first row if no changes required (#552) (39b0b85)
- only consider persisted columns for simple operations (#592) (6e31bda)
- optimize foreign key access for expand with aggregations (#734) (77b7978)
- optimize foreign key access in a join relevant path (#481) (5e30de4), closes #479
- order by icu OR with (best-effort) mapping OR without collation (#120) (67a317b)
- pass context of navigation for list within infix filter (#433) (0ca077f)
- preserve $count for result of SELECT queries (#280) (23bef24)
- quotations in vals (#754) (94d8e97)
- Reduce insert queries for deep update (#568) (55e5114)
- Reduced count query complexity when possible (#553) (3331f02)
- Restore former deep upsert behavior / error (#406) (284b1e3)
- Retain null columns for sqlite (#238) (dc21173)
- rewrite assoc chains if intermediate assoc is not fk (#715) (3873f9a)
- search: check calculated columns at any depth (#310) (8fd6153)
- search: dont search non string aggregations (#527) (c87900c)
- search: search on aggregated results in HAVING clause (#524) (61d348e)
- select without columns from unknown entity (#466) (eb857de)
- Skip virtual fields on UPSERTs (#405) (1a05dcb)
- sqlite date string compatibility parsing only for valid dates (#410) (2a8bb2d), closes #409
- Support expand with group by clause (#721) (90c9e6a)
- test PR to test release-please (#276) (2b28804)
- test PR to test release-please (#278) (97925df)
- Throw 'new Error' instead of string on $search with multiple words (#472) (51be94d)
- UPSERT for @cap-js/hana for entities with multiple keys (#418) (9bbac6e)
- URGENT: fix bug with missing ref.id || ref (#440) (3e2ef24)
- wrong odata count in filter with groupby (#352) (70690a1)
Changed
- generic-pool as real dep (#750) (b50c907)
- require
>= sap/cds-compiler@4.9(f4d09e2) - require
>= sap/cds@7.9.0(#627) (f4d09e2)
Performance Improvements
postgres: 1.9.2
1.9.2 (2024-07-25)
Changed
hana: 1.1.1