ptupitsyn commented on a change in pull request #245:
URL: https://github.com/apache/ignite-3/pull/245#discussion_r677281444
##########
File path:
modules/table/src/main/java/org/apache/ignite/internal/table/TupleBuilderImpl.java
##########
@@ -89,72 +91,164 @@ public TupleBuilder set(Column col, Object value) {
}
/** {@inheritDoc} */
- @Override public <T> T valueOrDefault(String colName, T def) {
- return (T)map.getOrDefault(colName, def);
+ @Override public String columnName(int columnIndex) {
+ return schemaDesc.column(columnIndex).name();
}
/** {@inheritDoc} */
- @Override public <T> T value(String colName) {
- return (T)map.get(colName);
+ @Override public Integer columnIndex(String columnName) {
+ var col = schemaDesc.column(columnName);
+
+ return col == null ? null : col.schemaIndex();
Review comment:
> Tuple interface says 'null' index will be returned if column doesn't
exists in the Tuple,
> but it is not true, obviously.
Can you please clarify?
Do you mean that schema-based tuple will return non-null index even if
column value was not set? Is it any different from a situation when the column
was set to null?
We can track `null` vs `not set` using a separate array or a special value,
but I'm not sure if this brings any value to the user.
--
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]