Re: is there a way to skip validation steps...

2023-10-19 Thread Soumyadeep Mukhopadhyay
FYI, it is not possible to skip validation because validated SqlNode can only be converted to a RelNode. The engine will check and halt if you are trying to convert Sql to Rel directly without passing validation. On Thu, Oct 19, 2023 at 4:49 PM Soumyadeep Mukhopadhyay < soumyamy...@gmail.

Re: is there a way to skip validation steps...

2023-10-19 Thread Soumyadeep Mukhopadhyay
ew AbstractTable() { override def getRowType(typeFactory: RelDataTypeFactory): RelDataType = typeFactory.builder .add("category_id", SqlTypeName.INTEGER) .add("year_released", SqlTypeName.VARCHAR) .build() }) This is in Scala. With regards, Soumyadeep Mukhopadhyay. On Thu, 19

Re: [Discussion] Can we forbidden SEARCH operator when use other execution engine?

2023-08-04 Thread Soumyadeep Mukhopadhyay
in wants to take full advantage of > precomputed cubes (something like Calcite's materialized views), it uses > both Calcite and Spark(for distribution computing). Maybe it's wild and a > little fun, but it does works well on many scenarios. > > On Fri, Aug 4, 2023 at 8:10 PM

Re: [Discussion] Can we forbidden SEARCH operator when use other execution engine?

2023-08-04 Thread Soumyadeep Mukhopadhyay
I am curious about your use case. Are you not losing out on the optimisations of Calcite when you are using Spark? Is it possible for you to share a general approach where we will be able to keep the optimisations done by Calcite and use Spark on top of it? On Fri, 4 Aug 2023 at 5:19 PM, P.F.

Re: Template SQL

2023-06-10 Thread Soumyadeep Mukhopadhyay
list', so, I won't be able to help out with any details.* > > To give an example, Cassandra has no joins. So, what if you WANT to have > joins still? What (in theory) you could do with Calcite is to write a query > that accesses the data from Cassandra, and performs the JOINs by sen

Re: Implementing EXPLODE operator

2023-06-03 Thread Soumyadeep Mukhopadhyay
thParentheses(writer, leftPrec, rightPrec, true); return; default: super.unparseCall(writer, call, leftPrec, rightPrec); } Soumyadeep. On Sat, Jun 3, 2023 at 11:12 PM Soumyadeep Mukhopadhyay < soumyamy...@gmail.com> wrote: > My apologies for not providing the context. The following

Re: Implementing EXPLODE operator

2023-06-03 Thread Soumyadeep Mukhopadhyay
: > I don’t know what EXPLODE is and you didn’t define it. UNNEST is in the > SQL standard. > > Julian > > > On Jun 3, 2023, at 09:41, Soumyadeep Mukhopadhyay > wrote: > > > > Actually I am hoping to contribute, but only if it doesn’t seem > redundant

Re: Implementing EXPLODE operator

2023-06-03 Thread Soumyadeep Mukhopadhyay
pasting it to make a new function > seems like a bad idea, because you would be multiplying a mess. I don’t > know what you’re trying to achieve but I would lean on the existing > facilities (UDFs, table functions, adding syntactic sugar if necessary). > > Julian > > &

Implementing EXPLODE operator

2023-06-03 Thread Soumyadeep Mukhopadhyay
Hello all, I was wondering if there's any virtue in creating an operator like UNNEST by having a similar implementation like that of SqlUnnestOperator. (SqlExplodeOperator maybe) The functionalities are close but there are nuances that I have not discovered yet. My approach was kind of a hack :

Re: Add new functions in existing dialects

2023-05-28 Thread Soumyadeep Mukhopadhyay
just wanted to check with you if we are on the same page. Thanks! With regards, Soumyadeep Mukhopadhyay. On Fri, May 26, 2023 at 2:40 AM Julian Hyde wrote: > You could do something that substitutes RexCalls or SqlCalls of > unsupported function calls with calls to supported fun

Implement a filter rule that adds a predicate

2023-05-27 Thread Soumyadeep Mukhopadhyay
the dummy query. *I was wondering if* the same could be achieved in a planner rule. It may not be a good idea but, for the sake of trying it out, do you think it is possible? If yes, could you please give me a rough road map. Thank you for your time and patience! With regards, Soumyadeep Mukhopadhyay.

Re: Template SQL

2023-05-27 Thread Soumyadeep Mukhopadhyay
code and provide feedback. I am more than grateful to you! :) With regards, Soumyadeep Mukhopadhyay. On Sat, May 27, 2023 at 12:05 AM Askar Bozcan wrote: > Hello again! Sorry for the late reply. > Just to be on the same page, I have some questions because I am not 100% > what you are try

Re: Template SQL

2023-05-25 Thread Soumyadeep Mukhopadhyay
Hey Askar, Hope you are doing well. If and when time permits please share your feedback. It would be really helpful! Thanks and Regards, Soumyadeep. On Wed, May 10, 2023 at 2:17 AM Soumyadeep Mukhopadhyay < soumyamy...@gmail.com> wrote: > Hey Askar, > > I am happy to inform th

Add new functions in existing dialects

2023-05-25 Thread Soumyadeep Mukhopadhyay
Hello Everyone, I wanted to know how one can leverage existing dialects to add new functions or rename the occurrence of a specific function (or an operator). For example, a query in Spark SQL - "SELECT EXPLODE(ARRAY['1', '2'])" will only work in Postgres if it is rewritten as "SELECT

Re: Template SQL

2023-05-09 Thread Soumyadeep Mukhopadhyay
3-05-10 at 2.09.41 AM.png] Maybe I am missing something. Please feel free to share your comments. :) Thank you again! With regards, Soumyadeep Mukhopadhyay. On Thu, May 4, 2023 at 7:43 AM Soumyadeep Mukhopadhyay < soumyamy...@gmail.com> wrote: > Hey Askar, > > Thank you so much for you

Re: Template SQL

2023-05-03 Thread Soumyadeep Mukhopadhyay
Hey Askar, Thank you so much for your email. Please take as much time as you need. I will keep trying in the meantime. :) With regards, Soumyadeep Mukhopadhyay. On Thu, 4 May 2023 at 3:04 AM, Askar Bozcan wrote: > Hey, sorry for the late reply but I had some stuff to do IRL & some >

Re: Template SQL

2023-04-24 Thread Soumyadeep Mukhopadhyay
is (what I have done) only a hack or is there a better way to implement this? I understand that my questions are probably not trivial, so I appreciate that you are reading my emails and providing your valuable feedback. Thank you for your time and consideration. :) With regards, Soumyadeep Mukhopadhyay.

Re: Template SQL

2023-04-15 Thread Soumyadeep Mukhopadhyay
and will get back to you as soon as possible. Thank you again sir! :) With best regards, Soumyadeep Mukhopadhyay. On Sat, 15 Apr 2023 at 11:52 PM, Askar Bozcan wrote: > Hello again! > I have prepared this gist to perhaps help you understand how to traverse > through a Sql parse tree

Re: Template SQL

2023-04-12 Thread Soumyadeep Mukhopadhyay
ur time, patience and help! With regards, Soumyadeep Mukhopadhyay. On Fri, Apr 7, 2023 at 8:33 PM Askar Bozcan wrote: > Hey, > You can use Planner.reset(). Note that it has mutable state inside, so do > not reuse the same planner instance in any multi-threading environment. > > (I am a

Re: Template SQL

2023-04-06 Thread Soumyadeep Mukhopadhyay
gain for your time! With regards, Soumyadeep Mukhopadhyay. On Sun, 2 Apr 2023 at 8:59 PM, Oscar Mulin wrote: > Hey Soumyadeep, > I think that can work with a few caveats. > 0) Use the Planner from Frameworks > < > https://calcite.apache.org/javadocAggregate/org/apache/calcite/tools

Re: Template SQL

2023-04-02 Thread Soumyadeep Mukhopadhyay
input. :D With regards, Soumyadeep Mukhopadhyay. On Sun, Apr 2, 2023 at 10:31 PM Askar Bozcan wrote: > Hello again Soumyadeep, > Another thing I forgot to talk about. > For your use case, maybe something like Apache FreeMarker will be a better > fit as Calcite is a bit too

Re: Template SQL

2023-04-02 Thread Soumyadeep Mukhopadhyay
Hello Askar, Thank you so much for taking the time to compile the list I shall try them. :) With regards, Soumyadeep Mukhopadhyay. On Sun, Apr 2, 2023 at 8:59 PM Oscar Mulin wrote: > Hey Soumyadeep, > I think that can work with a few caveats. > 0) Use the Planner from Frameworks &g

Create SqlNode tree from a template

2023-04-02 Thread Soumyadeep Mukhopadhyay
Query). Is this possible? Any recommendations or suggestions are welcome. Even if the approach feels wrong please let me know. :) Thank you for your time and consideration. With regards, Soumyadeep Mukhopadhyay.