@@ -251,6 +251,11 @@ pub trait Dialect: Debug + Any {
251251 false
252252 }
253253
254+ /// Returns true if the dialect supports the `(+)` syntax for OUTER JOIN.
255+ fn supports_outer_join_operator ( & self ) -> bool {
256+ false
257+ }
258+
254259 /// Returns true if the dialect supports CONNECT BY.
255260 fn supports_connect_by ( & self ) -> bool {
256261 false
@@ -352,15 +357,6 @@ pub trait Dialect: Debug + Any {
352357 false
353358 }
354359
355- /// Returns true if the dialect supports method calls, for example:
356- ///
357- /// ```sql
358- /// SELECT (SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE).value('.','NVARCHAR(MAX)')
359- /// ```
360- fn supports_methods ( & self ) -> bool {
361- false
362- }
363-
364360 /// Returns true if the dialect supports multiple variable assignment
365361 /// using parentheses in a `SET` variable declaration.
366362 ///
@@ -581,6 +577,7 @@ pub trait Dialect: Debug + Any {
581577 Token :: Word ( w) if w. keyword == Keyword :: SIMILAR => Ok ( p ! ( Like ) ) ,
582578 Token :: Word ( w) if w. keyword == Keyword :: OPERATOR => Ok ( p ! ( Between ) ) ,
583579 Token :: Word ( w) if w. keyword == Keyword :: DIV => Ok ( p ! ( MulDivModOp ) ) ,
580+ Token :: Period => Ok ( p ! ( Period ) ) ,
584581 Token :: Eq
585582 | Token :: Lt
586583 | Token :: LtEq
@@ -654,6 +651,7 @@ pub trait Dialect: Debug + Any {
654651 /// Uses (APPROXIMATELY) <https://www.postgresql.org/docs/7.0/operators.htm#AEN2026> as a reference
655652 fn prec_value ( & self , prec : Precedence ) -> u8 {
656653 match prec {
654+ Precedence :: Period => 100 ,
657655 Precedence :: DoubleColon => 50 ,
658656 Precedence :: AtTz => 41 ,
659657 Precedence :: MulDivModOp => 40 ,
@@ -925,6 +923,7 @@ pub trait Dialect: Debug + Any {
925923/// higher number -> higher precedence
926924#[ derive( Debug , Clone , Copy ) ]
927925pub enum Precedence {
926+ Period ,
928927 DoubleColon ,
929928 AtTz ,
930929 MulDivModOp ,
0 commit comments