Gabriel39 commented on code in PR #67784:
URL: https://github.com/apache/doris/pull/67784#discussion_r4023604391
##########
be/src/format/transformer/vparquet_transformer.h:
##########
@@ -83,23 +86,27 @@ struct ParquetFileOptions {
TParquetVersion::type parquet_version;
bool parquet_disable_dictionary = false;
bool enable_int96_timestamps = false;
+ // Overrides only INT96 normalization; UTC preserves a wall-clock carrier.
+ std::optional<std::string> int96_timezone = std::nullopt;
};
// a wrapper of parquet output stream
class VParquetTransformer final : public VFileFormatTransformer {
public:
- VParquetTransformer(RuntimeState* state, doris::io::FileWriter*
file_writer,
- const VExprContextSPtrs& output_vexpr_ctxs,
- std::vector<std::string> column_names, bool
output_object_data,
- const ParquetFileOptions& parquet_options,
- const std::string* iceberg_schema_json = nullptr,
- const iceberg::Schema* iceberg_schema = nullptr);
-
- VParquetTransformer(RuntimeState* state, doris::io::FileWriter*
file_writer,
- const VExprContextSPtrs& output_vexpr_ctxs,
- std::vector<TParquetSchema> parquet_schemas, bool
output_object_data,
- const ParquetFileOptions& parquet_options,
- const std::string* iceberg_schema_json = nullptr);
+ VParquetTransformer(
+ RuntimeState* state, doris::io::FileWriter* file_writer,
Review Comment:
Addressed in the current head (`68df1fdb0f`). Moved Iceberg-specific
schema/field-ID handling, converter selection and statistics collection into
VIcebergParquetTransformer. VParquetTransformer is no longer final and has no
Iceberg constructor arguments or state. Both data and position-delete writers
use the subclass; the existing Variant and generic Parquet tests pass.
##########
fe/be-java-extensions/jdbc-scanner/src/main/java/org/apache/doris/jdbc/MySQLJdbcExecutor.java:
##########
@@ -70,6 +77,14 @@ protected void abortReadConnection(Connection connection,
ResultSet resultSet)
@Override
protected void initializeStatement(Connection conn, JdbcDataSourceConfig
config, String sql) throws SQLException {
+ if (config.getTableType() == TOdbcTableType.MYSQL) {
Review Comment:
Addressed in the current head (`68df1fdb0f`). Unified UTC session
initialization, Calendar-based reads and Calendar-based writes behind the
MySQL-compatible protocol guard, including OCEANBASE (not OCEANBASE_ORACLE).
Added a focused unit test and exercised the OceanBase enum path with 48 read
and 48 write configurations against a real MySQL server. This verifies the
shared wire path; it is not claimed as a live OceanBase-server test.
##########
fe/fe-core/src/test/java/org/apache/doris/nereids/parser/VarBinaryLiteralParserTest.java:
##########
@@ -132,7 +136,7 @@ public void testCreateTableVarbinaryWithLength() {
Assertions.assertTrue(plan instanceof
org.apache.doris.nereids.trees.plans.commands.CreateTableCommand);
org.apache.doris.nereids.trees.plans.commands.CreateTableCommand cmd =
(org.apache.doris.nereids.trees.plans.commands.CreateTableCommand) plan;
-
Assertions.assertThrows(org.apache.doris.nereids.exceptions.AnalysisException.class,
+ Assertions.assertDoesNotThrow(
Review Comment:
Addressed in the current head (`68df1fdb0f`). Restored rejection assertions
for direct, bounded, key, nested and partition native VARBINARY cases. The
native-storage fence remains unchanged; no OLAP VARBINARY type was added. All
15 VarBinaryLiteralParserTest cases and 11 VarBinarySqlSupportTest cases pass.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]