Skip to content

Conversation

@jphui
Copy link
Contributor

@jphui jphui commented Nov 21, 2025

Summary

BUG=META-23290

This PR refactors relationship table operations to be aware of functional indexes (expression indexes) and will leverage them for queries if they exist, taking priority over any (virtual) column indexes.

Testing Done

unit testing thoroughly updated, will test this in EI as well

Checklist

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cannot mock at this level, everything is just passing new args in anyway so the testing is deferred to the callees :)

Comment on lines +90 to +95
@Nullable
public static String getIndexedExpressionOrColumn(@Nonnull String assetType, @Nonnull String aspect, @Nonnull String path,
boolean nonDollarVirtualColumnsEnabled, @Nonnull String tableName, @Nonnull SchemaValidatorUtil schemaValidator) {
final String expectedLegacyColumnName = getGeneratedColumnName(assetType, aspect, path, nonDollarVirtualColumnsEnabled);
return getIndexedExpressionOrColumnGeneric(expectedLegacyColumnName, getExpressionIndexName(assetType, aspect, path), tableName, schemaValidator);
}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not tested directly in unit testing since the "inferred table variant" is tested thoroughly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants