Skip to content

DB‐Layer Sync Agenda

Patrice Bender edited this page Apr 11, 2024 · 48 revisions

Please add new topics at the top of the document under Topic Pool

### Short Topic Title

- Duration:
- Responsible:
- Link:
- Decision:

Topic Pool

Things to discuss when "Next Sync" does not have enough items.


Next Sync

Enabling On-Premise Database Connections through the Cloud with New Proxy Configuration Feature in @cap-js/postgres

Federico has successfully developed a solution for connecting to an on-premise database through the cloud by using a socket as a proxy. This approach involves redirecting the database connection to the Cloud Connector via a destination service, thereby reaching the on-premise system without directly involving the Postgres connector. Federico suggests integrating the ability to specify a destination in the database configuration into the @cap-js/postgres package. This would allow the pg client to initiate a socket connection based on the destination, rather than the standard hostname and port configuration.

very deeply nested expand queries as result of a PUT

see test 'PUT delete deep composition must not affect other same level composition in response' in runtime: cds/tests/_runtime/odata/__tests__/integration/complexAssociationsAndCompositions.test.js

→ A huge CQN is produced which leds to a hung up SQL Service, probably due to cqn4sql not terminating.

deep search

https://github.com/cap-js/cds-dbs/pull/252

  • Duration: 10 min
  • Responsible: Johannes

quoted mode

  • Duration: 10 min
  • Responsible: Johannes

Affected rows for deep

https://github.com/cap-js/cds-dbs/pull/520/files

  • Duration: 10 min
  • Responsible: Johannes

SFlight performance

Mail by Daniel

  • Duration: 10 min
  • Responsible: Johannes

2024-03-18

Support deep delete for queries like:

await cds.delete({ ref: [E.name], as: 'a' }).where(`value1 < 10`)
         .where({ 'not exists': cds.read(E, ['1']).alias('b').where('b.value1 = a.value1 AND b.value2 >= 10')})
  • Duration: 10 min
  • Responsible: Johannes
  • Link: snow ticket
  • Decision: Children should be deleted; Johannes will build a test for this. Was this supported before?? → https://github.com/cap-js/cds-dbs/pull/571 → according to issue creator, it worked before.

array of - who normalizes to []?

At the moment, this is done by the protocol adapter. However, that should be solved by the database. Can compiler generate a default value?

AFC Incoming Issues

  • Duration:
  • Responsible:
  • Link:
  • Decision:

use compilers keywords via cds (cds needs to export postgres and hana keywords like it does for sqlite)

Parameterized views

  • Duration: 30 min
  • Responsible: Bob & Patrice
  • Link: https://github.com/cap-js/cds-dbs/pull/488
  • Decision:
    • Compiler removes beta and allows views with params
    • document limitations in runtimes (Write operations, Deep operations...) → Johannes
    • sync with java RT: what do they support? → also sync on documentation → Patrice
    • alternative for sqlite? → Bob
    • → We could use session variables for each view and use them whereever the parameters are followed

Whats the state of Deep UPDATE loses track of relationships

2024-03-11

search with aggregations

make cds.infer work with joins

How to handle postgres issues

  • Duration: 5 min
  • Responsible: all
  • Decision:
    • We can't help everyone in every scenario, it is okay if issues stay open for a while.
    • during reCAP we can suggest a technical committee, including externals especially for PG. → Meet regularly and sync on community, features, issues, … → Patrice

reCAP Session(s)?

  • Duration: 5 min
  • Responsible: all
  • Decision: Mail to Sebastian → we want a 40 minute timeslot for promoting the new dbs → Patrice

Add pool configuration to /docs?

  • Find better default max pool size for postgres and align with other dbs
  • Update troubleshooting docs re pool timeout error messages, Steffen / Sebastian

2024-03-04

Automatically keep dependencies up2date

Clone this wiki locally