ARP connector with duplicate project names

I have added a data source that name is maxcpt_myproject.

java.sql.SQLException: Fail to run sql:select count(*) from `myproject`.`myproject`.`tab1`;, Error:[400] com.aliyun.odps.OdpsException: ODPS-0130161:[1,47] Parse exception - invalid token '.'

The correct sql should be select count(*) from myproject.tab1``, but dremio commit a wrong sql with duplicate projects.

arp.yaml file:

  # Manually Configured Metadata Section.
  apiname: maxcompute
  spec_version: '1'

  # Manually Configured Syntax Section.
  identifier_quote: '`'
  identifier_length_limit: 128
  allows_boolean_literal: false
  map_boolean_literal_to_bit: false
  supports_catalogs: false
  supports_schemas: false
  ... file:

@SourceType(value = "MAXCOMPUTE", label = "Maxcompute")
public class MaxcomputeConf extends AbstractArpConf<MaxcomputeConf> {
  private static final String ARP_FILENAME = "arp/implementation/maxcompute-arp.yaml";
  private static final ArpDialect ARP_DIALECT =
      AbstractArpConf.loadArpFile(ARP_FILENAME, (ArpDialect::new));
  private static final String DRIVER = "com.aliyun.odps.jdbc.OdpsDriver";

  @DisplayMetadata(label = "JDBC URL (Ex: jdbc:odps:")
  public String jdbcURL;

  @DisplayMetadata(label = "Record fetch size")
  public int fetchSize = 200;

  public String toJdbcConnectionString() {
    checkNotNull(this.jdbcURL, "Missing jdbcURL.");
    return jdbcURL;

  public Config toPluginConfig(SabotContext context) {
    return JdbcStoragePlugin.Config.newBuilder()

  private CloseableDataSource newDataSource() {
    return DataSources.newGenericConnectionPoolDataSource(DRIVER,
      toJdbcConnectionString(), null, null, null, DataSources.CommitMode.DRIVER_SPECIFIED_COMMIT_MODE);

  public ArpDialect getDialect() {
    return ARP_DIALECT;

  public static ArpDialect getDialectSingleton() {
    return ARP_DIALECT;

My custom connector push down with wrong prefix.