File tree Expand file tree Collapse file tree 3 files changed +172
-1
lines changed
Expand file tree Collapse file tree 3 files changed +172
-1
lines changed Original file line number Diff line number Diff line change @@ -3954,6 +3954,11 @@ fn window_definition(p: &mut Parser<'_>) -> bool {
39543954 if expr ( p) . is_none ( ) {
39553955 p. error ( "expected an expression" ) ;
39563956 }
3957+ while p. eat ( COMMA ) && !p. at ( EOF ) {
3958+ if expr ( p) . is_none ( ) {
3959+ p. error ( "expected an expression" ) ;
3960+ }
3961+ }
39573962 }
39583963 opt_order_by_clause ( p) ;
39593964 if p. at ( RANGE_KW ) || p. at ( ROWS_KW ) || p. at ( GROUPS_KW ) {
Original file line number Diff line number Diff line change @@ -117,3 +117,19 @@ select timestamp from t;
117117with t(time ) as (select 1 )
118118select time from t;
119119
120+
121+ -- regression gh issue #509
122+ WITH ranked_notifications AS (
123+ SELECT
124+ notification_id,
125+ ROW_NUMBER() OVER (
126+ PARTITION BY user_id, board_id ORDER BY created_at DESC
127+ )
128+ FROM public .notification
129+ WHERE android_channel_id = ' watchlist'
130+ )
131+ UPDATE public .notification
132+ SET dismissed_at = current_timestamp
133+ WHERE notification_id IN (
134+ SELECT notification_id FROM ranked_notifications WHERE rn > 1
135+ );
Original file line number Diff line number Diff line change @@ -1276,4 +1276,154 @@ SOURCE_FILE
12761276 NAME_REF
12771277 IDENT " t"
12781278 SEMICOLON " ;"
1279- WHITESPACE " \n\n "
1279+ WHITESPACE " \n\n\n "
1280+ COMMENT " -- regression gh issue #509"
1281+ WHITESPACE " \n "
1282+ UPDATE
1283+ WITH_CLAUSE
1284+ WITH_KW " WITH"
1285+ WHITESPACE " "
1286+ WITH_TABLE
1287+ NAME
1288+ IDENT " ranked_notifications"
1289+ WHITESPACE " "
1290+ AS_KW " AS"
1291+ WHITESPACE " "
1292+ L_PAREN " ("
1293+ WHITESPACE " \n "
1294+ SELECT
1295+ SELECT_CLAUSE
1296+ SELECT_KW " SELECT"
1297+ WHITESPACE " \n "
1298+ TARGET_LIST
1299+ TARGET
1300+ NAME_REF
1301+ IDENT " notification_id"
1302+ COMMA " ,"
1303+ WHITESPACE " \n "
1304+ TARGET
1305+ CALL_EXPR
1306+ NAME_REF
1307+ IDENT " ROW_NUMBER"
1308+ ARG_LIST
1309+ L_PAREN " ("
1310+ R_PAREN " )"
1311+ WHITESPACE " "
1312+ OVER_CLAUSE
1313+ OVER_KW " OVER"
1314+ WHITESPACE " "
1315+ L_PAREN " ("
1316+ WHITESPACE " \n "
1317+ WINDOW_DEF
1318+ PARTITION_KW " PARTITION"
1319+ WHITESPACE " "
1320+ BY_KW " BY"
1321+ WHITESPACE " "
1322+ NAME_REF
1323+ IDENT " user_id"
1324+ COMMA " ,"
1325+ WHITESPACE " "
1326+ NAME_REF
1327+ IDENT " board_id"
1328+ WHITESPACE " "
1329+ ORDER_BY_CLAUSE
1330+ ORDER_KW " ORDER"
1331+ WHITESPACE " "
1332+ BY_KW " BY"
1333+ WHITESPACE " "
1334+ NAME_REF
1335+ IDENT " created_at"
1336+ WHITESPACE " "
1337+ DESC_KW " DESC"
1338+ WHITESPACE " \n "
1339+ R_PAREN " )"
1340+ WHITESPACE " \n "
1341+ FROM_CLAUSE
1342+ FROM_KW " FROM"
1343+ WHITESPACE " "
1344+ FIELD_EXPR
1345+ NAME_REF
1346+ IDENT " public"
1347+ DOT " ."
1348+ NAME_REF
1349+ IDENT " notification"
1350+ WHITESPACE " \n "
1351+ WHERE_CLAUSE
1352+ WHERE_KW " WHERE"
1353+ WHITESPACE " "
1354+ BIN_EXPR
1355+ NAME_REF
1356+ IDENT " android_channel_id"
1357+ WHITESPACE " "
1358+ EQ " ="
1359+ WHITESPACE " "
1360+ LITERAL
1361+ STRING " 'watchlist'"
1362+ WHITESPACE " \n "
1363+ R_PAREN " )"
1364+ WHITESPACE " \n "
1365+ UPDATE_KW " UPDATE"
1366+ WHITESPACE " "
1367+ RELATION_NAME
1368+ PATH
1369+ PATH
1370+ PATH_SEGMENT
1371+ NAME_REF
1372+ IDENT " public"
1373+ DOT " ."
1374+ PATH_SEGMENT
1375+ NAME_REF
1376+ IDENT " notification"
1377+ WHITESPACE " \n "
1378+ SET_KW " SET"
1379+ WHITESPACE " "
1380+ NAME_REF
1381+ IDENT " dismissed_at"
1382+ WHITESPACE " "
1383+ EQ " ="
1384+ WHITESPACE " "
1385+ NAME_REF
1386+ CURRENT_TIMESTAMP_KW " current_timestamp"
1387+ WHITESPACE " \n "
1388+ WHERE_CLAUSE
1389+ WHERE_KW " WHERE"
1390+ WHITESPACE " "
1391+ BIN_EXPR
1392+ NAME_REF
1393+ IDENT " notification_id"
1394+ WHITESPACE " "
1395+ IN_KW " IN"
1396+ WHITESPACE " "
1397+ PAREN_EXPR
1398+ L_PAREN " ("
1399+ WHITESPACE " \n "
1400+ SELECT
1401+ SELECT_CLAUSE
1402+ SELECT_KW " SELECT"
1403+ WHITESPACE " "
1404+ TARGET_LIST
1405+ TARGET
1406+ NAME_REF
1407+ IDENT " notification_id"
1408+ WHITESPACE " "
1409+ FROM_CLAUSE
1410+ FROM_KW " FROM"
1411+ WHITESPACE " "
1412+ NAME_REF
1413+ IDENT " ranked_notifications"
1414+ WHITESPACE " "
1415+ WHERE_CLAUSE
1416+ WHERE_KW " WHERE"
1417+ WHITESPACE " "
1418+ BIN_EXPR
1419+ NAME_REF
1420+ IDENT " rn"
1421+ WHITESPACE " "
1422+ R_ANGLE " >"
1423+ WHITESPACE " "
1424+ LITERAL
1425+ INT_NUMBER " 1"
1426+ WHITESPACE " \n "
1427+ R_PAREN " )"
1428+ SEMICOLON " ;"
1429+ WHITESPACE " \n "
You can’t perform that action at this time.
0 commit comments