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 <[email protected]> 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 <[email protected]> > 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 >
