Thin JDBC connection, prepared statements, result sets, bulk load and ODBC escapes
This page is a public product-spec reconstruction from Apache Ignite 2 test sources at revision 486a6367610c4c891b729e89373695ef83165345.
Thin JDBC tests describe the connection API surface, prepared-statement binding, result-set access, CSV bulk loading, and ODBC escape rewriting.
User-facing guarantees
- Thin JDBC accepts canonical endpoint URLs, validates malformed endpoint syntax, maps URL properties to connection options, and exposes a predictable supported subset of
ConnectionAPIs. COPY FROM ... FORMAT CSVimports CSV data, returns row counts, supports selected null/trim/delimiter/charset modes, rejects malformed input or incompatible schema, and defines JDBC execution-surface limits.- Prepared statements and result sets cover scalar, temporal, binary/blob/clob/stream, object, unsupported-feature, and closed-resource behavior where tested.
- ODBC escape parsing rewrites supported escape forms and rejects malformed escape sequences.
Traceable requirements
Only negative or ambiguous test status is annotated after a test name, for example status=failed, status=flaky, status=ignored, or status=mixed.
JDBC-CONNECTION-URL-01 — connection URLs, properties and statement factories
Requirement: Thin JDBC must accept default/canonical connection settings, reject invalid endpoints, map supported URL properties, and expose statement/prepared-statement factory behavior including unsupported overloads.
Why: Applications need predictable connection setup and clear unsupported-feature boundaries.
Boundary: Weaker where evidence depends on Java assert or exact unsupported-feature diagnostics.
Evidence tests:
org.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testDefaultsorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testInvalidEndpointorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testSocketBuffersorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testSocketBuffersSemicolonorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testUpdateBatchSizeorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testPartitionAwarenessSqlCacheSizePropertyorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testPartitionAwarenessSqlCacheSizePropertySemicolonorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testPartitionAwarenessPartitionDistributionsCacheSizePropertyorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testPartitionAwarenessPartitionDistributionsCacheSizePropertySemicolonorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testSqlHintsorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testSqlHintsSemicolonorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testTcpNoDelayorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testTcpNoDelaySemicolonorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testAutoCloseServerCursorPropertyorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testAutoCloseServerCursorPropertySemicolonorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testSchemaorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testSchemaSemicolonorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testCloseorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testCreateStatementorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testCreateStatement2org.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testCreateStatement3org.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testPrepareStatementorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testPrepareStatement3org.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testPrepareStatement4org.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testPrepareStatementAutoGeneratedKeysUnsupportedorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testPrepareCallUnsupported
REQ-B4-JDBC-CONNECTION-API — standard Connection API surface
Requirement: The thin JDBC connection implements standard Connection surface behavior for nativeSQL, autocommit, commit/rollback limitations, metadata, read-only/catalog/schema/isolation/warnings/type-map/holdability/savepoint/client-info/Lob/SQLXML/array/struct/network-timeout/abort APIs, SSL mismatch errors, disabled feature flags, and concurrent access errors.
Why: JDBC clients need predictable standards-compatible behavior and clear unsupported-feature failures.
Boundary: Evidence: many checks are narrow API-surface or unsupported-feature assertions.
Evidence tests:
org.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testAbortorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testClearGetWarningsorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testCommitorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testCreateArrayOforg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testCreateBloborg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testCreateCloborg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testCreateNCloborg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testCreateSQLXMLorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testCreateStructorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testDisabledFeaturesorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testGetMetaDataorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testGetSetAutoCommitorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testGetSetCatalogorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testGetSetClientInfoPairorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testGetSetClientInfoPropertiesorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testGetSetHoldabilityorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testGetSetNetworkTimeoutorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testGetSetReadOnlyorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testGetSetSchemaorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testGetSetTransactionIsolationorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testGetSetTypeMaporg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testMultithreadingExceptionorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testNativeSqlorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testReleaseSavepointorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testRollbackorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testRollbackSavePointorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testSavepointsDisabledFeatureorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testSetSavepointorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testSetSavepointNameorg.apache.ignite.jdbc.thin.JdbcThinConnectionSelfTest.testSslClientAndPlainServer
JDBC-BULK-LOAD-CSV-01 — COPY FROM CSV import behavior
Requirement: COPY FROM ... FORMAT CSV must import CSV data, return row counts, support selected null/trim/delimiter/charset/packet-size modes, and work for created/configured tables including non-affinity-node routing.
Why: Bulk loading is an operator/application ingestion path and must handle ordinary CSV variations predictably.
Boundary: Evidence from small local files; not a throughput, rollback, or distributed failure-recovery guarantee.
Evidence tests:
org.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testBasicStatementorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testEmptyFileorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testOneLineFileorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testThreeLineFileWithEmptyNumericColumnorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testThreeLineFileWithEmptyNumericColumnWithNullStringorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testThreeLineFileWithEmptyNumericColumnWithNullStringAndTrimOnorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testThreeLineFileWithEmptyNumericColumnWithTrimOfforg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testFieldsSubsetorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testCsvLoadWithDefaultDelimiterorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testCsvLoadWithCommaDelimiterorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testCsvLoadWithPipeDelimiterorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testCreateAndBulkLoadTableorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testConfigureQueryEntityAndBulkLoadorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testThreeLineFileWithEmptyNumericColumnWithEmptyNullStringorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testThreeLineFileWithEmptyNumericColumnWithNullStringAndTrimOfforg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testThreeLineFileWithEmptyNumericColumnWithTrimOnorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testAsciiCharsetorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testUtf8Charsetorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testWin1251Charsetorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testDefaultCharsetorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testDefaultCharsetPacketSize1org.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testPacketSize_1org.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testBulkLoadToNonAffinityNode
JDBC-BULK-LOAD-ERRORS-01 — bulk-load errors are reported through JDBC execution surface
Requirement: Bulk load must reject malformed CSV quoting, bad charset/file/table/column/type inputs, and unsupported execute/query/prepared-statement surfaces with JDBC-visible failures.
Why: Users need bad imports to fail explicitly rather than silently loading corrupt data.
Boundary: Weaker for exact diagnostic and unsupported-surface behavior.
Evidence tests:
org.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testOneLineFileForUnmatchedStartQuoteorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testOneLineFileForUnmatchedEndQuoteorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testOneLineFileForSingleEndQuoteorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testOneLineFileForQuoteInContentorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testOneLineFileForQuoteInQuotedContentorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testEmptyCharsetorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testNotSupportedCharsetorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testUnknownCharsetorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testWrongFileNameorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testMissingTableorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testWrongColumnNameorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testWrongColumnTypeorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testWrongCharset_Utf8AsWin1251org.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testWrongCharset_Win1251AsUtf8org.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testWrongCharset_Utf8AsAsciiorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testWrongCharset_Win1251AsAsciiorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testExecuteorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testPreparedStatementWithExecuteorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testPreparedStatementWithExecuteUpdateorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testMultipleStatementorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testExecuteQueryorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testPreparedStatementWithExecuteQueryorg.apache.ignite.jdbc.thin.JdbcThinBulkLoadSelfTest.testPreparedStatementWithParameter
JDBC-PREPARED-STMT-01 — prepared statements bind supported values and reject unsupported inputs
Requirement: Prepared statements must preserve parameters across executions, support custom objects and keep-binary paths where enabled, bind scalar/temporal/binary/blob/clob/stream/null values, and reject unsupported setters/types.
Why: Applications rely on typed parameter binding and clear failure for unsupported JDBC features.
Boundary: Weaker where stream/blob exception paths or unsupported types are exact-surface checks.
Evidence tests:
org.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testRepeatableUsageorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testObjectDifferentConnectionsorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testObjectConnectionWithKeepBinaryFlagorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testObjectorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testCustomObjectSupportCanBeDisabledorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testQueryExecuteExceptionorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testBooleanorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testBloborg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testClearParameterorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testNotSupportedTypesorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testArrayorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testBigDecimalorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testBinaryStreamKnownLengthorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testBinaryStreamThrowsorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testBinaryStreamUnknownLengthorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testBlobNullorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testBlobSeeChangesDoneAfterAddToStatementorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testBlobStreamKnownLengthorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testBlobStreamThrowsorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testBlobStreamUnknownLengthorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testBlobWrittenViaOutputStreamorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testByteorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testCloborg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testDateorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testDoubleorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testFloatorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testIntegerorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testLongorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testShortorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testStringorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testTimeorg.apache.ignite.jdbc.thin.JdbcThinPreparedStatementSelfTest.testTimestamp
JDBC-RESULT-SET-01 — result sets expose values, navigation, lookup and closed-resource behavior
Requirement: Result sets must expose scalar, decimal, binary/blob/clob/stream, temporal, object/binary-object values, navigation, column lookup, unsupported update/type APIs, and closed-resource failures.
Why: JDBC consumers need stable readback behavior and predictable resource/unsupported-feature boundaries.
Boundary: Weaker where evidence is unsupported API or closed-resource diagnostics.
Evidence tests:
org.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testBooleanorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testBigDecimalScaleorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testArrayorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testDateorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testObjectorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testObjectForBinaryTypeorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testNavigationorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testFindColumnorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testNotSupportedTypesorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testUpdateNotSupportedorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testExceptionOnClosedResultSetorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testBinaryStreamorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testBinaryStreamForNonBinaryTypeorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testBinaryStreamInstancesAreIndependentorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testBinaryStreamNullorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testBloborg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testBlobChangeAfterSelectorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testBlobForNonBinaryTypeorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testBlobNullorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testByteorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testCloborg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testDoubleorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testFloatorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testIntegerorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testLongorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testShortorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testStringorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testTimeorg.apache.ignite.jdbc.thin.JdbcThinResultSetSelfTest.testTimestamp
ODBC-ESCAPE-REWRITE-01 — ODBC escape sequences are rewritten or rejected deterministically
Requirement: ODBC escape parsing must rewrite supported function, convert, GUID/date/time/timestamp, outer join, procedure-call, and LIKE escape forms while preserving literal text and rejecting malformed sequences.
Why: ODBC/JDBC compatibility depends on predictable parser rewriting before SQL execution.
Boundary: Parser tests prove rewriting, not execution semantics of the resulting SQL.
Evidence tests:
org.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testTrivialorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testNonEscapeSequenceorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testSimpleFunctionorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testNestedFunctionorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testDeepNestedFunctionorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testNestedFunctionMixedorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testFunctionEscapeSequenceWithWhitespacesorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testFailedOnInvalidFunctionSequenceorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testConvertFunctionorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testGuidEscapeSequenceorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testGuidEscapeSequenceWithWhitespacesorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testFailedOnInvalidGuidSequenceorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testDateEscapeSequenceorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testDateEscapeSequenceWithWhitespacesorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testFailedOnInvalidDateSequenceorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testTimeEscapeSequenceorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testTimeEscapeSequenceWithWhitespacesorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testFailedOnInvalidTimeSequenceorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testTimestampEscapeSequenceorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testTimestampEscapeSequenceWithWhitespacesorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testFailedOnInvalidTimestampSequenceorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testOuterJoinFunctionorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testNestedOuterJoinorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testDeepNestedOuterJoinorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testOuterJoinSequenceWithWhitespacesorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testFailedOnInvalidOuterJoinSequenceorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testSimpleCallProcorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testNestedCallProcorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testDeepNestedCallProcorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testNestedCallProcMixedorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testCallProcEscapeSequenceWithWhitespacesorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testFailedOnInvalidCallProcSequenceorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testLikeEscapeSequenceorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testLikeEscapeSequenceWithWhitespacesorg.apache.ignite.internal.processors.odbc.OdbcEscapeSequenceSelfTest.testLikeOnInvalidLikeEscapeSequence
Important boundaries
- Many JDBC getter/setter checks use Java
assert; those rows are useful but weaker than ordinary assertion methods unless assertion-enabled execution is verified. - The bulk-load evidence uses small local files and does not specify large-file throughput, distributed failure recovery, or transactional rollback.
- ODBC escape tests prove parser rewriting, not execution semantics of the resulting SQL.