AMashenkov commented on a change in pull request #245:
URL: https://github.com/apache/ignite-3/pull/245#discussion_r677256559
##########
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:
We use schema in TupleBuilderImpl just for optimizations.
As we already on a server, then we have a schema and we can validate columns
instantly on set operation,
and thus, avoid unwanted Map (col name -> value) copying on happy-path.
--
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]