in java/clickhouse-client/src/main/java/com/epam/deltix/clickhouse/util/SqlQueryHelper.java [136:180]
private static int appendParamMaskAndGetParamIndex(StringBuilder sb, ExpressionDeclaration expression, int paramIndex) {
if (expression.getDbDataType() instanceof NestedDataType) {
List<ColumnDeclaration> nestedColumns = ((NestedDataType) expression.getDbDataType()).getColumns();
for (int i = 0; i < nestedColumns.size(); i++) {
if (i > 0)
sb.append(", ");
ColumnDeclaration nestedColumn = nestedColumns.get(i);
SqlDataType nestedType = nestedColumn.getDbDataType();
if (nestedType instanceof ObjectDataType) {
List<ColumnDeclaration> objectColumns = ((ObjectDataType) nestedType).getColumns();
for (int i1 = 0; i1 < objectColumns.size(); i1++) {
if (i1 > 0)
sb.append(", ");
ColumnDeclaration objectColumn = objectColumns.get(i1);
sb.append('`');
sb.append(expression.getDbColumnName());
sb.append('.');
sb.append(nestedColumn.getDbColumnName());
sb.append('_');
sb.append(objectColumn.getDbColumnName());
sb.append('`');
paramIndex++;
}
} else {
sb.append('`');
sb.append(expression.getDbColumnName());
sb.append('.');
sb.append(nestedColumn.getDbColumnName());
sb.append('`');
paramIndex++;
}
}
} else {
sb.append('`');
sb.append(expression.getDbColumnName());
sb.append('`');
paramIndex++;
}
return paramIndex;
}