Remove 32K limit from queries with collection parameters 28/134128/7
authordanielhanrahan <daniel.hanrahan@est.tech>
Thu, 13 Apr 2023 20:01:58 +0000 (21:01 +0100)
committerdanielhanrahan <daniel.hanrahan@est.tech>
Mon, 24 Apr 2023 09:59:20 +0000 (10:59 +0100)
commit796c4dcf56a1aafc58773bedc82ddef5242a108c
treec378b9326c7f0a097a26db5fdc202353e55409e7
parent2de9389a61f0feb37f0bcc22d6269e36dcfbd47c
Remove 32K limit from queries with collection parameters

SQL queries taking collection parameters currently create a seperate
query parameter for each collection element. There is a limit of
around 2^15 (32,768) query parameters.
Postgres DB natively supports array types, in which the whole array
is transmitted in binary as a single parameter. Changing queries to
use arrays removes the 32K limit on queries.

- Add support for Postgres arrays to queries
- Change repository methods to use arrays, and provide overloaded
  versions taking collection parameters
- Update tests to reflect 32K limit being lifted

Issue-ID: CPS-1573
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I64f2aeaedbe54bfe12e3079cba0f2216759142c3
cps-ri/src/main/java/org/onap/cps/spi/impl/CpsModulePersistenceServiceImpl.java
cps-ri/src/main/java/org/onap/cps/spi/repository/AnchorRepository.java
cps-ri/src/main/java/org/onap/cps/spi/repository/FragmentNativeRepository.java [deleted file]
cps-ri/src/main/java/org/onap/cps/spi/repository/FragmentNativeRepositoryImpl.java [deleted file]
cps-ri/src/main/java/org/onap/cps/spi/repository/FragmentRepository.java
cps-ri/src/main/java/org/onap/cps/spi/repository/SchemaSetRepository.java
cps-ri/src/main/java/org/onap/cps/spi/repository/YangResourceRepository.java
cps-ri/src/test/groovy/org/onap/cps/spi/impl/CpsModulePersistenceServiceSpec.groovy
integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/CpsAdminServiceLimits.groovy
integration-test/src/test/groovy/org/onap/cps/integration/performance/cps/CpsDataServiceLimits.groovy