Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.cdap.plugin.gcp.bigquery.relational;

import io.cdap.cdap.etl.api.engine.sql.StandardSQLCapabilities;
import io.cdap.cdap.etl.api.relational.Capability;
import io.cdap.cdap.etl.api.relational.CoreExpressionCapabilities;
import io.cdap.cdap.etl.api.relational.Expression;
Expand All @@ -12,7 +13,7 @@
import io.cdap.cdap.etl.api.relational.StringExpressionFactoryType;
import io.cdap.plugin.gcp.bigquery.sqlengine.builder.BigQueryBaseSQLBuilder;

import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;

Expand All @@ -22,6 +23,15 @@
*/
public class SQLExpressionFactory implements ExpressionFactory<String> {

private static final Set<Capability> CAPABILITIES = Collections.unmodifiableSet(
new HashSet<Capability>() {{
add(StringExpressionFactoryType.SQL);
add(StandardSQLCapabilities.BIGQUERY);
add(CoreExpressionCapabilities.CAN_GET_QUALIFIED_DATASET_NAME);
add(CoreExpressionCapabilities.CAN_GET_QUALIFIED_COLUMN_NAME);
add(CoreExpressionCapabilities.CAN_SET_DATASET_ALIAS);
}});

/**
* Gets the expression factory type, which in this case is SQL.
*
Expand All @@ -46,14 +56,11 @@ public Expression compile(String expression) {
/**
* Get the set of Capabilities supported, which in this case is SQL.
*
* @return A single capability, {@link StringExpressionFactoryType}.SQL.
* @return a set containing all capabilities supported by this SQL engine.
*/
@Override
public Set<Capability> getCapabilities() {
return new HashSet<>(Arrays.asList(StringExpressionFactoryType.SQL,
CoreExpressionCapabilities.CAN_GET_QUALIFIED_DATASET_NAME,
CoreExpressionCapabilities.CAN_GET_QUALIFIED_COLUMN_NAME,
CoreExpressionCapabilities.CAN_SET_DATASET_ALIAS));
return CAPABILITIES;
}

/**
Expand All @@ -79,7 +86,7 @@ public ExtractableExpression<String> getQualifiedDataSetName(Relation relation)
* The resulting expression will be invalid if the relation is not a {@link BigQueryRelation}
* or the column does not exist in this relation.
* @param relation supplied relation.
* @param column column name.
* @param column column name.
* @return valid containing the column name wrapped in quotes; or invalid expression.
*/
@Override
Expand Down