And please log a bug.
On Thu, Dec 1, 2016 at 1:37 PM, Jess Balint <jbal...@gmail.com> wrote: > Thanks... > > On Wed, Nov 30, 2016 at 2:34 PM, Julian Hyde <jh...@apache.org> wrote: > >> Sorry, my mistake (or my email provider’s). I sent this reply on 11/22 and >> it went into my “sent” folder but it seems not to have made it onto the >> list. >> >> > On Nov 22, 2016, at 7:55 PM, Julian Hyde <jh...@apache.org> wrote: >> > >> > This looks like a bug. But first try writing >> > >> > rb.scan("EMP").as("t0”) >> > .scan("DEPT").as("t1") >> > .join(JoinRelType.LEFT, >> > rb.field(2, "t0", "emp_dept_no”), >> > rb.field(2, "t1", "dept_dept_no")); >> > >> > Note that I added an extra “2, “ in each call to “field”. >> > >> > > There is no such method in the API. The only field() overload accepting a > table alias is field(alias, fieldName). I will add such method. > Thanks. > Jess > > >> > The two calls to “field” don’t know they’re in a call to “join”, and in >> particular don’t know that “join” is about to pop two relational >> expressions of the stack. The “2” argument provides that information. >> Without it RelBuilder has no chance to generate the right column offset. >> > >> > If that doesn’t solve the problem, please log a bug. >> > >> > Julian >> > >> > >> > >> >> On Nov 22, 2016, at 1:41 PM, Jess Balint <jbal...@gmail.com> wrote: >> >> >> >> Hi, >> >> >> >> Using the RelBuilder API, I would like to create a join condition using >> >> table aliases. The RelBuilder.field(relationAlias, fieldName) method >> only >> >> checks the top of the stack. The top of the stack is not yet a join >> node if >> >> using the RelBuilder.join(joinType, joinCondition) method. Here's an >> >> example: >> >> >> >> rb.scan("EMP").as("t0").scan("DEPT").as("t1") >> >> .join(JoinRelType.LEFT, rb.field("t0", "emp_dept_no"), >> >> rb.field("t1", "dept_dept_no")); >> >> >> >> >> >> I'm getting an error "java.lang.IllegalArgumentException: no relation >> wtih >> >> alias 't0'; aliases are: [t1]". Would it make sense for the RelBuilder >> to >> >> check the entire stack in anticipation that it's contents will be used? >> >> >> >> Thx. >> >> Jess >> > >> >>