Thanks Jullian , Yes, I am doing changes to the calcite code base (in core module, CalciteStatement class), I will make jar and use it in tools like DBeaver for different databases.
I will try either of the options suggested. On Tue, Sep 27, 2022 at 12:46 AM Julian Hyde <[email protected]> wrote: > Kartik, > > You should make your own module that depends on both "core" and > "file". In that way, no dependencies are circular. > > It sounds like you are hacking a fork of Calcite's git repo. If so, > you could hack the 'plus' module, and make it depend on "file" and > "core". > > Julian > > On Mon, Sep 26, 2022 at 10:05 AM Kartik Kudada > <[email protected]> wrote: > > > > Sorry typo error in the previous mail, the corrected part is highlighted. > > > > build.gradle.kts of file . > > line - 24 > > > > dependencies { > > api(project(":core")) > > > > > > On Mon, Sep 26, 2022 at 10:32 PM Kartik Kudada <[email protected]> > > wrote: > > > > > > > > Hi Michael , > > > > > > file module has core dependency. > > > > > > build.gradle.kts of core . > > > line - 24 > > > > > > dependencies { > > > api(project(":core")) > > > > > > > > > That's why when adding the below dependencies in core module, results > in > > > circular dependency ( message: Circular dependency between the > following > > > tasks: ) > > > > > > api(project(":example")) > > > api(project(":file")) > > > > > > If i add only example module => No circular dependency > > > > > > If I add only file mobile => circular dependency . > > > > > > > > > Not sure how to fix that . > > > > > > Regards, > > > Kartik > > > > > > On Mon, Sep 26, 2022 at 10:15 PM Michael Mior <[email protected]> > wrote: > > > > > >> Thanks Julian for correcting which package should be used. This is > not a > > >> circular dependency. There should be no problem with a dependency both > > >> being required directly by your project and transitively via another > > >> dependency. A circular dependency would be if the file adapter > required > > >> the > > >> core code *and* the core code required the file adapter. > > >> > > >> -- > > >> Michael Mior > > >> [email protected] > > >> > > >> > > >> On Mon, Sep 26, 2022 at 12:03 PM Kartik Kudada > > >> <[email protected]> wrote: > > >> > > >> > Thanks for the quick response. > > >> > > > >> > org.apache.calcite.adapter.csv is in the file module. > > >> > I tried to add example and file module in core's build.gradle.kts > but > > >> that > > >> > results in circular dependency as file's build.gradle.kts also has > core > > >> > dependency. > > >> > > > >> > Core's build.gradle.kts > > >> > > > >> > api(project(":example")) > > >> > api(project(":file")) > > >> > > > >> > > > >> > Regards, > > >> > > > >> > Kartik > > >> > > > >> > > > >> > > > >> > On Mon, Sep 26, 2022 at 9:18 PM Julian Hyde <[email protected] > > > > >> > wrote: > > >> > > > >> > > Or, better, the file adapter. It also handles CSV files and is not > > >> “toy” > > >> > > code. > > >> > > > > >> > > Julian > > >> > > > > >> > > > On Sep 26, 2022, at 08:20, Michael Mior <[email protected]> > wrote: > > >> > > > > > >> > > > Do you have the calcite-csv package as a dependency of your > > >> project? > > >> > > This > > >> > > > must be added in addition to calcite-core. > > >> > > > -- > > >> > > > Michael Mior > > >> > > > [email protected] > > >> > > > > > >> > > > > > >> > > >> On Mon, Sep 26, 2022 at 10:37 AM Kartik Kudada > > >> > > >> <[email protected]> wrote: > > >> > > >> > > >> > > >> Hi Calcite Developers, > > >> > > >> > > >> > > >> I am working on a requirement where user queries to RDMS > database > > >> and > > >> > > >> under the hood, Calcite will send back the data from JSON, not > from > > >> > > RDMS. > > >> > > >> > > >> > > >> For this, I have added below code snippet in CalciteStatement > > >> execute > > >> > > >> method to add CSV schema runtime. > > >> > > >> > > >> > > >> sample code : > > >> > > >> > > >> > > >> final Schema schema = > > >> > > >> CsvSchemaFactory.INSTANCE > > >> > > >> .create(connection.getRootSchema(), null, > > >> > > >> ImmutableMap.of("directory", > > >> > > >> "EMPS.json", "flavor", "scannable")); > > >> > > >> > > >> > > >> connection.getRootSchema().add("mycsv", schema); > > >> > > >> > > >> > > >> So, when the user query "SELECT * FROM <RDMS>.EMPS" converts to > > >> > > >> "SELECT * FROM \"mycsv\".EMPS" > > >> > > >> > > >> > > >> The above code says *package org.apache.calcite.adapter.csv > does > > >> not > > >> > > >> exist,* > > >> > > >> > > >> > > >> I am trying to fix it for 5 hours. > > >> > > >> How to do this? > > >> > > >> > > >> > > >> Regards, > > >> > > >> Kartik > > >> > > >> > > >> > > > > >> > > > >> > > > >
