No Wildcard select on Azure Analysis Service connector using ARP


I have developed a ARP connector using a jdbc driver for Azure Analysis Service. This driver, by design, does not support a “select *” query, so for a valid projection, all column names have to be explicit.

I am able to use this connector as expected. I am also able to successfully enable reflections on my PDS. I still see some errors in Dremio for some internal queries for eg: select count(*) which is triggered just when I click on a dataset for the very first time.

My question is, would there be any impact on the end to end usability of this connector ?



The select count(*) query automatically happens when getting metadata for datasets. It’s used to get the row count estimate which is used during query planning. An example use of this data is to figure out the optimal order of datasets in joins. If the row count query fails, we return a fixed large constant as the row count estimate.

It is possible to code your ARP connector to use an alternative way of getting the row count estimate. You can have your dialect return your own subclass of JdbcSchemaFetcher (or ArpSchemaFetcher) and override getRowCount() in it.