gitextract_rp34tsh_/ ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── RELEASING.md │ └── workflows/ │ ├── build-verify.yml │ ├── dockerhub-publish.yml │ ├── maven-central-publish.yml │ ├── oracle9i-central-publish.yml │ └── snapshot.yml ├── .gitignore ├── .mvn/ │ └── wrapper/ │ └── maven-wrapper.properties ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE ├── README.md ├── db2rest-api/ │ ├── api-rest/ │ │ ├── pom-oracle9i.xml │ │ ├── pom.xml │ │ ├── sample-config/ │ │ │ ├── application-db.yml │ │ │ ├── application-local.yml │ │ │ ├── application-mongo.yml │ │ │ ├── application-pg15.yml │ │ │ └── application-pg16.yml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── homihq/ │ │ │ │ └── db2rest/ │ │ │ │ ├── Db2restApplication.java │ │ │ │ ├── config/ │ │ │ │ │ ├── CorsFilterConfiguration.java │ │ │ │ │ ├── DbServiceConfiguration.java │ │ │ │ │ ├── RestApiConfiguration.java │ │ │ │ │ ├── WebMvcConfiguration.java │ │ │ │ │ └── jinjava/ │ │ │ │ │ └── DisabledExpressionTokenScannerSymbols.java │ │ │ │ ├── interceptor/ │ │ │ │ │ └── DatabaseContextRequestInterceptor.java │ │ │ │ └── rest/ │ │ │ │ ├── RdbmsRestApi.java │ │ │ │ ├── admin/ │ │ │ │ │ └── AdminController.java │ │ │ │ ├── create/ │ │ │ │ │ ├── BulkCreateController.java │ │ │ │ │ ├── BulkCreateRestApi.java │ │ │ │ │ ├── CreateController.java │ │ │ │ │ └── CreateRestApi.java │ │ │ │ ├── delete/ │ │ │ │ │ ├── DeleteController.java │ │ │ │ │ └── DeleteRestApi.java │ │ │ │ ├── meta/ │ │ │ │ │ ├── db/ │ │ │ │ │ │ ├── DbInfoController.java │ │ │ │ │ │ ├── DbInfoObject.java │ │ │ │ │ │ └── DbInfoRestApi.java │ │ │ │ │ └── schema/ │ │ │ │ │ ├── ColumnObject.java │ │ │ │ │ ├── SchemaController.java │ │ │ │ │ ├── SchemaRestApi.java │ │ │ │ │ ├── TableObject.java │ │ │ │ │ └── TableWithColumnsObject.java │ │ │ │ ├── read/ │ │ │ │ │ ├── CountQueryController.java │ │ │ │ │ ├── ExistsQueryController.java │ │ │ │ │ ├── FindOneController.java │ │ │ │ │ └── ReadController.java │ │ │ │ ├── rpc/ │ │ │ │ │ ├── FunctionController.java │ │ │ │ │ └── ProcedureController.java │ │ │ │ ├── sql/ │ │ │ │ │ └── SQLTemplateController.java │ │ │ │ └── update/ │ │ │ │ └── UpdateController.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ ├── banner.txt │ │ │ └── sql-templates/ │ │ │ ├── count.jte │ │ │ ├── delete-mssql.jte │ │ │ ├── delete.jte │ │ │ ├── exists-mssql.jte │ │ │ ├── exists.jte │ │ │ ├── find-one.jte │ │ │ ├── insert.jte │ │ │ ├── read-mssql.jte │ │ │ ├── read-ora-12.jte │ │ │ ├── read-ora-9.jte │ │ │ ├── read.jte │ │ │ ├── update-mssql.jte │ │ │ └── update.jte │ │ └── test/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── homihq/ │ │ │ └── db2rest/ │ │ │ ├── BaseIntegrationTest.java │ │ │ ├── DB2BaseIntegrationTest.java │ │ │ ├── DB2ContainerConfiguration.java │ │ │ ├── MariaDBBaseIntegrationTest.java │ │ │ ├── MariaDBContainerConfiguration.java │ │ │ ├── MsSQLServerContainerConfiguration.java │ │ │ ├── MySQLBaseIntegrationTest.java │ │ │ ├── MySQLContainerConfiguration.java │ │ │ ├── OracleBaseIntegrationTest.java │ │ │ ├── OracleContainerConfiguration.java │ │ │ ├── PostgreSQLBaseIntegrationTest.java │ │ │ ├── PostgreSQLContainerConfiguration.java │ │ │ ├── SQLiteBaseIntegrationTest.java │ │ │ ├── SQLiteContainerConfiguration.java │ │ │ ├── jdbc/ │ │ │ │ └── rest/ │ │ │ │ └── meta/ │ │ │ │ ├── db/ │ │ │ │ │ ├── DbInfoControllerIntegrationTest.java │ │ │ │ │ └── DbInfoControllerTest.java │ │ │ │ └── schema/ │ │ │ │ ├── SchemaControllerIntegrationTest.java │ │ │ │ └── SchemaControllerTest.java │ │ │ └── rest/ │ │ │ ├── DateTimeUtil.java │ │ │ ├── cors/ │ │ │ │ └── CorsTest.java │ │ │ ├── db2/ │ │ │ │ ├── Db2BulkCreateControllerTest.java │ │ │ │ ├── Db2CountControllerTest.java │ │ │ │ ├── Db2CreateControllerTest.java │ │ │ │ ├── Db2DeleteAllTest.java │ │ │ │ ├── Db2DeleteControllerTest.java │ │ │ │ ├── Db2JsonFileCreateControllerTest.java │ │ │ │ ├── Db2ProcedureControllerTest.java │ │ │ │ ├── Db2RSqlOperatorReadControllerTest.java │ │ │ │ ├── Db2ReadControllerDefaultFetchLimitTest.java │ │ │ │ ├── Db2ReadControllerTest.java │ │ │ │ ├── Db2TemplateControllerTest.java │ │ │ │ └── Db2UpdateControllerTest.java │ │ │ ├── docsSwagger/ │ │ │ │ ├── OpenApiSpecificationNoSecurityTest.java │ │ │ │ └── OpenApiSpecificationWithSecurityTest.java │ │ │ ├── mariadb/ │ │ │ │ ├── MariaDBBasicJoinControllerTest.java │ │ │ │ ├── MariaDBBulkCreateControllerTest.java │ │ │ │ ├── MariaDBCountControllerTest.java │ │ │ │ ├── MariaDBCreateControllerTest.java │ │ │ │ ├── MariaDBCrossJoinControllerTest.java │ │ │ │ ├── MariaDBDeleteAllTest.java │ │ │ │ ├── MariaDBDeleteControllerTest.java │ │ │ │ ├── MariaDBFunctionControllerTest.java │ │ │ │ ├── MariaDBInnerJoinControllerTest.java │ │ │ │ ├── MariaDBInnerJoinMultiTableControllerTest.java │ │ │ │ ├── MariaDBInnerSelfJoinControllerTest.java │ │ │ │ ├── MariaDBJsonFileCreateControllerTest.java │ │ │ │ ├── MariaDBProcedureControllerTest.java │ │ │ │ ├── MariaDBRSqlOperatorReadControllerTest.java │ │ │ │ ├── MariaDBReadControllerDefaultFetchLimitTest.java │ │ │ │ ├── MariaDBReadControllerTest.java │ │ │ │ ├── MariaDBTemplateControllerTest.java │ │ │ │ ├── MariaDBUpdateControllerTest.java │ │ │ │ └── MariadbDateTimeAllTest.java │ │ │ ├── mssql/ │ │ │ │ ├── MsSQLBaseIntegrationTest.java │ │ │ │ ├── MsSQLBasicJoinControllerTest.java │ │ │ │ ├── MsSQLBulkCreateControllerTest.java │ │ │ │ ├── MsSQLCountControllerTest.java │ │ │ │ ├── MsSQLCreateControllerTest.java │ │ │ │ ├── MsSQLCrossJoinControllerTest.java │ │ │ │ ├── MsSQLDateTimeAllTest.java │ │ │ │ ├── MsSQLDeleteControllerTest.java │ │ │ │ ├── MsSQLDeleteWithNotAllowedSafeDeleteControllerTest.java │ │ │ │ ├── MsSQLExistsControllerTest.java │ │ │ │ ├── MsSQLFindOneControllerTest.java │ │ │ │ ├── MsSQLFunctionControllerTest.java │ │ │ │ ├── MsSQLInnerJoinControllerTest.java │ │ │ │ ├── MsSQLInnerJoinMultiTableControllerTest.java │ │ │ │ ├── MsSQLInnerSelfJoinControllerTest.java │ │ │ │ ├── MsSQLJsonFileCreateControllerTest.java │ │ │ │ ├── MsSQLProcedureControllerTest.java │ │ │ │ ├── MsSQLRSqlOperatorReadControllerTest.java │ │ │ │ ├── MsSQLReadControllerDefaultFetchLimitTest.java │ │ │ │ ├── MsSQLReadControllerTest.java │ │ │ │ └── MsSQLUpdateControllerTest.java │ │ │ ├── mysql/ │ │ │ │ ├── CountTwoTablesSameNameDiffSchemaTest.java │ │ │ │ ├── CreateTwoTablesSameNameDiffSchemaTest.java │ │ │ │ ├── DeleteTwoTablesSameNameDiffSchemaTest.java │ │ │ │ ├── MySQLBasicJoinControllerTest.java │ │ │ │ ├── MySQLBulkCreateControllerTest.java │ │ │ │ ├── MySQLCountControllerTest.java │ │ │ │ ├── MySQLCreateControllerTest.java │ │ │ │ ├── MySQLCrossJoinControllerTest.java │ │ │ │ ├── MySQLDateTimeAllTest.java │ │ │ │ ├── MySQLDeleteAllTest.java │ │ │ │ ├── MySQLDeleteControllerTest.java │ │ │ │ ├── MySQLFunctionControllerTest.java │ │ │ │ ├── MySQLInnerJoinControllerTest.java │ │ │ │ ├── MySQLInnerJoinMultiTableControllerTest.java │ │ │ │ ├── MySQLInnerSelfJoinControllerTest.java │ │ │ │ ├── MySQLJsonFileCreateControllerTest.java │ │ │ │ ├── MySQLProcedureControllerTest.java │ │ │ │ ├── MySQLRSqlOperatorReadControllerTest.java │ │ │ │ ├── MySQLReadControllerDefaultFetchLimitTest.java │ │ │ │ ├── MySQLReadControllerTest.java │ │ │ │ ├── MySQLTemplateControllerTest.java │ │ │ │ ├── MySQLUpdateControllerTest.java │ │ │ │ ├── ReadTwoTablesSameNameDiffSchemaTest.java │ │ │ │ └── UpdateTwoTablesSameNameDiffSchemaTest.java │ │ │ ├── oracle/ │ │ │ │ ├── OracleBasicJoinControllerTest.java │ │ │ │ ├── OracleBulkCreateControllerTest.java │ │ │ │ ├── OracleCountControllerTest.java │ │ │ │ ├── OracleCreateControllerTest.java │ │ │ │ ├── OracleCrossJoinControllerTest.java │ │ │ │ ├── OracleDateTimeAllTest.java │ │ │ │ ├── OracleDeleteAllTest.java │ │ │ │ ├── OracleDeleteControllerTest.java │ │ │ │ ├── OracleInnerJoinControllerTest.java │ │ │ │ ├── OracleInnerJoinMultiTableControllerTest.java │ │ │ │ ├── OracleInnerSelfJoinControllerTest.java │ │ │ │ ├── OracleJsonFileCreateControllerTest.java │ │ │ │ ├── OracleProcedureControllerTest.java │ │ │ │ ├── OracleRSqlOperatorReadControllerTest.java │ │ │ │ ├── OracleReadControllerDefaultFetchLimitTest.java │ │ │ │ ├── OracleReadControllerTest.java │ │ │ │ ├── OracleTemplateControllerTest.java │ │ │ │ └── OracleUpdateControllerTest.java │ │ │ ├── pg/ │ │ │ │ ├── PGDateTimeAllTest.java │ │ │ │ ├── PgBasicJoinControllerTest.java │ │ │ │ ├── PgBulkCreateControllerTest.java │ │ │ │ ├── PgCountControllerTest.java │ │ │ │ ├── PgCreateControllerTest.java │ │ │ │ ├── PgCrossJoinControllerTest.java │ │ │ │ ├── PgDeleteAllTest.java │ │ │ │ ├── PgDeleteControllerTest.java │ │ │ │ ├── PgExtraFunctionControllerTest.java │ │ │ │ ├── PgFunctionControllerTest.java │ │ │ │ ├── PgInnerJoinControllerTest.java │ │ │ │ ├── PgInnerJoinMultiTableControllerTest.java │ │ │ │ ├── PgInnerSelfJoinControllerTest.java │ │ │ │ ├── PgJsonFileCreateControllerTest.java │ │ │ │ ├── PgMultiTenancyTest.java │ │ │ │ ├── PgProcedureControllerTest.java │ │ │ │ ├── PgRSqlOperatorReadControllerTest.java │ │ │ │ ├── PgReadControllerDefaultFetchLimitTest.java │ │ │ │ ├── PgReadControllerTest.java │ │ │ │ ├── PgTemplateControllerTest.java │ │ │ │ └── PgUpdateControllerTest.java │ │ │ └── sqlite/ │ │ │ ├── SQLiteBulkCreateControllerTest.java │ │ │ ├── SQLiteCountControllerTest.java │ │ │ ├── SQLiteCreateControllerTest.java │ │ │ ├── SQLiteCrossJoinControllerTest.java │ │ │ ├── SQLiteDateTimeAllTest.java │ │ │ ├── SQLiteDeleteControllerTest.java │ │ │ ├── SQLiteInnerJoinControllerTest.java │ │ │ ├── SQLiteJsonFileCreateControllerTest.java │ │ │ ├── SQLiteRSqlOperatorReadControllerTest.java │ │ │ ├── SQLiteReadControllerTest.java │ │ │ ├── SQLiteTemplateControllerTest.java │ │ │ └── SQLiteUpdateControllerTest.java │ │ └── resources/ │ │ ├── application-it-db2.yaml │ │ ├── application-it-mariadb.yaml │ │ ├── application-it-mssql.yaml │ │ ├── application-it-mysql.yaml │ │ ├── application-it-oracle.yaml │ │ ├── application-it-pg-mutlitenancy.yaml │ │ ├── application-it-pg.yaml │ │ ├── application-it-sqlite.yaml │ │ ├── auth-apiKey-test.yaml │ │ ├── auth-basic.yaml │ │ ├── db2/ │ │ │ ├── db2-sakila-data.sql │ │ │ └── db2-sakila.sql │ │ ├── junit-platform.properties │ │ ├── mariadb/ │ │ │ ├── mariadb-sakila-data.sql │ │ │ └── mariadb-sakila.sql │ │ ├── mssql/ │ │ │ ├── mssql-sakila-data.sql │ │ │ └── mssql-sakila.sql │ │ ├── mysql/ │ │ │ ├── mysql-sakila-data.sql │ │ │ ├── mysql-sakila.sql │ │ │ └── mysql-wakila-all.sql │ │ ├── oracle/ │ │ │ ├── oracle-sakila-data.sql │ │ │ └── oracle-sakila.sql │ │ ├── pg/ │ │ │ ├── pg-sakila-functions.sql │ │ │ ├── postgres-sakila-data.sql │ │ │ └── postgres-sakila.sql │ │ ├── sqlite/ │ │ │ ├── sqlite-sakila-data.sql │ │ │ └── sqlite-sakila.sql │ │ └── testdata/ │ │ ├── BULK_CREATE_ACTOR_REQUEST.json │ │ ├── BULK_CREATE_DIRECTOR_BAD_REQUEST.json │ │ ├── BULK_CREATE_DIRECTOR_REQUEST.json │ │ ├── BULK_CREATE_FILM_BAD_REQUEST.json │ │ ├── BULK_CREATE_FILM_REQUEST.json │ │ ├── BULK_CREATE_REVIEW_REQUEST.json │ │ ├── BULK_RESULT_ACTOR_QUERY.json │ │ ├── CREATE_ACTOR_REQUEST.json │ │ ├── CREATE_DIRECTOR_REQUEST.json │ │ ├── CREATE_EMP_REQUEST.json │ │ ├── CREATE_FILM_BAD_REQUEST_CSV.csv │ │ ├── CREATE_FILM_REQUEST.json │ │ ├── CREATE_FILM_REQUEST_CSV.csv │ │ ├── CREATE_FILM_REQUEST_ERROR.json │ │ ├── CREATE_FILM_REQUEST_MISSING_PAYLOAD.json │ │ ├── CREATE_USER_REQUEST.json │ │ ├── CREATE_VANITY_VAN_REQUEST.json │ │ ├── CROSS_JOIN_TOPS.json │ │ ├── CROSS_JOIN_TOPS_MSSQL.json │ │ ├── CROSS_JOIN_TOPS_ORACLE.json │ │ ├── CROSS_JOIN_TOPS_PG.json │ │ ├── CROSS_JOIN_USERS.json │ │ ├── CROSS_JOIN_USERS_MSSQL.json │ │ ├── CROSS_JOIN_USERS_ORACLE.json │ │ ├── CROSS_JOIN_USERS_PG.json │ │ ├── EMPTY_ACTOR_QUERY.json │ │ ├── INNER_JOIN.json │ │ ├── INNER_JOIN_MULTI_TABLE.json │ │ ├── INNER_JOIN_MULTI_TABLE_ORACLE.json │ │ ├── INNER_JOIN_ORACLE.json │ │ ├── INNER_SELF_JOIN.json │ │ ├── INNER_SELF_JOIN_ORACLE.json │ │ ├── LEFT_JOIN.json │ │ ├── LEFT_JOIN_ORACLE.json │ │ ├── RIGHT_JOIN.json │ │ ├── RIGHT_JOIN_ORACLE.json │ │ ├── SINGLE_RESULT_ACTOR_QUERY.json │ │ ├── UPDATE_ACTOR_REQUEST.json │ │ ├── UPDATE_EMPLOYEE_REQUEST.json │ │ ├── UPDATE_FILMS_REQUEST.json │ │ ├── UPDATE_FILM_REQUEST.json │ │ ├── UPDATE_NON_EXISTING_FILM_REQUEST.json │ │ ├── UPDATE_NON_EXISTING_TABLE.json │ │ ├── actor.json │ │ ├── actor5mb.json │ │ ├── director.json │ │ ├── sql-db2/ │ │ │ ├── conditional_render_and_op.sql │ │ │ ├── conditional_render_join.sql │ │ │ ├── select_all.sql │ │ │ ├── select_by_id.sql │ │ │ └── select_by_id_is_required.sql │ │ ├── sql-mariadb/ │ │ │ ├── conditional_render_and_op.sql │ │ │ ├── conditional_render_join.sql │ │ │ ├── select_all.sql │ │ │ ├── select_by_id.sql │ │ │ └── select_by_id_is_required.sql │ │ ├── sql-mysql/ │ │ │ ├── conditional_render_and_op.sql │ │ │ ├── conditional_render_join.sql │ │ │ ├── select_all.sql │ │ │ ├── select_by_id.sql │ │ │ └── select_by_id_is_required.sql │ │ ├── sql-oracle/ │ │ │ ├── conditional_render_and_op.sql │ │ │ ├── conditional_render_join.sql │ │ │ ├── select_all.sql │ │ │ ├── select_by_id.sql │ │ │ └── select_by_id_is_required.sql │ │ ├── sql-pg/ │ │ │ ├── conditional_render_and_op.sql │ │ │ ├── conditional_render_join.sql │ │ │ ├── delete_from_content.sql │ │ │ ├── insert_from_content.sql │ │ │ ├── select_all.sql │ │ │ ├── select_by_id.sql │ │ │ ├── select_by_id_from_content.sql │ │ │ ├── select_by_id_is_required.sql │ │ │ └── update_by_id_from_content.sql │ │ └── sql-sqlite/ │ │ ├── conditional_render_and_op.sql │ │ ├── conditional_render_join.sql │ │ ├── select_all.sql │ │ └── select_by_id.sql │ ├── pom.xml │ └── rest-common/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── homihq/ │ └── db2rest/ │ ├── bulk/ │ │ ├── CSVDataProcessor.java │ │ ├── DataProcessor.java │ │ ├── FileStreamObserver.java │ │ ├── FileSubject.java │ │ ├── JSONDataProcessor.java │ │ └── JsonFileDataProcessor.java │ ├── config/ │ │ ├── CorsConfigProperties.java │ │ ├── DateTimeConfigProperties.java │ │ ├── DateTimeConfiguration.java │ │ ├── Db2RestConfigProperties.java │ │ ├── MultiTenancy.java │ │ └── OpenAPIConfiguration.java │ ├── dtos/ │ │ └── BulkContext.java │ ├── exception/ │ │ └── GlobalExceptionHandler.java │ └── multidb/ │ ├── DatabaseConnectionDetail.java │ ├── DatabaseProperties.java │ └── EnvironmentProperties.java ├── db2rest-auth/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── homihq/ │ │ └── db2rest/ │ │ └── auth/ │ │ ├── AuthConfiguration.java │ │ ├── AuthFilter.java │ │ ├── data/ │ │ │ ├── ApiExcludedResource.java │ │ │ ├── ApiKey.java │ │ │ ├── ApiResource.java │ │ │ ├── AuthData.java │ │ │ ├── ResourceRole.java │ │ │ ├── RoleDataFilter.java │ │ │ ├── User.java │ │ │ └── UserDetail.java │ │ ├── datalookup/ │ │ │ ├── ApiAuthDataLookup.java │ │ │ ├── AuthDataLookup.java │ │ │ ├── AuthDataProperties.java │ │ │ ├── FileAuthDataLookup.java │ │ │ └── NoAuthdataLookup.java │ │ ├── exception/ │ │ │ └── AuthException.java │ │ ├── provider/ │ │ │ ├── AbstractAuthProvider.java │ │ │ ├── apikey/ │ │ │ │ └── ApiKeyAuthProvider.java │ │ │ ├── basic/ │ │ │ │ └── BasicAuthProvider.java │ │ │ └── jwt/ │ │ │ ├── JwtAuthProvider.java │ │ │ └── JwtProperties.java │ │ └── unkey/ │ │ ├── UnKeyAuthConfiguration.java │ │ ├── UnKeyAuthFilter.java │ │ ├── service/ │ │ │ └── UnKeyAuthService.java │ │ └── to/ │ │ ├── UnKeyVerifyRequest.java │ │ └── UnKeyVerifyResponse.java │ └── resources/ │ ├── auth-sample-api-key.yml │ ├── auth-sample.json │ └── auth-sample.yml ├── db2rest-core/ │ ├── db2rest-common/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── homihq/ │ │ └── db2rest/ │ │ ├── core/ │ │ │ ├── dto/ │ │ │ │ ├── CountResponse.java │ │ │ │ ├── CreateBulkResponse.java │ │ │ │ ├── CreateResponse.java │ │ │ │ ├── DeleteResponse.java │ │ │ │ ├── ExistsResponse.java │ │ │ │ └── UpdateResponse.java │ │ │ └── exception/ │ │ │ ├── AuthenticationFailedException.java │ │ │ ├── DeleteOpNotAllowedException.java │ │ │ ├── GenericDataAccessException.java │ │ │ ├── InvalidColumnException.java │ │ │ ├── InvalidOperatorException.java │ │ │ ├── InvalidTableException.java │ │ │ ├── PathVariableNamesMissingException.java │ │ │ ├── PathVariableValuesMissingException.java │ │ │ ├── PlaceholderConstraintException.java │ │ │ ├── RpcException.java │ │ │ ├── SqlTemplateNotFoundException.java │ │ │ ├── SqlTemplateReadException.java │ │ │ └── UnsupportedConstraintException.java │ │ └── multidb/ │ │ └── DatabaseContextHolder.java │ ├── pom.xml │ ├── rdbms-common/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── db2rest/ │ │ └── jdbc/ │ │ └── dialect/ │ │ ├── Dialect.java │ │ └── model/ │ │ ├── ArrayTypeValueHolder.java │ │ ├── Database.java │ │ ├── DbAlias.java │ │ ├── DbColumn.java │ │ ├── DbJoin.java │ │ ├── DbSort.java │ │ ├── DbTable.java │ │ └── DbWhere.java │ └── rdbms-support/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── com/ │ │ └── homihq/ │ │ └── db2rest/ │ │ └── jdbc/ │ │ ├── JdbcManager.java │ │ ├── JdbcOperationService.java │ │ ├── core/ │ │ │ ├── DbOperationService.java │ │ │ ├── SimpleRowMapper.java │ │ │ └── service/ │ │ │ ├── BulkCreateService.java │ │ │ ├── CountQueryService.java │ │ │ ├── CreateService.java │ │ │ ├── DeleteService.java │ │ │ ├── ExistsQueryService.java │ │ │ ├── FindOneService.java │ │ │ ├── FunctionService.java │ │ │ ├── JdbcBulkCreateService.java │ │ │ ├── JdbcCountQueryService.java │ │ │ ├── JdbcCreateService.java │ │ │ ├── JdbcDeleteService.java │ │ │ ├── JdbcExistsQueryService.java │ │ │ ├── JdbcFindOneService.java │ │ │ ├── JdbcFunctionService.java │ │ │ ├── JdbcProcedureService.java │ │ │ ├── JdbcReadService.java │ │ │ ├── JdbcUpdateService.java │ │ │ ├── JinJavaTemplateExecutorService.java │ │ │ ├── ProcedureService.java │ │ │ ├── ReadService.java │ │ │ ├── SQLTemplateExecutorService.java │ │ │ ├── SubRoutine.java │ │ │ └── UpdateService.java │ │ ├── dto/ │ │ │ ├── BindVariable.java │ │ │ ├── CreateContext.java │ │ │ ├── DeleteContext.java │ │ │ ├── FnUtil.java │ │ │ ├── InsertableColumn.java │ │ │ ├── JoinDetail.java │ │ │ ├── Placeholder.java │ │ │ ├── QueryRequest.java │ │ │ ├── ReadContext.java │ │ │ └── UpdateContext.java │ │ ├── multidb/ │ │ │ ├── DbDetailHolder.java │ │ │ └── RoutingDataSource.java │ │ ├── processor/ │ │ │ ├── JoinProcessor.java │ │ │ ├── OrderByProcessor.java │ │ │ ├── ReadProcessor.java │ │ │ ├── RootTableFieldProcessor.java │ │ │ ├── RootTableProcessor.java │ │ │ └── RootWhereProcessor.java │ │ ├── rsql/ │ │ │ ├── operator/ │ │ │ │ ├── CustomRSQLOperators.java │ │ │ │ ├── OperatorHandler.java │ │ │ │ ├── OperatorMap.java │ │ │ │ ├── RSQLOperatorHandlers.java │ │ │ │ └── handler/ │ │ │ │ ├── EndWithOperatorHandler.java │ │ │ │ ├── EqualToOperatorHandler.java │ │ │ │ ├── GreaterThanEqualToOperatorHandler.java │ │ │ │ ├── GreaterThanOperatorHandler.java │ │ │ │ ├── InOperatorHandler.java │ │ │ │ ├── IsNotNullOperatorHandler.java │ │ │ │ ├── IsNullOperatorHandler.java │ │ │ │ ├── JsonContainInArrayOperatorHandler.java │ │ │ │ ├── JsonContainOperatorHandler.java │ │ │ │ ├── JsonbContainOperatorHandler.java │ │ │ │ ├── JsonbEqualToOperatorHandler.java │ │ │ │ ├── JsonbKeyExistsOperatorHandler.java │ │ │ │ ├── LessThanEqualToOperatorHandler.java │ │ │ │ ├── LessThanOperatorHandler.java │ │ │ │ ├── LikeOperatorHandler.java │ │ │ │ ├── NotEqualToOperatorHandler.java │ │ │ │ ├── NotInOperatorHandler.java │ │ │ │ ├── NotLikeOperatorHandler.java │ │ │ │ └── StartWithOperatorHandler.java │ │ │ ├── parser/ │ │ │ │ └── RSQLParserBuilder.java │ │ │ ├── resolver/ │ │ │ │ └── CrossTableColumnResolver.java │ │ │ └── visitor/ │ │ │ └── BaseRSQLVisitor.java │ │ ├── sql/ │ │ │ ├── ColumnLabel.java │ │ │ ├── DB2DataExtraction.java │ │ │ ├── DbMeta.java │ │ │ ├── JdbcMetaDataProvider.java │ │ │ ├── JdbcTypeJavaClassMappings.java │ │ │ ├── MariaDBDataExtraction.java │ │ │ ├── MetaDataExtraction.java │ │ │ ├── MetaDataTable.java │ │ │ ├── MsSQLServerMetaDataExtraction.java │ │ │ ├── MySQLDataExtraction.java │ │ │ ├── OracleMetaDataExtraction.java │ │ │ ├── PostgreSQLDataExclusion.java │ │ │ ├── SQLiteDataExtraction.java │ │ │ ├── SqlCreatorTemplate.java │ │ │ └── SqlTypes.java │ │ ├── tsid/ │ │ │ └── TSIDProcessor.java │ │ ├── util/ │ │ │ └── AliasGenerator.java │ │ └── validator/ │ │ ├── ConstraintValidator.java │ │ ├── CustomPlaceholderValidators.java │ │ └── impl/ │ │ ├── IsRequiredValidator.java │ │ └── IsUUIDValidator.java │ └── test/ │ └── java/ │ └── com/ │ └── homihq/ │ └── db2rest/ │ └── jdbc/ │ ├── core/ │ │ └── service/ │ │ └── JdbcCreateServiceTest.java │ ├── dto/ │ │ └── FnUtilTest.java │ ├── util/ │ │ └── AliasGeneratorTest.java │ └── validator/ │ ├── CustomPlaceholderValidatorsTest.java │ └── impl/ │ ├── IsRequiredValidatorTest.java │ └── IsUUIDValidatorTest.java ├── db2rest-dialects/ │ ├── db2-dialect/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── db2rest/ │ │ │ └── jdbc/ │ │ │ └── dialect/ │ │ │ └── DB2RestDB2Dialect.java │ │ └── test/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── db2rest/ │ │ │ └── jdbc/ │ │ │ └── dialect/ │ │ │ ├── DB2RestDB2DialectTest.java │ │ │ └── TestConfiguration.java │ │ └── resources/ │ │ └── application-test.yml │ ├── mariadb-dialect/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── db2rest/ │ │ └── jdbc/ │ │ └── dialect/ │ │ └── MariaDBDialect.java │ ├── mssql-dialect/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── db2rest/ │ │ └── jdbc/ │ │ └── dialect/ │ │ └── MsSQLServerDialect.java │ ├── mysql-dialect/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── db2rest/ │ │ └── jdbc/ │ │ └── dialect/ │ │ └── DB2RestMySQLDialect.java │ ├── oracle-dialect/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── db2rest/ │ │ └── jdbc/ │ │ └── dialect/ │ │ └── OracleDialect.java │ ├── oracle9i-dialect/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── db2rest/ │ │ └── jdbc/ │ │ └── dialect/ │ │ └── OracleDialect.java │ ├── pg-dialect/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── db2rest/ │ │ └── jdbc/ │ │ └── dialect/ │ │ ├── PostGreSQLDialect.java │ │ └── driver/ │ │ ├── EnvVarSSLSocketFactory.java │ │ └── PgSingleCertValidatingFactory.java │ ├── pom.xml │ └── sqlite-dialect/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── db2rest/ │ └── jdbc/ │ └── dialect/ │ └── SQLiteDialect.java ├── db2rest-oas3.json ├── design/ │ └── insert.md ├── docker-compose/ │ ├── db2/ │ │ ├── README.md │ │ ├── docker-compose.yml │ │ └── init/ │ │ └── 01-create-schema.sql │ ├── mariadb/ │ │ ├── api-interaction.sh │ │ ├── docker-compose.yml │ │ ├── init/ │ │ │ └── 01-init.sql │ │ └── run.sh │ ├── mysql/ │ │ ├── api-interaction.sh │ │ ├── docker-compose.yml │ │ ├── init/ │ │ │ └── 01-init.sql │ │ └── run.sh │ ├── oracle/ │ │ ├── api-interaction.sh │ │ ├── docker-compose.yml │ │ ├── init/ │ │ │ └── 01-init.sql │ │ └── run.sh │ ├── postgresql/ │ │ ├── api-interaction.sh │ │ ├── docker-compose.yml │ │ ├── init/ │ │ │ └── 01-init.sql │ │ └── run.sh │ └── sqlserver/ │ ├── api-interaction.sh │ ├── docker-compose.yml │ ├── init/ │ │ └── 01-init.sql │ └── run.sh ├── fed/ │ └── federation.md ├── funding.json ├── integration-test-guideline.md ├── mvnw ├── mvnw.cmd └── pom.xml