Copilot commented on code in PR #9609:
URL: https://github.com/apache/incubator-gluten/pull/9609#discussion_r2085986800


##########
cpp-ch/local-engine/Parser/RelParsers/MergeTreeRelParser.cpp:
##########
@@ -83,6 +85,41 @@ void replaceFileNameNode(DB::ActionsDAG & actions_dag, const 
MergeTreeTableInsta
     actions_dag.addOrReplaceInOutputs(alias);
 }
 
+void replaceFileSizeNode(DB::ActionsDAG & actions_dag, const 
MergeTreeTableInstance & merge_tree_table, DB::ContextPtr context)
+{
+    const auto int64_type = std::make_shared<DB::DataTypeInt64>();
+    actions_dag.addOrReplaceInOutputs(actions_dag.addColumn(
+        DB::ColumnWithTypeAndName(int64_type->createColumnConst(1, -1), 
int64_type, FileMetaColumns::FILE_SIZE)));

Review Comment:
   Using the magic number `-1` as a sentinel for file size may be unclear; 
extract it into a named constant like `UNKNOWN_FILE_SIZE`.
   ```suggestion
           DB::ColumnWithTypeAndName(int64_type->createColumnConst(1, 
FileMetaColumns::UNKNOWN_FILE_SIZE), int64_type, FileMetaColumns::FILE_SIZE)));
   ```



##########
cpp-ch/local-engine/Parser/RelParsers/MergeTreeRelParser.cpp:
##########
@@ -83,6 +85,41 @@ void replaceFileNameNode(DB::ActionsDAG & actions_dag, const 
MergeTreeTableInsta
     actions_dag.addOrReplaceInOutputs(alias);
 }
 
+void replaceFileSizeNode(DB::ActionsDAG & actions_dag, const 
MergeTreeTableInstance & merge_tree_table, DB::ContextPtr context)
+{
+    const auto int64_type = std::make_shared<DB::DataTypeInt64>();
+    actions_dag.addOrReplaceInOutputs(actions_dag.addColumn(
+        DB::ColumnWithTypeAndName(int64_type->createColumnConst(1, -1), 
int64_type, FileMetaColumns::FILE_SIZE)));
+}
+
+void replaceFileModificationTimeNode(DB::ActionsDAG & actions_dag, const 
MergeTreeTableInstance & merge_tree_table, DB::ContextPtr context)
+{
+    const auto decimal64_type = std::make_shared<DB::DataTypeDateTime64>(6);
+    actions_dag.addOrReplaceInOutputs(actions_dag.addColumn(
+        DB::ColumnWithTypeAndName(decimal64_type->createColumnConst(1, 
DecimalField<DateTime64>(0, 6)), decimal64_type, 
FileMetaColumns::FILE_MODIFICATION_TIME)));

Review Comment:
   The literal `0` in `DecimalField<DateTime64>(0, 6)` is a sentinel value; 
consider defining a constant or adding a comment to explain its meaning.
   ```suggestion
       constexpr DateTime64 DEFAULT_DATETIME64_VALUE = 0; // Default value for 
DateTime64
       actions_dag.addOrReplaceInOutputs(actions_dag.addColumn(
           DB::ColumnWithTypeAndName(decimal64_type->createColumnConst(1, 
DecimalField<DateTime64>(DEFAULT_DATETIME64_VALUE, 6)), decimal64_type, 
FileMetaColumns::FILE_MODIFICATION_TIME)));
   ```



##########
cpp-ch/local-engine/Parser/RelParsers/MergeTreeRelParser.h:
##########
@@ -43,6 +46,11 @@ using ReplaceDeltaNodeFunc = 
std::function<void(DB::ActionsDAG &, const MergeTre
 void replaceInputFileNameNode(DB::ActionsDAG & actions_dag, const 
MergeTreeTableInstance & merge_tree_table, DB::ContextPtr context);
 void replaceFilePathNode(DB::ActionsDAG & actions_dag, const 
MergeTreeTableInstance & merge_tree_table, DB::ContextPtr context);
 void replaceFileNameNode(DB::ActionsDAG & actions_dag, const 
MergeTreeTableInstance & merge_tree_table, DB::ContextPtr context);
+void replaceFileSizeNode(DB::ActionsDAG & actions_dag, const 
MergeTreeTableInstance & merge_tree_table, DB::ContextPtr context);
+void replaceFileBlockStartNode(DB::ActionsDAG & actions_dag, const 
MergeTreeTableInstance & merge_tree_table, DB::ContextPtr context);
+void replaceFileBlockLengthNode(DB::ActionsDAG & actions_dag, const 
MergeTreeTableInstance & merge_tree_table, DB::ContextPtr context);
+void replaceFileModificationTimeNode(DB::ActionsDAG & actions_dag, const 
MergeTreeTableInstance & merge_tree_table, DB::ContextPtr context);
+void replaceDeltaInternalRowDeletedNode(DB::ActionsDAG & actions_dag, const 
MergeTreeTableInstance & merge_tree_table, DB::ContextPtr context);

Review Comment:
   [nitpick] Consider adding a brief comment above this method (and the other 
`replace*Node` functions) to describe what virtual column it injects and why.



-- 
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]

Reply via email to