Thin JDBC: соединение, prepared statements, result sets, bulk load и ODBC escapes
Эта страница — публичная реконструкция продуктовой спецификации по исходникам тестов Apache Ignite 2 на ревизии 486a6367610c4c891b729e89373695ef83165345.
Тесты Thin JDBC описывают поверхность connection API, bind prepared statements, чтение result sets, CSV bulk loading и переписывание ODBC escape-последовательностей.
Пользовательские гарантии
- Thin JDBC принимает canonical endpoint URLs, валидирует malformed endpoint syntax, мапит URL properties в connection options и раскрывает предсказуемое поддержанное подмножество
ConnectionAPI. COPY FROM ... FORMAT CSVимпортирует CSV data, возвращает row counts, поддерживает выбранные null/trim/delimiter/charset режимы, отвергает malformed input или incompatible schema и задает границы JDBC execution surface.- Prepared statements и result sets покрывают scalar, temporal, binary/blob/clob/stream, object, unsupported-feature и closed-resource behavior там, где это проверено.
- Разбор ODBC escapes переписывает поддержанные escape forms и отвергает malformed escape sequences.
Трассируемые требования
После имени теста указывается только негативный или неоднозначный статус, например status=failed, status=flaky, status=ignored или status=mixed.
JDBC-CONNECTION-URL-01 — connection URLs, properties и statement factories
Требование: Thin JDBC должен принимать default/canonical connection settings, отвергают invalid endpoints, map поддержанные URL properties, и раскрывают statement/prepared-statement factory behavior включая неподдержанный overloads.
Зачем это нужно: Приложения нужны предсказуемый connection setup и clear неподдержанный-feature boundaries.
Граница: Weaker где доказательства depends on Java assert or точные неподдержанный-feature диагностика.
Тесты-доказательства:
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
Требование: The thin JDBC connection implements standard Connection surface behavior для 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, и concurrent access errors.
Зачем это нужно: JDBC-клиентам нужны предсказуемый standards-compatible behavior и clear неподдержанный-feature ошибки.
Граница: Evidence: many checks являются narrow API-surface or неподдержанный-feature assertions.
Тесты-доказательства:
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
Требование: COPY FROM ... FORMAT CSV должен import CSV data, возвращают row counts, поддерживают выбранные null/trim/delimiter/charset/packet-size modes, и work для created/configured tables включая non-affinity-node routing.
Зачем это нужно: Bulk loading является operator/application ingestion path и должен обрабатывать ordinary CSV variations predictably.
Граница: Свидетельство из small local files; не throughput, rollback, or distributed ошибка-recovery guarantee.
Тесты-доказательства:
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 возвращаются через JDBC execution surface
Требование: Bulk load должен отвергать некорректный CSV quoting, bad charset/file/table/column/type inputs, и неподдержанный execute/query/prepared-statement surfaces с JDBC-visible ошибки.
Зачем это нужно: Пользователям нужны bad imports чтобы fail explicitly rather than silently loading corrupt data.
Граница: Weaker для точные диагностический и неподдержанный-surface behavior.
Тесты-доказательства:
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 поддержанные values и отвергают неподдержанный inputs
Требование: Prepared statements должны сохранять parameters across executions, поддерживать custom objects и keep-binary paths где enabled, bind scalar/temporal/binary/blob/clob/stream/null values, и отвергают неподдержанный setters/types.
Зачем это нужно: Приложения полагаются на typed parameter binding и clear ошибка для неподдержанный JDBC features.
Граница: Weaker где stream/blob exception paths or неподдержанный types являются exact-surface checks.
Тесты-доказательства:
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 раскрывают values, navigation, lookup и closed-resource behavior
Требование: Result sets должен раскрывать scalar, decimal, binary/blob/clob/stream, temporal, object/binary-object values, navigation, column lookup, неподдержанный update/type APIs, и closed-resource ошибки.
Зачем это нужно: JDBC-потребителям нужны стабильный readback behavior и предсказуемый resource/неподдержанный-feature boundaries.
Граница: Weaker где доказательства являются неподдержанный API or closed-resource диагностика.
Тесты-доказательства:
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 являются rewritten or rejected deterministically
Требование: ODBC escape parsing должен rewrite поддержанные function, convert, GUID/date/time/timestamp, outer join, procedure-call, и LIKE escape forms при этом preserving literal text и rejecting некорректный sequences.
Зачем это нужно: ODBC/JDBC compatibility depends on предсказуемый parser rewriting до SQL execution.
Граница: Parser tests доказывают rewriting, не execution semantics of the resulting SQL.
Тесты-доказательства:
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
Важные границы
- Many JDBC getter/setter checks use Java
assert; those rows являются useful but слабыеer than ordinary assertion methods unless assertion-enabled execution является verified. - The bulk-load доказательства uses small local files и не specify large-file throughput, distributed failure recovery, or transactional rollback.
- ODBC escape tests доказывают parser rewriting, не execution semantics of the resulting SQL.