| Line | Hits | Source | Commit |
| 6848 |
- |
get_rule_windowspec(WindowClause *wc, List *targetList, |
- |
| 6849 |
- |
deparse_context *context) |
- |
| 6850 |
- |
{ |
- |
| 6851 |
- |
StringInfo buf = context->buf; |
- |
| 6852 |
- |
bool needspace = false; |
- |
| 6853 |
- |
const char *sep; |
- |
| 6854 |
- |
ListCell *l; |
- |
| 6855 |
- |
|
- |
| 6856 |
- |
appendStringInfoChar(buf, '('); |
- |
| 6857 |
- |
if (wc->refname) |
- |
| 6858 |
- |
{ |
- |
| 6859 |
- |
appendStringInfoString(buf, quote_identifier(wc->refname)); |
- |
| 6860 |
- |
needspace = true; |
- |
| 6861 |
- |
} |
- |
| 6862 |
- |
/* partition clauses are always inherited, so only print if no refname */ |
- |
| 6863 |
- |
if (wc->partitionClause && !wc->refname) |
- |
| 6864 |
- |
{ |
- |
| 6865 |
- |
if (needspace) |
- |
| 6866 |
- |
appendStringInfoChar(buf, ' '); |
- |
| 6867 |
- |
appendStringInfoString(buf, "PARTITION BY "); |
- |
| 6868 |
- |
sep = ""; |
- |
| 6869 |
- |
foreach(l, wc->partitionClause) |
- |
| 6870 |
- |
{ |
- |
| 6871 |
- |
SortGroupClause *grp = (SortGroupClause *) lfirst(l); |
- |
| 6872 |
- |
|
- |
| 6873 |
- |
appendStringInfoString(buf, sep); |
- |
| 6874 |
- |
get_rule_sortgroupclause(grp->tleSortGroupRef, targetList, |
- |
| 6875 |
- |
false, context); |
- |
| 6876 |
- |
sep = ", "; |
- |
| 6877 |
- |
} |
- |
| 6878 |
- |
needspace = true; |
- |
| 6879 |
- |
} |
- |
| 6880 |
- |
/* print ordering clause only if not inherited */ |
- |
| 6881 |
- |
if (wc->orderClause && !wc->copiedOrder) |
- |
| 6882 |
- |
{ |
- |
| 6883 |
- |
if (needspace) |
- |
| 6884 |
- |
appendStringInfoChar(buf, ' '); |
- |
| 6885 |
- |
appendStringInfoString(buf, "ORDER BY "); |
- |
| 6886 |
- |
get_rule_orderby(wc->orderClause, targetList, false, context); |
- |
| 6887 |
- |
needspace = true; |
- |
| 6888 |
- |
} |
- |
| 6889 |
- |
|
5e2496bRow pattern recognition patch (rewriter). |
| 6890 |
- |
/* framing clause is never inherited, so print unless it's default */ |
- |
| 6891 |
- |
if (wc->frameOptions & FRAMEOPTION_NONDEFAULT) |
- |
| 6892 |
- |
{ |
- |
| 6893 |
- |
if (needspace) |
- |
| 6894 |
- |
appendStringInfoChar(buf, ' '); |
- |
| 6895 |
- |
get_window_frame_options(wc->frameOptions, |
- |
| 6896 |
- |
wc->startOffset, wc->endOffset, |
- |
| 6897 |
- |
context); |
- |
| 6898 |
24 |
needspace = true; |
5e2496bRow pattern recognition patch (rewriter). |
| 6899 |
- |
} |
5e2496bRow pattern recognition patch (rewriter). |
| 6900 |
- |
|
5e2496bRow pattern recognition patch (rewriter). |
| 6901 |
- |
/* RPR */ |
5e2496bRow pattern recognition patch (rewriter). |
| 6902 |
27 |
if (wc->rpSkipTo == ST_NEXT_ROW) |
5e2496bRow pattern recognition patch (rewriter). |
| 6903 |
- |
{ |
5e2496bRow pattern recognition patch (rewriter). |
| 6904 |
0 |
if (needspace) |
5e2496bRow pattern recognition patch (rewriter). |
| 6905 |
0 |
appendStringInfoChar(buf, ' '); |
5e2496bRow pattern recognition patch (rewriter). |
| 6906 |
0 |
appendStringInfoString(buf, |
5e2496bRow pattern recognition patch (rewriter). |
| 6907 |
- |
"\n AFTER MATCH SKIP TO NEXT ROW "); |
5e2496bRow pattern recognition patch (rewriter). |
| 6908 |
0 |
needspace = true; |
5e2496bRow pattern recognition patch (rewriter). |
| 6909 |
- |
} |
5e2496bRow pattern recognition patch (rewriter). |
| 6910 |
27 |
else if (wc->rpSkipTo == ST_PAST_LAST_ROW) |
5e2496bRow pattern recognition patch (rewriter). |
| 6911 |
- |
{ |
5e2496bRow pattern recognition patch (rewriter). |
| 6912 |
3 |
if (needspace) |
5e2496bRow pattern recognition patch (rewriter). |
| 6913 |
3 |
appendStringInfoChar(buf, ' '); |
5e2496bRow pattern recognition patch (rewriter). |
| 6914 |
3 |
appendStringInfoString(buf, |
5e2496bRow pattern recognition patch (rewriter). |
| 6915 |
- |
"\n AFTER MATCH SKIP PAST LAST ROW "); |
5e2496bRow pattern recognition patch (rewriter). |
| 6916 |
3 |
needspace = true; |
5e2496bRow pattern recognition patch (rewriter). |
| 6917 |
- |
} |
5e2496bRow pattern recognition patch (rewriter). |
| 6918 |
27 |
if (wc->initial) |
5e2496bRow pattern recognition patch (rewriter). |
| 6919 |
- |
{ |
5e2496bRow pattern recognition patch (rewriter). |
| 6920 |
3 |
if (needspace) |
5e2496bRow pattern recognition patch (rewriter). |
| 6921 |
3 |
appendStringInfoChar(buf, ' '); |
5e2496bRow pattern recognition patch (rewriter). |
| 6922 |
3 |
appendStringInfoString(buf, "\n INITIAL"); |
5e2496bRow pattern recognition patch (rewriter). |
| 6923 |
3 |
needspace = true; |
5e2496bRow pattern recognition patch (rewriter). |
| 6924 |
- |
} |
5e2496bRow pattern recognition patch (rewriter). |
| 6925 |
27 |
if (wc->patternVariable) |
5e2496bRow pattern recognition patch (rewriter). |
| 6926 |
- |
{ |
5e2496bRow pattern recognition patch (rewriter). |
| 6927 |
3 |
if (needspace) |
5e2496bRow pattern recognition patch (rewriter). |
| 6928 |
3 |
appendStringInfoChar(buf, ' '); |
5e2496bRow pattern recognition patch (rewriter). |
| 6929 |
3 |
appendStringInfoString(buf, "\n PATTERN "); |
5e2496bRow pattern recognition patch (rewriter). |
| 6930 |
3 |
get_rule_pattern(wc->patternVariable, wc->patternRegexp, |
5e2496bRow pattern recognition patch (rewriter). |
| 6931 |
- |
false, context); |
5e2496bRow pattern recognition patch (rewriter). |
| 6932 |
3 |
needspace = true; |
5e2496bRow pattern recognition patch (rewriter). |
| 6933 |
- |
} |
5e2496bRow pattern recognition patch (rewriter). |
| 6934 |
- |
|
5e2496bRow pattern recognition patch (rewriter). |
| 6935 |
27 |
if (wc->defineClause) |
5e2496bRow pattern recognition patch (rewriter). |
| 6936 |
- |
{ |
5e2496bRow pattern recognition patch (rewriter). |
| 6937 |
3 |
if (needspace) |
5e2496bRow pattern recognition patch (rewriter). |
| 6938 |
3 |
appendStringInfoChar(buf, ' '); |
5e2496bRow pattern recognition patch (rewriter). |
| 6939 |
3 |
appendStringInfoString(buf, "\n DEFINE\n"); |
5e2496bRow pattern recognition patch (rewriter). |
| 6940 |
3 |
get_rule_define(wc->defineClause, wc->patternVariable, |
5e2496bRow pattern recognition patch (rewriter). |
| 6941 |
- |
false, context); |
5e2496bRow pattern recognition patch (rewriter). |
| 6942 |
3 |
appendStringInfoChar(buf, ' '); |
5e2496bRow pattern recognition patch (rewriter). |
| 6943 |
- |
} |
- |
| 6944 |
- |
|
5e2496bRow pattern recognition patch (rewriter). |
| 6945 |
- |
appendStringInfoChar(buf, ')'); |
- |
| 6946 |
- |
} |
- |