-
Notifications
You must be signed in to change notification settings - Fork 32
Open
Description
Seems that the PLpgSQL_expr is a string, and the parser doesn't handle sub expressions.
https://gist.github.com/pyramation/6c8ae2da6593c643eec745f1f9019bfc
"default_val": {
"PLpgSQL_expr": {
"query": "(random() - 0.5) * 0.02",
"parseMode": 2
}
}
...
"PLpgSQL_expr": {
"query": "GREATEST(LEAST(p_discount_rate, 0.50), 0)",
"parseMode": 2
}
...
"sqlstmt": {
"PLpgSQL_expr": {
"query": "WITH base AS (\n SELECT\n o.id,\n o.total_amount::numeric AS total_amount,\n o.currency,\n o.created_at\n FROM app_public.app_order o\n WHERE o.org_id = p_org_id\n AND o.user_id = p_user_id\n AND o.created_at >= p_from_ts\n AND o.created_at < p_to_ts\n AND o.total_amount::numeric >= v_min_total\n AND o.currency = p_currency\n ORDER BY o.created_at DESC\n LIMIT p_max_rows\n ),\n totals AS (\n SELECT\n count(*)::int AS orders_scanned,\n COALESCE(sum(total_amount), 0) AS gross_total,\n COALESCE(avg(total_amount), 0) AS avg_total\n FROM base\n )\n SELECT\n t.orders_scanned,\n t.gross_total,\n t.avg_total\n FROM totals t",
"parseMode": 0
}
},
Metadata
Metadata
Assignees
Labels
No labels