1
4

1 に答える 1

2

集計関数の呼び出しを扱っており、これらは通常の式ではないため、少し注意が必要です。AggCallによって使用されるRelBuilderは、SqlNodeでも でもないことに注意してくださいRexNode

したがって、おそらく最も簡単な方法は、式文字列を有効なクエリ文字列に変換することです。たとえば、" SUM(x) / SUM(y) as myRatio"" は " " になりSELECT SUM(x) / SUM(y) as myRatio FROM (VALUES (0, 0)) AS t(x, y)ます。次に、これを解析して に変換しRelNodeます。PlannerTest.testParseAndConvertまさにこれを行います。数行のコードしか使用しないため、そのメソッドからコピーして貼り付けることができます。

于 2016-06-27T19:22:27.237 に答える