A meaningful error message will be great!

On Tue, Jun 11, 2019 at 6:15 PM Maryann Xue <maryann...@apache.org> wrote:

> BTW, I've actually just done some work on hint error handling, which might
> be helpful to what you mentioned:
>
> https://github.com/apache/spark/pull/24653
>
> On Tue, Jun 11, 2019 at 8:04 PM Maryann Xue <maryann....@databricks.com>
> wrote:
>
>> I believe in the SQL standard, the original name cannot be accessed once
>> it’s aliased.
>>
>> On Tue, Jun 11, 2019 at 7:54 PM John Zhuge <jzh...@apache.org> wrote:
>>
>>> Yeah, it is a touch scenario.
>>>
>>> I actually have much simpler cases:
>>>
>>> 1) select /*+ broadcast(t1) */ * from db.t1 join db.t2 on t1.id = t2.id;
>>> 2) select /*+ broadcast(t1) */ * from db.t1 a1 join db.t2 a2 on a1.id =
>>> a2.id;
>>>
>>> 2) is the same as 1) but with aliases. Many users were surprised that 2)
>>> stopped working.
>>>
>>> Thanks,
>>> John
>>>
>>>
>>> On Tue, Jun 11, 2019 at 4:38 PM Maryann Xue <maryann...@apache.org>
>>> wrote:
>>>
>>>> Yes, and for a good reason: the hint relation has exactly the same
>>>> scope with other elements of queries/sub-queries.
>>>>
>>>> Suppose there's a query like:
>>>>
>>>> select /*+ broadcast(s) */ from (select a, b from s) t join (select a,
>>>> b from t) s on t1.a = t2.b
>>>>
>>>> If we allowed the hint resolving to "cross" the scopes, we'd end up
>>>> with a really confusing spec.
>>>>
>>>>
>>>> Thanks,
>>>> Maryann
>>>>
>>>> On Tue, Jun 11, 2019 at 5:26 PM John Zhuge <jzh...@apache.org> wrote:
>>>>
>>>>> Hi Reynold and Maryann,
>>>>>
>>>>> ResolveHints javadoc indicates the traversal does not go past subquery
>>>>> alias. Is there any specific reason?
>>>>>
>>>>> Thanks,
>>>>> John Zhuge
>>>>>
>>>>
>>>
>>> --
>>> John Zhuge
>>>
>>

-- 
John Zhuge

Reply via email to