@@ -53,6 +53,21 @@ pub enum UnaryOperator {
53
53
PGAbs ,
54
54
/// Unary logical not operator: e.g. `! false` (Hive-specific)
55
55
BangNot ,
56
+ /// `#` Number of points in path or polygon (PostgreSQL/Redshift geometric operator)
57
+ /// see <https://www.postgresql.org/docs/9.5/functions-geometry.html>
58
+ Hash ,
59
+ /// `@-@` Length or circumference (PostgreSQL/Redshift geometric operator)
60
+ /// see <https://www.postgresql.org/docs/9.5/functions-geometry.html>
61
+ AtDashAt ,
62
+ /// `@@` Center (PostgreSQL/Redshift geometric operator)
63
+ /// see <https://www.postgresql.org/docs/9.5/functions-geometry.html>
64
+ DoubleAt ,
65
+ /// `?-` Is horizontal? (PostgreSQL/Redshift geometric operator)
66
+ /// see <https://www.postgresql.org/docs/9.5/functions-geometry.html>
67
+ QuestionDash ,
68
+ /// `?|` Is vertical? (PostgreSQL/Redshift geometric operator)
69
+ /// see <https://www.postgresql.org/docs/9.5/functions-geometry.html>
70
+ QuestionPipe ,
56
71
}
57
72
58
73
impl fmt:: Display for UnaryOperator {
@@ -68,6 +83,11 @@ impl fmt::Display for UnaryOperator {
68
83
UnaryOperator :: PGPrefixFactorial => "!!" ,
69
84
UnaryOperator :: PGAbs => "@" ,
70
85
UnaryOperator :: BangNot => "!" ,
86
+ UnaryOperator :: Hash => "#" ,
87
+ UnaryOperator :: AtDashAt => "@-@" ,
88
+ UnaryOperator :: DoubleAt => "@@" ,
89
+ UnaryOperator :: QuestionDash => "?-" ,
90
+ UnaryOperator :: QuestionPipe => "?|" ,
71
91
} )
72
92
}
73
93
}
@@ -253,6 +273,54 @@ pub enum BinaryOperator {
253
273
/// Specifies a test for an overlap between two datetime periods:
254
274
/// <https://jakewheat.github.io/sql-overview/sql-2016-foundation-grammar.html#overlaps-predicate>
255
275
Overlaps ,
276
+ /// `##` Point of closest proximity (PostgreSQL/Redshift geometric operator)
277
+ /// See <https://www.postgresql.org/docs/9.5/functions-geometry.html>
278
+ DoubleHash ,
279
+ /// `<->` Distance between (PostgreSQL/Redshift geometric operator)
280
+ /// See <https://www.postgresql.org/docs/9.5/functions-geometry.html>
281
+ LtDashGt ,
282
+ /// `&<` Overlaps to left? (PostgreSQL/Redshift geometric operator)
283
+ /// See <https://www.postgresql.org/docs/9.5/functions-geometry.html>
284
+ AndLt ,
285
+ /// `&>` Overlaps to right? (PostgreSQL/Redshift geometric operator)
286
+ /// See <https://www.postgresql.org/docs/9.5/functions-geometry.html>
287
+ AndGt ,
288
+ /// `<<|` Is strictly below? (PostgreSQL/Redshift geometric operator)
289
+ /// See <https://www.postgresql.org/docs/9.5/functions-geometry.html>
290
+ LtLtPipe ,
291
+ /// `|>>` Is strictly above? (PostgreSQL/Redshift geometric operator)
292
+ /// See <https://www.postgresql.org/docs/9.5/functions-geometry.html>
293
+ PipeGtGt ,
294
+ /// `&<|` Does not extend above? (PostgreSQL/Redshift geometric operator)
295
+ /// See <https://www.postgresql.org/docs/9.5/functions-geometry.html>
296
+ AndLtPipe ,
297
+ /// `|&>` Does not extend below? (PostgreSQL/Redshift geometric operator)
298
+ /// See <https://www.postgresql.org/docs/9.5/functions-geometry.html>
299
+ PipeAndGt ,
300
+ /// `<^` Is below? (PostgreSQL/Redshift geometric operator)
301
+ /// See <https://www.postgresql.org/docs/9.5/functions-geometry.html>
302
+ LtCaret ,
303
+ /// `>^` Is above? (PostgreSQL/Redshift geometric operator)
304
+ /// See <https://www.postgresql.org/docs/9.5/functions-geometry.html>
305
+ GtCaret ,
306
+ /// `?#` Intersects? (PostgreSQL/Redshift geometric operator)
307
+ /// See <https://www.postgresql.org/docs/9.5/functions-geometry.html>
308
+ QuestionHash ,
309
+ /// `?-` Is horizontal? (PostgreSQL/Redshift geometric operator)
310
+ /// See <https://www.postgresql.org/docs/9.5/functions-geometry.html>
311
+ QuestionDash ,
312
+ /// `?-|` Is perpendicular? (PostgreSQL/Redshift geometric operator)
313
+ /// See <https://www.postgresql.org/docs/9.5/functions-geometry.html>
314
+ QuestionDashPipe ,
315
+ /// `?||` Are Parallel? (PostgreSQL/Redshift geometric operator)
316
+ /// See <https://www.postgresql.org/docs/9.5/functions-geometry.html>
317
+ QuestionDoublePipe ,
318
+ /// `@` Contained or on? (PostgreSQL/Redshift geometric operator)
319
+ /// See <https://www.postgresql.org/docs/9.5/functions-geometry.html>
320
+ At ,
321
+ /// `~=` Same as? (PostgreSQL/Redshift geometric operator)
322
+ /// See <https://www.postgresql.org/docs/9.5/functions-geometry.html>
323
+ TildeEq ,
256
324
}
257
325
258
326
impl fmt:: Display for BinaryOperator {
@@ -310,6 +378,22 @@ impl fmt::Display for BinaryOperator {
310
378
write ! ( f, "OPERATOR({})" , display_separated( idents, "." ) )
311
379
}
312
380
BinaryOperator :: Overlaps => f. write_str ( "OVERLAPS" ) ,
381
+ BinaryOperator :: DoubleHash => f. write_str ( "##" ) ,
382
+ BinaryOperator :: LtDashGt => f. write_str ( "<->" ) ,
383
+ BinaryOperator :: AndLt => f. write_str ( "&<" ) ,
384
+ BinaryOperator :: AndGt => f. write_str ( "&>" ) ,
385
+ BinaryOperator :: LtLtPipe => f. write_str ( "<<|" ) ,
386
+ BinaryOperator :: PipeGtGt => f. write_str ( "|>>" ) ,
387
+ BinaryOperator :: AndLtPipe => f. write_str ( "&<|" ) ,
388
+ BinaryOperator :: PipeAndGt => f. write_str ( "|&>" ) ,
389
+ BinaryOperator :: LtCaret => f. write_str ( "<^" ) ,
390
+ BinaryOperator :: GtCaret => f. write_str ( ">^" ) ,
391
+ BinaryOperator :: QuestionHash => f. write_str ( "?#" ) ,
392
+ BinaryOperator :: QuestionDash => f. write_str ( "?-" ) ,
393
+ BinaryOperator :: QuestionDashPipe => f. write_str ( "?-|" ) ,
394
+ BinaryOperator :: QuestionDoublePipe => f. write_str ( "?||" ) ,
395
+ BinaryOperator :: At => f. write_str ( "@" ) ,
396
+ BinaryOperator :: TildeEq => f. write_str ( "~=" ) ,
313
397
}
314
398
}
315
399
}
0 commit comments