Hi Julian,
Thank you for the response and sharing this information!
That makes sense, I will draft a PR linked to the JIRA that upstreams the
connector files hosted in our looker-open-source Calcite fork [1].
With respect to testing, it currently requires us to set up a Tableau
instance with the connector configured and run Tableau's automated test
suite - TDVT [2]. I could add those instructions in a readme for subsequent
testing, but it might not be feasible to make it a part of CI as we need a
running tableau instance to test the connector.
[1]
https://github.com/looker-open-source/calcite/tree/connector/connector/tableau
[2] https://tableau.github.io/connector-plugin-sdk/docs/tdvt
Best regards,
Jerin
On Mon, Jan 29, 2024 at 1:23 PM Julian Hyde wrote:
> Thanks for reaching out, Jerin!
>
> (Jerin and I work together at Google, but I’m wearing my Calcite hat here.)
>
> A Tableau connector is something Calcite has needed for some time, and
> in fact there is a Jira case for it [1]. The goals were (1) create a
> 'vanilla' connector to that Tableau can connect to via Avatica to a
> server speaking Calcite's dialect to SQL, and (2) create a starting
> point for products based on Calcite/Avatica to create their own
> Tableau connectors.
>
> I think that what you have built will meet the needs of (1).
>
> Where to host it? A separate git repository within the Calcite project
> would seem to be ideal, but it would incur extra effort making
> periodic releases. Being pragmatic, a subdirectory of Calcite will is
> a good place to start.
>
> The choice of GoogleSQL as the supported dialect isn't ideal, but is a
> good start. After all, Calcite can be configured to speak that
> dialect, and you have run the tests to prove it. If someone would like
> to create a Tableau connector that uses another dialect (such as
> Calcite's native dialect), this is a great starting point.
>
> The next step would be a PR, linked to 4859.
>
> In the PR, can you describe how to build and test the connector? If
> it's not possible to do that automatically as part of Calcite's CI and
> release process, there should at least be documented steps and scripts
> to achieve that, and there should be at least a minimal test that we
> can run as part of Calcite CI.
>
> Julian
>
> [1] https://issues.apache.org/jira/browse/CALCITE-4859
>
> On Wed, Jan 24, 2024 at 3:34 PM Jerin John
> wrote:
> >
> > Hi Calcite Devs,
> >
> > We have been working on creating a version of the Tableau connector [1]
> > that allows Tableau Desktop and server to connect to external data
> sources,
> > in this case to interface with our BI application, Looker. We created a
> > dialect definition (TDD file) [2] conformant to the GoogleSQL standard
> and
> > are hosting the current version of this connector in our
> looker-open-source
> > fork of Calcite [3].
> >
> > If anybody is interested in collaborating on/utilizing an open-source
> > Calcite/Avatica-Tableau connector using a GoogleSQL-based TDD, we'd love
> to
> > gather some inputs on hosting this on the Calcite main repo or another
> > repository under the calcite/apache projects.
> > Happy to share more info and awaiting your comments!
> >
> > Links:
> > [1] https://tableau.github.io/connector-plugin-sdk/docs/
> > [2]
> >
> https://github.com/looker-open-source/calcite/blame/connector/connector/tableau/looker-jdbc/dialect.tdd
> > [3] https://github.com/looker-open-source/calcite/tree/connector
> >
> > Thanks and regards,
> > Jerin
>