質問する
1103 次
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 に答える