2025-02-13 15:22:50 +01:00
<!doctype html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1" >
2025-02-13 21:00:44 +01:00
< meta name = "generator" content = "pdoc 14.1.0" / >
2025-02-13 15:22:50 +01:00
< title > sqlglot.dialects.dialect API documentation< / title >
< style > / * ! * B o o t s t r a p R e b o o t v 5 . 0 . 0 ( h t t p s : / / g e t b o o t s t r a p . c o m / ) * C o p y r i g h t 2 0 1 1 - 2 0 2 1 T h e B o o t s t r a p A u t h o r s * C o p y r i g h t 2 0 1 1 - 2 0 2 1 T w i t t e r , I n c . * L i c e n s e d u n d e r M I T ( h t t p s : / / g i t h u b . c o m / t w b s / b o o t s t r a p / b l o b / m a i n / L I C E N S E ) * F o r k e d f r o m N o r m a l i z e . c s s , l i c e n s e d M I T ( h t t p s : / / g i t h u b . c o m / n e c o l a s / n o r m a l i z e . c s s / b l o b / m a s t e r / L I C E N S E . m d ) * / * , : : a f t e r , : : b e f o r e { b o x - s i z i n g : b o r d e r - b o x } @ m e d i a ( p r e f e r s - r e d u c e d - m o t i o n : n o - p r e f e r e n c e ) { : r o o t { s c r o l l - b e h a v i o r : s m o o t h } } b o d y { m a r g i n : 0 ; f o n t - f a m i l y : s y s t e m - u i , - a p p l e - s y s t e m , " S e g o e U I " , R o b o t o , " H e l v e t i c a N e u e " , A r i a l , " N o t o S a n s " , " L i b e r a t i o n S a n s " , s a n s - s e r i f , " A p p l e C o l o r E m o j i " , " S e g o e U I E m o j i " , " S e g o e U I S y m b o l " , " N o t o C o l o r E m o j i " ; f o n t - s i z e : 1 r e m ; f o n t - w e i g h t : 4 0 0 ; l i n e - h e i g h t : 1 . 5 ; c o l o r : # 2 1 2 5 2 9 ; b a c k g r o u n d - c o l o r : # f f f ; - w e b k i t - t e x t - s i z e - a d j u s t : 1 0 0 % ; - w e b k i t - t a p - h i g h l i g h t - c o l o r : t r a n s p a r e n t } h r { m a r g i n : 1 r e m 0 ; c o l o r : i n h e r i t ; b a c k g r o u n d - c o l o r : c u r r e n t C o l o r ; b o r d e r : 0 ; o p a c i t y : . 2 5 } h r : n o t ( [ s i z e ] ) { h e i g h t : 1 p x } h 1 , h 2 , h 3 , h 4 , h 5 , h 6 { m a r g i n - t o p : 0 ; m a r g i n - b o t t o m : . 5 r e m ; f o n t - w e i g h t : 5 0 0 ; l i n e - h e i g h t : 1 . 2 } h 1 { f o n t - s i z e : c a l c ( 1 . 3 7 5 r e m + 1 . 5 v w ) } @ m e d i a ( m i n - w i d t h : 1 2 0 0 p x ) { h 1 { f o n t - s i z e : 2 . 5 r e m } } h 2 { f o n t - s i z e : c a l c ( 1 . 3 2 5 r e m + . 9 v w ) } @ m e d i a ( m i n - w i d t h : 1 2 0 0 p x ) { h 2 { f o n t - s i z e : 2 r e m } } h 3 { f o n t - s i z e : c a l c ( 1 . 3 r e m + . 6 v w ) } @ m e d i a ( m i n - w i d t h : 1 2 0 0 p x ) { h 3 { f o n t - s i z e : 1 . 7 5 r e m } } h 4 { f o n t - s i z e : c a l c ( 1 . 2 7 5 r e m + . 3 v w ) } @ m e d i a ( m i n - w i d t h : 1 2 0 0 p x ) { h 4 { f o n t - s i z e : 1 . 5 r e m } } h 5 { f o n t - s i z e : 1 . 2 5 r e m } h 6 { f o n t - s i z e : 1 r e m } p { m a r g i n - t o p : 0 ; m a r g i n - b o t t o m : 1 r e m } a b b r [ d a t a - b s - o r i g i n a l - t i t l e ] , a b b r [ t i t l e ] { - w e b k i t - t e x t - d e c o r a t i o n : u n d e r l i n e d o t t e d ; t e x t - d e c o r a t i o n : u n d e r l i n e d o t t e d ; c u r s o r : h e l p ; - w e b k i t - t e x t - d e c o r a t i o n - s k i p - i n k : n o n e ; t e x t - d e c o r a t i o n - s k i p - i n k : n o n e } a d d r e s s { m a r g i n - b o t t o m : 1 r e m ; f o n t - s t y l e : n o r m a l ; l i n e - h e i g h t : i n h e r i t } o l , u l { p a d d i n g - l e f t : 2 r e m } d l , o l , u l { m a r g i n - t o p : 0 ; m a r g i n - b o t t o m : 1 r e m } o l o l , o l u l , u l o l , u l u l { m a r g i n - b o t t o m : 0 } d t { f o n t - w e i g h t : 7 0 0 } d d { m a r g i n - b o t t o m : . 5 r e m ; m a r g i n - l e f t : 0 } b l o c k q u o t e { m a r g i n : 0 0 1 r e m } b , s t r o n g { f o n t - w e i g h t : b o l d e r } s m a l l { f o n t - s i z e : . 8 7 5 e m } m a r k { p a d d i n g : . 2 e m ; b a c k g r o u n d - c o l o r : # f c f 8 e 3 } s u b , s u p { p o s i t i o n : r e l a t i v e ; f o n t - s i z e : . 7 5 e m ; l i n e - h e i g h t : 0 ; v e r t i c a l - a l i g n : b a s e l i n e } s u b { b o t t o m : - . 2 5 e m } s u p { t o p : - . 5 e m } a { c o l o r : # 0 d 6 e f d ; t e x t - d e c o r a t i o n : u n d e r l i n e } a : h o v e r { c o l o r : # 0 a 5 8 c a } a : n o t ( [ h r e f ] ) : n o t ( [ c l a s s ] ) , a : n o t ( [ h r e f ] ) : n o t ( [ c l a s s ] ) : h o v e r { c o l o r : i n h e r i t ; t e x t - d e c o r a t i o n : n o n e } c o d e , k b d , p r e , s a m p { f o n t - f a m i l y : S F M o n o - R e g u l a r , M e n l o , M o n a c o , C o n s o l a s , " L i b e r a t i o n M o n o " , " C o u r i e r N e w " , m o n o s p a c e ; f o n t - s i z e : 1 e m ; d i r e c t i o n : l t r ; u n i c o d e - b i d i : b i d i - o v e r r i d e } p r e { d i s p l a y : b l o c k ; m a r g i n - t o p : 0 ; m a r g i n - b o t t o m : 1 r e m ; o v e r f l o w : a u t o ; f o n t - s i z e : . 8 7 5 e m } p r e c o d e { f o n t - s i z e : i n h e r i t ; c o l o r : i n h e r i t ; w o r d - b r e a k : n o r m a l } c o d e { f o n t - s i z e : . 8 7 5 e m ; c o l o r : # d 6 3 3 8 4 ; w o r d - w r a p : b r e a k - w o r d } a > c o d e { c o l o r : i n h e r i t } k b d { p a d d i n g : . 2 r e m . 4 r e m ; f o n t - s i z e : . 8 7 5 e m ; c o l o r : # f f f ; b a c k g r o u n d - c o l o r : # 2 1 2 5 2 9 ; b o r d e r - r a d i u s : . 2 r e m } k b d k b d { p a d d i n g : 0 ; f o n t - s i z e : 1 e m ; f o n t - w e i g h t : 7 0 0 } f i g u r e { m a r g i n : 0 0 1 r e m } i m g , s v g { v e r t i c a l - a l i g n : m i d d l e } t a b l e { c a p t i o n - s i d e : b o t t o m ; b o r d e r - c o l l a p s e : c o l l a p s e } c a p t i o n { p a d d i n g - t o p : . 5 r e m ; p a d d i n g - b o t t o m : . 5 r e m ; c o l o r : # 6 c 7 5 7 d ; t e x t - a l i g n : l e f t } t h { t e x t - a l i g n : i n h e r i t ; t e x t - a l i g n : - w e b k i t - m a t c h - p a r e n t } t b o d y , t d , t f o o t , t h , t h e a d , t r { b o r d e r - c o l o r : i n h e r i t ; b o r d e r - s t y l e : s o l i d ; b o r d e r - w i d t h : 0 } l a b e l { d i s p l a y : i n l i n e - b l o c k } b u t t o n { b o r d e r - r a d i u s : 0 } b u t t o n : f o c u s : n o t ( : f o c u s - v i s i b l e ) { o u t l i n e : 0 } b u t t o n , i n p u t , o p t g r o u p , s e l e c t , t e x t a r e a { m a r g i n : 0 ; f o n t - f a m i l y : i n h e r i t ; f o n t - s i z e : i n h e r i t ; l i n e - h e i g h t : i n h e r i t } b u t t o n , s e l e c t { t e x t - t r a n s f o r m : n o n e } [ r o l e = b u t t o n ] { c u r s o r : p o i n t e r } s e l e c t { w o r d - w r a p : n o r m a l } s e l e c t : d i s a b l e d { o p a c i t y : 1 } [ l i s t ] : : - w e b k i t - c a l e n d a r - p i c k e r - i n d i c a t o r { d i s p l a y : n o n e } [ t y p e = b u t t o n ] , [ t y p e = r e s e t ] , [ t y p e = s u b m i t ] , b u t t o n { - w e b k i t - a p p e a r a n c e : b u t t o n } [ t y p e = b u t t o n ] : n o t ( : d i s a b l e d ) , [ t y p e = r e s e t ] : n o t ( : d i s a b l e d ) , [ t y p e = s u b m i t ] : n o t ( : d i s a b l e d ) , b u t t o n : n o t ( : d i s a b l e d ) { c u r s o r : p o i n t e r } : : - m o z - f o c u s - i n n e r { p a d d i n g : 0 ; b o r d e r - s t y l e : n o n e } t e x t a r e a { r e s i z e : v e r t i c a l } f i e l d s e t { m i n - w i d t h : 0 ; p a d d i n g : 0 ; m a r g i n : 0 ; b o r d e r : 0 } l e g e n d { f l o a t : l e f t ; w i d t h : 1 0 0 % ; p a d d i n g : 0 ; m a r g i n - b o t t o m : . 5 r e m ; f o n t - s i z e : c a l c ( 1 . 2 7 5 r e m + . 3 v w ) ; l i n e - h e i g h t : i n h e r i t } @ m e d i a ( m i n - w i d t h : 1 2 0 0 p x ) { l e g e n d { f o n t - s i z e : 1 . 5 r e m } } l e g e n d + * { c l e a r : l e f t } : : - w e b k i t - d a t e t i m e - e d i t - d a y - f i e l d , : : - w e b k i t - d a t e t i m e - e d i t - f i e l d s - w r a p p e r , : : - w e b k i t - d a t e t i m e - e d i t - h o u r - f i e l d , : : - w e b k i t - d a t e t i m e - e d i t - m i n u t e , : : - w e b k i t - d a t e t i m e - e d i t - m o n t h - f i e
< style > /*! syntax-highlighting.css */ pre { line-height : 125 % ; } span . linenos { color : inherit ; background-color : transparent ; padding-left : 5 px ; padding-right : 20 px ; } . pdoc-code . hll { background-color : #ffffcc } . pdoc-code { background : #f8f8f8 ; } . pdoc-code . c { color : #3D7B7B ; font-style : italic } . pdoc-code . err { border : 1 px solid #FF0000 } . pdoc-code . k { color : #008000 ; font-weight : bold } . pdoc-code . o { color : #666666 } . pdoc-code . ch { color : #3D7B7B ; font-style : italic } . pdoc-code . cm { color : #3D7B7B ; font-style : italic } . pdoc-code . cp { color : #9C6500 } . pdoc-code . cpf { color : #3D7B7B ; font-style : italic } . pdoc-code . c1 { color : #3D7B7B ; font-style : italic } . pdoc-code . cs { color : #3D7B7B ; font-style : italic } . pdoc-code . gd { color : #A00000 } . pdoc-code . ge { font-style : italic } . pdoc-code . gr { color : #E40000 } . pdoc-code . gh { color : #000080 ; font-weight : bold } . pdoc-code . gi { color : #008400 } . pdoc-code . go { color : #717171 } . pdoc-code . gp { color : #000080 ; font-weight : bold } . pdoc-code . gs { font-weight : bold } . pdoc-code . gu { color : #800080 ; font-weight : bold } . pdoc-code . gt { color : #0044DD } . pdoc-code . kc { color : #008000 ; font-weight : bold } . pdoc-code . kd { color : #008000 ; font-weight : bold } . pdoc-code . kn { color : #008000 ; font-weight : bold } . pdoc-code . kp { color : #008000 } . pdoc-code . kr { color : #008000 ; font-weight : bold } . pdoc-code . kt { color : #B00040 } . pdoc-code . m { color : #666666 } . pdoc-code . s { color : #BA2121 } . pdoc-code . na { color : #687822 } . pdoc-code . nb { color : #008000 } . pdoc-code . nc { color : #0000FF ; font-weight : bold } . pdoc-code . no { color : #880000 } . pdoc-code . nd { color : #AA22FF } . pdoc-code . ni { color : #717171 ; font-weight : bold } . pdoc-code . ne { color : #CB3F38 ; font-weight : bold } . pdoc-code . nf { color : #0000FF } . pdoc-code . nl { color : #767600 } . pdoc-code . nn { color : #0000FF ; font-weight : bold } . pdoc-code . nt { color : #008000 ; font-weight : bold } . pdoc-code . nv { color : #19177C } . pdoc-code . ow { color : #AA22FF ; font-weight : bold } . pdoc-code . w { color : #bbbbbb } . pdoc-code . mb { color : #666666 } . pdoc-code . mf { color : #666666 } . pdoc-code . mh { color : #666666 } . pdoc-code . mi { color : #666666 } . pdoc-code . mo { color : #666666 } . pdoc-code . sa { color : #BA2121 } . pdoc-code . sb { color : #BA2121 } . pdoc-code . sc { color : #BA2121 } . pdoc-code . dl { color : #BA2121 } . pdoc-code . sd { color : #BA2121 ; font-style : italic } . pdoc-code . s2 { color : #BA2121 } . pdoc-code . se { color : #AA5D1F ; font-weight : bold } . pdoc-code . sh { color : #BA2121 } . pdoc-code . si { color : #A45A77 ; font-weight : bold } . pdoc-code . sx { color : #008000 } . pdoc-code . sr { color : #A45A77 } . pdoc-code . s1 { color : #BA2121 } . pdoc-code . ss { color : #19177C } . pdoc-code . bp { color : #008000 } . pdoc-code . fm { color : #0000FF } . pdoc-code . vc { color : #19177C } . pdoc-code . vg { color : #19177C } . pdoc-code . vi { color : #19177C } . pdoc-code . vm { color : #19177C } . pdoc-code . il { color : #666666 } < / style >
< style > /*! theme.css */ : root { --pdoc-background : #fff ; } . pdoc { --text : #212529 ; --muted : #6c757d ; --link : #3660a5 ; --link-hover : #1659c5 ; --code : #f8f8f8 ; --active : #fff598 ; --accent : #eee ; --accent2 : #c1c1c1 ; --nav-hover : rgba ( 255 , 255 , 255 , 0.5 ) ; --name : #0066BB ; --def : #008800 ; --annotation : #007020 ; } < / style >
2025-02-13 21:00:44 +01:00
< style > /*! layout.css */ html , body { width : 100 % ; height : 100 % ; } html , main { scroll-behavior : smooth ; } body { background-color : var ( - - pdoc - background ) ; } @ media ( max-width : 769px ) { # navtoggle { cursor : pointer ; position : absolute ; width : 50 px ; height : 40 px ; top : 1 rem ; right : 1 rem ; border-color : var ( - - text ) ; color : var ( - - text ) ; display : flex ; opacity : 0.8 ; z-index : 999 ; } # navtoggle : hover { opacity : 1 ; } # togglestate + div { display : none ; } # togglestate : checked + div { display : inherit ; } main , header { padding : 2 rem 3 vw ; } header + main { margin-top : -3 rem ; } . git-button { display : none !important ; } nav input [ type = "search" ] { max-width : 77 % ; } nav input [ type = "search" ] : first-child { margin-top : -6 px ; } nav input [ type = "search" ] : valid ~ * { display : none !important ; } } @ media ( min-width : 770px ) { : root { --sidebar-width : clamp ( 12.5 rem , 28 vw , 22 rem ) ; } nav { position : fixed ; overflow : auto ; height : 100 vh ; width : var ( - - sidebar - width ) ; } main , header { padding : 3 rem 2 rem 3 rem calc ( var ( - - sidebar - width ) + 3 rem ) ; width : calc ( 54 rem + var ( - - sidebar - width ) ) ; max-width : 100 % ; } header + main { margin-top : -4 rem ; } # navtoggle { display : none ; } } # togglestate { position : absolute ; height : 0 ; opacity : 0 ; } nav . pdoc { --pad : clamp ( 0.5 rem , 2 vw , 1.75 rem ) ; --indent : 1.5 rem ; background-color : var ( - - accent ) ; border-right : 1 px solid var ( - - accent2 ) ; box-shadow : 0 0 20 px rgba ( 50 , 50 , 50 , .2 ) inset ; padding : 0 0 0 var ( - - pad ) ; overflow-wrap : anywhere ; scrollbar-width : thin ; scrollbar-color : var ( - - accent2 ) transparent ; z-index : 1 } nav . pdoc :: -webkit-scrollbar { width : .4 rem ; } nav . pdoc :: -webkit-scrollbar-thumb { background-color : var ( - - accent2 ) ; } nav . pdoc > div { padding : var ( - - pad ) 0 ; } nav . pdoc . module-list-button { display : inline-flex ; align-items : center ; color : var ( - - text ) ; border-color : var ( - - muted ) ; margin-bottom : 1 rem ; } nav . pdoc . module-list-button : hover { border-color : var ( - - text ) ; } nav . pdoc input [ type = search ] { display : block ; outline-offset : 0 ; width : calc ( 100 % - var ( - - pad ) ) ; } nav . pdoc . logo { max-width : calc ( 100 % - var ( - - pad ) ) ; max-height : 35 vh ; display : block ; margin : 0 auto 1 rem ; transform : translate ( calc ( -.5 * var ( - - pad ) ) , 0 ) ; } nav . pdoc ul { list-style : none ; padding-left : 0 ; } nav . pdoc > div > ul { margin-left : calc ( 0 px - var ( - - pad ) ) ; } nav . pdoc li a { padding : .2 rem 0 .2 rem calc ( var ( - - pad ) + var ( - - indent ) ) ; } nav . pdoc > div > ul > li > a { padding-left : var ( - - pad ) ; } nav . pdoc li { transition : all 100 ms ; } nav . pdoc li : hover { background-color : var ( - - nav - hover ) ; } nav . pdoc a , nav . pdoc a : hover { color : var ( - - text ) ; } nav . pdoc a { display : block ; } nav . pdoc > h2 : first-of-type { margin-top : 1.5 rem ; } nav . pdoc . class : before { content : "class " ; color : var ( - - muted ) ; } nav . pdoc . function : after { content : "()" ; color : var ( - - muted ) ; } nav . pdoc footer : before { content : "" ; display : block ; width : calc ( 100 % - var ( - - pad ) ) ; border-top : solid var ( - - accent2 ) 1 px ; margin-top : 1.5 rem ; padding-top : .5 rem ; } nav . pdoc footer { font-size : small ; } < / style >
< style > / * ! c o n t e n t . c s s * / . p d o c { c o l o r : v a r ( - - t e x t ) ; b o x - s i z i n g : b o r d e r - b o x ; l i n e - h e i g h t : 1 . 5 ; b a c k g r o u n d : n o n e ; } . p d o c . p d o c - b u t t o n { c u r s o r : p o i n t e r ; d i s p l a y : i n l i n e - b l o c k ; b o r d e r : s o l i d b l a c k 1 p x ; b o r d e r - r a d i u s : 2 p x ; f o n t - s i z e : . 7 5 r e m ; p a d d i n g : c a l c ( 0 . 5 e m - 1 p x ) 1 e m ; t r a n s i t i o n : 1 0 0 m s a l l ; } . p d o c . p d o c - a l e r t { p a d d i n g : 1 r e m 1 r e m 1 r e m c a l c ( 1 . 5 r e m + 2 4 p x ) ; b o r d e r : 1 p x s o l i d t r a n s p a r e n t ; b o r d e r - r a d i u s : . 2 5 r e m ; b a c k g r o u n d - r e p e a t : n o - r e p e a t ; b a c k g r o u n d - p o s i t i o n : 1 r e m c e n t e r ; m a r g i n - b o t t o m : 1 r e m ; } . p d o c . p d o c - a l e r t > * : l a s t - c h i l d { m a r g i n - b o t t o m : 0 ; } . p d o c . p d o c - a l e r t - n o t e { c o l o r : # 0 8 4 2 9 8 ; b a c k g r o u n d - c o l o r : # c f e 2 f f ; b o r d e r - c o l o r : # b 6 d 4 f e ; b a c k g r o u n d - i m a g e : u r l ( " d a t a : i m a g e / s v g + x m l , % 3 C s v g % 2 0 x m l n s % 3 D % 2 2 h t t p % 3 A / / w w w . w 3 . o r g / 2 0 0 0 / s v g % 2 2 % 2 0 w i d t h % 3 D % 2 2 2 4 % 2 2 % 2 0 h e i g h t % 3 D % 2 2 2 4 % 2 2 % 2 0 f i l l % 3 D % 2 2 % 2 3 0 8 4 2 9 8 % 2 2 % 2 0 v i e w B o x % 3 D % 2 2 0 % 2 0 0 % 2 0 1 6 % 2 0 1 6 % 2 2 % 3 E % 3 C p a t h % 2 0 d % 3 D % 2 2 M 8 % 2 0 1 6 A 8 % 2 0 8 % 2 0 0 % 2 0 1 % 2 0 0 % 2 0 8 % 2 0 0 a 8 % 2 0 8 % 2 0 0 % 2 0 0 % 2 0 0 % 2 0 0 % 2 0 1 6 z m . 9 3 - 9 . 4 1 2 - 1 % 2 0 4 . 7 0 5 c - . 0 7 . 3 4 . 0 2 9 . 5 3 3 . 3 0 4 . 5 3 3 . 1 9 4 % 2 0 0 % 2 0 . 4 8 7 - . 0 7 . 6 8 6 - . 2 4 6 l - . 0 8 8 . 4 1 6 c - . 2 8 7 . 3 4 6 - . 9 2 . 5 9 8 - 1 . 4 6 5 . 5 9 8 - . 7 0 3 % 2 0 0 - 1 . 0 0 2 - . 4 2 2 - . 8 0 8 - 1 . 3 1 9 l . 7 3 8 - 3 . 4 6 8 c . 0 6 4 - . 2 9 3 . 0 0 6 - . 3 9 9 - . 2 8 7 - . 4 7 l - . 4 5 1 - . 0 8 1 . 0 8 2 - . 3 8 1 % 2 0 2 . 2 9 - . 2 8 7 z M 8 % 2 0 5 . 5 a 1 % 2 0 1 % 2 0 0 % 2 0 1 % 2 0 1 % 2 0 0 - 2 % 2 0 1 % 2 0 1 % 2 0 0 % 2 0 0 % 2 0 1 % 2 0 0 % 2 0 2 z % 2 2 / % 3 E % 3 C / s v g % 3 E " ) ; } . p d o c . p d o c - a l e r t - w a r n i n g { c o l o r : # 6 6 4 d 0 3 ; b a c k g r o u n d - c o l o r : # f f f 3 c d ; b o r d e r - c o l o r : # f f e c b 5 ; b a c k g r o u n d - i m a g e : u r l ( " d a t a : i m a g e / s v g + x m l , % 3 C s v g % 2 0 x m l n s % 3 D % 2 2 h t t p % 3 A / / w w w . w 3 . o r g / 2 0 0 0 / s v g % 2 2 % 2 0 w i d t h % 3 D % 2 2 2 4 % 2 2 % 2 0 h e i g h t % 3 D % 2 2 2 4 % 2 2 % 2 0 f i l l % 3 D % 2 2 % 2 3 6 6 4 d 0 3 % 2 2 % 2 0 v i e w B o x % 3 D % 2 2 0 % 2 0 0 % 2 0 1 6 % 2 0 1 6 % 2 2 % 3 E % 3 C p a t h % 2 0 d % 3 D % 2 2 M 8 . 9 8 2 % 2 0 1 . 5 6 6 a 1 . 1 3 % 2 0 1 . 1 3 % 2 0 0 % 2 0 0 % 2 0 0 - 1 . 9 6 % 2 0 0 L . 1 6 5 % 2 0 1 3 . 2 3 3 c - . 4 5 7 . 7 7 8 . 0 9 1 % 2 0 1 . 7 6 7 . 9 8 % 2 0 1 . 7 6 7 h 1 3 . 7 1 3 c . 8 8 9 % 2 0 0 % 2 0 1 . 4 3 8 - . 9 9 . 9 8 - 1 . 7 6 7 L 8 . 9 8 2 % 2 0 1 . 5 6 6 z M 8 % 2 0 5 c . 5 3 5 % 2 0 0 % 2 0 . 9 5 4 . 4 6 2 . 9 . 9 9 5 l - . 3 5 % 2 0 3 . 5 0 7 a . 5 5 2 . 5 5 2 % 2 0 0 % 2 0 0 % 2 0 1 - 1 . 1 % 2 0 0 L 7 . 1 % 2 0 5 . 9 9 5 A . 9 0 5 . 9 0 5 % 2 0 0 % 2 0 0 % 2 0 1 % 2 0 8 % 2 0 5 z m . 0 0 2 % 2 0 6 a 1 % 2 0 1 % 2 0 0 % 2 0 1 % 2 0 1 % 2 0 0 % 2 0 2 % 2 0 1 % 2 0 1 % 2 0 0 % 2 0 0 % 2 0 1 % 2 0 0 - 2 z % 2 2 / % 3 E % 3 C / s v g % 3 E " ) ; } . p d o c . p d o c - a l e r t - d a n g e r { c o l o r : # 8 4 2 0 2 9 ; b a c k g r o u n d - c o l o r : # f 8 d 7 d a ; b o r d e r - c o l o r : # f 5 c 2 c 7 ; b a c k g r o u n d - i m a g e : u r l ( " d a t a : i m a g e / s v g + x m l , % 3 C s v g % 2 0 x m l n s % 3 D % 2 2 h t t p % 3 A / / w w w . w 3 . o r g / 2 0 0 0 / s v g % 2 2 % 2 0 w i d t h % 3 D % 2 2 2 4 % 2 2 % 2 0 h e i g h t % 3 D % 2 2 2 4 % 2 2 % 2 0 f i l l % 3 D % 2 2 % 2 3 8 4 2 0 2 9 % 2 2 % 2 0 v i e w B o x % 3 D % 2 2 0 % 2 0 0 % 2 0 1 6 % 2 0 1 6 % 2 2 % 3 E % 3 C p a t h % 2 0 d % 3 D % 2 2 M 5 . 5 2 . 3 5 9 A . 5 . 5 % 2 0 0 % 2 0 0 % 2 0 1 % 2 0 6 % 2 0 0 h 4 a . 5 . 5 % 2 0 0 % 2 0 0 % 2 0 1 % 2 0 . 4 7 4 . 6 5 8 L 8 . 6 9 4 % 2 0 6 H 1 2 . 5 a . 5 . 5 % 2 0 0 % 2 0 0 % 2 0 1 % 2 0 . 3 9 5 . 8 0 7 l - 7 % 2 0 9 a . 5 . 5 % 2 0 0 % 2 0 0 % 2 0 1 - . 8 7 3 - . 4 5 4 L 6 . 8 2 3 % 2 0 9 . 5 H 3 . 5 a . 5 . 5 % 2 0 0 % 2 0 0 % 2 0 1 - . 4 8 - . 6 4 1 l 2 . 5 - 8 . 5 z % 2 2 / % 3 E % 3 C / s v g % 3 E " ) ; } . p d o c . v i s u a l l y - h i d d e n { p o s i t i o n : a b s o l u t e ! i m p o r t a n t ; w i d t h : 1 p x ! i m p o r t a n t ; h e i g h t : 1 p x ! i m p o r t a n t ; p a d d i n g : 0 ! i m p o r t a n t ; m a r g i n : - 1 p x ! i m p o r t a n t ; o v e r f l o w : h i d d e n ! i m p o r t a n t ; c l i p : r e c t ( 0 , 0 , 0 , 0 ) ! i m p o r t a n t ; w h i t e - s p a c e : n o w r a p ! i m p o r t a n t ; b o r d e r : 0 ! i m p o r t a n t ; } . p d o c h 1 , . p d o c h 2 , . p d o c h 3 { f o n t - w e i g h t : 3 0 0 ; m a r g i n : . 3 e m 0 ; p a d d i n g : . 2 e m 0 ; } . p d o c > s e c t i o n : n o t ( . m o d u l e - i n f o ) h 1 { f o n t - s i z e : 1 . 5 r e m ; f o n t - w e i g h t : 5 0 0 ; } . p d o c > s e c t i o n : n o t ( . m o d u l e - i n f o ) h 2 { f o n t - s i z e : 1 . 4 r e m ; f o n t - w e i g h t : 5 0 0 ; } . p d o c > s e c t i o n : n o t ( . m o d u l e - i n f o ) h 3 { f o n t - s i z e : 1 . 3 r e m ; f o n t - w e i g h t : 5 0 0 ; } . p d o c > s e c t i o n : n o t ( . m o d u l e - i n f o ) h 4 { f o n t - s i z e : 1 . 2 r e m ; } . p d o c > s e c t i o n : n o t ( . m o d u l e - i n f o ) h 5 { f o n t - s i z e : 1 . 1 r e m ; } . p d o c a { t e x t - d e c o r a t i o n : n o n e ; c o l o r : v a r ( - - l i n k ) ; } . p d o c a : h o v e r { c o l o r : v a r ( - - l i n k - h o v e r ) ; } . p d o c b l o c k q u o t e { m a r g i n - l e f t : 2 r e m ; } . p d o c p r e { b o r d e r - t o p : 1 p x s o l i d v a r ( - - a c c e n t 2 ) ; b o r d e r - b o t t o m : 1 p x s o l i d v a r ( - - a c c e n t 2 ) ; m a r g i n - t o p : 0 ; m a r g i n - b o t t o m : 1 e m ; p a d d i n g : . 5 r e m 0 . 5 r e m . 5 r e m ; o v e r f l o w - x : a u t o ; b a c k g r o u n d - c o l o r : v a r ( - - c o d e ) ; } . p d o c c o d e { c o l o r : v a r ( - - t e x t ) ; p a d d i n g : . 2 e m . 4 e m ; m a r g i n : 0 ; f o n t - s i z e : 8 5 % ; b a c k g r o u n d - c o l o r : v a r ( - - a c c e n t ) ; b o r d e r - r a d i u s : 6 p x ; } . p d o c a > c o d e { c o l o r : i n h e r i t ; } . p d o c p r e > c o d e { d i s p l a y : i n l i n e - b l o c k ; f o n t - s i z e : i n h e r i t ; b a c k g r o u n d : n o n e ; b o r d e r : n o n e ; p a d d i n g : 0 ; } . p d o c > s e c t i o n : n o t ( . m o d u l e - i n f o ) { m a r g i n - b o t t o m : 1 . 5 r e m ; } . p d o c . m o d u l e n a m e { m a r g i n - t o p : 0 ; f o n t - w e i g h t : b o l d ; } . p d o c . m o d u l e n a m e a { c o l o r : v a r ( - - l i n k ) ; t r a n s i t i o n : 1 0 0 m s a l l ; } . p d o c . g i t - b u t t o n { f l o a t : r i g h t ; b o r d e r : s o l i d v a r ( - - l i n k ) 1 p x ; } . p d o c . g i t - b u t t o n : h o v e r { b a c k g r o u n d - c o l o r : v a r ( - - l i n k ) ; c o l o r : v a r ( - - p d o c - b a c k g r o u n d ) ; } . v i e w - s o u r c e - t o g g l e - s t a t e , . v i e w - s o u r c e - t o g g l e - s t a t e ~ . p d o c - c o d e { d i s p l a y : n o n e ; } . v i e w - s o u r c e - t o g g l e - s t a t e : c h e c k e d ~ . p d o c - c o d e { d i s p l a y : b l o c k ; } . v i e w - s o u r c e - b u t t o n { d i s p l a y : i n l i n e - b l o c k ; f l o a t : r i g h t ; f o n t - s i z e : . 7 5 r e m ; l i n e - h e i g h t : 1 . 5 r e m ; c o l o r : v a r ( - - m u t e d ) ; p a d d i n g : 0 . 4 r e m 0 1 .
2025-02-13 15:22:50 +01:00
< style > /*! custom.css */ < / style > < / head >
< body >
< nav class = "pdoc" >
< label id = "navtoggle" for = "togglestate" class = "pdoc-button" > < svg xmlns = 'http://www.w3.org/2000/svg' viewBox = '0 0 30 30' > < path stroke-linecap = 'round' stroke = "currentColor" stroke-miterlimit = '10' stroke-width = '2' d = 'M4 7h22M4 15h22M4 23h22' / > < / svg > < / label >
< input id = "togglestate" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div > < a class = "pdoc-button module-list-button" href = "../dialects.html" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "16" height = "16" fill = "currentColor" class = "bi bi-box-arrow-in-left" viewBox = "0 0 16 16" >
< path fill-rule = "evenodd" d = "M10 3.5a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 1 1 0v2A1.5 1.5 0 0 1 9.5 14h-8A1.5 1.5 0 0 1 0 12.5v-9A1.5 1.5 0 0 1 1.5 2h8A1.5 1.5 0 0 1 11 3.5v2a.5.5 0 0 1-1 0v-2z" / >
< path fill-rule = "evenodd" d = "M4.146 8.354a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H14.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3z" / >
< / svg > sqlglot.dialects< / a >
< input type = "search" placeholder = "Search..." role = "searchbox" aria-label = "search"
pattern=".+" required>
2025-02-13 15:47:04 +01:00
< h2 > API Documentation< / h2 >
< ul class = "memberlist" >
2025-02-13 15:22:50 +01:00
< li >
< a class = "class" href = "#Dialects" > Dialects< / a >
< ul class = "memberlist" >
< li >
< a class = "variable" href = "#Dialects.DIALECT" > DIALECT< / a >
< / li >
< li >
< a class = "variable" href = "#Dialects.BIGQUERY" > BIGQUERY< / a >
< / li >
< li >
< a class = "variable" href = "#Dialects.CLICKHOUSE" > CLICKHOUSE< / a >
< / li >
2025-02-13 16:00:14 +01:00
< li >
< a class = "variable" href = "#Dialects.DATABRICKS" > DATABRICKS< / a >
< / li >
< li >
< a class = "variable" href = "#Dialects.DRILL" > DRILL< / a >
< / li >
2025-02-13 15:22:50 +01:00
< li >
< a class = "variable" href = "#Dialects.DUCKDB" > DUCKDB< / a >
< / li >
< li >
< a class = "variable" href = "#Dialects.HIVE" > HIVE< / a >
< / li >
< li >
< a class = "variable" href = "#Dialects.MYSQL" > MYSQL< / a >
< / li >
< li >
< a class = "variable" href = "#Dialects.ORACLE" > ORACLE< / a >
< / li >
< li >
< a class = "variable" href = "#Dialects.POSTGRES" > POSTGRES< / a >
< / li >
< li >
< a class = "variable" href = "#Dialects.PRESTO" > PRESTO< / a >
< / li >
< li >
< a class = "variable" href = "#Dialects.REDSHIFT" > REDSHIFT< / a >
< / li >
< li >
< a class = "variable" href = "#Dialects.SNOWFLAKE" > SNOWFLAKE< / a >
< / li >
< li >
< a class = "variable" href = "#Dialects.SPARK" > SPARK< / a >
< / li >
2025-02-13 15:52:54 +01:00
< li >
< a class = "variable" href = "#Dialects.SPARK2" > SPARK2< / a >
< / li >
2025-02-13 15:22:50 +01:00
< li >
< a class = "variable" href = "#Dialects.SQLITE" > SQLITE< / a >
< / li >
< li >
< a class = "variable" href = "#Dialects.STARROCKS" > STARROCKS< / a >
< / li >
< li >
< a class = "variable" href = "#Dialects.TABLEAU" > TABLEAU< / a >
< / li >
< li >
2025-02-13 16:00:14 +01:00
< a class = "variable" href = "#Dialects.TERADATA" > TERADATA< / a >
2025-02-13 15:22:50 +01:00
< / li >
< li >
2025-02-13 16:00:14 +01:00
< a class = "variable" href = "#Dialects.TRINO" > TRINO< / a >
2025-02-13 15:22:50 +01:00
< / li >
< li >
2025-02-13 16:00:14 +01:00
< a class = "variable" href = "#Dialects.TSQL" > TSQL< / a >
2025-02-13 15:22:50 +01:00
< / li >
2025-02-13 20:56:33 +01:00
< li >
< a class = "variable" href = "#Dialects.Doris" > Doris< / a >
< / li >
2025-02-13 15:22:50 +01:00
< / ul >
< / li >
< li >
< a class = "class" href = "#Dialect" > Dialect< / a >
< ul class = "memberlist" >
2025-02-13 20:09:11 +01:00
< li >
< a class = "variable" href = "#Dialect.INDEX_OFFSET" > INDEX_OFFSET< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.UNNEST_COLUMN_ONLY" > UNNEST_COLUMN_ONLY< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.ALIAS_POST_TABLESAMPLE" > ALIAS_POST_TABLESAMPLE< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.RESOLVES_IDENTIFIERS_AS_UPPERCASE" > RESOLVES_IDENTIFIERS_AS_UPPERCASE< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.IDENTIFIERS_CAN_START_WITH_DIGIT" > IDENTIFIERS_CAN_START_WITH_DIGIT< / a >
< / li >
2025-02-13 20:56:33 +01:00
< li >
< a class = "variable" href = "#Dialect.DPIPE_IS_STRING_CONCAT" > DPIPE_IS_STRING_CONCAT< / a >
< / li >
2025-02-13 20:09:11 +01:00
< li >
< a class = "variable" href = "#Dialect.STRICT_STRING_CONCAT" > STRICT_STRING_CONCAT< / a >
< / li >
2025-02-13 21:02:03 +01:00
< li >
< a class = "variable" href = "#Dialect.SUPPORTS_USER_DEFINED_TYPES" > SUPPORTS_USER_DEFINED_TYPES< / a >
< / li >
2025-02-13 21:03:05 +01:00
< li >
< a class = "variable" href = "#Dialect.SUPPORTS_SEMI_ANTI_JOIN" > SUPPORTS_SEMI_ANTI_JOIN< / a >
< / li >
2025-02-13 20:09:11 +01:00
< li >
< a class = "variable" href = "#Dialect.NORMALIZE_FUNCTIONS" > NORMALIZE_FUNCTIONS< / a >
< / li >
2025-02-13 21:04:14 +01:00
< li >
< a class = "variable" href = "#Dialect.LOG_BASE_FIRST" > LOG_BASE_FIRST< / a >
< / li >
2025-02-13 20:09:11 +01:00
< li >
< a class = "variable" href = "#Dialect.NULL_ORDERING" > NULL_ORDERING< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.DATE_FORMAT" > DATE_FORMAT< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.DATEINT_FORMAT" > DATEINT_FORMAT< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.TIME_FORMAT" > TIME_FORMAT< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.TIME_MAPPING" > TIME_MAPPING< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.FORMAT_MAPPING" > FORMAT_MAPPING< / a >
< / li >
2025-02-13 21:04:14 +01:00
< li >
< a class = "variable" href = "#Dialect.ESCAPE_SEQUENCES" > ESCAPE_SEQUENCES< / a >
< / li >
2025-02-13 20:47:46 +01:00
< li >
< a class = "variable" href = "#Dialect.PSEUDOCOLUMNS" > PSEUDOCOLUMNS< / a >
< / li >
2025-02-13 20:09:11 +01:00
< li >
< a class = "variable" href = "#Dialect.tokenizer_class" > tokenizer_class< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.parser_class" > parser_class< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.generator_class" > generator_class< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.TIME_TRIE" > TIME_TRIE< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.FORMAT_TRIE" > FORMAT_TRIE< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.INVERSE_TIME_MAPPING" > INVERSE_TIME_MAPPING< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.INVERSE_TIME_TRIE" > INVERSE_TIME_TRIE< / a >
< / li >
2025-02-13 21:04:14 +01:00
< li >
< a class = "variable" href = "#Dialect.INVERSE_ESCAPE_SEQUENCES" > INVERSE_ESCAPE_SEQUENCES< / a >
< / li >
2025-02-13 15:22:50 +01:00
< li >
< a class = "function" href = "#Dialect.get_or_raise" > get_or_raise< / a >
< / li >
< li >
< a class = "function" href = "#Dialect.format_time" > format_time< / a >
< / li >
2025-02-13 20:04:17 +01:00
< li >
< a class = "function" href = "#Dialect.normalize_identifier" > normalize_identifier< / a >
< / li >
< li >
< a class = "function" href = "#Dialect.case_sensitive" > case_sensitive< / a >
< / li >
< li >
< a class = "function" href = "#Dialect.can_identify" > can_identify< / a >
< / li >
< li >
< a class = "function" href = "#Dialect.quote_identifier" > quote_identifier< / a >
< / li >
2025-02-13 15:22:50 +01:00
< li >
< a class = "function" href = "#Dialect.parse" > parse< / a >
< / li >
< li >
< a class = "function" href = "#Dialect.parse_into" > parse_into< / a >
< / li >
< li >
< a class = "function" href = "#Dialect.generate" > generate< / a >
< / li >
< li >
< a class = "function" href = "#Dialect.transpile" > transpile< / a >
< / li >
2025-02-13 15:45:33 +01:00
< li >
< a class = "function" href = "#Dialect.tokenize" > tokenize< / a >
< / li >
2025-02-13 20:09:11 +01:00
< li >
< a class = "variable" href = "#Dialect.tokenizer" > tokenizer< / a >
< / li >
2025-02-13 15:22:50 +01:00
< li >
< a class = "function" href = "#Dialect.parser" > parser< / a >
< / li >
< li >
< a class = "function" href = "#Dialect.generator" > generator< / a >
< / li >
2025-02-13 20:09:11 +01:00
< li >
< a class = "variable" href = "#Dialect.QUOTE_START" > QUOTE_START< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.QUOTE_END" > QUOTE_END< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.IDENTIFIER_START" > IDENTIFIER_START< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.IDENTIFIER_END" > IDENTIFIER_END< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.BIT_START" > BIT_START< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.BIT_END" > BIT_END< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.HEX_START" > HEX_START< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.HEX_END" > HEX_END< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.BYTE_START" > BYTE_START< / a >
< / li >
< li >
< a class = "variable" href = "#Dialect.BYTE_END" > BYTE_END< / a >
< / li >
2025-02-13 15:22:50 +01:00
< / ul >
< / li >
2025-02-13 20:09:11 +01:00
< li >
< a class = "variable" href = "#DialectType" > DialectType< / a >
< / li >
2025-02-13 15:22:50 +01:00
< li >
< a class = "function" href = "#rename_func" > rename_func< / a >
< / li >
< li >
< a class = "function" href = "#approx_count_distinct_sql" > approx_count_distinct_sql< / a >
< / li >
< li >
< a class = "function" href = "#if_sql" > if_sql< / a >
< / li >
< li >
< a class = "function" href = "#arrow_json_extract_sql" > arrow_json_extract_sql< / a >
< / li >
< li >
< a class = "function" href = "#arrow_json_extract_scalar_sql" > arrow_json_extract_scalar_sql< / a >
< / li >
< li >
< a class = "function" href = "#inline_array_sql" > inline_array_sql< / a >
< / li >
< li >
< a class = "function" href = "#no_ilike_sql" > no_ilike_sql< / a >
< / li >
< li >
< a class = "function" href = "#no_paren_current_date_sql" > no_paren_current_date_sql< / a >
< / li >
< li >
< a class = "function" href = "#no_recursive_cte_sql" > no_recursive_cte_sql< / a >
< / li >
< li >
< a class = "function" href = "#no_safe_divide_sql" > no_safe_divide_sql< / a >
< / li >
< li >
< a class = "function" href = "#no_tablesample_sql" > no_tablesample_sql< / a >
< / li >
< li >
< a class = "function" href = "#no_pivot_sql" > no_pivot_sql< / a >
< / li >
< li >
< a class = "function" href = "#no_trycast_sql" > no_trycast_sql< / a >
< / li >
< li >
< a class = "function" href = "#no_properties_sql" > no_properties_sql< / a >
< / li >
2025-02-13 15:51:35 +01:00
< li >
< a class = "function" href = "#no_comment_column_constraint_sql" > no_comment_column_constraint_sql< / a >
< / li >
2025-02-13 20:20:19 +01:00
< li >
< a class = "function" href = "#no_map_from_entries_sql" > no_map_from_entries_sql< / a >
< / li >
2025-02-13 15:22:50 +01:00
< li >
< a class = "function" href = "#str_position_sql" > str_position_sql< / a >
< / li >
< li >
< a class = "function" href = "#struct_extract_sql" > struct_extract_sql< / a >
< / li >
< li >
< a class = "function" href = "#var_map_sql" > var_map_sql< / a >
< / li >
< li >
< a class = "function" href = "#format_time_lambda" > format_time_lambda< / a >
< / li >
2025-02-13 20:56:33 +01:00
< li >
< a class = "function" href = "#time_format" > time_format< / a >
< / li >
2025-02-13 15:22:50 +01:00
< li >
< a class = "function" href = "#create_with_partitions_sql" > create_with_partitions_sql< / a >
< / li >
< li >
< a class = "function" href = "#parse_date_delta" > parse_date_delta< / a >
< / li >
2025-02-13 15:51:35 +01:00
< li >
< a class = "function" href = "#parse_date_delta_with_interval" > parse_date_delta_with_interval< / a >
< / li >
2025-02-13 15:45:33 +01:00
< li >
< a class = "function" href = "#date_trunc_to_time" > date_trunc_to_time< / a >
< / li >
2025-02-13 21:03:05 +01:00
< li >
< a class = "function" href = "#date_add_interval_sql" > date_add_interval_sql< / a >
< / li >
2025-02-13 15:45:33 +01:00
< li >
< a class = "function" href = "#timestamptrunc_sql" > timestamptrunc_sql< / a >
< / li >
2025-02-13 21:08:47 +01:00
< li >
< a class = "function" href = "#no_timestamp_sql" > no_timestamp_sql< / a >
< / li >
2025-02-13 15:22:50 +01:00
< li >
< a class = "function" href = "#locate_to_strposition" > locate_to_strposition< / a >
< / li >
< li >
< a class = "function" href = "#strposition_to_locate_sql" > strposition_to_locate_sql< / a >
< / li >
2025-02-13 15:58:03 +01:00
< li >
< a class = "function" href = "#left_to_substring_sql" > left_to_substring_sql< / a >
< / li >
< li >
< a class = "function" href = "#right_to_substring_sql" > right_to_substring_sql< / a >
< / li >
2025-02-13 15:22:50 +01:00
< li >
< a class = "function" href = "#timestrtotime_sql" > timestrtotime_sql< / a >
< / li >
< li >
< a class = "function" href = "#datestrtodate_sql" > datestrtodate_sql< / a >
< / li >
2025-02-13 20:49:56 +01:00
< li >
< a class = "function" href = "#encode_decode_sql" > encode_decode_sql< / a >
< / li >
2025-02-13 15:42:50 +01:00
< li >
< a class = "function" href = "#min_or_least" > min_or_least< / a >
< / li >
2025-02-13 15:47:04 +01:00
< li >
< a class = "function" href = "#max_or_greatest" > max_or_greatest< / a >
< / li >
2025-02-13 15:45:33 +01:00
< li >
< a class = "function" href = "#count_if_to_sum" > count_if_to_sum< / a >
< / li >
2025-02-13 15:22:50 +01:00
< li >
< a class = "function" href = "#trim_sql" > trim_sql< / a >
< / li >
2025-02-13 15:31:44 +01:00
< li >
< a class = "function" href = "#str_to_time_sql" > str_to_time_sql< / a >
< / li >
< li >
< a class = "function" href = "#ts_or_ds_to_date_sql" > ts_or_ds_to_date_sql< / a >
< / li >
2025-02-13 16:00:14 +01:00
< li >
< a class = "function" href = "#concat_to_dpipe_sql" > concat_to_dpipe_sql< / a >
< / li >
2025-02-13 21:00:44 +01:00
< li >
< a class = "function" href = "#concat_ws_to_dpipe_sql" > concat_ws_to_dpipe_sql< / a >
< / li >
2025-02-13 20:44:53 +01:00
< li >
< a class = "function" href = "#regexp_extract_sql" > regexp_extract_sql< / a >
< / li >
2025-02-13 20:46:23 +01:00
< li >
< a class = "function" href = "#regexp_replace_sql" > regexp_replace_sql< / a >
< / li >
2025-02-13 15:56:32 +01:00
< li >
< a class = "function" href = "#pivot_column_names" > pivot_column_names< / a >
< / li >
2025-02-13 20:46:23 +01:00
< li >
< a class = "function" href = "#binary_from_function" > binary_from_function< / a >
< / li >
2025-02-13 20:56:33 +01:00
< li >
< a class = "function" href = "#parse_timestamp_trunc" > parse_timestamp_trunc< / a >
< / li >
< li >
< a class = "function" href = "#any_value_to_max_sql" > any_value_to_max_sql< / a >
< / li >
2025-02-13 21:03:05 +01:00
< li >
< a class = "function" href = "#bool_xor_sql" > bool_xor_sql< / a >
< / li >
2025-02-13 20:56:33 +01:00
< li >
< a class = "function" href = "#json_keyvalue_comma_sql" > json_keyvalue_comma_sql< / a >
< / li >
2025-02-13 21:03:05 +01:00
< li >
< a class = "function" href = "#is_parse_json" > is_parse_json< / a >
< / li >
< li >
< a class = "function" href = "#isnull_to_is_null" > isnull_to_is_null< / a >
< / li >
< li >
2025-02-13 21:15:38 +01:00
< a class = "function" href = "#generatedasidentitycolumnconstraint_sql" > generatedasidentitycolumnconstraint_sql< / a >
2025-02-13 21:03:05 +01:00
< / li >
2025-02-13 21:08:47 +01:00
< li >
2025-02-13 21:15:38 +01:00
< a class = "function" href = "#arg_max_or_min_no_count" > arg_max_or_min_no_count< / a >
2025-02-13 21:08:47 +01:00
< / li >
2025-02-13 15:22:50 +01:00
< / ul >
< footer > Copyright (c) 2023 Toby Mao< / footer >
< a class = "attribution" title = "pdoc: Python API documentation generator" href = "https://pdoc.dev" target = "_blank" >
built with < span class = "visually-hidden" > pdoc< / span > < img
alt="pdoc logo"
src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20role%3D%22img%22%20aria-label%3D%22pdoc%20logo%22%20width%3D%22300%22%20height%3D%22150%22%20viewBox%3D%22-1%200%2060%2030%22%3E%3Ctitle%3Epdoc%3C/title%3E%3Cpath%20d%3D%22M29.621%2021.293c-.011-.273-.214-.475-.511-.481a.5.5%200%200%200-.489.503l-.044%201.393c-.097.551-.695%201.215-1.566%201.704-.577.428-1.306.486-2.193.182-1.426-.617-2.467-1.654-3.304-2.487l-.173-.172a3.43%203.43%200%200%200-.365-.306.49.49%200%200%200-.286-.196c-1.718-1.06-4.931-1.47-7.353.191l-.219.15c-1.707%201.187-3.413%202.131-4.328%201.03-.02-.027-.49-.685-.141-1.763.233-.721.546-2.408.772-4.076.042-.09.067-.187.046-.288.166-1.347.277-2.625.241-3.351%201.378-1.008%202.271-2.586%202.271-4.362%200-.976-.272-1.935-.788-2.774-.057-.094-.122-.18-.184-.268.033-.167.052-.339.052-.516%200-1.477-1.202-2.679-2.679-2.679-.791%200-1.496.352-1.987.9a6.3%206.3%200%200%200-1.001.029c-.492-.564-1.207-.929-2.012-.929-1.477%200-2.679%201.202-2.679%202.679A2.65%202.65%200%200%200%20.97%206.554c-.383.747-.595%201.572-.595%202.41%200%202.311%201.507%204.29%203.635%205.107-.037.699-.147%202.27-.423%203.294l-.137.461c-.622%202.042-2.515%208.257%201.727%2010.643%201.614.908%203.06%201.248%204.317%201.248%202.665%200%204.492-1.524%205.322-2.401%201.476-1.559%202.886-1.854%206.491.82%201.877%201.393%203.514%201.753%204.861%201.068%202.223-1.713%202.811-3.867%203.399-6.374.077-.846.056-1.469.054-1.537zm-4.835%204.313c-.054.305-.156.586-.242.629-.034-.007-.131-.022-.307-.157-.145-.111-.314-.478-.456-.908.221.121.432.25.675.355.115.039.219.051.33.081zm-2.251-1.238c-.05.33-.158.648-.252.694-.022.001-.125-.018-.307-.157-.217-.166-.488-.906-.639-1.573.358.344.754.693%201.198%201.036zm-3.887-2.337c-.006-.116-.018-.231-.041-.342.635.145%201.189.368%201.599.625.097.231.166.481.174.642-.03.049-.055.101-.067.158-.046.013-.128.026-.298.004-.278-.037-.901-.57-1.367-1.087zm-1.127-.497c.116.306.176.625.12.71-.019.014-.117.045-.345.016-.206-.027-.604-.332-.986-.695.41-.051.816-.056%201.211-.031zm-4.535%201.535c.209.22.379.47.358.598-.006.041-.088.138-.351.234-.144.055-.539-.063-.979-.259a11.66%2011.66%200%200%200%20.972-.573zm.983-.664c.359-.237.738-.418%201.126-.554.25.237.479.548.457.694-.006.042-.087.138-.351.235-.174.064-.694-.105-1.232-.375zm-3.381%201.794c-.022.145-.061.29-.149.401-.133.166-.358.248-.69.251h-.002c-.133%200-.306-.26-.45-.621.417.091.854.07%201.291-.031zm-2.066-8.077a4.78%204.78%200%200%201-.775-.584c.172-.115.505-.254.88-.378l-.105.962zm-.331%202.302a10.32%2010.32%200%200%201-.828-.502c.202-.143.576-.328.984-.49l-.156.992zm-.45%202.157l-.701-.403c.214-.115.536-.249.891-.376a11.57%2011.57%200%200%201-.19.779zm-.181%201.716c.064.398.194.702.298.893-.194-.051-.435-.162-.736-.398.061-.119.224-.3.438-.495zM8.87%204.141c0%20.152-.123.276-.276.276s-.275-.124-.275-.276.123-.276.276-.276.275.124.275.276zm-.735-.389a1.15%201.15%200%200%200-.314.783%201.16%201.16%200%200%200%201.162%201.162c.457%200%20.842-.27%201.032-.653.026.117.042.238.042.362a1.68%201.68%200%200%201-1.679%201.679%201.68%201.68%200%200%201-1.679-1.679c0-.843.626-1.535%201.436-1.654zM5.059%205.406A1.68%201.68%200%200%201%203.38%207.085a1.68%201.68%200%200%201-1.679-1.679c0-.037.009-.072.011-.109.21.3.541.508.935.508a1.16%201.16%200%200%200%201.162-1.162%201.14%201.14%200%200%200-.474-.912c.015%200%20.03-.005.045-.005.926.001%201.679.754%201.679%201.68zM3.198%204.141c0%20.152-.123.276-.276.276s-.275-.124-.275-.276.123-.276.276-.276.275.124.275.276zM1.375%208.964c0-.52.103-1.035.288-1.52.466.394%201.06.64%201.717.64%201.144%200%202.116-.725%202.499-1.738.383%201.012%201.355%201.738%202.499%201.738.867%200%201.631-.421%202.121-1.062.307.605.478%201.267.478%201.942%200%202.486-2.153%204.51-4.801%204.51s-4.801-2.023-4.801-4.51zm24.342%2019.349c-.985.498-2.267.168-3.813-.979-3.073-2.281-5.453-3.199-7.813-.705-1.315%201.391-4.163%203.365-8.423.97-3.174-1.786-2.239-6.266-1.261-9.479l.146-.492c.276-1.02.395-2.457.444-3.268a6.11%206.11%200%200%200%201.18.115%206.01%206.01%200%200%200%202.536-.562l-.006.175c-.802.215-1.848.612
< / a >
< / div >
< / nav >
< main class = "pdoc" >
< section class = "module-info" >
< a class = "pdoc-button git-button" href = "https://github.com/tobymao/sqlglot/tree/main/sqlglot/dialects/dialect.py" > Edit on GitHub< / a >
< h1 class = "modulename" >
< a href = "./../../sqlglot.html" > sqlglot< / a > < wbr > .< a href = "./../dialects.html" > dialects< / a > < wbr > .dialect < / h1 >
< input id = "mod-dialect-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< label class = "view-source-button" for = "mod-dialect-view-source" > < span > View Source< / span > < / label >
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "L-1" > < a href = "#L-1" > < span class = "linenos" > 1< / span > < / a > < span class = "kn" > from< / span > < span class = "nn" > __future__< / span > < span class = "kn" > import< / span > < span class = "n" > annotations< / span >
< / span > < span id = "L-2" > < a href = "#L-2" > < span class = "linenos" > 2< / span > < / a >
< / span > < span id = "L-3" > < a href = "#L-3" > < span class = "linenos" > 3< / span > < / a > < span class = "kn" > import< / span > < span class = "nn" > typing< / span > < span class = "k" > as< / span > < span class = "nn" > t< / span >
< / span > < span id = "L-4" > < a href = "#L-4" > < span class = "linenos" > 4< / span > < / a > < span class = "kn" > from< / span > < span class = "nn" > enum< / span > < span class = "kn" > import< / span > < span class = "n" > Enum< / span >
2025-02-13 21:00:44 +01:00
< / span > < span id = "L-5" > < a href = "#L-5" > < span class = "linenos" > 5< / span > < / a > < span class = "kn" > from< / span > < span class = "nn" > functools< / span > < span class = "kn" > import< / span > < span class = "n" > reduce< / span >
< / span > < span id = "L-6" > < a href = "#L-6" > < span class = "linenos" > 6< / span > < / a >
< / span > < span id = "L-7" > < a href = "#L-7" > < span class = "linenos" > 7< / span > < / a > < span class = "kn" > from< / span > < span class = "nn" > sqlglot< / span > < span class = "kn" > import< / span > < span class = "n" > exp< / span >
< / span > < span id = "L-8" > < a href = "#L-8" > < span class = "linenos" > 8< / span > < / a > < span class = "kn" > from< / span > < span class = "nn" > sqlglot._typing< / span > < span class = "kn" > import< / span > < span class = "n" > E< / span >
< / span > < span id = "L-9" > < a href = "#L-9" > < span class = "linenos" > 9< / span > < / a > < span class = "kn" > from< / span > < span class = "nn" > sqlglot.errors< / span > < span class = "kn" > import< / span > < span class = "n" > ParseError< / span >
< / span > < span id = "L-10" > < a href = "#L-10" > < span class = "linenos" > 10< / span > < / a > < span class = "kn" > from< / span > < span class = "nn" > sqlglot.generator< / span > < span class = "kn" > import< / span > < span class = "n" > Generator< / span >
< / span > < span id = "L-11" > < a href = "#L-11" > < span class = "linenos" > 11< / span > < / a > < span class = "kn" > from< / span > < span class = "nn" > sqlglot.helper< / span > < span class = "kn" > import< / span > < span class = "n" > flatten< / span > < span class = "p" > ,< / span > < span class = "n" > seq_get< / span >
< / span > < span id = "L-12" > < a href = "#L-12" > < span class = "linenos" > 12< / span > < / a > < span class = "kn" > from< / span > < span class = "nn" > sqlglot.parser< / span > < span class = "kn" > import< / span > < span class = "n" > Parser< / span >
2025-02-13 21:08:47 +01:00
< / span > < span id = "L-13" > < a href = "#L-13" > < span class = "linenos" > 13< / span > < / a > < span class = "kn" > from< / span > < span class = "nn" > sqlglot.time< / span > < span class = "kn" > import< / span > < span class = "n" > TIMEZONES< / span > < span class = "p" > ,< / span > < span class = "n" > format_time< / span >
2025-02-13 21:00:44 +01:00
< / span > < span id = "L-14" > < a href = "#L-14" > < span class = "linenos" > 14< / span > < / a > < span class = "kn" > from< / span > < span class = "nn" > sqlglot.tokens< / span > < span class = "kn" > import< / span > < span class = "n" > Token< / span > < span class = "p" > ,< / span > < span class = "n" > Tokenizer< / span > < span class = "p" > ,< / span > < span class = "n" > TokenType< / span >
< / span > < span id = "L-15" > < a href = "#L-15" > < span class = "linenos" > 15< / span > < / a > < span class = "kn" > from< / span > < span class = "nn" > sqlglot.trie< / span > < span class = "kn" > import< / span > < span class = "n" > new_trie< / span >
< / span > < span id = "L-16" > < a href = "#L-16" > < span class = "linenos" > 16< / span > < / a >
< / span > < span id = "L-17" > < a href = "#L-17" > < span class = "linenos" > 17< / span > < / a > < span class = "n" > B< / span > < span class = "o" > =< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > TypeVar< / span > < span class = "p" > (< / span > < span class = "s2" > " B" < / span > < span class = "p" > ,< / span > < span class = "n" > bound< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Binary< / span > < span class = "p" > )< / span >
2025-02-13 20:47:46 +01:00
< / span > < span id = "L-18" > < a href = "#L-18" > < span class = "linenos" > 18< / span > < / a >
2025-02-13 21:00:44 +01:00
< / span > < span id = "L-19" > < a href = "#L-19" > < span class = "linenos" > 19< / span > < / a >
< / span > < span id = "L-20" > < a href = "#L-20" > < span class = "linenos" > 20< / span > < / a > < span class = "k" > class< / span > < span class = "nc" > Dialects< / span > < span class = "p" > (< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "n" > Enum< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-21" > < a href = "#L-21" > < span class = "linenos" > 21< / span > < / a > < span class = "n" > DIALECT< / span > < span class = "o" > =< / span > < span class = "s2" > " " < / span >
< / span > < span id = "L-22" > < a href = "#L-22" > < span class = "linenos" > 22< / span > < / a >
< / span > < span id = "L-23" > < a href = "#L-23" > < span class = "linenos" > 23< / span > < / a > < span class = "n" > BIGQUERY< / span > < span class = "o" > =< / span > < span class = "s2" > " bigquery" < / span >
< / span > < span id = "L-24" > < a href = "#L-24" > < span class = "linenos" > 24< / span > < / a > < span class = "n" > CLICKHOUSE< / span > < span class = "o" > =< / span > < span class = "s2" > " clickhouse" < / span >
< / span > < span id = "L-25" > < a href = "#L-25" > < span class = "linenos" > 25< / span > < / a > < span class = "n" > DATABRICKS< / span > < span class = "o" > =< / span > < span class = "s2" > " databricks" < / span >
< / span > < span id = "L-26" > < a href = "#L-26" > < span class = "linenos" > 26< / span > < / a > < span class = "n" > DRILL< / span > < span class = "o" > =< / span > < span class = "s2" > " drill" < / span >
< / span > < span id = "L-27" > < a href = "#L-27" > < span class = "linenos" > 27< / span > < / a > < span class = "n" > DUCKDB< / span > < span class = "o" > =< / span > < span class = "s2" > " duckdb" < / span >
< / span > < span id = "L-28" > < a href = "#L-28" > < span class = "linenos" > 28< / span > < / a > < span class = "n" > HIVE< / span > < span class = "o" > =< / span > < span class = "s2" > " hive" < / span >
< / span > < span id = "L-29" > < a href = "#L-29" > < span class = "linenos" > 29< / span > < / a > < span class = "n" > MYSQL< / span > < span class = "o" > =< / span > < span class = "s2" > " mysql" < / span >
< / span > < span id = "L-30" > < a href = "#L-30" > < span class = "linenos" > 30< / span > < / a > < span class = "n" > ORACLE< / span > < span class = "o" > =< / span > < span class = "s2" > " oracle" < / span >
< / span > < span id = "L-31" > < a href = "#L-31" > < span class = "linenos" > 31< / span > < / a > < span class = "n" > POSTGRES< / span > < span class = "o" > =< / span > < span class = "s2" > " postgres" < / span >
< / span > < span id = "L-32" > < a href = "#L-32" > < span class = "linenos" > 32< / span > < / a > < span class = "n" > PRESTO< / span > < span class = "o" > =< / span > < span class = "s2" > " presto" < / span >
< / span > < span id = "L-33" > < a href = "#L-33" > < span class = "linenos" > 33< / span > < / a > < span class = "n" > REDSHIFT< / span > < span class = "o" > =< / span > < span class = "s2" > " redshift" < / span >
< / span > < span id = "L-34" > < a href = "#L-34" > < span class = "linenos" > 34< / span > < / a > < span class = "n" > SNOWFLAKE< / span > < span class = "o" > =< / span > < span class = "s2" > " snowflake" < / span >
< / span > < span id = "L-35" > < a href = "#L-35" > < span class = "linenos" > 35< / span > < / a > < span class = "n" > SPARK< / span > < span class = "o" > =< / span > < span class = "s2" > " spark" < / span >
< / span > < span id = "L-36" > < a href = "#L-36" > < span class = "linenos" > 36< / span > < / a > < span class = "n" > SPARK2< / span > < span class = "o" > =< / span > < span class = "s2" > " spark2" < / span >
< / span > < span id = "L-37" > < a href = "#L-37" > < span class = "linenos" > 37< / span > < / a > < span class = "n" > SQLITE< / span > < span class = "o" > =< / span > < span class = "s2" > " sqlite" < / span >
< / span > < span id = "L-38" > < a href = "#L-38" > < span class = "linenos" > 38< / span > < / a > < span class = "n" > STARROCKS< / span > < span class = "o" > =< / span > < span class = "s2" > " starrocks" < / span >
< / span > < span id = "L-39" > < a href = "#L-39" > < span class = "linenos" > 39< / span > < / a > < span class = "n" > TABLEAU< / span > < span class = "o" > =< / span > < span class = "s2" > " tableau" < / span >
< / span > < span id = "L-40" > < a href = "#L-40" > < span class = "linenos" > 40< / span > < / a > < span class = "n" > TERADATA< / span > < span class = "o" > =< / span > < span class = "s2" > " teradata" < / span >
< / span > < span id = "L-41" > < a href = "#L-41" > < span class = "linenos" > 41< / span > < / a > < span class = "n" > TRINO< / span > < span class = "o" > =< / span > < span class = "s2" > " trino" < / span >
< / span > < span id = "L-42" > < a href = "#L-42" > < span class = "linenos" > 42< / span > < / a > < span class = "n" > TSQL< / span > < span class = "o" > =< / span > < span class = "s2" > " tsql" < / span >
< / span > < span id = "L-43" > < a href = "#L-43" > < span class = "linenos" > 43< / span > < / a > < span class = "n" > Doris< / span > < span class = "o" > =< / span > < span class = "s2" > " doris" < / span >
2025-02-13 20:56:33 +01:00
< / span > < span id = "L-44" > < a href = "#L-44" > < span class = "linenos" > 44< / span > < / a >
2025-02-13 21:00:44 +01:00
< / span > < span id = "L-45" > < a href = "#L-45" > < span class = "linenos" > 45< / span > < / a >
< / span > < span id = "L-46" > < a href = "#L-46" > < span class = "linenos" > 46< / span > < / a > < span class = "k" > class< / span > < span class = "nc" > _Dialect< / span > < span class = "p" > (< / span > < span class = "nb" > type< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-47" > < a href = "#L-47" > < span class = "linenos" > 47< / span > < / a > < span class = "n" > classes< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Dict< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "n" > Dialect< / span > < span class = "p" > ]]< / span > < span class = "o" > =< / span > < span class = "p" > {}< / span >
< / span > < span id = "L-48" > < a href = "#L-48" > < span class = "linenos" > 48< / span > < / a >
< / span > < span id = "L-49" > < a href = "#L-49" > < span class = "linenos" > 49< / span > < / a > < span class = "k" > def< / span > < span class = "fm" > __eq__< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > other< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Any< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > bool< / span > < span class = "p" > :< / span >
< / span > < span id = "L-50" > < a href = "#L-50" > < span class = "linenos" > 50< / span > < / a > < span class = "k" > if< / span > < span class = "bp" > cls< / span > < span class = "ow" > is< / span > < span class = "n" > other< / span > < span class = "p" > :< / span >
< / span > < span id = "L-51" > < a href = "#L-51" > < span class = "linenos" > 51< / span > < / a > < span class = "k" > return< / span > < span class = "kc" > True< / span >
< / span > < span id = "L-52" > < a href = "#L-52" > < span class = "linenos" > 52< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > other< / span > < span class = "p" > ,< / span > < span class = "nb" > str< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-53" > < a href = "#L-53" > < span class = "linenos" > 53< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > cls< / span > < span class = "ow" > is< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "n" > other< / span > < span class = "p" > )< / span >
< / span > < span id = "L-54" > < a href = "#L-54" > < span class = "linenos" > 54< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > other< / span > < span class = "p" > ,< / span > < span class = "n" > Dialect< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-55" > < a href = "#L-55" > < span class = "linenos" > 55< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > cls< / span > < span class = "ow" > is< / span > < span class = "nb" > type< / span > < span class = "p" > (< / span > < span class = "n" > other< / span > < span class = "p" > )< / span >
< / span > < span id = "L-56" > < a href = "#L-56" > < span class = "linenos" > 56< / span > < / a >
< / span > < span id = "L-57" > < a href = "#L-57" > < span class = "linenos" > 57< / span > < / a > < span class = "k" > return< / span > < span class = "kc" > False< / span >
< / span > < span id = "L-58" > < a href = "#L-58" > < span class = "linenos" > 58< / span > < / a >
< / span > < span id = "L-59" > < a href = "#L-59" > < span class = "linenos" > 59< / span > < / a > < span class = "k" > def< / span > < span class = "fm" > __hash__< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > int< / span > < span class = "p" > :< / span >
< / span > < span id = "L-60" > < a href = "#L-60" > < span class = "linenos" > 60< / span > < / a > < span class = "k" > return< / span > < span class = "nb" > hash< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "vm" > __name__< / span > < span class = "o" > .< / span > < span class = "n" > lower< / span > < span class = "p" > ())< / span >
< / span > < span id = "L-61" > < a href = "#L-61" > < span class = "linenos" > 61< / span > < / a >
< / span > < span id = "L-62" > < a href = "#L-62" > < span class = "linenos" > 62< / span > < / a > < span class = "nd" > @classmethod< / span >
< / span > < span id = "L-63" > < a href = "#L-63" > < span class = "linenos" > 63< / span > < / a > < span class = "k" > def< / span > < span class = "fm" > __getitem__< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > key< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "n" > Dialect< / span > < span class = "p" > ]:< / span >
< / span > < span id = "L-64" > < a href = "#L-64" > < span class = "linenos" > 64< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > classes< / span > < span class = "p" > [< / span > < span class = "n" > key< / span > < span class = "p" > ]< / span >
< / span > < span id = "L-65" > < a href = "#L-65" > < span class = "linenos" > 65< / span > < / a >
< / span > < span id = "L-66" > < a href = "#L-66" > < span class = "linenos" > 66< / span > < / a > < span class = "nd" > @classmethod< / span >
< / span > < span id = "L-67" > < a href = "#L-67" > < span class = "linenos" > 67< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > get< / span > < span class = "p" > (< / span >
< / span > < span id = "L-68" > < a href = "#L-68" > < span class = "linenos" > 68< / span > < / a > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > key< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "n" > default< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "n" > Dialect< / span > < span class = "p" > ]]< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span >
< / span > < span id = "L-69" > < a href = "#L-69" > < span class = "linenos" > 69< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "n" > Dialect< / span > < span class = "p" > ]]:< / span >
< / span > < span id = "L-70" > < a href = "#L-70" > < span class = "linenos" > 70< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > classes< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "n" > key< / span > < span class = "p" > ,< / span > < span class = "n" > default< / span > < span class = "p" > )< / span >
< / span > < span id = "L-71" > < a href = "#L-71" > < span class = "linenos" > 71< / span > < / a >
< / span > < span id = "L-72" > < a href = "#L-72" > < span class = "linenos" > 72< / span > < / a > < span class = "k" > def< / span > < span class = "fm" > __new__< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > clsname< / span > < span class = "p" > ,< / span > < span class = "n" > bases< / span > < span class = "p" > ,< / span > < span class = "n" > attrs< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-73" > < a href = "#L-73" > < span class = "linenos" > 73< / span > < / a > < span class = "n" > klass< / span > < span class = "o" > =< / span > < span class = "nb" > super< / span > < span class = "p" > ()< / span > < span class = "o" > .< / span > < span class = "fm" > __new__< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > clsname< / span > < span class = "p" > ,< / span > < span class = "n" > bases< / span > < span class = "p" > ,< / span > < span class = "n" > attrs< / span > < span class = "p" > )< / span >
< / span > < span id = "L-74" > < a href = "#L-74" > < span class = "linenos" > 74< / span > < / a > < span class = "n" > enum< / span > < span class = "o" > =< / span > < span class = "n" > Dialects< / span > < span class = "o" > .< / span > < span class = "n" > __members__< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "n" > clsname< / span > < span class = "o" > .< / span > < span class = "n" > upper< / span > < span class = "p" > ())< / span >
< / span > < span id = "L-75" > < a href = "#L-75" > < span class = "linenos" > 75< / span > < / a > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > classes< / span > < span class = "p" > [< / span > < span class = "n" > enum< / span > < span class = "o" > .< / span > < span class = "n" > value< / span > < span class = "k" > if< / span > < span class = "n" > enum< / span > < span class = "ow" > is< / span > < span class = "ow" > not< / span > < span class = "kc" > None< / span > < span class = "k" > else< / span > < span class = "n" > clsname< / span > < span class = "o" > .< / span > < span class = "n" > lower< / span > < span class = "p" > ()]< / span > < span class = "o" > =< / span > < span class = "n" > klass< / span >
< / span > < span id = "L-76" > < a href = "#L-76" > < span class = "linenos" > 76< / span > < / a >
< / span > < span id = "L-77" > < a href = "#L-77" > < span class = "linenos" > 77< / span > < / a > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > TIME_TRIE< / span > < span class = "o" > =< / span > < span class = "n" > new_trie< / span > < span class = "p" > (< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > TIME_MAPPING< / span > < span class = "p" > )< / span >
< / span > < span id = "L-78" > < a href = "#L-78" > < span class = "linenos" > 78< / span > < / a > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > FORMAT_TRIE< / span > < span class = "o" > =< / span > < span class = "p" > (< / span >
< / span > < span id = "L-79" > < a href = "#L-79" > < span class = "linenos" > 79< / span > < / a > < span class = "n" > new_trie< / span > < span class = "p" > (< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > FORMAT_MAPPING< / span > < span class = "p" > )< / span > < span class = "k" > if< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > FORMAT_MAPPING< / span > < span class = "k" > else< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > TIME_TRIE< / span >
< / span > < span id = "L-80" > < a href = "#L-80" > < span class = "linenos" > 80< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-81" > < a href = "#L-81" > < span class = "linenos" > 81< / span > < / a > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > INVERSE_TIME_MAPPING< / span > < span class = "o" > =< / span > < span class = "p" > {< / span > < span class = "n" > v< / span > < span class = "p" > :< / span > < span class = "n" > k< / span > < span class = "k" > for< / span > < span class = "n" > k< / span > < span class = "p" > ,< / span > < span class = "n" > v< / span > < span class = "ow" > in< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > TIME_MAPPING< / span > < span class = "o" > .< / span > < span class = "n" > items< / span > < span class = "p" > ()}< / span >
< / span > < span id = "L-82" > < a href = "#L-82" > < span class = "linenos" > 82< / span > < / a > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > INVERSE_TIME_TRIE< / span > < span class = "o" > =< / span > < span class = "n" > new_trie< / span > < span class = "p" > (< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > INVERSE_TIME_MAPPING< / span > < span class = "p" > )< / span >
< / span > < span id = "L-83" > < a href = "#L-83" > < span class = "linenos" > 83< / span > < / a >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-84" > < a href = "#L-84" > < span class = "linenos" > 84< / span > < / a > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > INVERSE_ESCAPE_SEQUENCES< / span > < span class = "o" > =< / span > < span class = "p" > {< / span > < span class = "n" > v< / span > < span class = "p" > :< / span > < span class = "n" > k< / span > < span class = "k" > for< / span > < span class = "n" > k< / span > < span class = "p" > ,< / span > < span class = "n" > v< / span > < span class = "ow" > in< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > ESCAPE_SEQUENCES< / span > < span class = "o" > .< / span > < span class = "n" > items< / span > < span class = "p" > ()}< / span >
< / span > < span id = "L-85" > < a href = "#L-85" > < span class = "linenos" > 85< / span > < / a >
< / span > < span id = "L-86" > < a href = "#L-86" > < span class = "linenos" > 86< / span > < / a > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > tokenizer_class< / span > < span class = "o" > =< / span > < span class = "nb" > getattr< / span > < span class = "p" > (< / span > < span class = "n" > klass< / span > < span class = "p" > ,< / span > < span class = "s2" > " Tokenizer" < / span > < span class = "p" > ,< / span > < span class = "n" > Tokenizer< / span > < span class = "p" > )< / span >
< / span > < span id = "L-87" > < a href = "#L-87" > < span class = "linenos" > 87< / span > < / a > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > parser_class< / span > < span class = "o" > =< / span > < span class = "nb" > getattr< / span > < span class = "p" > (< / span > < span class = "n" > klass< / span > < span class = "p" > ,< / span > < span class = "s2" > " Parser" < / span > < span class = "p" > ,< / span > < span class = "n" > Parser< / span > < span class = "p" > )< / span >
< / span > < span id = "L-88" > < a href = "#L-88" > < span class = "linenos" > 88< / span > < / a > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > generator_class< / span > < span class = "o" > =< / span > < span class = "nb" > getattr< / span > < span class = "p" > (< / span > < span class = "n" > klass< / span > < span class = "p" > ,< / span > < span class = "s2" > " Generator" < / span > < span class = "p" > ,< / span > < span class = "n" > Generator< / span > < span class = "p" > )< / span >
< / span > < span id = "L-89" > < a href = "#L-89" > < span class = "linenos" > 89< / span > < / a >
< / span > < span id = "L-90" > < a href = "#L-90" > < span class = "linenos" > 90< / span > < / a > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > QUOTE_START< / span > < span class = "p" > ,< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > QUOTE_END< / span > < span class = "o" > =< / span > < span class = "nb" > list< / span > < span class = "p" > (< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > tokenizer_class< / span > < span class = "o" > .< / span > < span class = "n" > _QUOTES< / span > < span class = "o" > .< / span > < span class = "n" > items< / span > < span class = "p" > ())[< / span > < span class = "mi" > 0< / span > < span class = "p" > ]< / span >
< / span > < span id = "L-91" > < a href = "#L-91" > < span class = "linenos" > 91< / span > < / a > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > IDENTIFIER_START< / span > < span class = "p" > ,< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > IDENTIFIER_END< / span > < span class = "o" > =< / span > < span class = "nb" > list< / span > < span class = "p" > (< / span >
< / span > < span id = "L-92" > < a href = "#L-92" > < span class = "linenos" > 92< / span > < / a > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > tokenizer_class< / span > < span class = "o" > .< / span > < span class = "n" > _IDENTIFIERS< / span > < span class = "o" > .< / span > < span class = "n" > items< / span > < span class = "p" > ()< / span >
< / span > < span id = "L-93" > < a href = "#L-93" > < span class = "linenos" > 93< / span > < / a > < span class = "p" > )[< / span > < span class = "mi" > 0< / span > < span class = "p" > ]< / span >
< / span > < span id = "L-94" > < a href = "#L-94" > < span class = "linenos" > 94< / span > < / a >
< / span > < span id = "L-95" > < a href = "#L-95" > < span class = "linenos" > 95< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > get_start_end< / span > < span class = "p" > (< / span > < span class = "n" > token_type< / span > < span class = "p" > :< / span > < span class = "n" > TokenType< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Tuple< / span > < span class = "p" > [< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ],< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ]]:< / span >
< / span > < span id = "L-96" > < a href = "#L-96" > < span class = "linenos" > 96< / span > < / a > < span class = "k" > return< / span > < span class = "nb" > next< / span > < span class = "p" > (< / span >
< / span > < span id = "L-97" > < a href = "#L-97" > < span class = "linenos" > 97< / span > < / a > < span class = "p" > (< / span >
< / span > < span id = "L-98" > < a href = "#L-98" > < span class = "linenos" > 98< / span > < / a > < span class = "p" > (< / span > < span class = "n" > s< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > )< / span >
< / span > < span id = "L-99" > < a href = "#L-99" > < span class = "linenos" > 99< / span > < / a > < span class = "k" > for< / span > < span class = "n" > s< / span > < span class = "p" > ,< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > ,< / span > < span class = "n" > t< / span > < span class = "p" > )< / span > < span class = "ow" > in< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > tokenizer_class< / span > < span class = "o" > .< / span > < span class = "n" > _FORMAT_STRINGS< / span > < span class = "o" > .< / span > < span class = "n" > items< / span > < span class = "p" > ()< / span >
< / span > < span id = "L-100" > < a href = "#L-100" > < span class = "linenos" > 100< / span > < / a > < span class = "k" > if< / span > < span class = "n" > t< / span > < span class = "o" > ==< / span > < span class = "n" > token_type< / span >
< / span > < span id = "L-101" > < a href = "#L-101" > < span class = "linenos" > 101< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "L-102" > < a href = "#L-102" > < span class = "linenos" > 102< / span > < / a > < span class = "p" > (< / span > < span class = "kc" > None< / span > < span class = "p" > ,< / span > < span class = "kc" > None< / span > < span class = "p" > ),< / span >
< / span > < span id = "L-103" > < a href = "#L-103" > < span class = "linenos" > 103< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-104" > < a href = "#L-104" > < span class = "linenos" > 104< / span > < / a >
< / span > < span id = "L-105" > < a href = "#L-105" > < span class = "linenos" > 105< / span > < / a > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > BIT_START< / span > < span class = "p" > ,< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > BIT_END< / span > < span class = "o" > =< / span > < span class = "n" > get_start_end< / span > < span class = "p" > (< / span > < span class = "n" > TokenType< / span > < span class = "o" > .< / span > < span class = "n" > BIT_STRING< / span > < span class = "p" > )< / span >
< / span > < span id = "L-106" > < a href = "#L-106" > < span class = "linenos" > 106< / span > < / a > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > HEX_START< / span > < span class = "p" > ,< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > HEX_END< / span > < span class = "o" > =< / span > < span class = "n" > get_start_end< / span > < span class = "p" > (< / span > < span class = "n" > TokenType< / span > < span class = "o" > .< / span > < span class = "n" > HEX_STRING< / span > < span class = "p" > )< / span >
< / span > < span id = "L-107" > < a href = "#L-107" > < span class = "linenos" > 107< / span > < / a > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > BYTE_START< / span > < span class = "p" > ,< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > BYTE_END< / span > < span class = "o" > =< / span > < span class = "n" > get_start_end< / span > < span class = "p" > (< / span > < span class = "n" > TokenType< / span > < span class = "o" > .< / span > < span class = "n" > BYTE_STRING< / span > < span class = "p" > )< / span >
< / span > < span id = "L-108" > < a href = "#L-108" > < span class = "linenos" > 108< / span > < / a >
< / span > < span id = "L-109" > < a href = "#L-109" > < span class = "linenos" > 109< / span > < / a > < span class = "n" > dialect_properties< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
< / span > < span id = "L-110" > < a href = "#L-110" > < span class = "linenos" > 110< / span > < / a > < span class = "o" > **< / span > < span class = "p" > {< / span >
< / span > < span id = "L-111" > < a href = "#L-111" > < span class = "linenos" > 111< / span > < / a > < span class = "n" > k< / span > < span class = "p" > :< / span > < span class = "n" > v< / span >
< / span > < span id = "L-112" > < a href = "#L-112" > < span class = "linenos" > 112< / span > < / a > < span class = "k" > for< / span > < span class = "n" > k< / span > < span class = "p" > ,< / span > < span class = "n" > v< / span > < span class = "ow" > in< / span > < span class = "nb" > vars< / span > < span class = "p" > (< / span > < span class = "n" > klass< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > items< / span > < span class = "p" > ()< / span >
< / span > < span id = "L-113" > < a href = "#L-113" > < span class = "linenos" > 113< / span > < / a > < span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "nb" > callable< / span > < span class = "p" > (< / span > < span class = "n" > v< / span > < span class = "p" > )< / span > < span class = "ow" > and< / span > < span class = "ow" > not< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > v< / span > < span class = "p" > ,< / span > < span class = "nb" > classmethod< / span > < span class = "p" > )< / span > < span class = "ow" > and< / span > < span class = "ow" > not< / span > < span class = "n" > k< / span > < span class = "o" > .< / span > < span class = "n" > startswith< / span > < span class = "p" > (< / span > < span class = "s2" > " __" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-114" > < a href = "#L-114" > < span class = "linenos" > 114< / span > < / a > < span class = "p" > },< / span >
< / span > < span id = "L-115" > < a href = "#L-115" > < span class = "linenos" > 115< / span > < / a > < span class = "s2" > " TOKENIZER_CLASS" < / span > < span class = "p" > :< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > tokenizer_class< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-116" > < a href = "#L-116" > < span class = "linenos" > 116< / span > < / a > < span class = "p" > }< / span >
< / span > < span id = "L-117" > < a href = "#L-117" > < span class = "linenos" > 117< / span > < / a >
< / span > < span id = "L-118" > < a href = "#L-118" > < span class = "linenos" > 118< / span > < / a > < span class = "k" > if< / span > < span class = "n" > enum< / span > < span class = "ow" > not< / span > < span class = "ow" > in< / span > < span class = "p" > (< / span > < span class = "s2" > " " < / span > < span class = "p" > ,< / span > < span class = "s2" > " bigquery" < / span > < span class = "p" > ):< / span >
< / span > < span id = "L-119" > < a href = "#L-119" > < span class = "linenos" > 119< / span > < / a > < span class = "n" > dialect_properties< / span > < span class = "p" > [< / span > < span class = "s2" > " SELECT_KINDS" < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "p" > ()< / span >
< / span > < span id = "L-120" > < a href = "#L-120" > < span class = "linenos" > 120< / span > < / a >
< / span > < span id = "L-121" > < a href = "#L-121" > < span class = "linenos" > 121< / span > < / a > < span class = "c1" > # Pass required dialect properties to the tokenizer, parser and generator classes< / span >
< / span > < span id = "L-122" > < a href = "#L-122" > < span class = "linenos" > 122< / span > < / a > < span class = "k" > for< / span > < span class = "n" > subclass< / span > < span class = "ow" > in< / span > < span class = "p" > (< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > tokenizer_class< / span > < span class = "p" > ,< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > parser_class< / span > < span class = "p" > ,< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > generator_class< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-123" > < a href = "#L-123" > < span class = "linenos" > 123< / span > < / a > < span class = "k" > for< / span > < span class = "n" > name< / span > < span class = "p" > ,< / span > < span class = "n" > value< / span > < span class = "ow" > in< / span > < span class = "n" > dialect_properties< / span > < span class = "o" > .< / span > < span class = "n" > items< / span > < span class = "p" > ():< / span >
< / span > < span id = "L-124" > < a href = "#L-124" > < span class = "linenos" > 124< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > hasattr< / span > < span class = "p" > (< / span > < span class = "n" > subclass< / span > < span class = "p" > ,< / span > < span class = "n" > name< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-125" > < a href = "#L-125" > < span class = "linenos" > 125< / span > < / a > < span class = "nb" > setattr< / span > < span class = "p" > (< / span > < span class = "n" > subclass< / span > < span class = "p" > ,< / span > < span class = "n" > name< / span > < span class = "p" > ,< / span > < span class = "n" > value< / span > < span class = "p" > )< / span >
< / span > < span id = "L-126" > < a href = "#L-126" > < span class = "linenos" > 126< / span > < / a >
< / span > < span id = "L-127" > < a href = "#L-127" > < span class = "linenos" > 127< / span > < / a > < span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > STRICT_STRING_CONCAT< / span > < span class = "ow" > and< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > DPIPE_IS_STRING_CONCAT< / span > < span class = "p" > :< / span >
< / span > < span id = "L-128" > < a href = "#L-128" > < span class = "linenos" > 128< / span > < / a > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > parser_class< / span > < span class = "o" > .< / span > < span class = "n" > BITWISE< / span > < span class = "p" > [< / span > < span class = "n" > TokenType< / span > < span class = "o" > .< / span > < span class = "n" > DPIPE< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > SafeDPipe< / span >
< / span > < span id = "L-129" > < a href = "#L-129" > < span class = "linenos" > 129< / span > < / a >
< / span > < span id = "L-130" > < a href = "#L-130" > < span class = "linenos" > 130< / span > < / a > < span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > SUPPORTS_SEMI_ANTI_JOIN< / span > < span class = "p" > :< / span >
< / span > < span id = "L-131" > < a href = "#L-131" > < span class = "linenos" > 131< / span > < / a > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > parser_class< / span > < span class = "o" > .< / span > < span class = "n" > TABLE_ALIAS_TOKENS< / span > < span class = "o" > =< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > parser_class< / span > < span class = "o" > .< / span > < span class = "n" > TABLE_ALIAS_TOKENS< / span > < span class = "o" > |< / span > < span class = "p" > {< / span >
< / span > < span id = "L-132" > < a href = "#L-132" > < span class = "linenos" > 132< / span > < / a > < span class = "n" > TokenType< / span > < span class = "o" > .< / span > < span class = "n" > ANTI< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-133" > < a href = "#L-133" > < span class = "linenos" > 133< / span > < / a > < span class = "n" > TokenType< / span > < span class = "o" > .< / span > < span class = "n" > SEMI< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-134" > < a href = "#L-134" > < span class = "linenos" > 134< / span > < / a > < span class = "p" > }< / span >
2025-02-13 21:03:05 +01:00
< / span > < span id = "L-135" > < a href = "#L-135" > < span class = "linenos" > 135< / span > < / a >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-136" > < a href = "#L-136" > < span class = "linenos" > 136< / span > < / a > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > generator_class< / span > < span class = "o" > .< / span > < span class = "n" > can_identify< / span > < span class = "o" > =< / span > < span class = "n" > klass< / span > < span class = "o" > .< / span > < span class = "n" > can_identify< / span >
2025-02-13 21:03:05 +01:00
< / span > < span id = "L-137" > < a href = "#L-137" > < span class = "linenos" > 137< / span > < / a >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-138" > < a href = "#L-138" > < span class = "linenos" > 138< / span > < / a > < span class = "k" > return< / span > < span class = "n" > klass< / span >
< / span > < span id = "L-139" > < a href = "#L-139" > < span class = "linenos" > 139< / span > < / a >
< / span > < span id = "L-140" > < a href = "#L-140" > < span class = "linenos" > 140< / span > < / a >
< / span > < span id = "L-141" > < a href = "#L-141" > < span class = "linenos" > 141< / span > < / a > < span class = "k" > class< / span > < span class = "nc" > Dialect< / span > < span class = "p" > (< / span > < span class = "n" > metaclass< / span > < span class = "o" > =< / span > < span class = "n" > _Dialect< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-142" > < a href = "#L-142" > < span class = "linenos" > 142< / span > < / a > < span class = "c1" > # Determines the base index offset for arrays< / span >
< / span > < span id = "L-143" > < a href = "#L-143" > < span class = "linenos" > 143< / span > < / a > < span class = "n" > INDEX_OFFSET< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span >
< / span > < span id = "L-144" > < a href = "#L-144" > < span class = "linenos" > 144< / span > < / a >
< / span > < span id = "L-145" > < a href = "#L-145" > < span class = "linenos" > 145< / span > < / a > < span class = "c1" > # If true unnest table aliases are considered only as column aliases< / span >
< / span > < span id = "L-146" > < a href = "#L-146" > < span class = "linenos" > 146< / span > < / a > < span class = "n" > UNNEST_COLUMN_ONLY< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span >
< / span > < span id = "L-147" > < a href = "#L-147" > < span class = "linenos" > 147< / span > < / a >
< / span > < span id = "L-148" > < a href = "#L-148" > < span class = "linenos" > 148< / span > < / a > < span class = "c1" > # Determines whether or not the table alias comes after tablesample< / span >
< / span > < span id = "L-149" > < a href = "#L-149" > < span class = "linenos" > 149< / span > < / a > < span class = "n" > ALIAS_POST_TABLESAMPLE< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span >
< / span > < span id = "L-150" > < a href = "#L-150" > < span class = "linenos" > 150< / span > < / a >
< / span > < span id = "L-151" > < a href = "#L-151" > < span class = "linenos" > 151< / span > < / a > < span class = "c1" > # Determines whether or not unquoted identifiers are resolved as uppercase< / span >
< / span > < span id = "L-152" > < a href = "#L-152" > < span class = "linenos" > 152< / span > < / a > < span class = "c1" > # When set to None, it means that the dialect treats all identifiers as case-insensitive< / span >
< / span > < span id = "L-153" > < a href = "#L-153" > < span class = "linenos" > 153< / span > < / a > < span class = "n" > RESOLVES_IDENTIFIERS_AS_UPPERCASE< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "nb" > bool< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span >
< / span > < span id = "L-154" > < a href = "#L-154" > < span class = "linenos" > 154< / span > < / a >
< / span > < span id = "L-155" > < a href = "#L-155" > < span class = "linenos" > 155< / span > < / a > < span class = "c1" > # Determines whether or not an unquoted identifier can start with a digit< / span >
< / span > < span id = "L-156" > < a href = "#L-156" > < span class = "linenos" > 156< / span > < / a > < span class = "n" > IDENTIFIERS_CAN_START_WITH_DIGIT< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span >
< / span > < span id = "L-157" > < a href = "#L-157" > < span class = "linenos" > 157< / span > < / a >
< / span > < span id = "L-158" > < a href = "#L-158" > < span class = "linenos" > 158< / span > < / a > < span class = "c1" > # Determines whether or not the DPIPE token (' ||' ) is a string concatenation operator< / span >
< / span > < span id = "L-159" > < a href = "#L-159" > < span class = "linenos" > 159< / span > < / a > < span class = "n" > DPIPE_IS_STRING_CONCAT< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span >
< / span > < span id = "L-160" > < a href = "#L-160" > < span class = "linenos" > 160< / span > < / a >
< / span > < span id = "L-161" > < a href = "#L-161" > < span class = "linenos" > 161< / span > < / a > < span class = "c1" > # Determines whether or not CONCAT' s arguments must be strings< / span >
< / span > < span id = "L-162" > < a href = "#L-162" > < span class = "linenos" > 162< / span > < / a > < span class = "n" > STRICT_STRING_CONCAT< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span >
< / span > < span id = "L-163" > < a href = "#L-163" > < span class = "linenos" > 163< / span > < / a >
< / span > < span id = "L-164" > < a href = "#L-164" > < span class = "linenos" > 164< / span > < / a > < span class = "c1" > # Determines whether or not user-defined data types are supported< / span >
< / span > < span id = "L-165" > < a href = "#L-165" > < span class = "linenos" > 165< / span > < / a > < span class = "n" > SUPPORTS_USER_DEFINED_TYPES< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span >
< / span > < span id = "L-166" > < a href = "#L-166" > < span class = "linenos" > 166< / span > < / a >
< / span > < span id = "L-167" > < a href = "#L-167" > < span class = "linenos" > 167< / span > < / a > < span class = "c1" > # Determines whether or not SEMI/ANTI JOINs are supported< / span >
< / span > < span id = "L-168" > < a href = "#L-168" > < span class = "linenos" > 168< / span > < / a > < span class = "n" > SUPPORTS_SEMI_ANTI_JOIN< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span >
< / span > < span id = "L-169" > < a href = "#L-169" > < span class = "linenos" > 169< / span > < / a >
< / span > < span id = "L-170" > < a href = "#L-170" > < span class = "linenos" > 170< / span > < / a > < span class = "c1" > # Determines how function names are going to be normalized< / span >
< / span > < span id = "L-171" > < a href = "#L-171" > < span class = "linenos" > 171< / span > < / a > < span class = "n" > NORMALIZE_FUNCTIONS< / span > < span class = "p" > :< / span > < span class = "nb" > bool< / span > < span class = "o" > |< / span > < span class = "nb" > str< / span > < span class = "o" > =< / span > < span class = "s2" > " upper" < / span >
< / span > < span id = "L-172" > < a href = "#L-172" > < span class = "linenos" > 172< / span > < / a >
< / span > < span id = "L-173" > < a href = "#L-173" > < span class = "linenos" > 173< / span > < / a > < span class = "c1" > # Determines whether the base comes first in the LOG function< / span >
< / span > < span id = "L-174" > < a href = "#L-174" > < span class = "linenos" > 174< / span > < / a > < span class = "n" > LOG_BASE_FIRST< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span >
< / span > < span id = "L-175" > < a href = "#L-175" > < span class = "linenos" > 175< / span > < / a >
< / span > < span id = "L-176" > < a href = "#L-176" > < span class = "linenos" > 176< / span > < / a > < span class = "c1" > # Indicates the default null ordering method to use if not explicitly set< / span >
< / span > < span id = "L-177" > < a href = "#L-177" > < span class = "linenos" > 177< / span > < / a > < span class = "c1" > # Options are: " nulls_are_small" , " nulls_are_large" , " nulls_are_last" < / span >
< / span > < span id = "L-178" > < a href = "#L-178" > < span class = "linenos" > 178< / span > < / a > < span class = "n" > NULL_ORDERING< / span > < span class = "o" > =< / span > < span class = "s2" > " nulls_are_small" < / span >
< / span > < span id = "L-179" > < a href = "#L-179" > < span class = "linenos" > 179< / span > < / a >
< / span > < span id = "L-180" > < a href = "#L-180" > < span class = "linenos" > 180< / span > < / a > < span class = "n" > DATE_FORMAT< / span > < span class = "o" > =< / span > < span class = "s2" > " ' %Y-%m-< / span > < span class = "si" > %d< / span > < span class = "s2" > ' " < / span >
< / span > < span id = "L-181" > < a href = "#L-181" > < span class = "linenos" > 181< / span > < / a > < span class = "n" > DATEINT_FORMAT< / span > < span class = "o" > =< / span > < span class = "s2" > " ' %Y%m< / span > < span class = "si" > %d< / span > < span class = "s2" > ' " < / span >
< / span > < span id = "L-182" > < a href = "#L-182" > < span class = "linenos" > 182< / span > < / a > < span class = "n" > TIME_FORMAT< / span > < span class = "o" > =< / span > < span class = "s2" > " ' %Y-%m-< / span > < span class = "si" > %d< / span > < span class = "s2" > %H:%M:%S' " < / span >
< / span > < span id = "L-183" > < a href = "#L-183" > < span class = "linenos" > 183< / span > < / a >
< / span > < span id = "L-184" > < a href = "#L-184" > < span class = "linenos" > 184< / span > < / a > < span class = "c1" > # Custom time mappings in which the key represents dialect time format< / span >
< / span > < span id = "L-185" > < a href = "#L-185" > < span class = "linenos" > 185< / span > < / a > < span class = "c1" > # and the value represents a python time format< / span >
< / span > < span id = "L-186" > < a href = "#L-186" > < span class = "linenos" > 186< / span > < / a > < span class = "n" > TIME_MAPPING< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Dict< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "nb" > str< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "p" > {}< / span >
2025-02-13 21:02:03 +01:00
< / span > < span id = "L-187" > < a href = "#L-187" > < span class = "linenos" > 187< / span > < / a >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-188" > < a href = "#L-188" > < span class = "linenos" > 188< / span > < / a > < span class = "c1" > # https://cloud.google.com/bigquery/docs/reference/standard-sql/format-elements#format_model_rules_date_time< / span >
< / span > < span id = "L-189" > < a href = "#L-189" > < span class = "linenos" > 189< / span > < / a > < span class = "c1" > # https://docs.teradata.com/r/Teradata-Database-SQL-Functions-Operators-Expressions-and-Predicates/March-2017/Data-Type-Conversions/Character-to-DATE-Conversion/Forcing-a-FORMAT-on-CAST-for-Converting-Character-to-DATE< / span >
< / span > < span id = "L-190" > < a href = "#L-190" > < span class = "linenos" > 190< / span > < / a > < span class = "c1" > # special syntax cast(x as date format ' yyyy' ) defaults to time_mapping< / span >
< / span > < span id = "L-191" > < a href = "#L-191" > < span class = "linenos" > 191< / span > < / a > < span class = "n" > FORMAT_MAPPING< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Dict< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "nb" > str< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "p" > {}< / span >
< / span > < span id = "L-192" > < a href = "#L-192" > < span class = "linenos" > 192< / span > < / a >
< / span > < span id = "L-193" > < a href = "#L-193" > < span class = "linenos" > 193< / span > < / a > < span class = "c1" > # Mapping of an unescaped escape sequence to the corresponding character< / span >
< / span > < span id = "L-194" > < a href = "#L-194" > < span class = "linenos" > 194< / span > < / a > < span class = "n" > ESCAPE_SEQUENCES< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Dict< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "nb" > str< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "p" > {}< / span >
< / span > < span id = "L-195" > < a href = "#L-195" > < span class = "linenos" > 195< / span > < / a >
< / span > < span id = "L-196" > < a href = "#L-196" > < span class = "linenos" > 196< / span > < / a > < span class = "c1" > # Columns that are auto-generated by the engine corresponding to this dialect< / span >
< / span > < span id = "L-197" > < a href = "#L-197" > < span class = "linenos" > 197< / span > < / a > < span class = "c1" > # Such columns may be excluded from SELECT * queries, for example< / span >
< / span > < span id = "L-198" > < a href = "#L-198" > < span class = "linenos" > 198< / span > < / a > < span class = "n" > PSEUDOCOLUMNS< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Set< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "nb" > set< / span > < span class = "p" > ()< / span >
< / span > < span id = "L-199" > < a href = "#L-199" > < span class = "linenos" > 199< / span > < / a >
< / span > < span id = "L-200" > < a href = "#L-200" > < span class = "linenos" > 200< / span > < / a > < span class = "c1" > # Autofilled< / span >
< / span > < span id = "L-201" > < a href = "#L-201" > < span class = "linenos" > 201< / span > < / a > < span class = "n" > tokenizer_class< / span > < span class = "o" > =< / span > < span class = "n" > Tokenizer< / span >
< / span > < span id = "L-202" > < a href = "#L-202" > < span class = "linenos" > 202< / span > < / a > < span class = "n" > parser_class< / span > < span class = "o" > =< / span > < span class = "n" > Parser< / span >
< / span > < span id = "L-203" > < a href = "#L-203" > < span class = "linenos" > 203< / span > < / a > < span class = "n" > generator_class< / span > < span class = "o" > =< / span > < span class = "n" > Generator< / span >
< / span > < span id = "L-204" > < a href = "#L-204" > < span class = "linenos" > 204< / span > < / a >
< / span > < span id = "L-205" > < a href = "#L-205" > < span class = "linenos" > 205< / span > < / a > < span class = "c1" > # A trie of the time_mapping keys< / span >
< / span > < span id = "L-206" > < a href = "#L-206" > < span class = "linenos" > 206< / span > < / a > < span class = "n" > TIME_TRIE< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Dict< / span > < span class = "o" > =< / span > < span class = "p" > {}< / span >
< / span > < span id = "L-207" > < a href = "#L-207" > < span class = "linenos" > 207< / span > < / a > < span class = "n" > FORMAT_TRIE< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Dict< / span > < span class = "o" > =< / span > < span class = "p" > {}< / span >
< / span > < span id = "L-208" > < a href = "#L-208" > < span class = "linenos" > 208< / span > < / a >
< / span > < span id = "L-209" > < a href = "#L-209" > < span class = "linenos" > 209< / span > < / a > < span class = "n" > INVERSE_TIME_MAPPING< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Dict< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "nb" > str< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "p" > {}< / span >
< / span > < span id = "L-210" > < a href = "#L-210" > < span class = "linenos" > 210< / span > < / a > < span class = "n" > INVERSE_TIME_TRIE< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Dict< / span > < span class = "o" > =< / span > < span class = "p" > {}< / span >
< / span > < span id = "L-211" > < a href = "#L-211" > < span class = "linenos" > 211< / span > < / a >
< / span > < span id = "L-212" > < a href = "#L-212" > < span class = "linenos" > 212< / span > < / a > < span class = "n" > INVERSE_ESCAPE_SEQUENCES< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Dict< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "nb" > str< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "p" > {}< / span >
< / span > < span id = "L-213" > < a href = "#L-213" > < span class = "linenos" > 213< / span > < / a >
< / span > < span id = "L-214" > < a href = "#L-214" > < span class = "linenos" > 214< / span > < / a > < span class = "k" > def< / span > < span class = "fm" > __eq__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > other< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Any< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > bool< / span > < span class = "p" > :< / span >
< / span > < span id = "L-215" > < a href = "#L-215" > < span class = "linenos" > 215< / span > < / a > < span class = "k" > return< / span > < span class = "nb" > type< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "n" > other< / span >
< / span > < span id = "L-216" > < a href = "#L-216" > < span class = "linenos" > 216< / span > < / a >
< / span > < span id = "L-217" > < a href = "#L-217" > < span class = "linenos" > 217< / span > < / a > < span class = "k" > def< / span > < span class = "fm" > __hash__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > int< / span > < span class = "p" > :< / span >
< / span > < span id = "L-218" > < a href = "#L-218" > < span class = "linenos" > 218< / span > < / a > < span class = "k" > return< / span > < span class = "nb" > hash< / span > < span class = "p" > (< / span > < span class = "nb" > type< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ))< / span >
< / span > < span id = "L-219" > < a href = "#L-219" > < span class = "linenos" > 219< / span > < / a >
< / span > < span id = "L-220" > < a href = "#L-220" > < span class = "linenos" > 220< / span > < / a > < span class = "nd" > @classmethod< / span >
< / span > < span id = "L-221" > < a href = "#L-221" > < span class = "linenos" > 221< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > get_or_raise< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > dialect< / span > < span class = "p" > :< / span > < span class = "n" > DialectType< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "n" > Dialect< / span > < span class = "p" > ]:< / span >
< / span > < span id = "L-222" > < a href = "#L-222" > < span class = "linenos" > 222< / span > < / a > < span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > dialect< / span > < span class = "p" > :< / span >
< / span > < span id = "L-223" > < a href = "#L-223" > < span class = "linenos" > 223< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > cls< / span >
< / span > < span id = "L-224" > < a href = "#L-224" > < span class = "linenos" > 224< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > dialect< / span > < span class = "p" > ,< / span > < span class = "n" > _Dialect< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-225" > < a href = "#L-225" > < span class = "linenos" > 225< / span > < / a > < span class = "k" > return< / span > < span class = "n" > dialect< / span >
< / span > < span id = "L-226" > < a href = "#L-226" > < span class = "linenos" > 226< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > dialect< / span > < span class = "p" > ,< / span > < span class = "n" > Dialect< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-227" > < a href = "#L-227" > < span class = "linenos" > 227< / span > < / a > < span class = "k" > return< / span > < span class = "n" > dialect< / span > < span class = "o" > .< / span > < span class = "vm" > __class__< / span >
< / span > < span id = "L-228" > < a href = "#L-228" > < span class = "linenos" > 228< / span > < / a >
< / span > < span id = "L-229" > < a href = "#L-229" > < span class = "linenos" > 229< / span > < / a > < span class = "n" > result< / span > < span class = "o" > =< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "n" > dialect< / span > < span class = "p" > )< / span >
< / span > < span id = "L-230" > < a href = "#L-230" > < span class = "linenos" > 230< / span > < / a > < span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > result< / span > < span class = "p" > :< / span >
< / span > < span id = "L-231" > < a href = "#L-231" > < span class = "linenos" > 231< / span > < / a > < span class = "k" > raise< / span > < span class = "ne" > ValueError< / span > < span class = "p" > (< / span > < span class = "sa" > f< / span > < span class = "s2" > " Unknown dialect ' < / span > < span class = "si" > {< / span > < span class = "n" > dialect< / span > < span class = "si" > }< / span > < span class = "s2" > ' " < / span > < span class = "p" > )< / span >
< / span > < span id = "L-232" > < a href = "#L-232" > < span class = "linenos" > 232< / span > < / a >
< / span > < span id = "L-233" > < a href = "#L-233" > < span class = "linenos" > 233< / span > < / a > < span class = "k" > return< / span > < span class = "n" > result< / span >
2025-02-13 21:03:05 +01:00
< / span > < span id = "L-234" > < a href = "#L-234" > < span class = "linenos" > 234< / span > < / a >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-235" > < a href = "#L-235" > < span class = "linenos" > 235< / span > < / a > < span class = "nd" > @classmethod< / span >
< / span > < span id = "L-236" > < a href = "#L-236" > < span class = "linenos" > 236< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > format_time< / span > < span class = "p" > (< / span >
< / span > < span id = "L-237" > < a href = "#L-237" > < span class = "linenos" > 237< / span > < / a > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ]< / span >
< / span > < span id = "L-238" > < a href = "#L-238" > < span class = "linenos" > 238< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ]:< / span >
< / span > < span id = "L-239" > < a href = "#L-239" > < span class = "linenos" > 239< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "nb" > str< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-240" > < a href = "#L-240" > < span class = "linenos" > 240< / span > < / a > < span class = "k" > return< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Literal< / span > < span class = "o" > .< / span > < span class = "n" > string< / span > < span class = "p" > (< / span >
< / span > < span id = "L-241" > < a href = "#L-241" > < span class = "linenos" > 241< / span > < / a > < span class = "c1" > # the time formats are quoted< / span >
< / span > < span id = "L-242" > < a href = "#L-242" > < span class = "linenos" > 242< / span > < / a > < span class = "n" > format_time< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > :< / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span > < span class = "p" > ],< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > TIME_MAPPING< / span > < span class = "p" > ,< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > TIME_TRIE< / span > < span class = "p" > )< / span >
< / span > < span id = "L-243" > < a href = "#L-243" > < span class = "linenos" > 243< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-244" > < a href = "#L-244" > < span class = "linenos" > 244< / span > < / a >
< / span > < span id = "L-245" > < a href = "#L-245" > < span class = "linenos" > 245< / span > < / a > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "ow" > and< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > is_string< / span > < span class = "p" > :< / span >
< / span > < span id = "L-246" > < a href = "#L-246" > < span class = "linenos" > 246< / span > < / a > < span class = "k" > return< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Literal< / span > < span class = "o" > .< / span > < span class = "n" > string< / span > < span class = "p" > (< / span > < span class = "n" > format_time< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > TIME_MAPPING< / span > < span class = "p" > ,< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > TIME_TRIE< / span > < span class = "p" > ))< / span >
< / span > < span id = "L-247" > < a href = "#L-247" > < span class = "linenos" > 247< / span > < / a >
< / span > < span id = "L-248" > < a href = "#L-248" > < span class = "linenos" > 248< / span > < / a > < span class = "k" > return< / span > < span class = "n" > expression< / span >
< / span > < span id = "L-249" > < a href = "#L-249" > < span class = "linenos" > 249< / span > < / a >
< / span > < span id = "L-250" > < a href = "#L-250" > < span class = "linenos" > 250< / span > < / a > < span class = "nd" > @classmethod< / span >
< / span > < span id = "L-251" > < a href = "#L-251" > < span class = "linenos" > 251< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > normalize_identifier< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > E< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > E< / span > < span class = "p" > :< / span >
< / span > < span id = "L-252" > < a href = "#L-252" > < span class = "linenos" > 252< / span > < / a > < span class = "w" > < / span > < span class = "sd" > " " " < / span >
< / span > < span id = "L-253" > < a href = "#L-253" > < span class = "linenos" > 253< / span > < / a > < span class = "sd" > Normalizes an unquoted identifier to either lower or upper case, thus essentially< / span >
< / span > < span id = "L-254" > < a href = "#L-254" > < span class = "linenos" > 254< / span > < / a > < span class = "sd" > making it case-insensitive. If a dialect treats all identifiers as case-insensitive,< / span >
< / span > < span id = "L-255" > < a href = "#L-255" > < span class = "linenos" > 255< / span > < / a > < span class = "sd" > they will be normalized to lowercase regardless of being quoted or not.< / span >
< / span > < span id = "L-256" > < a href = "#L-256" > < span class = "linenos" > 256< / span > < / a > < span class = "sd" > " " " < / span >
< / span > < span id = "L-257" > < a href = "#L-257" > < span class = "linenos" > 257< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Identifier< / span > < span class = "p" > )< / span > < span class = "ow" > and< / span > < span class = "p" > (< / span >
< / span > < span id = "L-258" > < a href = "#L-258" > < span class = "linenos" > 258< / span > < / a > < span class = "ow" > not< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > quoted< / span > < span class = "ow" > or< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > RESOLVES_IDENTIFIERS_AS_UPPERCASE< / span > < span class = "ow" > is< / span > < span class = "kc" > None< / span >
< / span > < span id = "L-259" > < a href = "#L-259" > < span class = "linenos" > 259< / span > < / a > < span class = "p" > ):< / span >
< / span > < span id = "L-260" > < a href = "#L-260" > < span class = "linenos" > 260< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > set< / span > < span class = "p" > (< / span >
< / span > < span id = "L-261" > < a href = "#L-261" > < span class = "linenos" > 261< / span > < / a > < span class = "s2" > " this" < / span > < span class = "p" > ,< / span >
< / span > < span id = "L-262" > < a href = "#L-262" > < span class = "linenos" > 262< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > upper< / span > < span class = "p" > ()< / span >
< / span > < span id = "L-263" > < a href = "#L-263" > < span class = "linenos" > 263< / span > < / a > < span class = "k" > if< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > RESOLVES_IDENTIFIERS_AS_UPPERCASE< / span >
< / span > < span id = "L-264" > < a href = "#L-264" > < span class = "linenos" > 264< / span > < / a > < span class = "k" > else< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > lower< / span > < span class = "p" > (),< / span >
< / span > < span id = "L-265" > < a href = "#L-265" > < span class = "linenos" > 265< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-266" > < a href = "#L-266" > < span class = "linenos" > 266< / span > < / a >
< / span > < span id = "L-267" > < a href = "#L-267" > < span class = "linenos" > 267< / span > < / a > < span class = "k" > return< / span > < span class = "n" > expression< / span >
< / span > < span id = "L-268" > < a href = "#L-268" > < span class = "linenos" > 268< / span > < / a >
< / span > < span id = "L-269" > < a href = "#L-269" > < span class = "linenos" > 269< / span > < / a > < span class = "nd" > @classmethod< / span >
< / span > < span id = "L-270" > < a href = "#L-270" > < span class = "linenos" > 270< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > case_sensitive< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > text< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > bool< / span > < span class = "p" > :< / span >
< / span > < span id = "L-271" > < a href = "#L-271" > < span class = "linenos" > 271< / span > < / a > < span class = "w" > < / span > < span class = "sd" > " " " Checks if text contains any case sensitive characters, based on the dialect' s rules." " " < / span >
< / span > < span id = "L-272" > < a href = "#L-272" > < span class = "linenos" > 272< / span > < / a > < span class = "k" > if< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > RESOLVES_IDENTIFIERS_AS_UPPERCASE< / span > < span class = "ow" > is< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span >
< / span > < span id = "L-273" > < a href = "#L-273" > < span class = "linenos" > 273< / span > < / a > < span class = "k" > return< / span > < span class = "kc" > False< / span >
< / span > < span id = "L-274" > < a href = "#L-274" > < span class = "linenos" > 274< / span > < / a >
< / span > < span id = "L-275" > < a href = "#L-275" > < span class = "linenos" > 275< / span > < / a > < span class = "n" > unsafe< / span > < span class = "o" > =< / span > < span class = "nb" > str< / span > < span class = "o" > .< / span > < span class = "n" > islower< / span > < span class = "k" > if< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > RESOLVES_IDENTIFIERS_AS_UPPERCASE< / span > < span class = "k" > else< / span > < span class = "nb" > str< / span > < span class = "o" > .< / span > < span class = "n" > isupper< / span >
< / span > < span id = "L-276" > < a href = "#L-276" > < span class = "linenos" > 276< / span > < / a > < span class = "k" > return< / span > < span class = "nb" > any< / span > < span class = "p" > (< / span > < span class = "n" > unsafe< / span > < span class = "p" > (< / span > < span class = "n" > char< / span > < span class = "p" > )< / span > < span class = "k" > for< / span > < span class = "n" > char< / span > < span class = "ow" > in< / span > < span class = "n" > text< / span > < span class = "p" > )< / span >
2025-02-13 21:02:03 +01:00
< / span > < span id = "L-277" > < a href = "#L-277" > < span class = "linenos" > 277< / span > < / a >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-278" > < a href = "#L-278" > < span class = "linenos" > 278< / span > < / a > < span class = "nd" > @classmethod< / span >
< / span > < span id = "L-279" > < a href = "#L-279" > < span class = "linenos" > 279< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > can_identify< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > text< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "n" > identify< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "o" > |< / span > < span class = "nb" > bool< / span > < span class = "o" > =< / span > < span class = "s2" > " safe" < / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > bool< / span > < span class = "p" > :< / span >
< / span > < span id = "L-280" > < a href = "#L-280" > < span class = "linenos" > 280< / span > < / a > < span class = "w" > < / span > < span class = "sd" > " " " Checks if text can be identified given an identify option.< / span >
< / span > < span id = "L-281" > < a href = "#L-281" > < span class = "linenos" > 281< / span > < / a >
< / span > < span id = "L-282" > < a href = "#L-282" > < span class = "linenos" > 282< / span > < / a > < span class = "sd" > Args:< / span >
< / span > < span id = "L-283" > < a href = "#L-283" > < span class = "linenos" > 283< / span > < / a > < span class = "sd" > text: The text to check.< / span >
< / span > < span id = "L-284" > < a href = "#L-284" > < span class = "linenos" > 284< / span > < / a > < span class = "sd" > identify:< / span >
< / span > < span id = "L-285" > < a href = "#L-285" > < span class = "linenos" > 285< / span > < / a > < span class = "sd" > " always" or `True`: Always returns true.< / span >
< / span > < span id = "L-286" > < a href = "#L-286" > < span class = "linenos" > 286< / span > < / a > < span class = "sd" > " safe" : True if the identifier is case-insensitive.< / span >
< / span > < span id = "L-287" > < a href = "#L-287" > < span class = "linenos" > 287< / span > < / a >
< / span > < span id = "L-288" > < a href = "#L-288" > < span class = "linenos" > 288< / span > < / a > < span class = "sd" > Returns:< / span >
< / span > < span id = "L-289" > < a href = "#L-289" > < span class = "linenos" > 289< / span > < / a > < span class = "sd" > Whether or not the given text can be identified.< / span >
< / span > < span id = "L-290" > < a href = "#L-290" > < span class = "linenos" > 290< / span > < / a > < span class = "sd" > " " " < / span >
< / span > < span id = "L-291" > < a href = "#L-291" > < span class = "linenos" > 291< / span > < / a > < span class = "k" > if< / span > < span class = "n" > identify< / span > < span class = "ow" > is< / span > < span class = "kc" > True< / span > < span class = "ow" > or< / span > < span class = "n" > identify< / span > < span class = "o" > ==< / span > < span class = "s2" > " always" < / span > < span class = "p" > :< / span >
< / span > < span id = "L-292" > < a href = "#L-292" > < span class = "linenos" > 292< / span > < / a > < span class = "k" > return< / span > < span class = "kc" > True< / span >
< / span > < span id = "L-293" > < a href = "#L-293" > < span class = "linenos" > 293< / span > < / a >
< / span > < span id = "L-294" > < a href = "#L-294" > < span class = "linenos" > 294< / span > < / a > < span class = "k" > if< / span > < span class = "n" > identify< / span > < span class = "o" > ==< / span > < span class = "s2" > " safe" < / span > < span class = "p" > :< / span >
< / span > < span id = "L-295" > < a href = "#L-295" > < span class = "linenos" > 295< / span > < / a > < span class = "k" > return< / span > < span class = "ow" > not< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > case_sensitive< / span > < span class = "p" > (< / span > < span class = "n" > text< / span > < span class = "p" > )< / span >
< / span > < span id = "L-296" > < a href = "#L-296" > < span class = "linenos" > 296< / span > < / a >
< / span > < span id = "L-297" > < a href = "#L-297" > < span class = "linenos" > 297< / span > < / a > < span class = "k" > return< / span > < span class = "kc" > False< / span >
< / span > < span id = "L-298" > < a href = "#L-298" > < span class = "linenos" > 298< / span > < / a >
< / span > < span id = "L-299" > < a href = "#L-299" > < span class = "linenos" > 299< / span > < / a > < span class = "nd" > @classmethod< / span >
< / span > < span id = "L-300" > < a href = "#L-300" > < span class = "linenos" > 300< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > quote_identifier< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > E< / span > < span class = "p" > ,< / span > < span class = "n" > identify< / span > < span class = "p" > :< / span > < span class = "nb" > bool< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > E< / span > < span class = "p" > :< / span >
< / span > < span id = "L-301" > < a href = "#L-301" > < span class = "linenos" > 301< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Identifier< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-302" > < a href = "#L-302" > < span class = "linenos" > 302< / span > < / a > < span class = "n" > name< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span >
< / span > < span id = "L-303" > < a href = "#L-303" > < span class = "linenos" > 303< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > set< / span > < span class = "p" > (< / span >
< / span > < span id = "L-304" > < a href = "#L-304" > < span class = "linenos" > 304< / span > < / a > < span class = "s2" > " quoted" < / span > < span class = "p" > ,< / span >
< / span > < span id = "L-305" > < a href = "#L-305" > < span class = "linenos" > 305< / span > < / a > < span class = "n" > identify< / span > < span class = "ow" > or< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > case_sensitive< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > )< / span > < span class = "ow" > or< / span > < span class = "ow" > not< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > SAFE_IDENTIFIER_RE< / span > < span class = "o" > .< / span > < span class = "n" > match< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > ),< / span >
< / span > < span id = "L-306" > < a href = "#L-306" > < span class = "linenos" > 306< / span > < / a > < span class = "p" > )< / span >
2025-02-13 21:02:03 +01:00
< / span > < span id = "L-307" > < a href = "#L-307" > < span class = "linenos" > 307< / span > < / a >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-308" > < a href = "#L-308" > < span class = "linenos" > 308< / span > < / a > < span class = "k" > return< / span > < span class = "n" > expression< / span >
< / span > < span id = "L-309" > < a href = "#L-309" > < span class = "linenos" > 309< / span > < / a >
< / span > < span id = "L-310" > < a href = "#L-310" > < span class = "linenos" > 310< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > parse< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > sql< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ]]:< / span >
< / span > < span id = "L-311" > < a href = "#L-311" > < span class = "linenos" > 311< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > parser< / span > < span class = "p" > (< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > parse< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > tokenize< / span > < span class = "p" > (< / span > < span class = "n" > sql< / span > < span class = "p" > ),< / span > < span class = "n" > sql< / span > < span class = "p" > )< / span >
< / span > < span id = "L-312" > < a href = "#L-312" > < span class = "linenos" > 312< / span > < / a >
< / span > < span id = "L-313" > < a href = "#L-313" > < span class = "linenos" > 313< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > parse_into< / span > < span class = "p" > (< / span >
< / span > < span id = "L-314" > < a href = "#L-314" > < span class = "linenos" > 314< / span > < / a > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > expression_type< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > IntoType< / span > < span class = "p" > ,< / span > < span class = "n" > sql< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span >
< / span > < span id = "L-315" > < a href = "#L-315" > < span class = "linenos" > 315< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ]]:< / span >
< / span > < span id = "L-316" > < a href = "#L-316" > < span class = "linenos" > 316< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > parser< / span > < span class = "p" > (< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > parse_into< / span > < span class = "p" > (< / span > < span class = "n" > expression_type< / span > < span class = "p" > ,< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > tokenize< / span > < span class = "p" > (< / span > < span class = "n" > sql< / span > < span class = "p" > ),< / span > < span class = "n" > sql< / span > < span class = "p" > )< / span >
< / span > < span id = "L-317" > < a href = "#L-317" > < span class = "linenos" > 317< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-318" > < a href = "#L-318" > < span class = "linenos" > 318< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > generate< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ,< / span > < span class = "n" > copy< / span > < span class = "p" > :< / span > < span class = "nb" > bool< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-319" > < a href = "#L-319" > < span class = "linenos" > 319< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > generator< / span > < span class = "p" > (< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > generate< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > copy< / span > < span class = "o" > =< / span > < span class = "n" > copy< / span > < span class = "p" > )< / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-320" > < a href = "#L-320" > < span class = "linenos" > 320< / span > < / a >
< / span > < span id = "L-321" > < a href = "#L-321" > < span class = "linenos" > 321< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > transpile< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > sql< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ]:< / span >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-322" > < a href = "#L-322" > < span class = "linenos" > 322< / span > < / a > < span class = "k" > return< / span > < span class = "p" > [< / span >
< / span > < span id = "L-323" > < a href = "#L-323" > < span class = "linenos" > 323< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > generate< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > copy< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "k" > else< / span > < span class = "s2" > " " < / span >
< / span > < span id = "L-324" > < a href = "#L-324" > < span class = "linenos" > 324< / span > < / a > < span class = "k" > for< / span > < span class = "n" > expression< / span > < span class = "ow" > in< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > parse< / span > < span class = "p" > (< / span > < span class = "n" > sql< / span > < span class = "p" > )< / span >
< / span > < span id = "L-325" > < a href = "#L-325" > < span class = "linenos" > 325< / span > < / a > < span class = "p" > ]< / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-326" > < a href = "#L-326" > < span class = "linenos" > 326< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-327" > < a href = "#L-327" > < span class = "linenos" > 327< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > tokenize< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > sql< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "n" > Token< / span > < span class = "p" > ]:< / span >
< / span > < span id = "L-328" > < a href = "#L-328" > < span class = "linenos" > 328< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > tokenizer< / span > < span class = "o" > .< / span > < span class = "n" > tokenize< / span > < span class = "p" > (< / span > < span class = "n" > sql< / span > < span class = "p" > )< / span >
< / span > < span id = "L-329" > < a href = "#L-329" > < span class = "linenos" > 329< / span > < / a >
< / span > < span id = "L-330" > < a href = "#L-330" > < span class = "linenos" > 330< / span > < / a > < span class = "nd" > @property< / span >
< / span > < span id = "L-331" > < a href = "#L-331" > < span class = "linenos" > 331< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > tokenizer< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > Tokenizer< / span > < span class = "p" > :< / span >
< / span > < span id = "L-332" > < a href = "#L-332" > < span class = "linenos" > 332< / span > < / a > < span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "nb" > hasattr< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "s2" > " _tokenizer" < / span > < span class = "p" > ):< / span >
< / span > < span id = "L-333" > < a href = "#L-333" > < span class = "linenos" > 333< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _tokenizer< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > tokenizer_class< / span > < span class = "p" > ()< / span >
< / span > < span id = "L-334" > < a href = "#L-334" > < span class = "linenos" > 334< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _tokenizer< / span >
2025-02-13 21:03:05 +01:00
< / span > < span id = "L-335" > < a href = "#L-335" > < span class = "linenos" > 335< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-336" > < a href = "#L-336" > < span class = "linenos" > 336< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > parser< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > Parser< / span > < span class = "p" > :< / span >
< / span > < span id = "L-337" > < a href = "#L-337" > < span class = "linenos" > 337< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > parser_class< / span > < span class = "p" > (< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-338" > < a href = "#L-338" > < span class = "linenos" > 338< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-339" > < a href = "#L-339" > < span class = "linenos" > 339< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > generator< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > Generator< / span > < span class = "p" > :< / span >
< / span > < span id = "L-340" > < a href = "#L-340" > < span class = "linenos" > 340< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > generator_class< / span > < span class = "p" > (< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span >
2025-02-13 21:03:05 +01:00
< / span > < span id = "L-341" > < a href = "#L-341" > < span class = "linenos" > 341< / span > < / a >
2025-02-13 21:02:03 +01:00
< / span > < span id = "L-342" > < a href = "#L-342" > < span class = "linenos" > 342< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-343" > < a href = "#L-343" > < span class = "linenos" > 343< / span > < / a > < span class = "n" > DialectType< / span > < span class = "o" > =< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Union< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "n" > Dialect< / span > < span class = "p" > ,< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "n" > Dialect< / span > < span class = "p" > ],< / span > < span class = "kc" > None< / span > < span class = "p" > ]< / span >
< / span > < span id = "L-344" > < a href = "#L-344" > < span class = "linenos" > 344< / span > < / a >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-345" > < a href = "#L-345" > < span class = "linenos" > 345< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-346" > < a href = "#L-346" > < span class = "linenos" > 346< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > rename_func< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ],< / span > < span class = "nb" > str< / span > < span class = "p" > ]:< / span >
< / span > < span id = "L-347" > < a href = "#L-347" > < span class = "linenos" > 347< / span > < / a > < span class = "k" > return< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > ,< / span > < span class = "o" > *< / span > < span class = "n" > flatten< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > values< / span > < span class = "p" > ()))< / span >
< / span > < span id = "L-348" > < a href = "#L-348" > < span class = "linenos" > 348< / span > < / a >
< / span > < span id = "L-349" > < a href = "#L-349" > < span class = "linenos" > 349< / span > < / a >
< / span > < span id = "L-350" > < a href = "#L-350" > < span class = "linenos" > 350< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > approx_count_distinct_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ApproxDistinct< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-351" > < a href = "#L-351" > < span class = "linenos" > 351< / span > < / a > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " accuracy" < / span > < span class = "p" > ):< / span >
< / span > < span id = "L-352" > < a href = "#L-352" > < span class = "linenos" > 352< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "s2" > " APPROX_COUNT_DISTINCT does not support accuracy" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-353" > < a href = "#L-353" > < span class = "linenos" > 353< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "s2" > " APPROX_COUNT_DISTINCT" < / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > )< / span >
< / span > < span id = "L-354" > < a href = "#L-354" > < span class = "linenos" > 354< / span > < / a >
< / span > < span id = "L-355" > < a href = "#L-355" > < span class = "linenos" > 355< / span > < / a >
< / span > < span id = "L-356" > < a href = "#L-356" > < span class = "linenos" > 356< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > if_sql< / span > < span class = "p" > (< / span >
< / span > < span id = "L-357" > < a href = "#L-357" > < span class = "linenos" > 357< / span > < / a > < span class = "n" > name< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "o" > =< / span > < span class = "s2" > " IF" < / span > < span class = "p" > ,< / span > < span class = "n" > false_value< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "o" > |< / span > < span class = "nb" > str< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span >
< / span > < span id = "L-358" > < a href = "#L-358" > < span class = "linenos" > 358< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > If< / span > < span class = "p" > ],< / span > < span class = "nb" > str< / span > < span class = "p" > ]:< / span >
< / span > < span id = "L-359" > < a href = "#L-359" > < span class = "linenos" > 359< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _if_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > If< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-360" > < a href = "#L-360" > < span class = "linenos" > 360< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span >
< / span > < span id = "L-361" > < a href = "#L-361" > < span class = "linenos" > 361< / span > < / a > < span class = "n" > name< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-362" > < a href = "#L-362" > < span class = "linenos" > 362< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-363" > < a href = "#L-363" > < span class = "linenos" > 363< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " true" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-364" > < a href = "#L-364" > < span class = "linenos" > 364< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " false" < / span > < span class = "p" > )< / span > < span class = "ow" > or< / span > < span class = "n" > false_value< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-365" > < a href = "#L-365" > < span class = "linenos" > 365< / span > < / a > < span class = "p" > )< / span >
2025-02-13 21:02:03 +01:00
< / span > < span id = "L-366" > < a href = "#L-366" > < span class = "linenos" > 366< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-367" > < a href = "#L-367" > < span class = "linenos" > 367< / span > < / a > < span class = "k" > return< / span > < span class = "n" > _if_sql< / span >
< / span > < span id = "L-368" > < a href = "#L-368" > < span class = "linenos" > 368< / span > < / a >
2025-02-13 21:03:05 +01:00
< / span > < span id = "L-369" > < a href = "#L-369" > < span class = "linenos" > 369< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-370" > < a href = "#L-370" > < span class = "linenos" > 370< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > arrow_json_extract_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > JSONExtract< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > JSONBExtract< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-371" > < a href = "#L-371" > < span class = "linenos" > 371< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > binary< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " -> " < / span > < span class = "p" > )< / span >
< / span > < span id = "L-372" > < a href = "#L-372" > < span class = "linenos" > 372< / span > < / a >
< / span > < span id = "L-373" > < a href = "#L-373" > < span class = "linenos" > 373< / span > < / a >
< / span > < span id = "L-374" > < a href = "#L-374" > < span class = "linenos" > 374< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > arrow_json_extract_scalar_sql< / span > < span class = "p" > (< / span >
< / span > < span id = "L-375" > < a href = "#L-375" > < span class = "linenos" > 375< / span > < / a > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > JSONExtractScalar< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > JSONBExtractScalar< / span >
< / span > < span id = "L-376" > < a href = "#L-376" > < span class = "linenos" > 376< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-377" > < a href = "#L-377" > < span class = "linenos" > 377< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > binary< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " -> > " < / span > < span class = "p" > )< / span >
< / span > < span id = "L-378" > < a href = "#L-378" > < span class = "linenos" > 378< / span > < / a >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-379" > < a href = "#L-379" > < span class = "linenos" > 379< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-380" > < a href = "#L-380" > < span class = "linenos" > 380< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > inline_array_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Array< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-381" > < a href = "#L-381" > < span class = "linenos" > 381< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " [< / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "n" > flat< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > ]" < / span >
< / span > < span id = "L-382" > < a href = "#L-382" > < span class = "linenos" > 382< / span > < / a >
< / span > < span id = "L-383" > < a href = "#L-383" > < span class = "linenos" > 383< / span > < / a >
< / span > < span id = "L-384" > < a href = "#L-384" > < span class = "linenos" > 384< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > no_ilike_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ILike< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-385" > < a href = "#L-385" > < span class = "linenos" > 385< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > like_sql< / span > < span class = "p" > (< / span >
< / span > < span id = "L-386" > < a href = "#L-386" > < span class = "linenos" > 386< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Like< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Lower< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ),< / span > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
< / span > < span id = "L-387" > < a href = "#L-387" > < span class = "linenos" > 387< / span > < / a > < span class = "p" > )< / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-388" > < a href = "#L-388" > < span class = "linenos" > 388< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-389" > < a href = "#L-389" > < span class = "linenos" > 389< / span > < / a >
< / span > < span id = "L-390" > < a href = "#L-390" > < span class = "linenos" > 390< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > no_paren_current_date_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > CurrentDate< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-391" > < a href = "#L-391" > < span class = "linenos" > 391< / span > < / a > < span class = "n" > zone< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " this" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-392" > < a href = "#L-392" > < span class = "linenos" > 392< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " CURRENT_DATE AT TIME ZONE < / span > < span class = "si" > {< / span > < span class = "n" > zone< / span > < span class = "si" > }< / span > < span class = "s2" > " < / span > < span class = "k" > if< / span > < span class = "n" > zone< / span > < span class = "k" > else< / span > < span class = "s2" > " CURRENT_DATE" < / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-393" > < a href = "#L-393" > < span class = "linenos" > 393< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-394" > < a href = "#L-394" > < span class = "linenos" > 394< / span > < / a >
< / span > < span id = "L-395" > < a href = "#L-395" > < span class = "linenos" > 395< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > no_recursive_cte_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > With< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-396" > < a href = "#L-396" > < span class = "linenos" > 396< / span > < / a > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " recursive" < / span > < span class = "p" > ):< / span >
< / span > < span id = "L-397" > < a href = "#L-397" > < span class = "linenos" > 397< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "s2" > " Recursive CTEs are unsupported" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-398" > < a href = "#L-398" > < span class = "linenos" > 398< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "s2" > " recursive" < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span >
< / span > < span id = "L-399" > < a href = "#L-399" > < span class = "linenos" > 399< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > with_sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
2025-02-13 21:03:05 +01:00
< / span > < span id = "L-400" > < a href = "#L-400" > < span class = "linenos" > 400< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-401" > < a href = "#L-401" > < span class = "linenos" > 401< / span > < / a >
< / span > < span id = "L-402" > < a href = "#L-402" > < span class = "linenos" > 402< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > no_safe_divide_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > SafeDivide< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-403" > < a href = "#L-403" > < span class = "linenos" > 403< / span > < / a > < span class = "n" > n< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " this" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-404" > < a href = "#L-404" > < span class = "linenos" > 404< / span > < / a > < span class = "n" > d< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " expression" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-405" > < a href = "#L-405" > < span class = "linenos" > 405< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " IF(< / span > < span class = "si" > {< / span > < span class = "n" > d< / span > < span class = "si" > }< / span > < span class = "s2" > < > 0, < / span > < span class = "si" > {< / span > < span class = "n" > n< / span > < span class = "si" > }< / span > < span class = "s2" > / < / span > < span class = "si" > {< / span > < span class = "n" > d< / span > < span class = "si" > }< / span > < span class = "s2" > , NULL)" < / span >
2025-02-13 21:03:05 +01:00
< / span > < span id = "L-406" > < a href = "#L-406" > < span class = "linenos" > 406< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-407" > < a href = "#L-407" > < span class = "linenos" > 407< / span > < / a >
< / span > < span id = "L-408" > < a href = "#L-408" > < span class = "linenos" > 408< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > no_tablesample_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TableSample< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-409" > < a href = "#L-409" > < span class = "linenos" > 409< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "s2" > " TABLESAMPLE unsupported" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-410" > < a href = "#L-410" > < span class = "linenos" > 410< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > )< / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-411" > < a href = "#L-411" > < span class = "linenos" > 411< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-412" > < a href = "#L-412" > < span class = "linenos" > 412< / span > < / a >
< / span > < span id = "L-413" > < a href = "#L-413" > < span class = "linenos" > 413< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > no_pivot_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Pivot< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-414" > < a href = "#L-414" > < span class = "linenos" > 414< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "s2" > " PIVOT unsupported" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-415" > < a href = "#L-415" > < span class = "linenos" > 415< / span > < / a > < span class = "k" > return< / span > < span class = "s2" > " " < / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-416" > < a href = "#L-416" > < span class = "linenos" > 416< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-417" > < a href = "#L-417" > < span class = "linenos" > 417< / span > < / a >
< / span > < span id = "L-418" > < a href = "#L-418" > < span class = "linenos" > 418< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > no_trycast_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TryCast< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-419" > < a href = "#L-419" > < span class = "linenos" > 419< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > cast_sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-420" > < a href = "#L-420" > < span class = "linenos" > 420< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-421" > < a href = "#L-421" > < span class = "linenos" > 421< / span > < / a >
< / span > < span id = "L-422" > < a href = "#L-422" > < span class = "linenos" > 422< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > no_properties_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Properties< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-423" > < a href = "#L-423" > < span class = "linenos" > 423< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "s2" > " Properties unsupported" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-424" > < a href = "#L-424" > < span class = "linenos" > 424< / span > < / a > < span class = "k" > return< / span > < span class = "s2" > " " < / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-425" > < a href = "#L-425" > < span class = "linenos" > 425< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-426" > < a href = "#L-426" > < span class = "linenos" > 426< / span > < / a >
< / span > < span id = "L-427" > < a href = "#L-427" > < span class = "linenos" > 427< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > no_comment_column_constraint_sql< / span > < span class = "p" > (< / span >
< / span > < span id = "L-428" > < a href = "#L-428" > < span class = "linenos" > 428< / span > < / a > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > CommentColumnConstraint< / span >
< / span > < span id = "L-429" > < a href = "#L-429" > < span class = "linenos" > 429< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-430" > < a href = "#L-430" > < span class = "linenos" > 430< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "s2" > " CommentColumnConstraint unsupported" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-431" > < a href = "#L-431" > < span class = "linenos" > 431< / span > < / a > < span class = "k" > return< / span > < span class = "s2" > " " < / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-432" > < a href = "#L-432" > < span class = "linenos" > 432< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-433" > < a href = "#L-433" > < span class = "linenos" > 433< / span > < / a >
< / span > < span id = "L-434" > < a href = "#L-434" > < span class = "linenos" > 434< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > no_map_from_entries_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > MapFromEntries< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-435" > < a href = "#L-435" > < span class = "linenos" > 435< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "s2" > " MAP_FROM_ENTRIES unsupported" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-436" > < a href = "#L-436" > < span class = "linenos" > 436< / span > < / a > < span class = "k" > return< / span > < span class = "s2" > " " < / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-437" > < a href = "#L-437" > < span class = "linenos" > 437< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-438" > < a href = "#L-438" > < span class = "linenos" > 438< / span > < / a >
< / span > < span id = "L-439" > < a href = "#L-439" > < span class = "linenos" > 439< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > str_position_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StrPosition< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-440" > < a href = "#L-440" > < span class = "linenos" > 440< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " this" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-441" > < a href = "#L-441" > < span class = "linenos" > 441< / span > < / a > < span class = "n" > substr< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " substr" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-442" > < a href = "#L-442" > < span class = "linenos" > 442< / span > < / a > < span class = "n" > position< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " position" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-443" > < a href = "#L-443" > < span class = "linenos" > 443< / span > < / a > < span class = "k" > if< / span > < span class = "n" > position< / span > < span class = "p" > :< / span >
< / span > < span id = "L-444" > < a href = "#L-444" > < span class = "linenos" > 444< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " STRPOS(SUBSTR(< / span > < span class = "si" > {< / span > < span class = "n" > this< / span > < span class = "si" > }< / span > < span class = "s2" > , < / span > < span class = "si" > {< / span > < span class = "n" > position< / span > < span class = "si" > }< / span > < span class = "s2" > ), < / span > < span class = "si" > {< / span > < span class = "n" > substr< / span > < span class = "si" > }< / span > < span class = "s2" > ) + < / span > < span class = "si" > {< / span > < span class = "n" > position< / span > < span class = "si" > }< / span > < span class = "s2" > - 1" < / span >
< / span > < span id = "L-445" > < a href = "#L-445" > < span class = "linenos" > 445< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " STRPOS(< / span > < span class = "si" > {< / span > < span class = "n" > this< / span > < span class = "si" > }< / span > < span class = "s2" > , < / span > < span class = "si" > {< / span > < span class = "n" > substr< / span > < span class = "si" > }< / span > < span class = "s2" > )" < / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-446" > < a href = "#L-446" > < span class = "linenos" > 446< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-447" > < a href = "#L-447" > < span class = "linenos" > 447< / span > < / a >
< / span > < span id = "L-448" > < a href = "#L-448" > < span class = "linenos" > 448< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > struct_extract_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StructExtract< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-449" > < a href = "#L-449" > < span class = "linenos" > 449< / span > < / a > < span class = "k" > return< / span > < span class = "p" > (< / span >
< / span > < span id = "L-450" > < a href = "#L-450" > < span class = "linenos" > 450< / span > < / a > < span class = "sa" > f< / span > < span class = "s2" > " < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' this' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > .< / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > to_identifier< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "p" > ))< / span > < span class = "si" > }< / span > < span class = "s2" > " < / span >
< / span > < span id = "L-451" > < a href = "#L-451" > < span class = "linenos" > 451< / span > < / a > < span class = "p" > )< / span >
2025-02-13 21:03:05 +01:00
< / span > < span id = "L-452" > < a href = "#L-452" > < span class = "linenos" > 452< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-453" > < a href = "#L-453" > < span class = "linenos" > 453< / span > < / a >
< / span > < span id = "L-454" > < a href = "#L-454" > < span class = "linenos" > 454< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > var_map_sql< / span > < span class = "p" > (< / span >
< / span > < span id = "L-455" > < a href = "#L-455" > < span class = "linenos" > 455< / span > < / a > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Map< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > VarMap< / span > < span class = "p" > ,< / span > < span class = "n" > map_func_name< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "o" > =< / span > < span class = "s2" > " MAP" < / span >
< / span > < span id = "L-456" > < a href = "#L-456" > < span class = "linenos" > 456< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-457" > < a href = "#L-457" > < span class = "linenos" > 457< / span > < / a > < span class = "n" > keys< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "s2" > " keys" < / span > < span class = "p" > ]< / span >
< / span > < span id = "L-458" > < a href = "#L-458" > < span class = "linenos" > 458< / span > < / a > < span class = "n" > values< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "s2" > " values" < / span > < span class = "p" > ]< / span >
< / span > < span id = "L-459" > < a href = "#L-459" > < span class = "linenos" > 459< / span > < / a >
< / span > < span id = "L-460" > < a href = "#L-460" > < span class = "linenos" > 460< / span > < / a > < span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > keys< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Array< / span > < span class = "p" > )< / span > < span class = "ow" > or< / span > < span class = "ow" > not< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > values< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Array< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-461" > < a href = "#L-461" > < span class = "linenos" > 461< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "s2" > " Cannot convert array columns into map." < / span > < span class = "p" > )< / span >
< / span > < span id = "L-462" > < a href = "#L-462" > < span class = "linenos" > 462< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "n" > map_func_name< / span > < span class = "p" > ,< / span > < span class = "n" > keys< / span > < span class = "p" > ,< / span > < span class = "n" > values< / span > < span class = "p" > )< / span >
< / span > < span id = "L-463" > < a href = "#L-463" > < span class = "linenos" > 463< / span > < / a >
< / span > < span id = "L-464" > < a href = "#L-464" > < span class = "linenos" > 464< / span > < / a > < span class = "n" > args< / span > < span class = "o" > =< / span > < span class = "p" > []< / span >
< / span > < span id = "L-465" > < a href = "#L-465" > < span class = "linenos" > 465< / span > < / a > < span class = "k" > for< / span > < span class = "n" > key< / span > < span class = "p" > ,< / span > < span class = "n" > value< / span > < span class = "ow" > in< / span > < span class = "nb" > zip< / span > < span class = "p" > (< / span > < span class = "n" > keys< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "p" > ,< / span > < span class = "n" > values< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-466" > < a href = "#L-466" > < span class = "linenos" > 466< / span > < / a > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > append< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > key< / span > < span class = "p" > ))< / span >
< / span > < span id = "L-467" > < a href = "#L-467" > < span class = "linenos" > 467< / span > < / a > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > append< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > value< / span > < span class = "p" > ))< / span >
< / span > < span id = "L-468" > < a href = "#L-468" > < span class = "linenos" > 468< / span > < / a >
< / span > < span id = "L-469" > < a href = "#L-469" > < span class = "linenos" > 469< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "n" > map_func_name< / span > < span class = "p" > ,< / span > < span class = "o" > *< / span > < span class = "n" > args< / span > < span class = "p" > )< / span >
2025-02-13 21:03:05 +01:00
< / span > < span id = "L-470" > < a href = "#L-470" > < span class = "linenos" > 470< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-471" > < a href = "#L-471" > < span class = "linenos" > 471< / span > < / a >
< / span > < span id = "L-472" > < a href = "#L-472" > < span class = "linenos" > 472< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > format_time_lambda< / span > < span class = "p" > (< / span >
< / span > < span id = "L-473" > < a href = "#L-473" > < span class = "linenos" > 473< / span > < / a > < span class = "n" > exp_class< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "n" > E< / span > < span class = "p" > ],< / span > < span class = "n" > dialect< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "n" > default< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "nb" > bool< / span > < span class = "o" > |< / span > < span class = "nb" > str< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span >
< / span > < span id = "L-474" > < a href = "#L-474" > < span class = "linenos" > 474< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > ],< / span > < span class = "n" > E< / span > < span class = "p" > ]:< / span >
< / span > < span id = "L-475" > < a href = "#L-475" > < span class = "linenos" > 475< / span > < / a > < span class = "w" > < / span > < span class = "sd" > " " " Helper used for time expressions.< / span >
< / span > < span id = "L-476" > < a href = "#L-476" > < span class = "linenos" > 476< / span > < / a >
< / span > < span id = "L-477" > < a href = "#L-477" > < span class = "linenos" > 477< / span > < / a > < span class = "sd" > Args:< / span >
< / span > < span id = "L-478" > < a href = "#L-478" > < span class = "linenos" > 478< / span > < / a > < span class = "sd" > exp_class: the expression class to instantiate.< / span >
< / span > < span id = "L-479" > < a href = "#L-479" > < span class = "linenos" > 479< / span > < / a > < span class = "sd" > dialect: target sql dialect.< / span >
< / span > < span id = "L-480" > < a href = "#L-480" > < span class = "linenos" > 480< / span > < / a > < span class = "sd" > default: the default format, True being time.< / span >
< / span > < span id = "L-481" > < a href = "#L-481" > < span class = "linenos" > 481< / span > < / a >
< / span > < span id = "L-482" > < a href = "#L-482" > < span class = "linenos" > 482< / span > < / a > < span class = "sd" > Returns:< / span >
< / span > < span id = "L-483" > < a href = "#L-483" > < span class = "linenos" > 483< / span > < / a > < span class = "sd" > A callable that can be used to return the appropriately formatted time expression.< / span >
< / span > < span id = "L-484" > < a href = "#L-484" > < span class = "linenos" > 484< / span > < / a > < span class = "sd" > " " " < / span >
< / span > < span id = "L-485" > < a href = "#L-485" > < span class = "linenos" > 485< / span > < / a >
< / span > < span id = "L-486" > < a href = "#L-486" > < span class = "linenos" > 486< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _format_time< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-487" > < a href = "#L-487" > < span class = "linenos" > 487< / span > < / a > < span class = "k" > return< / span > < span class = "n" > exp_class< / span > < span class = "p" > (< / span >
< / span > < span id = "L-488" > < a href = "#L-488" > < span class = "linenos" > 488< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > ),< / span >
< / span > < span id = "L-489" > < a href = "#L-489" > < span class = "linenos" > 489< / span > < / a > < span class = "nb" > format< / span > < span class = "o" > =< / span > < span class = "n" > Dialect< / span > < span class = "p" > [< / span > < span class = "n" > dialect< / span > < span class = "p" > ]< / span > < span class = "o" > .< / span > < span class = "n" > format_time< / span > < span class = "p" > (< / span >
< / span > < span id = "L-490" > < a href = "#L-490" > < span class = "linenos" > 490< / span > < / a > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > )< / span >
< / span > < span id = "L-491" > < a href = "#L-491" > < span class = "linenos" > 491< / span > < / a > < span class = "ow" > or< / span > < span class = "p" > (< / span > < span class = "n" > Dialect< / span > < span class = "p" > [< / span > < span class = "n" > dialect< / span > < span class = "p" > ]< / span > < span class = "o" > .< / span > < span class = "n" > TIME_FORMAT< / span > < span class = "k" > if< / span > < span class = "n" > default< / span > < span class = "ow" > is< / span > < span class = "kc" > True< / span > < span class = "k" > else< / span > < span class = "n" > default< / span > < span class = "ow" > or< / span > < span class = "kc" > None< / span > < span class = "p" > )< / span >
< / span > < span id = "L-492" > < a href = "#L-492" > < span class = "linenos" > 492< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "L-493" > < a href = "#L-493" > < span class = "linenos" > 493< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-494" > < a href = "#L-494" > < span class = "linenos" > 494< / span > < / a >
< / span > < span id = "L-495" > < a href = "#L-495" > < span class = "linenos" > 495< / span > < / a > < span class = "k" > return< / span > < span class = "n" > _format_time< / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-496" > < a href = "#L-496" > < span class = "linenos" > 496< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-497" > < a href = "#L-497" > < span class = "linenos" > 497< / span > < / a >
< / span > < span id = "L-498" > < a href = "#L-498" > < span class = "linenos" > 498< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > time_format< / span > < span class = "p" > (< / span >
< / span > < span id = "L-499" > < a href = "#L-499" > < span class = "linenos" > 499< / span > < / a > < span class = "n" > dialect< / span > < span class = "p" > :< / span > < span class = "n" > DialectType< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-500" > < a href = "#L-500" > < span class = "linenos" > 500< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > UnixToStr< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StrToUnix< / span > < span class = "p" > ],< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ]]:< / span >
< / span > < span id = "L-501" > < a href = "#L-501" > < span class = "linenos" > 501< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _time_format< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > UnixToStr< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StrToUnix< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ]:< / span >
< / span > < span id = "L-502" > < a href = "#L-502" > < span class = "linenos" > 502< / span > < / a > < span class = "w" > < / span > < span class = "sd" > " " " < / span >
< / span > < span id = "L-503" > < a href = "#L-503" > < span class = "linenos" > 503< / span > < / a > < span class = "sd" > Returns the time format for a given expression, unless it' s equivalent< / span >
< / span > < span id = "L-504" > < a href = "#L-504" > < span class = "linenos" > 504< / span > < / a > < span class = "sd" > to the default time format of the dialect of interest.< / span >
< / span > < span id = "L-505" > < a href = "#L-505" > < span class = "linenos" > 505< / span > < / a > < span class = "sd" > " " " < / span >
< / span > < span id = "L-506" > < a href = "#L-506" > < span class = "linenos" > 506< / span > < / a > < span class = "n" > time_format< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > format_time< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
< / span > < span id = "L-507" > < a href = "#L-507" > < span class = "linenos" > 507< / span > < / a > < span class = "k" > return< / span > < span class = "n" > time_format< / span > < span class = "k" > if< / span > < span class = "n" > time_format< / span > < span class = "o" > !=< / span > < span class = "n" > Dialect< / span > < span class = "o" > .< / span > < span class = "n" > get_or_raise< / span > < span class = "p" > (< / span > < span class = "n" > dialect< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > TIME_FORMAT< / span > < span class = "k" > else< / span > < span class = "kc" > None< / span >
< / span > < span id = "L-508" > < a href = "#L-508" > < span class = "linenos" > 508< / span > < / a >
< / span > < span id = "L-509" > < a href = "#L-509" > < span class = "linenos" > 509< / span > < / a > < span class = "k" > return< / span > < span class = "n" > _time_format< / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-510" > < a href = "#L-510" > < span class = "linenos" > 510< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-511" > < a href = "#L-511" > < span class = "linenos" > 511< / span > < / a >
< / span > < span id = "L-512" > < a href = "#L-512" > < span class = "linenos" > 512< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > create_with_partitions_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Create< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-513" > < a href = "#L-513" > < span class = "linenos" > 513< / span > < / a > < span class = "w" > < / span > < span class = "sd" > " " " < / span >
< / span > < span id = "L-514" > < a href = "#L-514" > < span class = "linenos" > 514< / span > < / a > < span class = "sd" > In Hive and Spark, the PARTITIONED BY property acts as an extension of a table' s schema. When the< / span >
< / span > < span id = "L-515" > < a href = "#L-515" > < span class = "linenos" > 515< / span > < / a > < span class = "sd" > PARTITIONED BY value is an array of column names, they are transformed into a schema. The corresponding< / span >
< / span > < span id = "L-516" > < a href = "#L-516" > < span class = "linenos" > 516< / span > < / a > < span class = "sd" > columns are removed from the create statement.< / span >
< / span > < span id = "L-517" > < a href = "#L-517" > < span class = "linenos" > 517< / span > < / a > < span class = "sd" > " " " < / span >
< / span > < span id = "L-518" > < a href = "#L-518" > < span class = "linenos" > 518< / span > < / a > < span class = "n" > has_schema< / span > < span class = "o" > =< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Schema< / span > < span class = "p" > )< / span >
< / span > < span id = "L-519" > < a href = "#L-519" > < span class = "linenos" > 519< / span > < / a > < span class = "n" > is_partitionable< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " kind" < / span > < span class = "p" > )< / span > < span class = "ow" > in< / span > < span class = "p" > (< / span > < span class = "s2" > " TABLE" < / span > < span class = "p" > ,< / span > < span class = "s2" > " VIEW" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-520" > < a href = "#L-520" > < span class = "linenos" > 520< / span > < / a >
< / span > < span id = "L-521" > < a href = "#L-521" > < span class = "linenos" > 521< / span > < / a > < span class = "k" > if< / span > < span class = "n" > has_schema< / span > < span class = "ow" > and< / span > < span class = "n" > is_partitionable< / span > < span class = "p" > :< / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-522" > < a href = "#L-522" > < span class = "linenos" > 522< / span > < / a > < span class = "n" > prop< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > find< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > PartitionedByProperty< / span > < span class = "p" > )< / span >
< / span > < span id = "L-523" > < a href = "#L-523" > < span class = "linenos" > 523< / span > < / a > < span class = "k" > if< / span > < span class = "n" > prop< / span > < span class = "ow" > and< / span > < span class = "n" > prop< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "ow" > and< / span > < span class = "ow" > not< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > prop< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Schema< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-524" > < a href = "#L-524" > < span class = "linenos" > 524< / span > < / a > < span class = "n" > schema< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span >
< / span > < span id = "L-525" > < a href = "#L-525" > < span class = "linenos" > 525< / span > < / a > < span class = "n" > columns< / span > < span class = "o" > =< / span > < span class = "p" > {< / span > < span class = "n" > v< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "o" > .< / span > < span class = "n" > upper< / span > < span class = "p" > ()< / span > < span class = "k" > for< / span > < span class = "n" > v< / span > < span class = "ow" > in< / span > < span class = "n" > prop< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "p" > }< / span >
< / span > < span id = "L-526" > < a href = "#L-526" > < span class = "linenos" > 526< / span > < / a > < span class = "n" > partitions< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "n" > col< / span > < span class = "k" > for< / span > < span class = "n" > col< / span > < span class = "ow" > in< / span > < span class = "n" > schema< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "k" > if< / span > < span class = "n" > col< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "o" > .< / span > < span class = "n" > upper< / span > < span class = "p" > ()< / span > < span class = "ow" > in< / span > < span class = "n" > columns< / span > < span class = "p" > ]< / span >
< / span > < span id = "L-527" > < a href = "#L-527" > < span class = "linenos" > 527< / span > < / a > < span class = "n" > schema< / span > < span class = "o" > .< / span > < span class = "n" > set< / span > < span class = "p" > (< / span > < span class = "s2" > " expressions" < / span > < span class = "p" > ,< / span > < span class = "p" > [< / span > < span class = "n" > e< / span > < span class = "k" > for< / span > < span class = "n" > e< / span > < span class = "ow" > in< / span > < span class = "n" > schema< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "k" > if< / span > < span class = "n" > e< / span > < span class = "ow" > not< / span > < span class = "ow" > in< / span > < span class = "n" > partitions< / span > < span class = "p" > ])< / span >
< / span > < span id = "L-528" > < a href = "#L-528" > < span class = "linenos" > 528< / span > < / a > < span class = "n" > prop< / span > < span class = "o" > .< / span > < span class = "n" > replace< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > PartitionedByProperty< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Schema< / span > < span class = "p" > (< / span > < span class = "n" > expressions< / span > < span class = "o" > =< / span > < span class = "n" > partitions< / span > < span class = "p" > )))< / span >
< / span > < span id = "L-529" > < a href = "#L-529" > < span class = "linenos" > 529< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > set< / span > < span class = "p" > (< / span > < span class = "s2" > " this" < / span > < span class = "p" > ,< / span > < span class = "n" > schema< / span > < span class = "p" > )< / span >
< / span > < span id = "L-530" > < a href = "#L-530" > < span class = "linenos" > 530< / span > < / a >
< / span > < span id = "L-531" > < a href = "#L-531" > < span class = "linenos" > 531< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > create_sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
< / span > < span id = "L-532" > < a href = "#L-532" > < span class = "linenos" > 532< / span > < / a >
2025-02-13 21:03:05 +01:00
< / span > < span id = "L-533" > < a href = "#L-533" > < span class = "linenos" > 533< / span > < / a >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-534" > < a href = "#L-534" > < span class = "linenos" > 534< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > parse_date_delta< / span > < span class = "p" > (< / span >
< / span > < span id = "L-535" > < a href = "#L-535" > < span class = "linenos" > 535< / span > < / a > < span class = "n" > exp_class< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "n" > E< / span > < span class = "p" > ],< / span > < span class = "n" > unit_mapping< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Dict< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "nb" > str< / span > < span class = "p" > ]]< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span >
< / span > < span id = "L-536" > < a href = "#L-536" > < span class = "linenos" > 536< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > ],< / span > < span class = "n" > E< / span > < span class = "p" > ]:< / span >
< / span > < span id = "L-537" > < a href = "#L-537" > < span class = "linenos" > 537< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > inner_func< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > E< / span > < span class = "p" > :< / span >
< / span > < span id = "L-538" > < a href = "#L-538" > < span class = "linenos" > 538< / span > < / a > < span class = "n" > unit_based< / span > < span class = "o" > =< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "mi" > 3< / span >
< / span > < span id = "L-539" > < a href = "#L-539" > < span class = "linenos" > 539< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 2< / span > < span class = "p" > ]< / span > < span class = "k" > if< / span > < span class = "n" > unit_based< / span > < span class = "k" > else< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > )< / span >
< / span > < span id = "L-540" > < a href = "#L-540" > < span class = "linenos" > 540< / span > < / a > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ]< / span > < span class = "k" > if< / span > < span class = "n" > unit_based< / span > < span class = "k" > else< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Literal< / span > < span class = "o" > .< / span > < span class = "n" > string< / span > < span class = "p" > (< / span > < span class = "s2" > " DAY" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-541" > < a href = "#L-541" > < span class = "linenos" > 541< / span > < / a > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > var< / span > < span class = "p" > (< / span > < span class = "n" > unit_mapping< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "n" > unit< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "o" > .< / span > < span class = "n" > lower< / span > < span class = "p" > (),< / span > < span class = "n" > unit< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "p" > ))< / span > < span class = "k" > if< / span > < span class = "n" > unit_mapping< / span > < span class = "k" > else< / span > < span class = "n" > unit< / span >
< / span > < span id = "L-542" > < a href = "#L-542" > < span class = "linenos" > 542< / span > < / a > < span class = "k" > return< / span > < span class = "n" > exp_class< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > unit< / span > < span class = "p" > )< / span >
2025-02-13 21:03:05 +01:00
< / span > < span id = "L-543" > < a href = "#L-543" > < span class = "linenos" > 543< / span > < / a >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-544" > < a href = "#L-544" > < span class = "linenos" > 544< / span > < / a > < span class = "k" > return< / span > < span class = "n" > inner_func< / span >
2025-02-13 21:03:05 +01:00
< / span > < span id = "L-545" > < a href = "#L-545" > < span class = "linenos" > 545< / span > < / a >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-546" > < a href = "#L-546" > < span class = "linenos" > 546< / span > < / a >
< / span > < span id = "L-547" > < a href = "#L-547" > < span class = "linenos" > 547< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > parse_date_delta_with_interval< / span > < span class = "p" > (< / span >
< / span > < span id = "L-548" > < a href = "#L-548" > < span class = "linenos" > 548< / span > < / a > < span class = "n" > expression_class< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "n" > E< / span > < span class = "p" > ],< / span >
< / span > < span id = "L-549" > < a href = "#L-549" > < span class = "linenos" > 549< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > ],< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > E< / span > < span class = "p" > ]]:< / span >
< / span > < span id = "L-550" > < a href = "#L-550" > < span class = "linenos" > 550< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > func< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > E< / span > < span class = "p" > ]:< / span >
< / span > < span id = "L-551" > < a href = "#L-551" > < span class = "linenos" > 551< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > )< / span > < span class = "o" > < < / span > < span class = "mi" > 2< / span > < span class = "p" > :< / span >
< / span > < span id = "L-552" > < a href = "#L-552" > < span class = "linenos" > 552< / span > < / a > < span class = "k" > return< / span > < span class = "kc" > None< / span >
< / span > < span id = "L-553" > < a href = "#L-553" > < span class = "linenos" > 553< / span > < / a >
< / span > < span id = "L-554" > < a href = "#L-554" > < span class = "linenos" > 554< / span > < / a > < span class = "n" > interval< / span > < span class = "o" > =< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > ]< / span >
< / span > < span id = "L-555" > < a href = "#L-555" > < span class = "linenos" > 555< / span > < / a >
< / span > < span id = "L-556" > < a href = "#L-556" > < span class = "linenos" > 556< / span > < / a > < span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > interval< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Interval< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-557" > < a href = "#L-557" > < span class = "linenos" > 557< / span > < / a > < span class = "k" > raise< / span > < span class = "n" > ParseError< / span > < span class = "p" > (< / span > < span class = "sa" > f< / span > < span class = "s2" > " INTERVAL expression expected but got ' < / span > < span class = "si" > {< / span > < span class = "n" > interval< / span > < span class = "si" > }< / span > < span class = "s2" > ' " < / span > < span class = "p" > )< / span >
2025-02-13 21:03:05 +01:00
< / span > < span id = "L-558" > < a href = "#L-558" > < span class = "linenos" > 558< / span > < / a >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-559" > < a href = "#L-559" > < span class = "linenos" > 559< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > interval< / span > < span class = "o" > .< / span > < span class = "n" > this< / span >
< / span > < span id = "L-560" > < a href = "#L-560" > < span class = "linenos" > 560< / span > < / a > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "ow" > and< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > is_string< / span > < span class = "p" > :< / span >
< / span > < span id = "L-561" > < a href = "#L-561" > < span class = "linenos" > 561< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Literal< / span > < span class = "o" > .< / span > < span class = "n" > number< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > )< / span >
< / span > < span id = "L-562" > < a href = "#L-562" > < span class = "linenos" > 562< / span > < / a >
< / span > < span id = "L-563" > < a href = "#L-563" > < span class = "linenos" > 563< / span > < / a > < span class = "k" > return< / span > < span class = "n" > expression_class< / span > < span class = "p" > (< / span >
< / span > < span id = "L-564" > < a href = "#L-564" > < span class = "linenos" > 564< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ],< / span > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Literal< / span > < span class = "o" > .< / span > < span class = "n" > string< / span > < span class = "p" > (< / span > < span class = "n" > interval< / span > < span class = "o" > .< / span > < span class = "n" > text< / span > < span class = "p" > (< / span > < span class = "s2" > " unit" < / span > < span class = "p" > ))< / span >
< / span > < span id = "L-565" > < a href = "#L-565" > < span class = "linenos" > 565< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-566" > < a href = "#L-566" > < span class = "linenos" > 566< / span > < / a >
< / span > < span id = "L-567" > < a href = "#L-567" > < span class = "linenos" > 567< / span > < / a > < span class = "k" > return< / span > < span class = "n" > func< / span >
2025-02-13 21:02:03 +01:00
< / span > < span id = "L-568" > < a href = "#L-568" > < span class = "linenos" > 568< / span > < / a >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-569" > < a href = "#L-569" > < span class = "linenos" > 569< / span > < / a >
< / span > < span id = "L-570" > < a href = "#L-570" > < span class = "linenos" > 570< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > date_trunc_to_time< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DateTrunc< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TimestampTrunc< / span > < span class = "p" > :< / span >
< / span > < span id = "L-571" > < a href = "#L-571" > < span class = "linenos" > 571< / span > < / a > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > )< / span >
< / span > < span id = "L-572" > < a href = "#L-572" > < span class = "linenos" > 572< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > )< / span >
< / span > < span id = "L-573" > < a href = "#L-573" > < span class = "linenos" > 573< / span > < / a >
< / span > < span id = "L-574" > < a href = "#L-574" > < span class = "linenos" > 574< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Cast< / span > < span class = "p" > )< / span > < span class = "ow" > and< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > is_type< / span > < span class = "p" > (< / span > < span class = "s2" > " date" < / span > < span class = "p" > ):< / span >
< / span > < span id = "L-575" > < a href = "#L-575" > < span class = "linenos" > 575< / span > < / a > < span class = "k" > return< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DateTrunc< / span > < span class = "p" > (< / span > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > unit< / span > < span class = "p" > ,< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > this< / span > < span class = "p" > )< / span >
< / span > < span id = "L-576" > < a href = "#L-576" > < span class = "linenos" > 576< / span > < / a > < span class = "k" > return< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TimestampTrunc< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > unit< / span > < span class = "p" > )< / span >
< / span > < span id = "L-577" > < a href = "#L-577" > < span class = "linenos" > 577< / span > < / a >
2025-02-13 21:02:03 +01:00
< / span > < span id = "L-578" > < a href = "#L-578" > < span class = "linenos" > 578< / span > < / a >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-579" > < a href = "#L-579" > < span class = "linenos" > 579< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > date_add_interval_sql< / span > < span class = "p" > (< / span >
< / span > < span id = "L-580" > < a href = "#L-580" > < span class = "linenos" > 580< / span > < / a > < span class = "n" > data_type< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "n" > kind< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span >
< / span > < span id = "L-581" > < a href = "#L-581" > < span class = "linenos" > 581< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ],< / span > < span class = "nb" > str< / span > < span class = "p" > ]:< / span >
< / span > < span id = "L-582" > < a href = "#L-582" > < span class = "linenos" > 582< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > func< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-583" > < a href = "#L-583" > < span class = "linenos" > 583< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " this" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-584" > < a href = "#L-584" > < span class = "linenos" > 584< / span > < / a > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " unit" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-585" > < a href = "#L-585" > < span class = "linenos" > 585< / span > < / a > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > var< / span > < span class = "p" > (< / span > < span class = "n" > unit< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "o" > .< / span > < span class = "n" > upper< / span > < span class = "p" > ()< / span > < span class = "k" > if< / span > < span class = "n" > unit< / span > < span class = "k" > else< / span > < span class = "s2" > " DAY" < / span > < span class = "p" > )< / span >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-586" > < a href = "#L-586" > < span class = "linenos" > 586< / span > < / a > < span class = "n" > interval< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Interval< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > unit< / span > < span class = "p" > )< / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-587" > < a href = "#L-587" > < span class = "linenos" > 587< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " < / span > < span class = "si" > {< / span > < span class = "n" > data_type< / span > < span class = "si" > }< / span > < span class = "s2" > _< / span > < span class = "si" > {< / span > < span class = "n" > kind< / span > < span class = "si" > }< / span > < span class = "s2" > (< / span > < span class = "si" > {< / span > < span class = "n" > this< / span > < span class = "si" > }< / span > < span class = "s2" > , < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > interval< / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > )" < / span >
< / span > < span id = "L-588" > < a href = "#L-588" > < span class = "linenos" > 588< / span > < / a >
< / span > < span id = "L-589" > < a href = "#L-589" > < span class = "linenos" > 589< / span > < / a > < span class = "k" > return< / span > < span class = "n" > func< / span >
< / span > < span id = "L-590" > < a href = "#L-590" > < span class = "linenos" > 590< / span > < / a >
< / span > < span id = "L-591" > < a href = "#L-591" > < span class = "linenos" > 591< / span > < / a >
< / span > < span id = "L-592" > < a href = "#L-592" > < span class = "linenos" > 592< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > timestamptrunc_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TimestampTrunc< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-593" > < a href = "#L-593" > < span class = "linenos" > 593< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span >
< / span > < span id = "L-594" > < a href = "#L-594" > < span class = "linenos" > 594< / span > < / a > < span class = "s2" > " DATE_TRUNC" < / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Literal< / span > < span class = "o" > .< / span > < span class = "n" > string< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > text< / span > < span class = "p" > (< / span > < span class = "s2" > " unit" < / span > < span class = "p" > )< / span > < span class = "ow" > or< / span > < span class = "s2" > " day" < / span > < span class = "p" > ),< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span >
< / span > < span id = "L-595" > < a href = "#L-595" > < span class = "linenos" > 595< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-596" > < a href = "#L-596" > < span class = "linenos" > 596< / span > < / a >
< / span > < span id = "L-597" > < a href = "#L-597" > < span class = "linenos" > 597< / span > < / a >
2025-02-13 21:08:47 +01:00
< / span > < span id = "L-598" > < a href = "#L-598" > < span class = "linenos" > 598< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > no_timestamp_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Timestamp< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-599" > < a href = "#L-599" > < span class = "linenos" > 599< / span > < / a > < span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span >
< / span > < span id = "L-600" > < a href = "#L-600" > < span class = "linenos" > 600< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > cast< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > to< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DataType< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "o" > .< / span > < span class = "n" > TIMESTAMP< / span > < span class = "p" > ))< / span >
< / span > < span id = "L-601" > < a href = "#L-601" > < span class = "linenos" > 601< / span > < / a > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > text< / span > < span class = "p" > (< / span > < span class = "s2" > " expression" < / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > lower< / span > < span class = "p" > ()< / span > < span class = "ow" > in< / span > < span class = "n" > TIMEZONES< / span > < span class = "p" > :< / span >
< / span > < span id = "L-602" > < a href = "#L-602" > < span class = "linenos" > 602< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span >
< / span > < span id = "L-603" > < a href = "#L-603" > < span class = "linenos" > 603< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > AtTimeZone< / span > < span class = "p" > (< / span >
< / span > < span id = "L-604" > < a href = "#L-604" > < span class = "linenos" > 604< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > cast< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > to< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DataType< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "o" > .< / span > < span class = "n" > TIMESTAMP< / span > < span class = "p" > ),< / span >
< / span > < span id = "L-605" > < a href = "#L-605" > < span class = "linenos" > 605< / span > < / a > < span class = "n" > zone< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-606" > < a href = "#L-606" > < span class = "linenos" > 606< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-607" > < a href = "#L-607" > < span class = "linenos" > 607< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-608" > < a href = "#L-608" > < span class = "linenos" > 608< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > function_fallback_sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-609" > < a href = "#L-609" > < span class = "linenos" > 609< / span > < / a >
2025-02-13 21:08:47 +01:00
< / span > < span id = "L-610" > < a href = "#L-610" > < span class = "linenos" > 610< / span > < / a >
< / span > < span id = "L-611" > < a href = "#L-611" > < span class = "linenos" > 611< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > locate_to_strposition< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > :< / span >
< / span > < span id = "L-612" > < a href = "#L-612" > < span class = "linenos" > 612< / span > < / a > < span class = "k" > return< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StrPosition< / span > < span class = "p" > (< / span >
< / span > < span id = "L-613" > < a href = "#L-613" > < span class = "linenos" > 613< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span > < span class = "n" > substr< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > ),< / span > < span class = "n" > position< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 2< / span > < span class = "p" > )< / span >
< / span > < span id = "L-614" > < a href = "#L-614" > < span class = "linenos" > 614< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-615" > < a href = "#L-615" > < span class = "linenos" > 615< / span > < / a >
< / span > < span id = "L-616" > < a href = "#L-616" > < span class = "linenos" > 616< / span > < / a >
< / span > < span id = "L-617" > < a href = "#L-617" > < span class = "linenos" > 617< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > strposition_to_locate_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StrPosition< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-618" > < a href = "#L-618" > < span class = "linenos" > 618< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span >
< / span > < span id = "L-619" > < a href = "#L-619" > < span class = "linenos" > 619< / span > < / a > < span class = "s2" > " LOCATE" < / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " substr" < / span > < span class = "p" > ),< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " position" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-620" > < a href = "#L-620" > < span class = "linenos" > 620< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-621" > < a href = "#L-621" > < span class = "linenos" > 621< / span > < / a >
< / span > < span id = "L-622" > < a href = "#L-622" > < span class = "linenos" > 622< / span > < / a >
< / span > < span id = "L-623" > < a href = "#L-623" > < span class = "linenos" > 623< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > left_to_substring_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Left< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-624" > < a href = "#L-624" > < span class = "linenos" > 624< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span >
< / span > < span id = "L-625" > < a href = "#L-625" > < span class = "linenos" > 625< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Substring< / span > < span class = "p" > (< / span >
< / span > < span id = "L-626" > < a href = "#L-626" > < span class = "linenos" > 626< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > start< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Literal< / span > < span class = "o" > .< / span > < span class = "n" > number< / span > < span class = "p" > (< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span > < span class = "n" > length< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span >
< / span > < span id = "L-627" > < a href = "#L-627" > < span class = "linenos" > 627< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-628" > < a href = "#L-628" > < span class = "linenos" > 628< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-629" > < a href = "#L-629" > < span class = "linenos" > 629< / span > < / a >
2025-02-13 21:08:47 +01:00
< / span > < span id = "L-630" > < a href = "#L-630" > < span class = "linenos" > 630< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-631" > < a href = "#L-631" > < span class = "linenos" > 631< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > right_to_substring_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Left< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-632" > < a href = "#L-632" > < span class = "linenos" > 632< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span >
< / span > < span id = "L-633" > < a href = "#L-633" > < span class = "linenos" > 633< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Substring< / span > < span class = "p" > (< / span >
< / span > < span id = "L-634" > < a href = "#L-634" > < span class = "linenos" > 634< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-635" > < a href = "#L-635" > < span class = "linenos" > 635< / span > < / a > < span class = "n" > start< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Length< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > )< / span > < span class = "o" > -< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > paren< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span >
< / span > < span id = "L-636" > < a href = "#L-636" > < span class = "linenos" > 636< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-637" > < a href = "#L-637" > < span class = "linenos" > 637< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-638" > < a href = "#L-638" > < span class = "linenos" > 638< / span > < / a >
< / span > < span id = "L-639" > < a href = "#L-639" > < span class = "linenos" > 639< / span > < / a >
< / span > < span id = "L-640" > < a href = "#L-640" > < span class = "linenos" > 640< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > timestrtotime_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TimeStrToTime< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-641" > < a href = "#L-641" > < span class = "linenos" > 641< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > cast< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "s2" > " timestamp" < / span > < span class = "p" > ))< / span >
< / span > < span id = "L-642" > < a href = "#L-642" > < span class = "linenos" > 642< / span > < / a >
< / span > < span id = "L-643" > < a href = "#L-643" > < span class = "linenos" > 643< / span > < / a >
< / span > < span id = "L-644" > < a href = "#L-644" > < span class = "linenos" > 644< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > datestrtodate_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DateStrToDate< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-645" > < a href = "#L-645" > < span class = "linenos" > 645< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > cast< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "s2" > " date" < / span > < span class = "p" > ))< / span >
< / span > < span id = "L-646" > < a href = "#L-646" > < span class = "linenos" > 646< / span > < / a >
< / span > < span id = "L-647" > < a href = "#L-647" > < span class = "linenos" > 647< / span > < / a >
< / span > < span id = "L-648" > < a href = "#L-648" > < span class = "linenos" > 648< / span > < / a > < span class = "c1" > # Used for Presto and Duckdb which use functions that don' t support charset, and assume utf-8< / span >
< / span > < span id = "L-649" > < a href = "#L-649" > < span class = "linenos" > 649< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > encode_decode_sql< / span > < span class = "p" > (< / span >
< / span > < span id = "L-650" > < a href = "#L-650" > < span class = "linenos" > 650< / span > < / a > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ,< / span > < span class = "n" > name< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "n" > replace< / span > < span class = "p" > :< / span > < span class = "nb" > bool< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span >
< / span > < span id = "L-651" > < a href = "#L-651" > < span class = "linenos" > 651< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-652" > < a href = "#L-652" > < span class = "linenos" > 652< / span > < / a > < span class = "n" > charset< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " charset" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-653" > < a href = "#L-653" > < span class = "linenos" > 653< / span > < / a > < span class = "k" > if< / span > < span class = "n" > charset< / span > < span class = "ow" > and< / span > < span class = "n" > charset< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "o" > .< / span > < span class = "n" > lower< / span > < span class = "p" > ()< / span > < span class = "o" > !=< / span > < span class = "s2" > " utf-8" < / span > < span class = "p" > :< / span >
< / span > < span id = "L-654" > < a href = "#L-654" > < span class = "linenos" > 654< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "sa" > f< / span > < span class = "s2" > " Expected utf-8 character set, got < / span > < span class = "si" > {< / span > < span class = "n" > charset< / span > < span class = "si" > }< / span > < span class = "s2" > ." < / span > < span class = "p" > )< / span >
< / span > < span id = "L-655" > < a href = "#L-655" > < span class = "linenos" > 655< / span > < / a >
< / span > < span id = "L-656" > < a href = "#L-656" > < span class = "linenos" > 656< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " replace" < / span > < span class = "p" > )< / span > < span class = "k" > if< / span > < span class = "n" > replace< / span > < span class = "k" > else< / span > < span class = "kc" > None< / span > < span class = "p" > )< / span >
2025-02-13 21:00:44 +01:00
< / span > < span id = "L-657" > < a href = "#L-657" > < span class = "linenos" > 657< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-658" > < a href = "#L-658" > < span class = "linenos" > 658< / span > < / a >
< / span > < span id = "L-659" > < a href = "#L-659" > < span class = "linenos" > 659< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > min_or_least< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Min< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-660" > < a href = "#L-660" > < span class = "linenos" > 660< / span > < / a > < span class = "n" > name< / span > < span class = "o" > =< / span > < span class = "s2" > " LEAST" < / span > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "k" > else< / span > < span class = "s2" > " MIN" < / span >
< / span > < span id = "L-661" > < a href = "#L-661" > < span class = "linenos" > 661< / span > < / a > < span class = "k" > return< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > )(< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
< / span > < span id = "L-662" > < a href = "#L-662" > < span class = "linenos" > 662< / span > < / a >
< / span > < span id = "L-663" > < a href = "#L-663" > < span class = "linenos" > 663< / span > < / a >
< / span > < span id = "L-664" > < a href = "#L-664" > < span class = "linenos" > 664< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > max_or_greatest< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Max< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-665" > < a href = "#L-665" > < span class = "linenos" > 665< / span > < / a > < span class = "n" > name< / span > < span class = "o" > =< / span > < span class = "s2" > " GREATEST" < / span > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "k" > else< / span > < span class = "s2" > " MAX" < / span >
< / span > < span id = "L-666" > < a href = "#L-666" > < span class = "linenos" > 666< / span > < / a > < span class = "k" > return< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > )(< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
< / span > < span id = "L-667" > < a href = "#L-667" > < span class = "linenos" > 667< / span > < / a >
< / span > < span id = "L-668" > < a href = "#L-668" > < span class = "linenos" > 668< / span > < / a >
< / span > < span id = "L-669" > < a href = "#L-669" > < span class = "linenos" > 669< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > count_if_to_sum< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > CountIf< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-670" > < a href = "#L-670" > < span class = "linenos" > 670< / span > < / a > < span class = "n" > cond< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span >
< / span > < span id = "L-671" > < a href = "#L-671" > < span class = "linenos" > 671< / span > < / a >
< / span > < span id = "L-672" > < a href = "#L-672" > < span class = "linenos" > 672< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Distinct< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-673" > < a href = "#L-673" > < span class = "linenos" > 673< / span > < / a > < span class = "n" > cond< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ]< / span >
< / span > < span id = "L-674" > < a href = "#L-674" > < span class = "linenos" > 674< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "s2" > " DISTINCT is not supported when converting COUNT_IF to SUM" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-675" > < a href = "#L-675" > < span class = "linenos" > 675< / span > < / a >
< / span > < span id = "L-676" > < a href = "#L-676" > < span class = "linenos" > 676< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "s2" > " sum" < / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "s2" > " if" < / span > < span class = "p" > ,< / span > < span class = "n" > cond< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > ))< / span >
2025-02-13 21:03:05 +01:00
< / span > < span id = "L-677" > < a href = "#L-677" > < span class = "linenos" > 677< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-678" > < a href = "#L-678" > < span class = "linenos" > 678< / span > < / a >
< / span > < span id = "L-679" > < a href = "#L-679" > < span class = "linenos" > 679< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > trim_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Trim< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-680" > < a href = "#L-680" > < span class = "linenos" > 680< / span > < / a > < span class = "n" > target< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " this" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-681" > < a href = "#L-681" > < span class = "linenos" > 681< / span > < / a > < span class = "n" > trim_type< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " position" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-682" > < a href = "#L-682" > < span class = "linenos" > 682< / span > < / a > < span class = "n" > remove_chars< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " expression" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-683" > < a href = "#L-683" > < span class = "linenos" > 683< / span > < / a > < span class = "n" > collation< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " collation" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-684" > < a href = "#L-684" > < span class = "linenos" > 684< / span > < / a >
< / span > < span id = "L-685" > < a href = "#L-685" > < span class = "linenos" > 685< / span > < / a > < span class = "c1" > # Use TRIM/LTRIM/RTRIM syntax if the expression isn' t database-specific< / span >
< / span > < span id = "L-686" > < a href = "#L-686" > < span class = "linenos" > 686< / span > < / a > < span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > remove_chars< / span > < span class = "ow" > and< / span > < span class = "ow" > not< / span > < span class = "n" > collation< / span > < span class = "p" > :< / span >
< / span > < span id = "L-687" > < a href = "#L-687" > < span class = "linenos" > 687< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > trim_sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
< / span > < span id = "L-688" > < a href = "#L-688" > < span class = "linenos" > 688< / span > < / a >
< / span > < span id = "L-689" > < a href = "#L-689" > < span class = "linenos" > 689< / span > < / a > < span class = "n" > trim_type< / span > < span class = "o" > =< / span > < span class = "sa" > f< / span > < span class = "s2" > " < / span > < span class = "si" > {< / span > < span class = "n" > trim_type< / span > < span class = "si" > }< / span > < span class = "s2" > " < / span > < span class = "k" > if< / span > < span class = "n" > trim_type< / span > < span class = "k" > else< / span > < span class = "s2" > " " < / span >
< / span > < span id = "L-690" > < a href = "#L-690" > < span class = "linenos" > 690< / span > < / a > < span class = "n" > remove_chars< / span > < span class = "o" > =< / span > < span class = "sa" > f< / span > < span class = "s2" > " < / span > < span class = "si" > {< / span > < span class = "n" > remove_chars< / span > < span class = "si" > }< / span > < span class = "s2" > " < / span > < span class = "k" > if< / span > < span class = "n" > remove_chars< / span > < span class = "k" > else< / span > < span class = "s2" > " " < / span >
< / span > < span id = "L-691" > < a href = "#L-691" > < span class = "linenos" > 691< / span > < / a > < span class = "n" > from_part< / span > < span class = "o" > =< / span > < span class = "s2" > " FROM " < / span > < span class = "k" > if< / span > < span class = "n" > trim_type< / span > < span class = "ow" > or< / span > < span class = "n" > remove_chars< / span > < span class = "k" > else< / span > < span class = "s2" > " " < / span >
< / span > < span id = "L-692" > < a href = "#L-692" > < span class = "linenos" > 692< / span > < / a > < span class = "n" > collation< / span > < span class = "o" > =< / span > < span class = "sa" > f< / span > < span class = "s2" > " COLLATE < / span > < span class = "si" > {< / span > < span class = "n" > collation< / span > < span class = "si" > }< / span > < span class = "s2" > " < / span > < span class = "k" > if< / span > < span class = "n" > collation< / span > < span class = "k" > else< / span > < span class = "s2" > " " < / span >
< / span > < span id = "L-693" > < a href = "#L-693" > < span class = "linenos" > 693< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " TRIM(< / span > < span class = "si" > {< / span > < span class = "n" > trim_type< / span > < span class = "si" > }{< / span > < span class = "n" > remove_chars< / span > < span class = "si" > }{< / span > < span class = "n" > from_part< / span > < span class = "si" > }{< / span > < span class = "n" > target< / span > < span class = "si" > }{< / span > < span class = "n" > collation< / span > < span class = "si" > }< / span > < span class = "s2" > )" < / span >
< / span > < span id = "L-694" > < a href = "#L-694" > < span class = "linenos" > 694< / span > < / a >
< / span > < span id = "L-695" > < a href = "#L-695" > < span class = "linenos" > 695< / span > < / a >
< / span > < span id = "L-696" > < a href = "#L-696" > < span class = "linenos" > 696< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > str_to_time_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-697" > < a href = "#L-697" > < span class = "linenos" > 697< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "s2" > " STRPTIME" < / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > format_time< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ))< / span >
< / span > < span id = "L-698" > < a href = "#L-698" > < span class = "linenos" > 698< / span > < / a >
< / span > < span id = "L-699" > < a href = "#L-699" > < span class = "linenos" > 699< / span > < / a >
< / span > < span id = "L-700" > < a href = "#L-700" > < span class = "linenos" > 700< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > ts_or_ds_to_date_sql< / span > < span class = "p" > (< / span > < span class = "n" > dialect< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Callable< / span > < span class = "p" > :< / span >
< / span > < span id = "L-701" > < a href = "#L-701" > < span class = "linenos" > 701< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _ts_or_ds_to_date_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TsOrDsToDate< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-702" > < a href = "#L-702" > < span class = "linenos" > 702< / span > < / a > < span class = "n" > _dialect< / span > < span class = "o" > =< / span > < span class = "n" > Dialect< / span > < span class = "o" > .< / span > < span class = "n" > get_or_raise< / span > < span class = "p" > (< / span > < span class = "n" > dialect< / span > < span class = "p" > )< / span >
< / span > < span id = "L-703" > < a href = "#L-703" > < span class = "linenos" > 703< / span > < / a > < span class = "n" > time_format< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > format_time< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
< / span > < span id = "L-704" > < a href = "#L-704" > < span class = "linenos" > 704< / span > < / a > < span class = "k" > if< / span > < span class = "n" > time_format< / span > < span class = "ow" > and< / span > < span class = "n" > time_format< / span > < span class = "ow" > not< / span > < span class = "ow" > in< / span > < span class = "p" > (< / span > < span class = "n" > _dialect< / span > < span class = "o" > .< / span > < span class = "n" > TIME_FORMAT< / span > < span class = "p" > ,< / span > < span class = "n" > _dialect< / span > < span class = "o" > .< / span > < span class = "n" > DATE_FORMAT< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-705" > < a href = "#L-705" > < span class = "linenos" > 705< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span >
< / span > < span id = "L-706" > < a href = "#L-706" > < span class = "linenos" > 706< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > cast< / span > < span class = "p" > (< / span >
< / span > < span id = "L-707" > < a href = "#L-707" > < span class = "linenos" > 707< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StrToTime< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "nb" > format< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "s2" > " format" < / span > < span class = "p" > ]),< / span >
< / span > < span id = "L-708" > < a href = "#L-708" > < span class = "linenos" > 708< / span > < / a > < span class = "s2" > " date" < / span > < span class = "p" > ,< / span >
< / span > < span id = "L-709" > < a href = "#L-709" > < span class = "linenos" > 709< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-710" > < a href = "#L-710" > < span class = "linenos" > 710< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-711" > < a href = "#L-711" > < span class = "linenos" > 711< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > cast< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "s2" > " date" < / span > < span class = "p" > ))< / span >
< / span > < span id = "L-712" > < a href = "#L-712" > < span class = "linenos" > 712< / span > < / a >
< / span > < span id = "L-713" > < a href = "#L-713" > < span class = "linenos" > 713< / span > < / a > < span class = "k" > return< / span > < span class = "n" > _ts_or_ds_to_date_sql< / span >
2025-02-13 21:08:47 +01:00
< / span > < span id = "L-714" > < a href = "#L-714" > < span class = "linenos" > 714< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-715" > < a href = "#L-715" > < span class = "linenos" > 715< / span > < / a >
< / span > < span id = "L-716" > < a href = "#L-716" > < span class = "linenos" > 716< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > concat_to_dpipe_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Concat< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > SafeConcat< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-717" > < a href = "#L-717" > < span class = "linenos" > 717< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > reduce< / span > < span class = "p" > (< / span > < span class = "k" > lambda< / span > < span class = "n" > x< / span > < span class = "p" > ,< / span > < span class = "n" > y< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DPipe< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > x< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > y< / span > < span class = "p" > ),< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "p" > ))< / span >
< / span > < span id = "L-718" > < a href = "#L-718" > < span class = "linenos" > 718< / span > < / a >
< / span > < span id = "L-719" > < a href = "#L-719" > < span class = "linenos" > 719< / span > < / a >
< / span > < span id = "L-720" > < a href = "#L-720" > < span class = "linenos" > 720< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > concat_ws_to_dpipe_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ConcatWs< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-721" > < a href = "#L-721" > < span class = "linenos" > 721< / span > < / a > < span class = "n" > delim< / span > < span class = "p" > ,< / span > < span class = "o" > *< / span > < span class = "n" > rest_args< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span >
< / span > < span id = "L-722" > < a href = "#L-722" > < span class = "linenos" > 722< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span >
< / span > < span id = "L-723" > < a href = "#L-723" > < span class = "linenos" > 723< / span > < / a > < span class = "n" > reduce< / span > < span class = "p" > (< / span >
< / span > < span id = "L-724" > < a href = "#L-724" > < span class = "linenos" > 724< / span > < / a > < span class = "k" > lambda< / span > < span class = "n" > x< / span > < span class = "p" > ,< / span > < span class = "n" > y< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DPipe< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > x< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DPipe< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > delim< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > y< / span > < span class = "p" > )),< / span >
< / span > < span id = "L-725" > < a href = "#L-725" > < span class = "linenos" > 725< / span > < / a > < span class = "n" > rest_args< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-726" > < a href = "#L-726" > < span class = "linenos" > 726< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-727" > < a href = "#L-727" > < span class = "linenos" > 727< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-728" > < a href = "#L-728" > < span class = "linenos" > 728< / span > < / a >
< / span > < span id = "L-729" > < a href = "#L-729" > < span class = "linenos" > 729< / span > < / a >
< / span > < span id = "L-730" > < a href = "#L-730" > < span class = "linenos" > 730< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > regexp_extract_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > RegexpExtract< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-731" > < a href = "#L-731" > < span class = "linenos" > 731< / span > < / a > < span class = "n" > bad_args< / span > < span class = "o" > =< / span > < span class = "nb" > list< / span > < span class = "p" > (< / span > < span class = "nb" > filter< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > ,< / span > < span class = "p" > (< / span > < span class = "s2" > " position" < / span > < span class = "p" > ,< / span > < span class = "s2" > " occurrence" < / span > < span class = "p" > ,< / span > < span class = "s2" > " parameters" < / span > < span class = "p" > )))< / span >
< / span > < span id = "L-732" > < a href = "#L-732" > < span class = "linenos" > 732< / span > < / a > < span class = "k" > if< / span > < span class = "n" > bad_args< / span > < span class = "p" > :< / span >
< / span > < span id = "L-733" > < a href = "#L-733" > < span class = "linenos" > 733< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "sa" > f< / span > < span class = "s2" > " REGEXP_EXTRACT does not support the following arg(s): < / span > < span class = "si" > {< / span > < span class = "n" > bad_args< / span > < span class = "si" > }< / span > < span class = "s2" > " < / span > < span class = "p" > )< / span >
< / span > < span id = "L-734" > < a href = "#L-734" > < span class = "linenos" > 734< / span > < / a >
< / span > < span id = "L-735" > < a href = "#L-735" > < span class = "linenos" > 735< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span >
< / span > < span id = "L-736" > < a href = "#L-736" > < span class = "linenos" > 736< / span > < / a > < span class = "s2" > " REGEXP_EXTRACT" < / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " group" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-737" > < a href = "#L-737" > < span class = "linenos" > 737< / span > < / a > < span class = "p" > )< / span >
2025-02-13 21:08:47 +01:00
< / span > < span id = "L-738" > < a href = "#L-738" > < span class = "linenos" > 738< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-739" > < a href = "#L-739" > < span class = "linenos" > 739< / span > < / a >
< / span > < span id = "L-740" > < a href = "#L-740" > < span class = "linenos" > 740< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > regexp_replace_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > RegexpReplace< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-741" > < a href = "#L-741" > < span class = "linenos" > 741< / span > < / a > < span class = "n" > bad_args< / span > < span class = "o" > =< / span > < span class = "nb" > list< / span > < span class = "p" > (< / span >
< / span > < span id = "L-742" > < a href = "#L-742" > < span class = "linenos" > 742< / span > < / a > < span class = "nb" > filter< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > ,< / span > < span class = "p" > (< / span > < span class = "s2" > " position" < / span > < span class = "p" > ,< / span > < span class = "s2" > " occurrence" < / span > < span class = "p" > ,< / span > < span class = "s2" > " parameters" < / span > < span class = "p" > ,< / span > < span class = "s2" > " modifiers" < / span > < span class = "p" > ))< / span >
< / span > < span id = "L-743" > < a href = "#L-743" > < span class = "linenos" > 743< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-744" > < a href = "#L-744" > < span class = "linenos" > 744< / span > < / a > < span class = "k" > if< / span > < span class = "n" > bad_args< / span > < span class = "p" > :< / span >
< / span > < span id = "L-745" > < a href = "#L-745" > < span class = "linenos" > 745< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "sa" > f< / span > < span class = "s2" > " REGEXP_REPLACE does not support the following arg(s): < / span > < span class = "si" > {< / span > < span class = "n" > bad_args< / span > < span class = "si" > }< / span > < span class = "s2" > " < / span > < span class = "p" > )< / span >
< / span > < span id = "L-746" > < a href = "#L-746" > < span class = "linenos" > 746< / span > < / a >
< / span > < span id = "L-747" > < a href = "#L-747" > < span class = "linenos" > 747< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span >
< / span > < span id = "L-748" > < a href = "#L-748" > < span class = "linenos" > 748< / span > < / a > < span class = "s2" > " REGEXP_REPLACE" < / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "s2" > " replacement" < / span > < span class = "p" > ]< / span >
< / span > < span id = "L-749" > < a href = "#L-749" > < span class = "linenos" > 749< / span > < / a > < span class = "p" > )< / span >
2025-02-13 21:08:47 +01:00
< / span > < span id = "L-750" > < a href = "#L-750" > < span class = "linenos" > 750< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-751" > < a href = "#L-751" > < span class = "linenos" > 751< / span > < / a >
< / span > < span id = "L-752" > < a href = "#L-752" > < span class = "linenos" > 752< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > pivot_column_names< / span > < span class = "p" > (< / span > < span class = "n" > aggregations< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ],< / span > < span class = "n" > dialect< / span > < span class = "p" > :< / span > < span class = "n" > DialectType< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ]:< / span >
< / span > < span id = "L-753" > < a href = "#L-753" > < span class = "linenos" > 753< / span > < / a > < span class = "n" > names< / span > < span class = "o" > =< / span > < span class = "p" > []< / span >
< / span > < span id = "L-754" > < a href = "#L-754" > < span class = "linenos" > 754< / span > < / a > < span class = "k" > for< / span > < span class = "n" > agg< / span > < span class = "ow" > in< / span > < span class = "n" > aggregations< / span > < span class = "p" > :< / span >
< / span > < span id = "L-755" > < a href = "#L-755" > < span class = "linenos" > 755< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > agg< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Alias< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-756" > < a href = "#L-756" > < span class = "linenos" > 756< / span > < / a > < span class = "n" > names< / span > < span class = "o" > .< / span > < span class = "n" > append< / span > < span class = "p" > (< / span > < span class = "n" > agg< / span > < span class = "o" > .< / span > < span class = "n" > alias< / span > < span class = "p" > )< / span >
< / span > < span id = "L-757" > < a href = "#L-757" > < span class = "linenos" > 757< / span > < / a > < span class = "k" > else< / span > < span class = "p" > :< / span >
< / span > < span id = "L-758" > < a href = "#L-758" > < span class = "linenos" > 758< / span > < / a > < span class = "w" > < / span > < span class = "sd" > " " " < / span >
< / span > < span id = "L-759" > < a href = "#L-759" > < span class = "linenos" > 759< / span > < / a > < span class = "sd" > This case corresponds to aggregations without aliases being used as suffixes< / span >
< / span > < span id = "L-760" > < a href = "#L-760" > < span class = "linenos" > 760< / span > < / a > < span class = "sd" > (e.g. col_avg(foo)). We need to unquote identifiers because they' re going to< / span >
< / span > < span id = "L-761" > < a href = "#L-761" > < span class = "linenos" > 761< / span > < / a > < span class = "sd" > be quoted in the base parser' s `_parse_pivot` method, due to `to_identifier`.< / span >
< / span > < span id = "L-762" > < a href = "#L-762" > < span class = "linenos" > 762< / span > < / a > < span class = "sd" > Otherwise, we' d end up with `col_avg(`foo`)` (notice the double quotes).< / span >
< / span > < span id = "L-763" > < a href = "#L-763" > < span class = "linenos" > 763< / span > < / a > < span class = "sd" > " " " < / span >
< / span > < span id = "L-764" > < a href = "#L-764" > < span class = "linenos" > 764< / span > < / a > < span class = "n" > agg_all_unquoted< / span > < span class = "o" > =< / span > < span class = "n" > agg< / span > < span class = "o" > .< / span > < span class = "n" > transform< / span > < span class = "p" > (< / span >
< / span > < span id = "L-765" > < a href = "#L-765" > < span class = "linenos" > 765< / span > < / a > < span class = "k" > lambda< / span > < span class = "n" > node< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Identifier< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > node< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "p" > ,< / span > < span class = "n" > quoted< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > )< / span >
< / span > < span id = "L-766" > < a href = "#L-766" > < span class = "linenos" > 766< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > node< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Identifier< / span > < span class = "p" > )< / span >
< / span > < span id = "L-767" > < a href = "#L-767" > < span class = "linenos" > 767< / span > < / a > < span class = "k" > else< / span > < span class = "n" > node< / span >
< / span > < span id = "L-768" > < a href = "#L-768" > < span class = "linenos" > 768< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-769" > < a href = "#L-769" > < span class = "linenos" > 769< / span > < / a > < span class = "n" > names< / span > < span class = "o" > .< / span > < span class = "n" > append< / span > < span class = "p" > (< / span > < span class = "n" > agg_all_unquoted< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > dialect< / span > < span class = "o" > =< / span > < span class = "n" > dialect< / span > < span class = "p" > ,< / span > < span class = "n" > normalize_functions< / span > < span class = "o" > =< / span > < span class = "s2" > " lower" < / span > < span class = "p" > ))< / span >
< / span > < span id = "L-770" > < a href = "#L-770" > < span class = "linenos" > 770< / span > < / a >
< / span > < span id = "L-771" > < a href = "#L-771" > < span class = "linenos" > 771< / span > < / a > < span class = "k" > return< / span > < span class = "n" > names< / span >
< / span > < span id = "L-772" > < a href = "#L-772" > < span class = "linenos" > 772< / span > < / a >
< / span > < span id = "L-773" > < a href = "#L-773" > < span class = "linenos" > 773< / span > < / a >
< / span > < span id = "L-774" > < a href = "#L-774" > < span class = "linenos" > 774< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > binary_from_function< / span > < span class = "p" > (< / span > < span class = "n" > expr_type< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "n" > B< / span > < span class = "p" > ])< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > ],< / span > < span class = "n" > B< / span > < span class = "p" > ]:< / span >
< / span > < span id = "L-775" > < a href = "#L-775" > < span class = "linenos" > 775< / span > < / a > < span class = "k" > return< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > expr_type< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > ),< / span > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > ))< / span >
2025-02-13 21:03:05 +01:00
< / span > < span id = "L-776" > < a href = "#L-776" > < span class = "linenos" > 776< / span > < / a >
2025-02-13 21:08:47 +01:00
< / span > < span id = "L-777" > < a href = "#L-777" > < span class = "linenos" > 777< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-778" > < a href = "#L-778" > < span class = "linenos" > 778< / span > < / a > < span class = "c1" > # Used to represent DATE_TRUNC in Doris, Postgres and Starrocks dialects< / span >
< / span > < span id = "L-779" > < a href = "#L-779" > < span class = "linenos" > 779< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > parse_timestamp_trunc< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TimestampTrunc< / span > < span class = "p" > :< / span >
< / span > < span id = "L-780" > < a href = "#L-780" > < span class = "linenos" > 780< / span > < / a > < span class = "k" > return< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TimestampTrunc< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > ))< / span >
2025-02-13 21:08:47 +01:00
< / span > < span id = "L-781" > < a href = "#L-781" > < span class = "linenos" > 781< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-782" > < a href = "#L-782" > < span class = "linenos" > 782< / span > < / a >
< / span > < span id = "L-783" > < a href = "#L-783" > < span class = "linenos" > 783< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > any_value_to_max_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > AnyValue< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-784" > < a href = "#L-784" > < span class = "linenos" > 784< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "s2" > " MAX" < / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > )< / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-785" > < a href = "#L-785" > < span class = "linenos" > 785< / span > < / a >
2025-02-13 21:03:05 +01:00
< / span > < span id = "L-786" > < a href = "#L-786" > < span class = "linenos" > 786< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-787" > < a href = "#L-787" > < span class = "linenos" > 787< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > bool_xor_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Xor< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-788" > < a href = "#L-788" > < span class = "linenos" > 788< / span > < / a > < span class = "n" > a< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > left< / span > < span class = "p" > )< / span >
< / span > < span id = "L-789" > < a href = "#L-789" > < span class = "linenos" > 789< / span > < / a > < span class = "n" > b< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > right< / span > < span class = "p" > )< / span >
< / span > < span id = "L-790" > < a href = "#L-790" > < span class = "linenos" > 790< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " (< / span > < span class = "si" > {< / span > < span class = "n" > a< / span > < span class = "si" > }< / span > < span class = "s2" > AND (NOT < / span > < span class = "si" > {< / span > < span class = "n" > b< / span > < span class = "si" > }< / span > < span class = "s2" > )) OR ((NOT < / span > < span class = "si" > {< / span > < span class = "n" > a< / span > < span class = "si" > }< / span > < span class = "s2" > ) AND < / span > < span class = "si" > {< / span > < span class = "n" > b< / span > < span class = "si" > }< / span > < span class = "s2" > )" < / span >
< / span > < span id = "L-791" > < a href = "#L-791" > < span class = "linenos" > 791< / span > < / a >
< / span > < span id = "L-792" > < a href = "#L-792" > < span class = "linenos" > 792< / span > < / a >
< / span > < span id = "L-793" > < a href = "#L-793" > < span class = "linenos" > 793< / span > < / a > < span class = "c1" > # Used to generate JSON_OBJECT with a comma in BigQuery and MySQL instead of colon< / span >
< / span > < span id = "L-794" > < a href = "#L-794" > < span class = "linenos" > 794< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > json_keyvalue_comma_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > JSONKeyValue< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-795" > < a href = "#L-795" > < span class = "linenos" > 795< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' this' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > , < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' expression' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > " < / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "L-796" > < a href = "#L-796" > < span class = "linenos" > 796< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-797" > < a href = "#L-797" > < span class = "linenos" > 797< / span > < / a >
< / span > < span id = "L-798" > < a href = "#L-798" > < span class = "linenos" > 798< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > is_parse_json< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > bool< / span > < span class = "p" > :< / span >
< / span > < span id = "L-799" > < a href = "#L-799" > < span class = "linenos" > 799< / span > < / a > < span class = "k" > return< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ParseJSON< / span > < span class = "p" > )< / span > < span class = "ow" > or< / span > < span class = "p" > (< / span >
< / span > < span id = "L-800" > < a href = "#L-800" > < span class = "linenos" > 800< / span > < / a > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Cast< / span > < span class = "p" > )< / span > < span class = "ow" > and< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > is_type< / span > < span class = "p" > (< / span > < span class = "s2" > " json" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-801" > < a href = "#L-801" > < span class = "linenos" > 801< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-802" > < a href = "#L-802" > < span class = "linenos" > 802< / span > < / a >
< / span > < span id = "L-803" > < a href = "#L-803" > < span class = "linenos" > 803< / span > < / a >
< / span > < span id = "L-804" > < a href = "#L-804" > < span class = "linenos" > 804< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > isnull_to_is_null< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > :< / span >
< / span > < span id = "L-805" > < a href = "#L-805" > < span class = "linenos" > 805< / span > < / a > < span class = "k" > return< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Paren< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Is< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > ),< / span > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > null< / span > < span class = "p" > ()))< / span >
2025-02-13 21:08:47 +01:00
< / span > < span id = "L-806" > < a href = "#L-806" > < span class = "linenos" > 806< / span > < / a >
< / span > < span id = "L-807" > < a href = "#L-807" > < span class = "linenos" > 807< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "L-808" > < a href = "#L-808" > < span class = "linenos" > 808< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > generatedasidentitycolumnconstraint_sql< / span > < span class = "p" > (< / span >
< / span > < span id = "L-809" > < a href = "#L-809" > < span class = "linenos" > 809< / span > < / a > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > GeneratedAsIdentityColumnConstraint< / span >
< / span > < span id = "L-810" > < a href = "#L-810" > < span class = "linenos" > 810< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-811" > < a href = "#L-811" > < span class = "linenos" > 811< / span > < / a > < span class = "n" > start< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " start" < / span > < span class = "p" > )< / span > < span class = "ow" > or< / span > < span class = "s2" > " 1" < / span >
< / span > < span id = "L-812" > < a href = "#L-812" > < span class = "linenos" > 812< / span > < / a > < span class = "n" > increment< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " increment" < / span > < span class = "p" > )< / span > < span class = "ow" > or< / span > < span class = "s2" > " 1" < / span >
< / span > < span id = "L-813" > < a href = "#L-813" > < span class = "linenos" > 813< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " IDENTITY(< / span > < span class = "si" > {< / span > < span class = "n" > start< / span > < span class = "si" > }< / span > < span class = "s2" > , < / span > < span class = "si" > {< / span > < span class = "n" > increment< / span > < span class = "si" > }< / span > < span class = "s2" > )" < / span >
< / span > < span id = "L-814" > < a href = "#L-814" > < span class = "linenos" > 814< / span > < / a >
< / span > < span id = "L-815" > < a href = "#L-815" > < span class = "linenos" > 815< / span > < / a >
< / span > < span id = "L-816" > < a href = "#L-816" > < span class = "linenos" > 816< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > arg_max_or_min_no_count< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ArgMax< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ArgMin< / span > < span class = "p" > ],< / span > < span class = "nb" > str< / span > < span class = "p" > ]:< / span >
< / span > < span id = "L-817" > < a href = "#L-817" > < span class = "linenos" > 817< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _arg_max_or_min_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ArgMax< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ArgMin< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-818" > < a href = "#L-818" > < span class = "linenos" > 818< / span > < / a > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " count" < / span > < span class = "p" > ):< / span >
< / span > < span id = "L-819" > < a href = "#L-819" > < span class = "linenos" > 819< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "sa" > f< / span > < span class = "s2" > " Only two arguments are supported in function < / span > < span class = "si" > {< / span > < span class = "n" > name< / span > < span class = "si" > }< / span > < span class = "s2" > ." < / span > < span class = "p" > )< / span >
< / span > < span id = "L-820" > < a href = "#L-820" > < span class = "linenos" > 820< / span > < / a >
< / span > < span id = "L-821" > < a href = "#L-821" > < span class = "linenos" > 821< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
< / span > < span id = "L-822" > < a href = "#L-822" > < span class = "linenos" > 822< / span > < / a >
< / span > < span id = "L-823" > < a href = "#L-823" > < span class = "linenos" > 823< / span > < / a > < span class = "k" > return< / span > < span class = "n" > _arg_max_or_min_sql< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "Dialects" >
< input id = "Dialects-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr class" >
< span class = "def" > class< / span >
< span class = "name" > Dialects< / span > < wbr > (< span class = "base" > builtins.str< / span > , < span class = "base" > enum.Enum< / span > ):
< label class = "view-source-button" for = "Dialects-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#Dialects" > < / a >
2025-02-13 21:00:44 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "Dialects-21" > < a href = "#Dialects-21" > < span class = "linenos" > 21< / span > < / a > < span class = "k" > class< / span > < span class = "nc" > Dialects< / span > < span class = "p" > (< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "n" > Enum< / span > < span class = "p" > ):< / span >
< / span > < span id = "Dialects-22" > < a href = "#Dialects-22" > < span class = "linenos" > 22< / span > < / a > < span class = "n" > DIALECT< / span > < span class = "o" > =< / span > < span class = "s2" > " " < / span >
< / span > < span id = "Dialects-23" > < a href = "#Dialects-23" > < span class = "linenos" > 23< / span > < / a >
< / span > < span id = "Dialects-24" > < a href = "#Dialects-24" > < span class = "linenos" > 24< / span > < / a > < span class = "n" > BIGQUERY< / span > < span class = "o" > =< / span > < span class = "s2" > " bigquery" < / span >
< / span > < span id = "Dialects-25" > < a href = "#Dialects-25" > < span class = "linenos" > 25< / span > < / a > < span class = "n" > CLICKHOUSE< / span > < span class = "o" > =< / span > < span class = "s2" > " clickhouse" < / span >
< / span > < span id = "Dialects-26" > < a href = "#Dialects-26" > < span class = "linenos" > 26< / span > < / a > < span class = "n" > DATABRICKS< / span > < span class = "o" > =< / span > < span class = "s2" > " databricks" < / span >
< / span > < span id = "Dialects-27" > < a href = "#Dialects-27" > < span class = "linenos" > 27< / span > < / a > < span class = "n" > DRILL< / span > < span class = "o" > =< / span > < span class = "s2" > " drill" < / span >
< / span > < span id = "Dialects-28" > < a href = "#Dialects-28" > < span class = "linenos" > 28< / span > < / a > < span class = "n" > DUCKDB< / span > < span class = "o" > =< / span > < span class = "s2" > " duckdb" < / span >
< / span > < span id = "Dialects-29" > < a href = "#Dialects-29" > < span class = "linenos" > 29< / span > < / a > < span class = "n" > HIVE< / span > < span class = "o" > =< / span > < span class = "s2" > " hive" < / span >
< / span > < span id = "Dialects-30" > < a href = "#Dialects-30" > < span class = "linenos" > 30< / span > < / a > < span class = "n" > MYSQL< / span > < span class = "o" > =< / span > < span class = "s2" > " mysql" < / span >
< / span > < span id = "Dialects-31" > < a href = "#Dialects-31" > < span class = "linenos" > 31< / span > < / a > < span class = "n" > ORACLE< / span > < span class = "o" > =< / span > < span class = "s2" > " oracle" < / span >
< / span > < span id = "Dialects-32" > < a href = "#Dialects-32" > < span class = "linenos" > 32< / span > < / a > < span class = "n" > POSTGRES< / span > < span class = "o" > =< / span > < span class = "s2" > " postgres" < / span >
< / span > < span id = "Dialects-33" > < a href = "#Dialects-33" > < span class = "linenos" > 33< / span > < / a > < span class = "n" > PRESTO< / span > < span class = "o" > =< / span > < span class = "s2" > " presto" < / span >
< / span > < span id = "Dialects-34" > < a href = "#Dialects-34" > < span class = "linenos" > 34< / span > < / a > < span class = "n" > REDSHIFT< / span > < span class = "o" > =< / span > < span class = "s2" > " redshift" < / span >
< / span > < span id = "Dialects-35" > < a href = "#Dialects-35" > < span class = "linenos" > 35< / span > < / a > < span class = "n" > SNOWFLAKE< / span > < span class = "o" > =< / span > < span class = "s2" > " snowflake" < / span >
< / span > < span id = "Dialects-36" > < a href = "#Dialects-36" > < span class = "linenos" > 36< / span > < / a > < span class = "n" > SPARK< / span > < span class = "o" > =< / span > < span class = "s2" > " spark" < / span >
< / span > < span id = "Dialects-37" > < a href = "#Dialects-37" > < span class = "linenos" > 37< / span > < / a > < span class = "n" > SPARK2< / span > < span class = "o" > =< / span > < span class = "s2" > " spark2" < / span >
< / span > < span id = "Dialects-38" > < a href = "#Dialects-38" > < span class = "linenos" > 38< / span > < / a > < span class = "n" > SQLITE< / span > < span class = "o" > =< / span > < span class = "s2" > " sqlite" < / span >
< / span > < span id = "Dialects-39" > < a href = "#Dialects-39" > < span class = "linenos" > 39< / span > < / a > < span class = "n" > STARROCKS< / span > < span class = "o" > =< / span > < span class = "s2" > " starrocks" < / span >
< / span > < span id = "Dialects-40" > < a href = "#Dialects-40" > < span class = "linenos" > 40< / span > < / a > < span class = "n" > TABLEAU< / span > < span class = "o" > =< / span > < span class = "s2" > " tableau" < / span >
< / span > < span id = "Dialects-41" > < a href = "#Dialects-41" > < span class = "linenos" > 41< / span > < / a > < span class = "n" > TERADATA< / span > < span class = "o" > =< / span > < span class = "s2" > " teradata" < / span >
< / span > < span id = "Dialects-42" > < a href = "#Dialects-42" > < span class = "linenos" > 42< / span > < / a > < span class = "n" > TRINO< / span > < span class = "o" > =< / span > < span class = "s2" > " trino" < / span >
< / span > < span id = "Dialects-43" > < a href = "#Dialects-43" > < span class = "linenos" > 43< / span > < / a > < span class = "n" > TSQL< / span > < span class = "o" > =< / span > < span class = "s2" > " tsql" < / span >
< / span > < span id = "Dialects-44" > < a href = "#Dialects-44" > < span class = "linenos" > 44< / span > < / a > < span class = "n" > Doris< / span > < span class = "o" > =< / span > < span class = "s2" > " doris" < / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< div class = "docstring" > < p > An enumeration.< / p >
< / div >
< div id = "Dialects.DIALECT" class = "classattr" >
< div class = "attr variable" >
2025-02-13 15:31:44 +01:00
< span class = "name" > DIALECT< / span > =
< span class = "default_value" > < < a href = "#Dialects.DIALECT" > Dialects.DIALECT< / a > : ' ' > < / span >
2025-02-13 15:22:50 +01:00
< / div >
< a class = "headerlink" href = "#Dialects.DIALECT" > < / a >
< / div >
< div id = "Dialects.BIGQUERY" class = "classattr" >
< div class = "attr variable" >
2025-02-13 15:31:44 +01:00
< span class = "name" > BIGQUERY< / span > =
< span class = "default_value" > < < a href = "#Dialects.BIGQUERY" > Dialects.BIGQUERY< / a > : ' bigquery' > < / span >
2025-02-13 15:22:50 +01:00
< / div >
< a class = "headerlink" href = "#Dialects.BIGQUERY" > < / a >
< / div >
< div id = "Dialects.CLICKHOUSE" class = "classattr" >
< div class = "attr variable" >
2025-02-13 15:31:44 +01:00
< span class = "name" > CLICKHOUSE< / span > =
< span class = "default_value" > < < a href = "#Dialects.CLICKHOUSE" > Dialects.CLICKHOUSE< / a > : ' clickhouse' > < / span >
2025-02-13 15:22:50 +01:00
< / div >
< a class = "headerlink" href = "#Dialects.CLICKHOUSE" > < / a >
2025-02-13 16:00:14 +01:00
< / div >
< div id = "Dialects.DATABRICKS" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > DATABRICKS< / span > =
< span class = "default_value" > < < a href = "#Dialects.DATABRICKS" > Dialects.DATABRICKS< / a > : ' databricks' > < / span >
< / div >
< a class = "headerlink" href = "#Dialects.DATABRICKS" > < / a >
< / div >
< div id = "Dialects.DRILL" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > DRILL< / span > =
< span class = "default_value" > < < a href = "#Dialects.DRILL" > Dialects.DRILL< / a > : ' drill' > < / span >
< / div >
< a class = "headerlink" href = "#Dialects.DRILL" > < / a >
2025-02-13 15:22:50 +01:00
< / div >
< div id = "Dialects.DUCKDB" class = "classattr" >
< div class = "attr variable" >
2025-02-13 15:31:44 +01:00
< span class = "name" > DUCKDB< / span > =
< span class = "default_value" > < < a href = "#Dialects.DUCKDB" > Dialects.DUCKDB< / a > : ' duckdb' > < / span >
2025-02-13 15:22:50 +01:00
< / div >
< a class = "headerlink" href = "#Dialects.DUCKDB" > < / a >
< / div >
< div id = "Dialects.HIVE" class = "classattr" >
< div class = "attr variable" >
2025-02-13 15:31:44 +01:00
< span class = "name" > HIVE< / span > =
< span class = "default_value" > < < a href = "#Dialects.HIVE" > Dialects.HIVE< / a > : ' hive' > < / span >
2025-02-13 15:22:50 +01:00
< / div >
< a class = "headerlink" href = "#Dialects.HIVE" > < / a >
< / div >
< div id = "Dialects.MYSQL" class = "classattr" >
< div class = "attr variable" >
2025-02-13 15:31:44 +01:00
< span class = "name" > MYSQL< / span > =
< span class = "default_value" > < < a href = "#Dialects.MYSQL" > Dialects.MYSQL< / a > : ' mysql' > < / span >
2025-02-13 15:22:50 +01:00
< / div >
< a class = "headerlink" href = "#Dialects.MYSQL" > < / a >
< / div >
< div id = "Dialects.ORACLE" class = "classattr" >
< div class = "attr variable" >
2025-02-13 15:31:44 +01:00
< span class = "name" > ORACLE< / span > =
< span class = "default_value" > < < a href = "#Dialects.ORACLE" > Dialects.ORACLE< / a > : ' oracle' > < / span >
2025-02-13 15:22:50 +01:00
< / div >
< a class = "headerlink" href = "#Dialects.ORACLE" > < / a >
< / div >
< div id = "Dialects.POSTGRES" class = "classattr" >
< div class = "attr variable" >
2025-02-13 15:31:44 +01:00
< span class = "name" > POSTGRES< / span > =
< span class = "default_value" > < < a href = "#Dialects.POSTGRES" > Dialects.POSTGRES< / a > : ' postgres' > < / span >
2025-02-13 15:22:50 +01:00
< / div >
< a class = "headerlink" href = "#Dialects.POSTGRES" > < / a >
< / div >
< div id = "Dialects.PRESTO" class = "classattr" >
< div class = "attr variable" >
2025-02-13 15:31:44 +01:00
< span class = "name" > PRESTO< / span > =
< span class = "default_value" > < < a href = "#Dialects.PRESTO" > Dialects.PRESTO< / a > : ' presto' > < / span >
2025-02-13 15:22:50 +01:00
< / div >
< a class = "headerlink" href = "#Dialects.PRESTO" > < / a >
< / div >
< div id = "Dialects.REDSHIFT" class = "classattr" >
< div class = "attr variable" >
2025-02-13 15:31:44 +01:00
< span class = "name" > REDSHIFT< / span > =
< span class = "default_value" > < < a href = "#Dialects.REDSHIFT" > Dialects.REDSHIFT< / a > : ' redshift' > < / span >
2025-02-13 15:22:50 +01:00
< / div >
< a class = "headerlink" href = "#Dialects.REDSHIFT" > < / a >
< / div >
< div id = "Dialects.SNOWFLAKE" class = "classattr" >
< div class = "attr variable" >
2025-02-13 15:31:44 +01:00
< span class = "name" > SNOWFLAKE< / span > =
< span class = "default_value" > < < a href = "#Dialects.SNOWFLAKE" > Dialects.SNOWFLAKE< / a > : ' snowflake' > < / span >
2025-02-13 15:22:50 +01:00
< / div >
< a class = "headerlink" href = "#Dialects.SNOWFLAKE" > < / a >
< / div >
< div id = "Dialects.SPARK" class = "classattr" >
< div class = "attr variable" >
2025-02-13 15:31:44 +01:00
< span class = "name" > SPARK< / span > =
< span class = "default_value" > < < a href = "#Dialects.SPARK" > Dialects.SPARK< / a > : ' spark' > < / span >
2025-02-13 15:22:50 +01:00
< / div >
< a class = "headerlink" href = "#Dialects.SPARK" > < / a >
2025-02-13 15:52:54 +01:00
< / div >
< div id = "Dialects.SPARK2" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > SPARK2< / span > =
< span class = "default_value" > < < a href = "#Dialects.SPARK2" > Dialects.SPARK2< / a > : ' spark2' > < / span >
< / div >
< a class = "headerlink" href = "#Dialects.SPARK2" > < / a >
2025-02-13 15:22:50 +01:00
< / div >
< div id = "Dialects.SQLITE" class = "classattr" >
< div class = "attr variable" >
2025-02-13 15:31:44 +01:00
< span class = "name" > SQLITE< / span > =
< span class = "default_value" > < < a href = "#Dialects.SQLITE" > Dialects.SQLITE< / a > : ' sqlite' > < / span >
2025-02-13 15:22:50 +01:00
< / div >
< a class = "headerlink" href = "#Dialects.SQLITE" > < / a >
< / div >
< div id = "Dialects.STARROCKS" class = "classattr" >
< div class = "attr variable" >
2025-02-13 15:31:44 +01:00
< span class = "name" > STARROCKS< / span > =
< span class = "default_value" > < < a href = "#Dialects.STARROCKS" > Dialects.STARROCKS< / a > : ' starrocks' > < / span >
2025-02-13 15:22:50 +01:00
< / div >
< a class = "headerlink" href = "#Dialects.STARROCKS" > < / a >
< / div >
< div id = "Dialects.TABLEAU" class = "classattr" >
< div class = "attr variable" >
2025-02-13 15:31:44 +01:00
< span class = "name" > TABLEAU< / span > =
< span class = "default_value" > < < a href = "#Dialects.TABLEAU" > Dialects.TABLEAU< / a > : ' tableau' > < / span >
2025-02-13 15:22:50 +01:00
< / div >
< a class = "headerlink" href = "#Dialects.TABLEAU" > < / a >
< / div >
2025-02-13 16:00:14 +01:00
< div id = "Dialects.TERADATA" class = "classattr" >
2025-02-13 15:22:50 +01:00
< div class = "attr variable" >
2025-02-13 16:00:14 +01:00
< span class = "name" > TERADATA< / span > =
< span class = "default_value" > < < a href = "#Dialects.TERADATA" > Dialects.TERADATA< / a > : ' teradata' > < / span >
2025-02-13 15:22:50 +01:00
< / div >
2025-02-13 16:00:14 +01:00
< a class = "headerlink" href = "#Dialects.TERADATA" > < / a >
2025-02-13 15:22:50 +01:00
< / div >
2025-02-13 16:00:14 +01:00
< div id = "Dialects.TRINO" class = "classattr" >
2025-02-13 15:22:50 +01:00
< div class = "attr variable" >
2025-02-13 16:00:14 +01:00
< span class = "name" > TRINO< / span > =
< span class = "default_value" > < < a href = "#Dialects.TRINO" > Dialects.TRINO< / a > : ' trino' > < / span >
2025-02-13 15:22:50 +01:00
< / div >
2025-02-13 16:00:14 +01:00
< a class = "headerlink" href = "#Dialects.TRINO" > < / a >
2025-02-13 15:22:50 +01:00
< / div >
2025-02-13 16:00:14 +01:00
< div id = "Dialects.TSQL" class = "classattr" >
2025-02-13 15:22:50 +01:00
< div class = "attr variable" >
2025-02-13 16:00:14 +01:00
< span class = "name" > TSQL< / span > =
< span class = "default_value" > < < a href = "#Dialects.TSQL" > Dialects.TSQL< / a > : ' tsql' > < / span >
2025-02-13 15:22:50 +01:00
< / div >
2025-02-13 16:00:14 +01:00
< a class = "headerlink" href = "#Dialects.TSQL" > < / a >
2025-02-13 15:22:50 +01:00
2025-02-13 20:56:33 +01:00
< / div >
< div id = "Dialects.Doris" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > Doris< / span > =
< span class = "default_value" > < < a href = "#Dialects.Doris" > Dialects.Doris< / a > : ' doris' > < / span >
< / div >
< a class = "headerlink" href = "#Dialects.Doris" > < / a >
2025-02-13 15:22:50 +01:00
< / div >
< div class = "inherited" >
< h5 > Inherited Members< / h5 >
< dl >
< div > < dt > enum.Enum< / dt >
< dd id = "Dialects.name" class = "variable" > name< / dd >
< dd id = "Dialects.value" class = "variable" > value< / dd >
< / div >
< div > < dt > builtins.str< / dt >
< dd id = "Dialects.encode" class = "function" > encode< / dd >
< dd id = "Dialects.replace" class = "function" > replace< / dd >
< dd id = "Dialects.split" class = "function" > split< / dd >
< dd id = "Dialects.rsplit" class = "function" > rsplit< / dd >
< dd id = "Dialects.join" class = "function" > join< / dd >
< dd id = "Dialects.capitalize" class = "function" > capitalize< / dd >
< dd id = "Dialects.casefold" class = "function" > casefold< / dd >
< dd id = "Dialects.title" class = "function" > title< / dd >
< dd id = "Dialects.center" class = "function" > center< / dd >
< dd id = "Dialects.count" class = "function" > count< / dd >
< dd id = "Dialects.expandtabs" class = "function" > expandtabs< / dd >
< dd id = "Dialects.find" class = "function" > find< / dd >
< dd id = "Dialects.partition" class = "function" > partition< / dd >
< dd id = "Dialects.index" class = "function" > index< / dd >
< dd id = "Dialects.ljust" class = "function" > ljust< / dd >
< dd id = "Dialects.lower" class = "function" > lower< / dd >
< dd id = "Dialects.lstrip" class = "function" > lstrip< / dd >
< dd id = "Dialects.rfind" class = "function" > rfind< / dd >
< dd id = "Dialects.rindex" class = "function" > rindex< / dd >
< dd id = "Dialects.rjust" class = "function" > rjust< / dd >
< dd id = "Dialects.rstrip" class = "function" > rstrip< / dd >
< dd id = "Dialects.rpartition" class = "function" > rpartition< / dd >
< dd id = "Dialects.splitlines" class = "function" > splitlines< / dd >
< dd id = "Dialects.strip" class = "function" > strip< / dd >
< dd id = "Dialects.swapcase" class = "function" > swapcase< / dd >
< dd id = "Dialects.translate" class = "function" > translate< / dd >
< dd id = "Dialects.upper" class = "function" > upper< / dd >
< dd id = "Dialects.startswith" class = "function" > startswith< / dd >
< dd id = "Dialects.endswith" class = "function" > endswith< / dd >
< dd id = "Dialects.removeprefix" class = "function" > removeprefix< / dd >
< dd id = "Dialects.removesuffix" class = "function" > removesuffix< / dd >
< dd id = "Dialects.isascii" class = "function" > isascii< / dd >
< dd id = "Dialects.islower" class = "function" > islower< / dd >
< dd id = "Dialects.isupper" class = "function" > isupper< / dd >
< dd id = "Dialects.istitle" class = "function" > istitle< / dd >
< dd id = "Dialects.isspace" class = "function" > isspace< / dd >
< dd id = "Dialects.isdecimal" class = "function" > isdecimal< / dd >
< dd id = "Dialects.isdigit" class = "function" > isdigit< / dd >
< dd id = "Dialects.isnumeric" class = "function" > isnumeric< / dd >
< dd id = "Dialects.isalpha" class = "function" > isalpha< / dd >
< dd id = "Dialects.isalnum" class = "function" > isalnum< / dd >
< dd id = "Dialects.isidentifier" class = "function" > isidentifier< / dd >
< dd id = "Dialects.isprintable" class = "function" > isprintable< / dd >
< dd id = "Dialects.zfill" class = "function" > zfill< / dd >
< dd id = "Dialects.format" class = "function" > format< / dd >
< dd id = "Dialects.format_map" class = "function" > format_map< / dd >
< dd id = "Dialects.maketrans" class = "function" > maketrans< / dd >
< / div >
< / dl >
< / div >
< / section >
< section id = "Dialect" >
< input id = "Dialect-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr class" >
< span class = "def" > class< / span >
< span class = "name" > Dialect< / span > :
< label class = "view-source-button" for = "Dialect-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#Dialect" > < / a >
2025-02-13 21:04:14 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "Dialect-142" > < a href = "#Dialect-142" > < span class = "linenos" > 142< / span > < / a > < span class = "k" > class< / span > < span class = "nc" > Dialect< / span > < span class = "p" > (< / span > < span class = "n" > metaclass< / span > < span class = "o" > =< / span > < span class = "n" > _Dialect< / span > < span class = "p" > ):< / span >
< / span > < span id = "Dialect-143" > < a href = "#Dialect-143" > < span class = "linenos" > 143< / span > < / a > < span class = "c1" > # Determines the base index offset for arrays< / span >
< / span > < span id = "Dialect-144" > < a href = "#Dialect-144" > < span class = "linenos" > 144< / span > < / a > < span class = "n" > INDEX_OFFSET< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span >
< / span > < span id = "Dialect-145" > < a href = "#Dialect-145" > < span class = "linenos" > 145< / span > < / a >
< / span > < span id = "Dialect-146" > < a href = "#Dialect-146" > < span class = "linenos" > 146< / span > < / a > < span class = "c1" > # If true unnest table aliases are considered only as column aliases< / span >
< / span > < span id = "Dialect-147" > < a href = "#Dialect-147" > < span class = "linenos" > 147< / span > < / a > < span class = "n" > UNNEST_COLUMN_ONLY< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span >
< / span > < span id = "Dialect-148" > < a href = "#Dialect-148" > < span class = "linenos" > 148< / span > < / a >
< / span > < span id = "Dialect-149" > < a href = "#Dialect-149" > < span class = "linenos" > 149< / span > < / a > < span class = "c1" > # Determines whether or not the table alias comes after tablesample< / span >
< / span > < span id = "Dialect-150" > < a href = "#Dialect-150" > < span class = "linenos" > 150< / span > < / a > < span class = "n" > ALIAS_POST_TABLESAMPLE< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span >
< / span > < span id = "Dialect-151" > < a href = "#Dialect-151" > < span class = "linenos" > 151< / span > < / a >
< / span > < span id = "Dialect-152" > < a href = "#Dialect-152" > < span class = "linenos" > 152< / span > < / a > < span class = "c1" > # Determines whether or not unquoted identifiers are resolved as uppercase< / span >
< / span > < span id = "Dialect-153" > < a href = "#Dialect-153" > < span class = "linenos" > 153< / span > < / a > < span class = "c1" > # When set to None, it means that the dialect treats all identifiers as case-insensitive< / span >
< / span > < span id = "Dialect-154" > < a href = "#Dialect-154" > < span class = "linenos" > 154< / span > < / a > < span class = "n" > RESOLVES_IDENTIFIERS_AS_UPPERCASE< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "nb" > bool< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span >
< / span > < span id = "Dialect-155" > < a href = "#Dialect-155" > < span class = "linenos" > 155< / span > < / a >
< / span > < span id = "Dialect-156" > < a href = "#Dialect-156" > < span class = "linenos" > 156< / span > < / a > < span class = "c1" > # Determines whether or not an unquoted identifier can start with a digit< / span >
< / span > < span id = "Dialect-157" > < a href = "#Dialect-157" > < span class = "linenos" > 157< / span > < / a > < span class = "n" > IDENTIFIERS_CAN_START_WITH_DIGIT< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span >
< / span > < span id = "Dialect-158" > < a href = "#Dialect-158" > < span class = "linenos" > 158< / span > < / a >
< / span > < span id = "Dialect-159" > < a href = "#Dialect-159" > < span class = "linenos" > 159< / span > < / a > < span class = "c1" > # Determines whether or not the DPIPE token (' ||' ) is a string concatenation operator< / span >
< / span > < span id = "Dialect-160" > < a href = "#Dialect-160" > < span class = "linenos" > 160< / span > < / a > < span class = "n" > DPIPE_IS_STRING_CONCAT< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span >
< / span > < span id = "Dialect-161" > < a href = "#Dialect-161" > < span class = "linenos" > 161< / span > < / a >
< / span > < span id = "Dialect-162" > < a href = "#Dialect-162" > < span class = "linenos" > 162< / span > < / a > < span class = "c1" > # Determines whether or not CONCAT' s arguments must be strings< / span >
< / span > < span id = "Dialect-163" > < a href = "#Dialect-163" > < span class = "linenos" > 163< / span > < / a > < span class = "n" > STRICT_STRING_CONCAT< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span >
< / span > < span id = "Dialect-164" > < a href = "#Dialect-164" > < span class = "linenos" > 164< / span > < / a >
< / span > < span id = "Dialect-165" > < a href = "#Dialect-165" > < span class = "linenos" > 165< / span > < / a > < span class = "c1" > # Determines whether or not user-defined data types are supported< / span >
< / span > < span id = "Dialect-166" > < a href = "#Dialect-166" > < span class = "linenos" > 166< / span > < / a > < span class = "n" > SUPPORTS_USER_DEFINED_TYPES< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span >
< / span > < span id = "Dialect-167" > < a href = "#Dialect-167" > < span class = "linenos" > 167< / span > < / a >
< / span > < span id = "Dialect-168" > < a href = "#Dialect-168" > < span class = "linenos" > 168< / span > < / a > < span class = "c1" > # Determines whether or not SEMI/ANTI JOINs are supported< / span >
< / span > < span id = "Dialect-169" > < a href = "#Dialect-169" > < span class = "linenos" > 169< / span > < / a > < span class = "n" > SUPPORTS_SEMI_ANTI_JOIN< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span >
< / span > < span id = "Dialect-170" > < a href = "#Dialect-170" > < span class = "linenos" > 170< / span > < / a >
< / span > < span id = "Dialect-171" > < a href = "#Dialect-171" > < span class = "linenos" > 171< / span > < / a > < span class = "c1" > # Determines how function names are going to be normalized< / span >
< / span > < span id = "Dialect-172" > < a href = "#Dialect-172" > < span class = "linenos" > 172< / span > < / a > < span class = "n" > NORMALIZE_FUNCTIONS< / span > < span class = "p" > :< / span > < span class = "nb" > bool< / span > < span class = "o" > |< / span > < span class = "nb" > str< / span > < span class = "o" > =< / span > < span class = "s2" > " upper" < / span >
< / span > < span id = "Dialect-173" > < a href = "#Dialect-173" > < span class = "linenos" > 173< / span > < / a >
< / span > < span id = "Dialect-174" > < a href = "#Dialect-174" > < span class = "linenos" > 174< / span > < / a > < span class = "c1" > # Determines whether the base comes first in the LOG function< / span >
< / span > < span id = "Dialect-175" > < a href = "#Dialect-175" > < span class = "linenos" > 175< / span > < / a > < span class = "n" > LOG_BASE_FIRST< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span >
< / span > < span id = "Dialect-176" > < a href = "#Dialect-176" > < span class = "linenos" > 176< / span > < / a >
< / span > < span id = "Dialect-177" > < a href = "#Dialect-177" > < span class = "linenos" > 177< / span > < / a > < span class = "c1" > # Indicates the default null ordering method to use if not explicitly set< / span >
< / span > < span id = "Dialect-178" > < a href = "#Dialect-178" > < span class = "linenos" > 178< / span > < / a > < span class = "c1" > # Options are: " nulls_are_small" , " nulls_are_large" , " nulls_are_last" < / span >
< / span > < span id = "Dialect-179" > < a href = "#Dialect-179" > < span class = "linenos" > 179< / span > < / a > < span class = "n" > NULL_ORDERING< / span > < span class = "o" > =< / span > < span class = "s2" > " nulls_are_small" < / span >
< / span > < span id = "Dialect-180" > < a href = "#Dialect-180" > < span class = "linenos" > 180< / span > < / a >
< / span > < span id = "Dialect-181" > < a href = "#Dialect-181" > < span class = "linenos" > 181< / span > < / a > < span class = "n" > DATE_FORMAT< / span > < span class = "o" > =< / span > < span class = "s2" > " ' %Y-%m-< / span > < span class = "si" > %d< / span > < span class = "s2" > ' " < / span >
< / span > < span id = "Dialect-182" > < a href = "#Dialect-182" > < span class = "linenos" > 182< / span > < / a > < span class = "n" > DATEINT_FORMAT< / span > < span class = "o" > =< / span > < span class = "s2" > " ' %Y%m< / span > < span class = "si" > %d< / span > < span class = "s2" > ' " < / span >
< / span > < span id = "Dialect-183" > < a href = "#Dialect-183" > < span class = "linenos" > 183< / span > < / a > < span class = "n" > TIME_FORMAT< / span > < span class = "o" > =< / span > < span class = "s2" > " ' %Y-%m-< / span > < span class = "si" > %d< / span > < span class = "s2" > %H:%M:%S' " < / span >
< / span > < span id = "Dialect-184" > < a href = "#Dialect-184" > < span class = "linenos" > 184< / span > < / a >
< / span > < span id = "Dialect-185" > < a href = "#Dialect-185" > < span class = "linenos" > 185< / span > < / a > < span class = "c1" > # Custom time mappings in which the key represents dialect time format< / span >
< / span > < span id = "Dialect-186" > < a href = "#Dialect-186" > < span class = "linenos" > 186< / span > < / a > < span class = "c1" > # and the value represents a python time format< / span >
< / span > < span id = "Dialect-187" > < a href = "#Dialect-187" > < span class = "linenos" > 187< / span > < / a > < span class = "n" > TIME_MAPPING< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Dict< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "nb" > str< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "p" > {}< / span >
2025-02-13 21:02:03 +01:00
< / span > < span id = "Dialect-188" > < a href = "#Dialect-188" > < span class = "linenos" > 188< / span > < / a >
2025-02-13 21:04:14 +01:00
< / span > < span id = "Dialect-189" > < a href = "#Dialect-189" > < span class = "linenos" > 189< / span > < / a > < span class = "c1" > # https://cloud.google.com/bigquery/docs/reference/standard-sql/format-elements#format_model_rules_date_time< / span >
< / span > < span id = "Dialect-190" > < a href = "#Dialect-190" > < span class = "linenos" > 190< / span > < / a > < span class = "c1" > # https://docs.teradata.com/r/Teradata-Database-SQL-Functions-Operators-Expressions-and-Predicates/March-2017/Data-Type-Conversions/Character-to-DATE-Conversion/Forcing-a-FORMAT-on-CAST-for-Converting-Character-to-DATE< / span >
< / span > < span id = "Dialect-191" > < a href = "#Dialect-191" > < span class = "linenos" > 191< / span > < / a > < span class = "c1" > # special syntax cast(x as date format ' yyyy' ) defaults to time_mapping< / span >
< / span > < span id = "Dialect-192" > < a href = "#Dialect-192" > < span class = "linenos" > 192< / span > < / a > < span class = "n" > FORMAT_MAPPING< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Dict< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "nb" > str< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "p" > {}< / span >
< / span > < span id = "Dialect-193" > < a href = "#Dialect-193" > < span class = "linenos" > 193< / span > < / a >
< / span > < span id = "Dialect-194" > < a href = "#Dialect-194" > < span class = "linenos" > 194< / span > < / a > < span class = "c1" > # Mapping of an unescaped escape sequence to the corresponding character< / span >
< / span > < span id = "Dialect-195" > < a href = "#Dialect-195" > < span class = "linenos" > 195< / span > < / a > < span class = "n" > ESCAPE_SEQUENCES< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Dict< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "nb" > str< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "p" > {}< / span >
< / span > < span id = "Dialect-196" > < a href = "#Dialect-196" > < span class = "linenos" > 196< / span > < / a >
< / span > < span id = "Dialect-197" > < a href = "#Dialect-197" > < span class = "linenos" > 197< / span > < / a > < span class = "c1" > # Columns that are auto-generated by the engine corresponding to this dialect< / span >
< / span > < span id = "Dialect-198" > < a href = "#Dialect-198" > < span class = "linenos" > 198< / span > < / a > < span class = "c1" > # Such columns may be excluded from SELECT * queries, for example< / span >
< / span > < span id = "Dialect-199" > < a href = "#Dialect-199" > < span class = "linenos" > 199< / span > < / a > < span class = "n" > PSEUDOCOLUMNS< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Set< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "nb" > set< / span > < span class = "p" > ()< / span >
< / span > < span id = "Dialect-200" > < a href = "#Dialect-200" > < span class = "linenos" > 200< / span > < / a >
< / span > < span id = "Dialect-201" > < a href = "#Dialect-201" > < span class = "linenos" > 201< / span > < / a > < span class = "c1" > # Autofilled< / span >
< / span > < span id = "Dialect-202" > < a href = "#Dialect-202" > < span class = "linenos" > 202< / span > < / a > < span class = "n" > tokenizer_class< / span > < span class = "o" > =< / span > < span class = "n" > Tokenizer< / span >
< / span > < span id = "Dialect-203" > < a href = "#Dialect-203" > < span class = "linenos" > 203< / span > < / a > < span class = "n" > parser_class< / span > < span class = "o" > =< / span > < span class = "n" > Parser< / span >
< / span > < span id = "Dialect-204" > < a href = "#Dialect-204" > < span class = "linenos" > 204< / span > < / a > < span class = "n" > generator_class< / span > < span class = "o" > =< / span > < span class = "n" > Generator< / span >
< / span > < span id = "Dialect-205" > < a href = "#Dialect-205" > < span class = "linenos" > 205< / span > < / a >
< / span > < span id = "Dialect-206" > < a href = "#Dialect-206" > < span class = "linenos" > 206< / span > < / a > < span class = "c1" > # A trie of the time_mapping keys< / span >
< / span > < span id = "Dialect-207" > < a href = "#Dialect-207" > < span class = "linenos" > 207< / span > < / a > < span class = "n" > TIME_TRIE< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Dict< / span > < span class = "o" > =< / span > < span class = "p" > {}< / span >
< / span > < span id = "Dialect-208" > < a href = "#Dialect-208" > < span class = "linenos" > 208< / span > < / a > < span class = "n" > FORMAT_TRIE< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Dict< / span > < span class = "o" > =< / span > < span class = "p" > {}< / span >
< / span > < span id = "Dialect-209" > < a href = "#Dialect-209" > < span class = "linenos" > 209< / span > < / a >
< / span > < span id = "Dialect-210" > < a href = "#Dialect-210" > < span class = "linenos" > 210< / span > < / a > < span class = "n" > INVERSE_TIME_MAPPING< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Dict< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "nb" > str< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "p" > {}< / span >
< / span > < span id = "Dialect-211" > < a href = "#Dialect-211" > < span class = "linenos" > 211< / span > < / a > < span class = "n" > INVERSE_TIME_TRIE< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Dict< / span > < span class = "o" > =< / span > < span class = "p" > {}< / span >
< / span > < span id = "Dialect-212" > < a href = "#Dialect-212" > < span class = "linenos" > 212< / span > < / a >
< / span > < span id = "Dialect-213" > < a href = "#Dialect-213" > < span class = "linenos" > 213< / span > < / a > < span class = "n" > INVERSE_ESCAPE_SEQUENCES< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Dict< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "nb" > str< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "p" > {}< / span >
< / span > < span id = "Dialect-214" > < a href = "#Dialect-214" > < span class = "linenos" > 214< / span > < / a >
< / span > < span id = "Dialect-215" > < a href = "#Dialect-215" > < span class = "linenos" > 215< / span > < / a > < span class = "k" > def< / span > < span class = "fm" > __eq__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > other< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Any< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > bool< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect-216" > < a href = "#Dialect-216" > < span class = "linenos" > 216< / span > < / a > < span class = "k" > return< / span > < span class = "nb" > type< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "n" > other< / span >
< / span > < span id = "Dialect-217" > < a href = "#Dialect-217" > < span class = "linenos" > 217< / span > < / a >
< / span > < span id = "Dialect-218" > < a href = "#Dialect-218" > < span class = "linenos" > 218< / span > < / a > < span class = "k" > def< / span > < span class = "fm" > __hash__< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > int< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect-219" > < a href = "#Dialect-219" > < span class = "linenos" > 219< / span > < / a > < span class = "k" > return< / span > < span class = "nb" > hash< / span > < span class = "p" > (< / span > < span class = "nb" > type< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ))< / span >
< / span > < span id = "Dialect-220" > < a href = "#Dialect-220" > < span class = "linenos" > 220< / span > < / a >
< / span > < span id = "Dialect-221" > < a href = "#Dialect-221" > < span class = "linenos" > 221< / span > < / a > < span class = "nd" > @classmethod< / span >
< / span > < span id = "Dialect-222" > < a href = "#Dialect-222" > < span class = "linenos" > 222< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > get_or_raise< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > dialect< / span > < span class = "p" > :< / span > < span class = "n" > DialectType< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "n" > Dialect< / span > < span class = "p" > ]:< / span >
< / span > < span id = "Dialect-223" > < a href = "#Dialect-223" > < span class = "linenos" > 223< / span > < / a > < span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > dialect< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect-224" > < a href = "#Dialect-224" > < span class = "linenos" > 224< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > cls< / span >
< / span > < span id = "Dialect-225" > < a href = "#Dialect-225" > < span class = "linenos" > 225< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > dialect< / span > < span class = "p" > ,< / span > < span class = "n" > _Dialect< / span > < span class = "p" > ):< / span >
< / span > < span id = "Dialect-226" > < a href = "#Dialect-226" > < span class = "linenos" > 226< / span > < / a > < span class = "k" > return< / span > < span class = "n" > dialect< / span >
< / span > < span id = "Dialect-227" > < a href = "#Dialect-227" > < span class = "linenos" > 227< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > dialect< / span > < span class = "p" > ,< / span > < span class = "n" > Dialect< / span > < span class = "p" > ):< / span >
< / span > < span id = "Dialect-228" > < a href = "#Dialect-228" > < span class = "linenos" > 228< / span > < / a > < span class = "k" > return< / span > < span class = "n" > dialect< / span > < span class = "o" > .< / span > < span class = "vm" > __class__< / span >
< / span > < span id = "Dialect-229" > < a href = "#Dialect-229" > < span class = "linenos" > 229< / span > < / a >
< / span > < span id = "Dialect-230" > < a href = "#Dialect-230" > < span class = "linenos" > 230< / span > < / a > < span class = "n" > result< / span > < span class = "o" > =< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "n" > dialect< / span > < span class = "p" > )< / span >
< / span > < span id = "Dialect-231" > < a href = "#Dialect-231" > < span class = "linenos" > 231< / span > < / a > < span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > result< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect-232" > < a href = "#Dialect-232" > < span class = "linenos" > 232< / span > < / a > < span class = "k" > raise< / span > < span class = "ne" > ValueError< / span > < span class = "p" > (< / span > < span class = "sa" > f< / span > < span class = "s2" > " Unknown dialect ' < / span > < span class = "si" > {< / span > < span class = "n" > dialect< / span > < span class = "si" > }< / span > < span class = "s2" > ' " < / span > < span class = "p" > )< / span >
< / span > < span id = "Dialect-233" > < a href = "#Dialect-233" > < span class = "linenos" > 233< / span > < / a >
< / span > < span id = "Dialect-234" > < a href = "#Dialect-234" > < span class = "linenos" > 234< / span > < / a > < span class = "k" > return< / span > < span class = "n" > result< / span >
2025-02-13 21:03:05 +01:00
< / span > < span id = "Dialect-235" > < a href = "#Dialect-235" > < span class = "linenos" > 235< / span > < / a >
2025-02-13 21:04:14 +01:00
< / span > < span id = "Dialect-236" > < a href = "#Dialect-236" > < span class = "linenos" > 236< / span > < / a > < span class = "nd" > @classmethod< / span >
< / span > < span id = "Dialect-237" > < a href = "#Dialect-237" > < span class = "linenos" > 237< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > format_time< / span > < span class = "p" > (< / span >
< / span > < span id = "Dialect-238" > < a href = "#Dialect-238" > < span class = "linenos" > 238< / span > < / a > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ]< / span >
< / span > < span id = "Dialect-239" > < a href = "#Dialect-239" > < span class = "linenos" > 239< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ]:< / span >
< / span > < span id = "Dialect-240" > < a href = "#Dialect-240" > < span class = "linenos" > 240< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "nb" > str< / span > < span class = "p" > ):< / span >
< / span > < span id = "Dialect-241" > < a href = "#Dialect-241" > < span class = "linenos" > 241< / span > < / a > < span class = "k" > return< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Literal< / span > < span class = "o" > .< / span > < span class = "n" > string< / span > < span class = "p" > (< / span >
< / span > < span id = "Dialect-242" > < a href = "#Dialect-242" > < span class = "linenos" > 242< / span > < / a > < span class = "c1" > # the time formats are quoted< / span >
< / span > < span id = "Dialect-243" > < a href = "#Dialect-243" > < span class = "linenos" > 243< / span > < / a > < span class = "n" > format_time< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > :< / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span > < span class = "p" > ],< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > TIME_MAPPING< / span > < span class = "p" > ,< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > TIME_TRIE< / span > < span class = "p" > )< / span >
< / span > < span id = "Dialect-244" > < a href = "#Dialect-244" > < span class = "linenos" > 244< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "Dialect-245" > < a href = "#Dialect-245" > < span class = "linenos" > 245< / span > < / a >
< / span > < span id = "Dialect-246" > < a href = "#Dialect-246" > < span class = "linenos" > 246< / span > < / a > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "ow" > and< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > is_string< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect-247" > < a href = "#Dialect-247" > < span class = "linenos" > 247< / span > < / a > < span class = "k" > return< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Literal< / span > < span class = "o" > .< / span > < span class = "n" > string< / span > < span class = "p" > (< / span > < span class = "n" > format_time< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > TIME_MAPPING< / span > < span class = "p" > ,< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > TIME_TRIE< / span > < span class = "p" > ))< / span >
< / span > < span id = "Dialect-248" > < a href = "#Dialect-248" > < span class = "linenos" > 248< / span > < / a >
< / span > < span id = "Dialect-249" > < a href = "#Dialect-249" > < span class = "linenos" > 249< / span > < / a > < span class = "k" > return< / span > < span class = "n" > expression< / span >
< / span > < span id = "Dialect-250" > < a href = "#Dialect-250" > < span class = "linenos" > 250< / span > < / a >
< / span > < span id = "Dialect-251" > < a href = "#Dialect-251" > < span class = "linenos" > 251< / span > < / a > < span class = "nd" > @classmethod< / span >
< / span > < span id = "Dialect-252" > < a href = "#Dialect-252" > < span class = "linenos" > 252< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > normalize_identifier< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > E< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > E< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect-253" > < a href = "#Dialect-253" > < span class = "linenos" > 253< / span > < / a > < span class = "w" > < / span > < span class = "sd" > " " " < / span >
< / span > < span id = "Dialect-254" > < a href = "#Dialect-254" > < span class = "linenos" > 254< / span > < / a > < span class = "sd" > Normalizes an unquoted identifier to either lower or upper case, thus essentially< / span >
< / span > < span id = "Dialect-255" > < a href = "#Dialect-255" > < span class = "linenos" > 255< / span > < / a > < span class = "sd" > making it case-insensitive. If a dialect treats all identifiers as case-insensitive,< / span >
< / span > < span id = "Dialect-256" > < a href = "#Dialect-256" > < span class = "linenos" > 256< / span > < / a > < span class = "sd" > they will be normalized to lowercase regardless of being quoted or not.< / span >
< / span > < span id = "Dialect-257" > < a href = "#Dialect-257" > < span class = "linenos" > 257< / span > < / a > < span class = "sd" > " " " < / span >
< / span > < span id = "Dialect-258" > < a href = "#Dialect-258" > < span class = "linenos" > 258< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Identifier< / span > < span class = "p" > )< / span > < span class = "ow" > and< / span > < span class = "p" > (< / span >
< / span > < span id = "Dialect-259" > < a href = "#Dialect-259" > < span class = "linenos" > 259< / span > < / a > < span class = "ow" > not< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > quoted< / span > < span class = "ow" > or< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > RESOLVES_IDENTIFIERS_AS_UPPERCASE< / span > < span class = "ow" > is< / span > < span class = "kc" > None< / span >
< / span > < span id = "Dialect-260" > < a href = "#Dialect-260" > < span class = "linenos" > 260< / span > < / a > < span class = "p" > ):< / span >
< / span > < span id = "Dialect-261" > < a href = "#Dialect-261" > < span class = "linenos" > 261< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > set< / span > < span class = "p" > (< / span >
< / span > < span id = "Dialect-262" > < a href = "#Dialect-262" > < span class = "linenos" > 262< / span > < / a > < span class = "s2" > " this" < / span > < span class = "p" > ,< / span >
< / span > < span id = "Dialect-263" > < a href = "#Dialect-263" > < span class = "linenos" > 263< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > upper< / span > < span class = "p" > ()< / span >
< / span > < span id = "Dialect-264" > < a href = "#Dialect-264" > < span class = "linenos" > 264< / span > < / a > < span class = "k" > if< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > RESOLVES_IDENTIFIERS_AS_UPPERCASE< / span >
< / span > < span id = "Dialect-265" > < a href = "#Dialect-265" > < span class = "linenos" > 265< / span > < / a > < span class = "k" > else< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > lower< / span > < span class = "p" > (),< / span >
< / span > < span id = "Dialect-266" > < a href = "#Dialect-266" > < span class = "linenos" > 266< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "Dialect-267" > < a href = "#Dialect-267" > < span class = "linenos" > 267< / span > < / a >
< / span > < span id = "Dialect-268" > < a href = "#Dialect-268" > < span class = "linenos" > 268< / span > < / a > < span class = "k" > return< / span > < span class = "n" > expression< / span >
< / span > < span id = "Dialect-269" > < a href = "#Dialect-269" > < span class = "linenos" > 269< / span > < / a >
< / span > < span id = "Dialect-270" > < a href = "#Dialect-270" > < span class = "linenos" > 270< / span > < / a > < span class = "nd" > @classmethod< / span >
< / span > < span id = "Dialect-271" > < a href = "#Dialect-271" > < span class = "linenos" > 271< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > case_sensitive< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > text< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > bool< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect-272" > < a href = "#Dialect-272" > < span class = "linenos" > 272< / span > < / a > < span class = "w" > < / span > < span class = "sd" > " " " Checks if text contains any case sensitive characters, based on the dialect' s rules." " " < / span >
< / span > < span id = "Dialect-273" > < a href = "#Dialect-273" > < span class = "linenos" > 273< / span > < / a > < span class = "k" > if< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > RESOLVES_IDENTIFIERS_AS_UPPERCASE< / span > < span class = "ow" > is< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect-274" > < a href = "#Dialect-274" > < span class = "linenos" > 274< / span > < / a > < span class = "k" > return< / span > < span class = "kc" > False< / span >
< / span > < span id = "Dialect-275" > < a href = "#Dialect-275" > < span class = "linenos" > 275< / span > < / a >
< / span > < span id = "Dialect-276" > < a href = "#Dialect-276" > < span class = "linenos" > 276< / span > < / a > < span class = "n" > unsafe< / span > < span class = "o" > =< / span > < span class = "nb" > str< / span > < span class = "o" > .< / span > < span class = "n" > islower< / span > < span class = "k" > if< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > RESOLVES_IDENTIFIERS_AS_UPPERCASE< / span > < span class = "k" > else< / span > < span class = "nb" > str< / span > < span class = "o" > .< / span > < span class = "n" > isupper< / span >
< / span > < span id = "Dialect-277" > < a href = "#Dialect-277" > < span class = "linenos" > 277< / span > < / a > < span class = "k" > return< / span > < span class = "nb" > any< / span > < span class = "p" > (< / span > < span class = "n" > unsafe< / span > < span class = "p" > (< / span > < span class = "n" > char< / span > < span class = "p" > )< / span > < span class = "k" > for< / span > < span class = "n" > char< / span > < span class = "ow" > in< / span > < span class = "n" > text< / span > < span class = "p" > )< / span >
2025-02-13 21:02:03 +01:00
< / span > < span id = "Dialect-278" > < a href = "#Dialect-278" > < span class = "linenos" > 278< / span > < / a >
2025-02-13 21:04:14 +01:00
< / span > < span id = "Dialect-279" > < a href = "#Dialect-279" > < span class = "linenos" > 279< / span > < / a > < span class = "nd" > @classmethod< / span >
< / span > < span id = "Dialect-280" > < a href = "#Dialect-280" > < span class = "linenos" > 280< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > can_identify< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > text< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "n" > identify< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "o" > |< / span > < span class = "nb" > bool< / span > < span class = "o" > =< / span > < span class = "s2" > " safe" < / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > bool< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect-281" > < a href = "#Dialect-281" > < span class = "linenos" > 281< / span > < / a > < span class = "w" > < / span > < span class = "sd" > " " " Checks if text can be identified given an identify option.< / span >
< / span > < span id = "Dialect-282" > < a href = "#Dialect-282" > < span class = "linenos" > 282< / span > < / a >
< / span > < span id = "Dialect-283" > < a href = "#Dialect-283" > < span class = "linenos" > 283< / span > < / a > < span class = "sd" > Args:< / span >
< / span > < span id = "Dialect-284" > < a href = "#Dialect-284" > < span class = "linenos" > 284< / span > < / a > < span class = "sd" > text: The text to check.< / span >
< / span > < span id = "Dialect-285" > < a href = "#Dialect-285" > < span class = "linenos" > 285< / span > < / a > < span class = "sd" > identify:< / span >
< / span > < span id = "Dialect-286" > < a href = "#Dialect-286" > < span class = "linenos" > 286< / span > < / a > < span class = "sd" > " always" or `True`: Always returns true.< / span >
< / span > < span id = "Dialect-287" > < a href = "#Dialect-287" > < span class = "linenos" > 287< / span > < / a > < span class = "sd" > " safe" : True if the identifier is case-insensitive.< / span >
< / span > < span id = "Dialect-288" > < a href = "#Dialect-288" > < span class = "linenos" > 288< / span > < / a >
< / span > < span id = "Dialect-289" > < a href = "#Dialect-289" > < span class = "linenos" > 289< / span > < / a > < span class = "sd" > Returns:< / span >
< / span > < span id = "Dialect-290" > < a href = "#Dialect-290" > < span class = "linenos" > 290< / span > < / a > < span class = "sd" > Whether or not the given text can be identified.< / span >
< / span > < span id = "Dialect-291" > < a href = "#Dialect-291" > < span class = "linenos" > 291< / span > < / a > < span class = "sd" > " " " < / span >
< / span > < span id = "Dialect-292" > < a href = "#Dialect-292" > < span class = "linenos" > 292< / span > < / a > < span class = "k" > if< / span > < span class = "n" > identify< / span > < span class = "ow" > is< / span > < span class = "kc" > True< / span > < span class = "ow" > or< / span > < span class = "n" > identify< / span > < span class = "o" > ==< / span > < span class = "s2" > " always" < / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect-293" > < a href = "#Dialect-293" > < span class = "linenos" > 293< / span > < / a > < span class = "k" > return< / span > < span class = "kc" > True< / span >
< / span > < span id = "Dialect-294" > < a href = "#Dialect-294" > < span class = "linenos" > 294< / span > < / a >
< / span > < span id = "Dialect-295" > < a href = "#Dialect-295" > < span class = "linenos" > 295< / span > < / a > < span class = "k" > if< / span > < span class = "n" > identify< / span > < span class = "o" > ==< / span > < span class = "s2" > " safe" < / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect-296" > < a href = "#Dialect-296" > < span class = "linenos" > 296< / span > < / a > < span class = "k" > return< / span > < span class = "ow" > not< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > case_sensitive< / span > < span class = "p" > (< / span > < span class = "n" > text< / span > < span class = "p" > )< / span >
< / span > < span id = "Dialect-297" > < a href = "#Dialect-297" > < span class = "linenos" > 297< / span > < / a >
< / span > < span id = "Dialect-298" > < a href = "#Dialect-298" > < span class = "linenos" > 298< / span > < / a > < span class = "k" > return< / span > < span class = "kc" > False< / span >
< / span > < span id = "Dialect-299" > < a href = "#Dialect-299" > < span class = "linenos" > 299< / span > < / a >
< / span > < span id = "Dialect-300" > < a href = "#Dialect-300" > < span class = "linenos" > 300< / span > < / a > < span class = "nd" > @classmethod< / span >
< / span > < span id = "Dialect-301" > < a href = "#Dialect-301" > < span class = "linenos" > 301< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > quote_identifier< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > E< / span > < span class = "p" > ,< / span > < span class = "n" > identify< / span > < span class = "p" > :< / span > < span class = "nb" > bool< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > E< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect-302" > < a href = "#Dialect-302" > < span class = "linenos" > 302< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Identifier< / span > < span class = "p" > ):< / span >
< / span > < span id = "Dialect-303" > < a href = "#Dialect-303" > < span class = "linenos" > 303< / span > < / a > < span class = "n" > name< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span >
< / span > < span id = "Dialect-304" > < a href = "#Dialect-304" > < span class = "linenos" > 304< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > set< / span > < span class = "p" > (< / span >
< / span > < span id = "Dialect-305" > < a href = "#Dialect-305" > < span class = "linenos" > 305< / span > < / a > < span class = "s2" > " quoted" < / span > < span class = "p" > ,< / span >
< / span > < span id = "Dialect-306" > < a href = "#Dialect-306" > < span class = "linenos" > 306< / span > < / a > < span class = "n" > identify< / span > < span class = "ow" > or< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > case_sensitive< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > )< / span > < span class = "ow" > or< / span > < span class = "ow" > not< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > SAFE_IDENTIFIER_RE< / span > < span class = "o" > .< / span > < span class = "n" > match< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > ),< / span >
< / span > < span id = "Dialect-307" > < a href = "#Dialect-307" > < span class = "linenos" > 307< / span > < / a > < span class = "p" > )< / span >
2025-02-13 21:02:03 +01:00
< / span > < span id = "Dialect-308" > < a href = "#Dialect-308" > < span class = "linenos" > 308< / span > < / a >
2025-02-13 21:04:14 +01:00
< / span > < span id = "Dialect-309" > < a href = "#Dialect-309" > < span class = "linenos" > 309< / span > < / a > < span class = "k" > return< / span > < span class = "n" > expression< / span >
< / span > < span id = "Dialect-310" > < a href = "#Dialect-310" > < span class = "linenos" > 310< / span > < / a >
< / span > < span id = "Dialect-311" > < a href = "#Dialect-311" > < span class = "linenos" > 311< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > parse< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > sql< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ]]:< / span >
< / span > < span id = "Dialect-312" > < a href = "#Dialect-312" > < span class = "linenos" > 312< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > parser< / span > < span class = "p" > (< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > parse< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > tokenize< / span > < span class = "p" > (< / span > < span class = "n" > sql< / span > < span class = "p" > ),< / span > < span class = "n" > sql< / span > < span class = "p" > )< / span >
< / span > < span id = "Dialect-313" > < a href = "#Dialect-313" > < span class = "linenos" > 313< / span > < / a >
< / span > < span id = "Dialect-314" > < a href = "#Dialect-314" > < span class = "linenos" > 314< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > parse_into< / span > < span class = "p" > (< / span >
< / span > < span id = "Dialect-315" > < a href = "#Dialect-315" > < span class = "linenos" > 315< / span > < / a > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > expression_type< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > IntoType< / span > < span class = "p" > ,< / span > < span class = "n" > sql< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span >
< / span > < span id = "Dialect-316" > < a href = "#Dialect-316" > < span class = "linenos" > 316< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ]]:< / span >
< / span > < span id = "Dialect-317" > < a href = "#Dialect-317" > < span class = "linenos" > 317< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > parser< / span > < span class = "p" > (< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > parse_into< / span > < span class = "p" > (< / span > < span class = "n" > expression_type< / span > < span class = "p" > ,< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > tokenize< / span > < span class = "p" > (< / span > < span class = "n" > sql< / span > < span class = "p" > ),< / span > < span class = "n" > sql< / span > < span class = "p" > )< / span >
< / span > < span id = "Dialect-318" > < a href = "#Dialect-318" > < span class = "linenos" > 318< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "Dialect-319" > < a href = "#Dialect-319" > < span class = "linenos" > 319< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > generate< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ,< / span > < span class = "n" > copy< / span > < span class = "p" > :< / span > < span class = "nb" > bool< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect-320" > < a href = "#Dialect-320" > < span class = "linenos" > 320< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > generator< / span > < span class = "p" > (< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > generate< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > copy< / span > < span class = "o" > =< / span > < span class = "n" > copy< / span > < span class = "p" > )< / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "Dialect-321" > < a href = "#Dialect-321" > < span class = "linenos" > 321< / span > < / a >
< / span > < span id = "Dialect-322" > < a href = "#Dialect-322" > < span class = "linenos" > 322< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > transpile< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > sql< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ]:< / span >
2025-02-13 21:15:38 +01:00
< / span > < span id = "Dialect-323" > < a href = "#Dialect-323" > < span class = "linenos" > 323< / span > < / a > < span class = "k" > return< / span > < span class = "p" > [< / span >
< / span > < span id = "Dialect-324" > < a href = "#Dialect-324" > < span class = "linenos" > 324< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > generate< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > copy< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "k" > else< / span > < span class = "s2" > " " < / span >
< / span > < span id = "Dialect-325" > < a href = "#Dialect-325" > < span class = "linenos" > 325< / span > < / a > < span class = "k" > for< / span > < span class = "n" > expression< / span > < span class = "ow" > in< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > parse< / span > < span class = "p" > (< / span > < span class = "n" > sql< / span > < span class = "p" > )< / span >
< / span > < span id = "Dialect-326" > < a href = "#Dialect-326" > < span class = "linenos" > 326< / span > < / a > < span class = "p" > ]< / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "Dialect-327" > < a href = "#Dialect-327" > < span class = "linenos" > 327< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "Dialect-328" > < a href = "#Dialect-328" > < span class = "linenos" > 328< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > tokenize< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > sql< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "n" > Token< / span > < span class = "p" > ]:< / span >
< / span > < span id = "Dialect-329" > < a href = "#Dialect-329" > < span class = "linenos" > 329< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > tokenizer< / span > < span class = "o" > .< / span > < span class = "n" > tokenize< / span > < span class = "p" > (< / span > < span class = "n" > sql< / span > < span class = "p" > )< / span >
< / span > < span id = "Dialect-330" > < a href = "#Dialect-330" > < span class = "linenos" > 330< / span > < / a >
< / span > < span id = "Dialect-331" > < a href = "#Dialect-331" > < span class = "linenos" > 331< / span > < / a > < span class = "nd" > @property< / span >
< / span > < span id = "Dialect-332" > < a href = "#Dialect-332" > < span class = "linenos" > 332< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > tokenizer< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > Tokenizer< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect-333" > < a href = "#Dialect-333" > < span class = "linenos" > 333< / span > < / a > < span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "nb" > hasattr< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "s2" > " _tokenizer" < / span > < span class = "p" > ):< / span >
< / span > < span id = "Dialect-334" > < a href = "#Dialect-334" > < span class = "linenos" > 334< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _tokenizer< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > tokenizer_class< / span > < span class = "p" > ()< / span >
< / span > < span id = "Dialect-335" > < a href = "#Dialect-335" > < span class = "linenos" > 335< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _tokenizer< / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "Dialect-336" > < a href = "#Dialect-336" > < span class = "linenos" > 336< / span > < / a >
2025-02-13 21:15:38 +01:00
< / span > < span id = "Dialect-337" > < a href = "#Dialect-337" > < span class = "linenos" > 337< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > parser< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > Parser< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect-338" > < a href = "#Dialect-338" > < span class = "linenos" > 338< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > parser_class< / span > < span class = "p" > (< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span >
< / span > < span id = "Dialect-339" > < a href = "#Dialect-339" > < span class = "linenos" > 339< / span > < / a >
< / span > < span id = "Dialect-340" > < a href = "#Dialect-340" > < span class = "linenos" > 340< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > generator< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > Generator< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect-341" > < a href = "#Dialect-341" > < span class = "linenos" > 341< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > generator_class< / span > < span class = "p" > (< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
2025-02-13 20:09:11 +01:00
< div id = "Dialect.INDEX_OFFSET" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > INDEX_OFFSET< / span > =
< span class = "default_value" > 0< / span >
< / div >
< a class = "headerlink" href = "#Dialect.INDEX_OFFSET" > < / a >
< / div >
< div id = "Dialect.UNNEST_COLUMN_ONLY" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > UNNEST_COLUMN_ONLY< / span > =
< span class = "default_value" > False< / span >
< / div >
< a class = "headerlink" href = "#Dialect.UNNEST_COLUMN_ONLY" > < / a >
< / div >
< div id = "Dialect.ALIAS_POST_TABLESAMPLE" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > ALIAS_POST_TABLESAMPLE< / span > =
< span class = "default_value" > False< / span >
< / div >
< a class = "headerlink" href = "#Dialect.ALIAS_POST_TABLESAMPLE" > < / a >
< / div >
< div id = "Dialect.RESOLVES_IDENTIFIERS_AS_UPPERCASE" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > RESOLVES_IDENTIFIERS_AS_UPPERCASE< / span > < span class = "annotation" > : Optional[bool]< / span > =
< span class = "default_value" > False< / span >
< / div >
< a class = "headerlink" href = "#Dialect.RESOLVES_IDENTIFIERS_AS_UPPERCASE" > < / a >
< / div >
< div id = "Dialect.IDENTIFIERS_CAN_START_WITH_DIGIT" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > IDENTIFIERS_CAN_START_WITH_DIGIT< / span > =
< span class = "default_value" > False< / span >
< / div >
< a class = "headerlink" href = "#Dialect.IDENTIFIERS_CAN_START_WITH_DIGIT" > < / a >
2025-02-13 20:56:33 +01:00
< / div >
< div id = "Dialect.DPIPE_IS_STRING_CONCAT" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > DPIPE_IS_STRING_CONCAT< / span > =
< span class = "default_value" > True< / span >
< / div >
< a class = "headerlink" href = "#Dialect.DPIPE_IS_STRING_CONCAT" > < / a >
2025-02-13 20:09:11 +01:00
< / div >
< div id = "Dialect.STRICT_STRING_CONCAT" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > STRICT_STRING_CONCAT< / span > =
< span class = "default_value" > False< / span >
< / div >
< a class = "headerlink" href = "#Dialect.STRICT_STRING_CONCAT" > < / a >
2025-02-13 21:02:03 +01:00
< / div >
< div id = "Dialect.SUPPORTS_USER_DEFINED_TYPES" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > SUPPORTS_USER_DEFINED_TYPES< / span > =
< span class = "default_value" > True< / span >
< / div >
< a class = "headerlink" href = "#Dialect.SUPPORTS_USER_DEFINED_TYPES" > < / a >
2025-02-13 21:03:05 +01:00
< / div >
< div id = "Dialect.SUPPORTS_SEMI_ANTI_JOIN" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > SUPPORTS_SEMI_ANTI_JOIN< / span > =
< span class = "default_value" > True< / span >
< / div >
< a class = "headerlink" href = "#Dialect.SUPPORTS_SEMI_ANTI_JOIN" > < / a >
2025-02-13 20:09:11 +01:00
< / div >
< div id = "Dialect.NORMALIZE_FUNCTIONS" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > NORMALIZE_FUNCTIONS< / span > < span class = "annotation" > : bool | str< / span > =
< span class = "default_value" > ' upper' < / span >
< / div >
< a class = "headerlink" href = "#Dialect.NORMALIZE_FUNCTIONS" > < / a >
2025-02-13 21:04:14 +01:00
< / div >
< div id = "Dialect.LOG_BASE_FIRST" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > LOG_BASE_FIRST< / span > =
< span class = "default_value" > True< / span >
< / div >
< a class = "headerlink" href = "#Dialect.LOG_BASE_FIRST" > < / a >
2025-02-13 20:09:11 +01:00
< / div >
< div id = "Dialect.NULL_ORDERING" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > NULL_ORDERING< / span > =
< span class = "default_value" > ' nulls_are_small' < / span >
< / div >
< a class = "headerlink" href = "#Dialect.NULL_ORDERING" > < / a >
< / div >
< div id = "Dialect.DATE_FORMAT" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > DATE_FORMAT< / span > =
< span class = "default_value" > " ' %Y-%m-%d' " < / span >
< / div >
< a class = "headerlink" href = "#Dialect.DATE_FORMAT" > < / a >
< / div >
< div id = "Dialect.DATEINT_FORMAT" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > DATEINT_FORMAT< / span > =
< span class = "default_value" > " ' %Y%m%d' " < / span >
< / div >
< a class = "headerlink" href = "#Dialect.DATEINT_FORMAT" > < / a >
< / div >
< div id = "Dialect.TIME_FORMAT" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > TIME_FORMAT< / span > =
< span class = "default_value" > " ' %Y-%m-%d %H:%M:%S' " < / span >
< / div >
< a class = "headerlink" href = "#Dialect.TIME_FORMAT" > < / a >
< / div >
< div id = "Dialect.TIME_MAPPING" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > TIME_MAPPING< / span > < span class = "annotation" > : Dict[str, str]< / span > =
< span class = "default_value" > {}< / span >
< / div >
< a class = "headerlink" href = "#Dialect.TIME_MAPPING" > < / a >
< / div >
< div id = "Dialect.FORMAT_MAPPING" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > FORMAT_MAPPING< / span > < span class = "annotation" > : Dict[str, str]< / span > =
< span class = "default_value" > {}< / span >
< / div >
< a class = "headerlink" href = "#Dialect.FORMAT_MAPPING" > < / a >
2025-02-13 21:04:14 +01:00
< / div >
< div id = "Dialect.ESCAPE_SEQUENCES" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > ESCAPE_SEQUENCES< / span > < span class = "annotation" > : Dict[str, str]< / span > =
< span class = "default_value" > {}< / span >
< / div >
< a class = "headerlink" href = "#Dialect.ESCAPE_SEQUENCES" > < / a >
2025-02-13 20:47:46 +01:00
< / div >
< div id = "Dialect.PSEUDOCOLUMNS" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > PSEUDOCOLUMNS< / span > < span class = "annotation" > : Set[str]< / span > =
< span class = "default_value" > set()< / span >
< / div >
< a class = "headerlink" href = "#Dialect.PSEUDOCOLUMNS" > < / a >
2025-02-13 20:09:11 +01:00
< / div >
< div id = "Dialect.tokenizer_class" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > tokenizer_class< / span > =
< span class = "default_value" > < class ' < a href = "../tokens.html#Tokenizer" > sqlglot.tokens.Tokenizer< / a > ' > < / span >
< / div >
< a class = "headerlink" href = "#Dialect.tokenizer_class" > < / a >
< / div >
< div id = "Dialect.parser_class" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > parser_class< / span > =
< span class = "default_value" > < class ' < a href = "../parser.html#Parser" > sqlglot.parser.Parser< / a > ' > < / span >
< / div >
< a class = "headerlink" href = "#Dialect.parser_class" > < / a >
< / div >
< div id = "Dialect.generator_class" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > generator_class< / span > =
< span class = "default_value" > < class ' < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > ' > < / span >
< / div >
< a class = "headerlink" href = "#Dialect.generator_class" > < / a >
< / div >
< div id = "Dialect.TIME_TRIE" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > TIME_TRIE< / span > < span class = "annotation" > : Dict< / span > =
< span class = "default_value" > {}< / span >
< / div >
< a class = "headerlink" href = "#Dialect.TIME_TRIE" > < / a >
< / div >
< div id = "Dialect.FORMAT_TRIE" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > FORMAT_TRIE< / span > < span class = "annotation" > : Dict< / span > =
< span class = "default_value" > {}< / span >
< / div >
< a class = "headerlink" href = "#Dialect.FORMAT_TRIE" > < / a >
< / div >
< div id = "Dialect.INVERSE_TIME_MAPPING" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > INVERSE_TIME_MAPPING< / span > < span class = "annotation" > : Dict[str, str]< / span > =
< span class = "default_value" > {}< / span >
< / div >
< a class = "headerlink" href = "#Dialect.INVERSE_TIME_MAPPING" > < / a >
< / div >
< div id = "Dialect.INVERSE_TIME_TRIE" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > INVERSE_TIME_TRIE< / span > < span class = "annotation" > : Dict< / span > =
< span class = "default_value" > {}< / span >
< / div >
< a class = "headerlink" href = "#Dialect.INVERSE_TIME_TRIE" > < / a >
2025-02-13 21:04:14 +01:00
< / div >
< div id = "Dialect.INVERSE_ESCAPE_SEQUENCES" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > INVERSE_ESCAPE_SEQUENCES< / span > < span class = "annotation" > : Dict[str, str]< / span > =
< span class = "default_value" > {}< / span >
< / div >
< a class = "headerlink" href = "#Dialect.INVERSE_ESCAPE_SEQUENCES" > < / a >
2025-02-13 20:09:11 +01:00
< / div >
2025-02-13 15:22:50 +01:00
< div id = "Dialect.get_or_raise" class = "classattr" >
< input id = "Dialect.get_or_raise-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< div class = "decorator" > @classmethod< / div >
< span class = "def" > def< / span >
2025-02-13 21:00:44 +01:00
< span class = "name" > get_or_raise< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > cls< / span > ,< / span > < span class = "param" > < span class = "n" > dialect< / span > < span class = "p" > :< / span > < span class = "n" > Union< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "n" > < a href = "#Dialect" > Dialect< / a > < / span > < span class = "p" > ,< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "n" > < a href = "#Dialect" > Dialect< / a > < / span > < span class = "p" > ],< / span > < span class = "n" > NoneType< / span > < span class = "p" > ]< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "n" > < a href = "#Dialect" > Dialect< / a > < / span > < span class = "p" > ]< / span > :< / span > < / span >
2025-02-13 15:22:50 +01:00
< label class = "view-source-button" for = "Dialect.get_or_raise-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#Dialect.get_or_raise" > < / a >
2025-02-13 21:04:14 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "Dialect.get_or_raise-221" > < a href = "#Dialect.get_or_raise-221" > < span class = "linenos" > 221< / span > < / a > < span class = "nd" > @classmethod< / span >
< / span > < span id = "Dialect.get_or_raise-222" > < a href = "#Dialect.get_or_raise-222" > < span class = "linenos" > 222< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > get_or_raise< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > dialect< / span > < span class = "p" > :< / span > < span class = "n" > DialectType< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "n" > Dialect< / span > < span class = "p" > ]:< / span >
< / span > < span id = "Dialect.get_or_raise-223" > < a href = "#Dialect.get_or_raise-223" > < span class = "linenos" > 223< / span > < / a > < span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > dialect< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect.get_or_raise-224" > < a href = "#Dialect.get_or_raise-224" > < span class = "linenos" > 224< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > cls< / span >
< / span > < span id = "Dialect.get_or_raise-225" > < a href = "#Dialect.get_or_raise-225" > < span class = "linenos" > 225< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > dialect< / span > < span class = "p" > ,< / span > < span class = "n" > _Dialect< / span > < span class = "p" > ):< / span >
< / span > < span id = "Dialect.get_or_raise-226" > < a href = "#Dialect.get_or_raise-226" > < span class = "linenos" > 226< / span > < / a > < span class = "k" > return< / span > < span class = "n" > dialect< / span >
< / span > < span id = "Dialect.get_or_raise-227" > < a href = "#Dialect.get_or_raise-227" > < span class = "linenos" > 227< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > dialect< / span > < span class = "p" > ,< / span > < span class = "n" > Dialect< / span > < span class = "p" > ):< / span >
< / span > < span id = "Dialect.get_or_raise-228" > < a href = "#Dialect.get_or_raise-228" > < span class = "linenos" > 228< / span > < / a > < span class = "k" > return< / span > < span class = "n" > dialect< / span > < span class = "o" > .< / span > < span class = "vm" > __class__< / span >
< / span > < span id = "Dialect.get_or_raise-229" > < a href = "#Dialect.get_or_raise-229" > < span class = "linenos" > 229< / span > < / a >
< / span > < span id = "Dialect.get_or_raise-230" > < a href = "#Dialect.get_or_raise-230" > < span class = "linenos" > 230< / span > < / a > < span class = "n" > result< / span > < span class = "o" > =< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "n" > dialect< / span > < span class = "p" > )< / span >
< / span > < span id = "Dialect.get_or_raise-231" > < a href = "#Dialect.get_or_raise-231" > < span class = "linenos" > 231< / span > < / a > < span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > result< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect.get_or_raise-232" > < a href = "#Dialect.get_or_raise-232" > < span class = "linenos" > 232< / span > < / a > < span class = "k" > raise< / span > < span class = "ne" > ValueError< / span > < span class = "p" > (< / span > < span class = "sa" > f< / span > < span class = "s2" > " Unknown dialect ' < / span > < span class = "si" > {< / span > < span class = "n" > dialect< / span > < span class = "si" > }< / span > < span class = "s2" > ' " < / span > < span class = "p" > )< / span >
< / span > < span id = "Dialect.get_or_raise-233" > < a href = "#Dialect.get_or_raise-233" > < span class = "linenos" > 233< / span > < / a >
< / span > < span id = "Dialect.get_or_raise-234" > < a href = "#Dialect.get_or_raise-234" > < span class = "linenos" > 234< / span > < / a > < span class = "k" > return< / span > < span class = "n" > result< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / div >
< div id = "Dialect.format_time" class = "classattr" >
< input id = "Dialect.format_time-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< div class = "decorator" > @classmethod< / div >
< span class = "def" > def< / span >
< span class = "name" > format_time< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > cls< / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > Union< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "n" > < a href = "../expressions.html#Expression" > sqlglot.expressions.Expression< / a > < / span > < span class = "p" > ,< / span > < span class = "n" > NoneType< / span > < span class = "p" > ]< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > < a href = "../expressions.html#Expression" > sqlglot.expressions.Expression< / a > < / span > < span class = "p" > ]< / span > :< / span > < / span >
< label class = "view-source-button" for = "Dialect.format_time-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#Dialect.format_time" > < / a >
2025-02-13 21:04:14 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "Dialect.format_time-236" > < a href = "#Dialect.format_time-236" > < span class = "linenos" > 236< / span > < / a > < span class = "nd" > @classmethod< / span >
< / span > < span id = "Dialect.format_time-237" > < a href = "#Dialect.format_time-237" > < span class = "linenos" > 237< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > format_time< / span > < span class = "p" > (< / span >
< / span > < span id = "Dialect.format_time-238" > < a href = "#Dialect.format_time-238" > < span class = "linenos" > 238< / span > < / a > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ]< / span >
< / span > < span id = "Dialect.format_time-239" > < a href = "#Dialect.format_time-239" > < span class = "linenos" > 239< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ]:< / span >
< / span > < span id = "Dialect.format_time-240" > < a href = "#Dialect.format_time-240" > < span class = "linenos" > 240< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "nb" > str< / span > < span class = "p" > ):< / span >
< / span > < span id = "Dialect.format_time-241" > < a href = "#Dialect.format_time-241" > < span class = "linenos" > 241< / span > < / a > < span class = "k" > return< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Literal< / span > < span class = "o" > .< / span > < span class = "n" > string< / span > < span class = "p" > (< / span >
< / span > < span id = "Dialect.format_time-242" > < a href = "#Dialect.format_time-242" > < span class = "linenos" > 242< / span > < / a > < span class = "c1" > # the time formats are quoted< / span >
< / span > < span id = "Dialect.format_time-243" > < a href = "#Dialect.format_time-243" > < span class = "linenos" > 243< / span > < / a > < span class = "n" > format_time< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > :< / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span > < span class = "p" > ],< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > TIME_MAPPING< / span > < span class = "p" > ,< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > TIME_TRIE< / span > < span class = "p" > )< / span >
< / span > < span id = "Dialect.format_time-244" > < a href = "#Dialect.format_time-244" > < span class = "linenos" > 244< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "Dialect.format_time-245" > < a href = "#Dialect.format_time-245" > < span class = "linenos" > 245< / span > < / a >
< / span > < span id = "Dialect.format_time-246" > < a href = "#Dialect.format_time-246" > < span class = "linenos" > 246< / span > < / a > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "ow" > and< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > is_string< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect.format_time-247" > < a href = "#Dialect.format_time-247" > < span class = "linenos" > 247< / span > < / a > < span class = "k" > return< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Literal< / span > < span class = "o" > .< / span > < span class = "n" > string< / span > < span class = "p" > (< / span > < span class = "n" > format_time< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > TIME_MAPPING< / span > < span class = "p" > ,< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > TIME_TRIE< / span > < span class = "p" > ))< / span >
< / span > < span id = "Dialect.format_time-248" > < a href = "#Dialect.format_time-248" > < span class = "linenos" > 248< / span > < / a >
< / span > < span id = "Dialect.format_time-249" > < a href = "#Dialect.format_time-249" > < span class = "linenos" > 249< / span > < / a > < span class = "k" > return< / span > < span class = "n" > expression< / span >
2025-02-13 20:04:17 +01:00
< / span > < / pre > < / div >
< / div >
< div id = "Dialect.normalize_identifier" class = "classattr" >
< input id = "Dialect.normalize_identifier-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< div class = "decorator" > @classmethod< / div >
< span class = "def" > def< / span >
< span class = "name" > normalize_identifier< / span > < span class = "signature pdoc-code condensed" > (< span class = "param" > < span class = "bp" > cls< / span > , < / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "o" > ~< / span > < span class = "n" > E< / span > < / span > < span class = "return-annotation" > ) -> < span class = "o" > ~< / span > < span class = "n" > E< / span > :< / span > < / span >
< label class = "view-source-button" for = "Dialect.normalize_identifier-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#Dialect.normalize_identifier" > < / a >
2025-02-13 21:04:14 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "Dialect.normalize_identifier-251" > < a href = "#Dialect.normalize_identifier-251" > < span class = "linenos" > 251< / span > < / a > < span class = "nd" > @classmethod< / span >
< / span > < span id = "Dialect.normalize_identifier-252" > < a href = "#Dialect.normalize_identifier-252" > < span class = "linenos" > 252< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > normalize_identifier< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > E< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > E< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect.normalize_identifier-253" > < a href = "#Dialect.normalize_identifier-253" > < span class = "linenos" > 253< / span > < / a > < span class = "w" > < / span > < span class = "sd" > " " " < / span >
< / span > < span id = "Dialect.normalize_identifier-254" > < a href = "#Dialect.normalize_identifier-254" > < span class = "linenos" > 254< / span > < / a > < span class = "sd" > Normalizes an unquoted identifier to either lower or upper case, thus essentially< / span >
< / span > < span id = "Dialect.normalize_identifier-255" > < a href = "#Dialect.normalize_identifier-255" > < span class = "linenos" > 255< / span > < / a > < span class = "sd" > making it case-insensitive. If a dialect treats all identifiers as case-insensitive,< / span >
< / span > < span id = "Dialect.normalize_identifier-256" > < a href = "#Dialect.normalize_identifier-256" > < span class = "linenos" > 256< / span > < / a > < span class = "sd" > they will be normalized to lowercase regardless of being quoted or not.< / span >
< / span > < span id = "Dialect.normalize_identifier-257" > < a href = "#Dialect.normalize_identifier-257" > < span class = "linenos" > 257< / span > < / a > < span class = "sd" > " " " < / span >
< / span > < span id = "Dialect.normalize_identifier-258" > < a href = "#Dialect.normalize_identifier-258" > < span class = "linenos" > 258< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Identifier< / span > < span class = "p" > )< / span > < span class = "ow" > and< / span > < span class = "p" > (< / span >
< / span > < span id = "Dialect.normalize_identifier-259" > < a href = "#Dialect.normalize_identifier-259" > < span class = "linenos" > 259< / span > < / a > < span class = "ow" > not< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > quoted< / span > < span class = "ow" > or< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > RESOLVES_IDENTIFIERS_AS_UPPERCASE< / span > < span class = "ow" > is< / span > < span class = "kc" > None< / span >
< / span > < span id = "Dialect.normalize_identifier-260" > < a href = "#Dialect.normalize_identifier-260" > < span class = "linenos" > 260< / span > < / a > < span class = "p" > ):< / span >
< / span > < span id = "Dialect.normalize_identifier-261" > < a href = "#Dialect.normalize_identifier-261" > < span class = "linenos" > 261< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > set< / span > < span class = "p" > (< / span >
< / span > < span id = "Dialect.normalize_identifier-262" > < a href = "#Dialect.normalize_identifier-262" > < span class = "linenos" > 262< / span > < / a > < span class = "s2" > " this" < / span > < span class = "p" > ,< / span >
< / span > < span id = "Dialect.normalize_identifier-263" > < a href = "#Dialect.normalize_identifier-263" > < span class = "linenos" > 263< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > upper< / span > < span class = "p" > ()< / span >
< / span > < span id = "Dialect.normalize_identifier-264" > < a href = "#Dialect.normalize_identifier-264" > < span class = "linenos" > 264< / span > < / a > < span class = "k" > if< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > RESOLVES_IDENTIFIERS_AS_UPPERCASE< / span >
< / span > < span id = "Dialect.normalize_identifier-265" > < a href = "#Dialect.normalize_identifier-265" > < span class = "linenos" > 265< / span > < / a > < span class = "k" > else< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > lower< / span > < span class = "p" > (),< / span >
< / span > < span id = "Dialect.normalize_identifier-266" > < a href = "#Dialect.normalize_identifier-266" > < span class = "linenos" > 266< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "Dialect.normalize_identifier-267" > < a href = "#Dialect.normalize_identifier-267" > < span class = "linenos" > 267< / span > < / a >
< / span > < span id = "Dialect.normalize_identifier-268" > < a href = "#Dialect.normalize_identifier-268" > < span class = "linenos" > 268< / span > < / a > < span class = "k" > return< / span > < span class = "n" > expression< / span >
2025-02-13 20:04:17 +01:00
< / span > < / pre > < / div >
< div class = "docstring" > < p > Normalizes an unquoted identifier to either lower or upper case, thus essentially
making it case-insensitive. If a dialect treats all identifiers as case-insensitive,
2025-02-13 21:04:14 +01:00
they will be normalized to lowercase regardless of being quoted or not.< / p >
2025-02-13 20:04:17 +01:00
< / div >
< / div >
< div id = "Dialect.case_sensitive" class = "classattr" >
< input id = "Dialect.case_sensitive-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< div class = "decorator" > @classmethod< / div >
< span class = "def" > def< / span >
< span class = "name" > case_sensitive< / span > < span class = "signature pdoc-code condensed" > (< span class = "param" > < span class = "bp" > cls< / span > , < / span > < span class = "param" > < span class = "n" > text< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > bool< / span > :< / span > < / span >
< label class = "view-source-button" for = "Dialect.case_sensitive-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#Dialect.case_sensitive" > < / a >
2025-02-13 21:04:14 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "Dialect.case_sensitive-270" > < a href = "#Dialect.case_sensitive-270" > < span class = "linenos" > 270< / span > < / a > < span class = "nd" > @classmethod< / span >
< / span > < span id = "Dialect.case_sensitive-271" > < a href = "#Dialect.case_sensitive-271" > < span class = "linenos" > 271< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > case_sensitive< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > text< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > bool< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect.case_sensitive-272" > < a href = "#Dialect.case_sensitive-272" > < span class = "linenos" > 272< / span > < / a > < span class = "w" > < / span > < span class = "sd" > " " " Checks if text contains any case sensitive characters, based on the dialect' s rules." " " < / span >
< / span > < span id = "Dialect.case_sensitive-273" > < a href = "#Dialect.case_sensitive-273" > < span class = "linenos" > 273< / span > < / a > < span class = "k" > if< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > RESOLVES_IDENTIFIERS_AS_UPPERCASE< / span > < span class = "ow" > is< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect.case_sensitive-274" > < a href = "#Dialect.case_sensitive-274" > < span class = "linenos" > 274< / span > < / a > < span class = "k" > return< / span > < span class = "kc" > False< / span >
< / span > < span id = "Dialect.case_sensitive-275" > < a href = "#Dialect.case_sensitive-275" > < span class = "linenos" > 275< / span > < / a >
< / span > < span id = "Dialect.case_sensitive-276" > < a href = "#Dialect.case_sensitive-276" > < span class = "linenos" > 276< / span > < / a > < span class = "n" > unsafe< / span > < span class = "o" > =< / span > < span class = "nb" > str< / span > < span class = "o" > .< / span > < span class = "n" > islower< / span > < span class = "k" > if< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > RESOLVES_IDENTIFIERS_AS_UPPERCASE< / span > < span class = "k" > else< / span > < span class = "nb" > str< / span > < span class = "o" > .< / span > < span class = "n" > isupper< / span >
< / span > < span id = "Dialect.case_sensitive-277" > < a href = "#Dialect.case_sensitive-277" > < span class = "linenos" > 277< / span > < / a > < span class = "k" > return< / span > < span class = "nb" > any< / span > < span class = "p" > (< / span > < span class = "n" > unsafe< / span > < span class = "p" > (< / span > < span class = "n" > char< / span > < span class = "p" > )< / span > < span class = "k" > for< / span > < span class = "n" > char< / span > < span class = "ow" > in< / span > < span class = "n" > text< / span > < span class = "p" > )< / span >
2025-02-13 20:04:17 +01:00
< / span > < / pre > < / div >
< div class = "docstring" > < p > Checks if text contains any case sensitive characters, based on the dialect's rules.< / p >
< / div >
< / div >
< div id = "Dialect.can_identify" class = "classattr" >
< input id = "Dialect.can_identify-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< div class = "decorator" > @classmethod< / div >
< span class = "def" > def< / span >
< span class = "name" > can_identify< / span > < span class = "signature pdoc-code condensed" > (< span class = "param" > < span class = "bp" > cls< / span > , < / span > < span class = "param" > < span class = "n" > text< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > , < / span > < span class = "param" > < span class = "n" > identify< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "o" > |< / span > < span class = "nb" > bool< / span > < span class = "o" > =< / span > < span class = "s1" > ' safe' < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > bool< / span > :< / span > < / span >
< label class = "view-source-button" for = "Dialect.can_identify-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#Dialect.can_identify" > < / a >
2025-02-13 21:04:14 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "Dialect.can_identify-279" > < a href = "#Dialect.can_identify-279" > < span class = "linenos" > 279< / span > < / a > < span class = "nd" > @classmethod< / span >
< / span > < span id = "Dialect.can_identify-280" > < a href = "#Dialect.can_identify-280" > < span class = "linenos" > 280< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > can_identify< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > text< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "n" > identify< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "o" > |< / span > < span class = "nb" > bool< / span > < span class = "o" > =< / span > < span class = "s2" > " safe" < / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > bool< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect.can_identify-281" > < a href = "#Dialect.can_identify-281" > < span class = "linenos" > 281< / span > < / a > < span class = "w" > < / span > < span class = "sd" > " " " Checks if text can be identified given an identify option.< / span >
< / span > < span id = "Dialect.can_identify-282" > < a href = "#Dialect.can_identify-282" > < span class = "linenos" > 282< / span > < / a >
< / span > < span id = "Dialect.can_identify-283" > < a href = "#Dialect.can_identify-283" > < span class = "linenos" > 283< / span > < / a > < span class = "sd" > Args:< / span >
< / span > < span id = "Dialect.can_identify-284" > < a href = "#Dialect.can_identify-284" > < span class = "linenos" > 284< / span > < / a > < span class = "sd" > text: The text to check.< / span >
< / span > < span id = "Dialect.can_identify-285" > < a href = "#Dialect.can_identify-285" > < span class = "linenos" > 285< / span > < / a > < span class = "sd" > identify:< / span >
< / span > < span id = "Dialect.can_identify-286" > < a href = "#Dialect.can_identify-286" > < span class = "linenos" > 286< / span > < / a > < span class = "sd" > " always" or `True`: Always returns true.< / span >
< / span > < span id = "Dialect.can_identify-287" > < a href = "#Dialect.can_identify-287" > < span class = "linenos" > 287< / span > < / a > < span class = "sd" > " safe" : True if the identifier is case-insensitive.< / span >
< / span > < span id = "Dialect.can_identify-288" > < a href = "#Dialect.can_identify-288" > < span class = "linenos" > 288< / span > < / a >
< / span > < span id = "Dialect.can_identify-289" > < a href = "#Dialect.can_identify-289" > < span class = "linenos" > 289< / span > < / a > < span class = "sd" > Returns:< / span >
< / span > < span id = "Dialect.can_identify-290" > < a href = "#Dialect.can_identify-290" > < span class = "linenos" > 290< / span > < / a > < span class = "sd" > Whether or not the given text can be identified.< / span >
< / span > < span id = "Dialect.can_identify-291" > < a href = "#Dialect.can_identify-291" > < span class = "linenos" > 291< / span > < / a > < span class = "sd" > " " " < / span >
< / span > < span id = "Dialect.can_identify-292" > < a href = "#Dialect.can_identify-292" > < span class = "linenos" > 292< / span > < / a > < span class = "k" > if< / span > < span class = "n" > identify< / span > < span class = "ow" > is< / span > < span class = "kc" > True< / span > < span class = "ow" > or< / span > < span class = "n" > identify< / span > < span class = "o" > ==< / span > < span class = "s2" > " always" < / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect.can_identify-293" > < a href = "#Dialect.can_identify-293" > < span class = "linenos" > 293< / span > < / a > < span class = "k" > return< / span > < span class = "kc" > True< / span >
< / span > < span id = "Dialect.can_identify-294" > < a href = "#Dialect.can_identify-294" > < span class = "linenos" > 294< / span > < / a >
< / span > < span id = "Dialect.can_identify-295" > < a href = "#Dialect.can_identify-295" > < span class = "linenos" > 295< / span > < / a > < span class = "k" > if< / span > < span class = "n" > identify< / span > < span class = "o" > ==< / span > < span class = "s2" > " safe" < / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect.can_identify-296" > < a href = "#Dialect.can_identify-296" > < span class = "linenos" > 296< / span > < / a > < span class = "k" > return< / span > < span class = "ow" > not< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > case_sensitive< / span > < span class = "p" > (< / span > < span class = "n" > text< / span > < span class = "p" > )< / span >
< / span > < span id = "Dialect.can_identify-297" > < a href = "#Dialect.can_identify-297" > < span class = "linenos" > 297< / span > < / a >
< / span > < span id = "Dialect.can_identify-298" > < a href = "#Dialect.can_identify-298" > < span class = "linenos" > 298< / span > < / a > < span class = "k" > return< / span > < span class = "kc" > False< / span >
2025-02-13 20:04:17 +01:00
< / span > < / pre > < / div >
< div class = "docstring" > < p > Checks if text can be identified given an identify option.< / p >
< h6 id = "arguments" > Arguments:< / h6 >
< ul >
< li > < strong > text:< / strong > The text to check.< / li >
< li > < strong > identify:< / strong > "always" or < code > True< / code > : Always returns true.
"safe": True if the identifier is case-insensitive.< / li >
< / ul >
< h6 id = "returns" > Returns:< / h6 >
< blockquote >
< p > Whether or not the given text can be identified.< / p >
< / blockquote >
< / div >
< / div >
< div id = "Dialect.quote_identifier" class = "classattr" >
< input id = "Dialect.quote_identifier-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< div class = "decorator" > @classmethod< / div >
< span class = "def" > def< / span >
< span class = "name" > quote_identifier< / span > < span class = "signature pdoc-code condensed" > (< span class = "param" > < span class = "bp" > cls< / span > , < / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "o" > ~< / span > < span class = "n" > E< / span > , < / span > < span class = "param" > < span class = "n" > identify< / span > < span class = "p" > :< / span > < span class = "nb" > bool< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span > < / span > < span class = "return-annotation" > ) -> < span class = "o" > ~< / span > < span class = "n" > E< / span > :< / span > < / span >
< label class = "view-source-button" for = "Dialect.quote_identifier-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#Dialect.quote_identifier" > < / a >
2025-02-13 21:04:14 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "Dialect.quote_identifier-300" > < a href = "#Dialect.quote_identifier-300" > < span class = "linenos" > 300< / span > < / a > < span class = "nd" > @classmethod< / span >
< / span > < span id = "Dialect.quote_identifier-301" > < a href = "#Dialect.quote_identifier-301" > < span class = "linenos" > 301< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > quote_identifier< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > E< / span > < span class = "p" > ,< / span > < span class = "n" > identify< / span > < span class = "p" > :< / span > < span class = "nb" > bool< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > E< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect.quote_identifier-302" > < a href = "#Dialect.quote_identifier-302" > < span class = "linenos" > 302< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Identifier< / span > < span class = "p" > ):< / span >
< / span > < span id = "Dialect.quote_identifier-303" > < a href = "#Dialect.quote_identifier-303" > < span class = "linenos" > 303< / span > < / a > < span class = "n" > name< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span >
< / span > < span id = "Dialect.quote_identifier-304" > < a href = "#Dialect.quote_identifier-304" > < span class = "linenos" > 304< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > set< / span > < span class = "p" > (< / span >
< / span > < span id = "Dialect.quote_identifier-305" > < a href = "#Dialect.quote_identifier-305" > < span class = "linenos" > 305< / span > < / a > < span class = "s2" > " quoted" < / span > < span class = "p" > ,< / span >
< / span > < span id = "Dialect.quote_identifier-306" > < a href = "#Dialect.quote_identifier-306" > < span class = "linenos" > 306< / span > < / a > < span class = "n" > identify< / span > < span class = "ow" > or< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > case_sensitive< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > )< / span > < span class = "ow" > or< / span > < span class = "ow" > not< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > SAFE_IDENTIFIER_RE< / span > < span class = "o" > .< / span > < span class = "n" > match< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > ),< / span >
< / span > < span id = "Dialect.quote_identifier-307" > < a href = "#Dialect.quote_identifier-307" > < span class = "linenos" > 307< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "Dialect.quote_identifier-308" > < a href = "#Dialect.quote_identifier-308" > < span class = "linenos" > 308< / span > < / a >
< / span > < span id = "Dialect.quote_identifier-309" > < a href = "#Dialect.quote_identifier-309" > < span class = "linenos" > 309< / span > < / a > < span class = "k" > return< / span > < span class = "n" > expression< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / div >
< div id = "Dialect.parse" class = "classattr" >
< input id = "Dialect.parse-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > parse< / span > < span class = "signature pdoc-code condensed" > (< span class = "param" > < span class = "bp" > self< / span > , < / span > < span class = "param" > < span class = "n" > sql< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > , < / span > < span class = "param" > < span class = "o" > **< / span > < span class = "n" > opts< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > < a href = "../expressions.html#Expression" > sqlglot.expressions.Expression< / a > < / span > < span class = "p" > ]]< / span > :< / span > < / span >
< label class = "view-source-button" for = "Dialect.parse-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#Dialect.parse" > < / a >
2025-02-13 21:04:14 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "Dialect.parse-311" > < a href = "#Dialect.parse-311" > < span class = "linenos" > 311< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > parse< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > sql< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ]]:< / span >
< / span > < span id = "Dialect.parse-312" > < a href = "#Dialect.parse-312" > < span class = "linenos" > 312< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > parser< / span > < span class = "p" > (< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > parse< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > tokenize< / span > < span class = "p" > (< / span > < span class = "n" > sql< / span > < span class = "p" > ),< / span > < span class = "n" > sql< / span > < span class = "p" > )< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / div >
< div id = "Dialect.parse_into" class = "classattr" >
< input id = "Dialect.parse_into-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > parse_into< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > ,< / span > < span class = "param" > < span class = "n" > expression_type< / span > < span class = "p" > :< / span > < span class = "n" > Union< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "n" > < a href = "../expressions.html#Expression" > sqlglot.expressions.Expression< / a > < / span > < span class = "p" > ],< / span > < span class = "n" > Collection< / span > < span class = "p" > [< / span > < span class = "n" > Union< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "n" > < a href = "../expressions.html#Expression" > sqlglot.expressions.Expression< / a > < / span > < span class = "p" > ]]]]< / span > ,< / span > < span class = "param" > < span class = "n" > sql< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > ,< / span > < span class = "param" > < span class = "o" > **< / span > < span class = "n" > opts< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > < a href = "../expressions.html#Expression" > sqlglot.expressions.Expression< / a > < / span > < span class = "p" > ]]< / span > :< / span > < / span >
< label class = "view-source-button" for = "Dialect.parse_into-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#Dialect.parse_into" > < / a >
2025-02-13 21:04:14 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "Dialect.parse_into-314" > < a href = "#Dialect.parse_into-314" > < span class = "linenos" > 314< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > parse_into< / span > < span class = "p" > (< / span >
< / span > < span id = "Dialect.parse_into-315" > < a href = "#Dialect.parse_into-315" > < span class = "linenos" > 315< / span > < / a > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > expression_type< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > IntoType< / span > < span class = "p" > ,< / span > < span class = "n" > sql< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span >
< / span > < span id = "Dialect.parse_into-316" > < a href = "#Dialect.parse_into-316" > < span class = "linenos" > 316< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ]]:< / span >
< / span > < span id = "Dialect.parse_into-317" > < a href = "#Dialect.parse_into-317" > < span class = "linenos" > 317< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > parser< / span > < span class = "p" > (< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > parse_into< / span > < span class = "p" > (< / span > < span class = "n" > expression_type< / span > < span class = "p" > ,< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > tokenize< / span > < span class = "p" > (< / span > < span class = "n" > sql< / span > < span class = "p" > ),< / span > < span class = "n" > sql< / span > < span class = "p" > )< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / div >
< div id = "Dialect.generate" class = "classattr" >
< input id = "Dialect.generate-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
2025-02-13 21:15:38 +01:00
< span class = "name" > generate< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#Expression" > sqlglot.expressions.Expression< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > copy< / span > < span class = "p" > :< / span > < span class = "nb" > bool< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span > ,< / span > < span class = "param" > < span class = "o" > **< / span > < span class = "n" > opts< / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
2025-02-13 15:22:50 +01:00
< label class = "view-source-button" for = "Dialect.generate-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#Dialect.generate" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "Dialect.generate-319" > < a href = "#Dialect.generate-319" > < span class = "linenos" > 319< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > generate< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ,< / span > < span class = "n" > copy< / span > < span class = "p" > :< / span > < span class = "nb" > bool< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect.generate-320" > < a href = "#Dialect.generate-320" > < span class = "linenos" > 320< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > generator< / span > < span class = "p" > (< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > generate< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > copy< / span > < span class = "o" > =< / span > < span class = "n" > copy< / span > < span class = "p" > )< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / div >
< div id = "Dialect.transpile" class = "classattr" >
< input id = "Dialect.transpile-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > transpile< / span > < span class = "signature pdoc-code condensed" > (< span class = "param" > < span class = "bp" > self< / span > , < / span > < span class = "param" > < span class = "n" > sql< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > , < / span > < span class = "param" > < span class = "o" > **< / span > < span class = "n" > opts< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ]< / span > :< / span > < / span >
< label class = "view-source-button" for = "Dialect.transpile-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#Dialect.transpile" > < / a >
2025-02-13 21:04:14 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "Dialect.transpile-322" > < a href = "#Dialect.transpile-322" > < span class = "linenos" > 322< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > transpile< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > sql< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ]:< / span >
2025-02-13 21:15:38 +01:00
< / span > < span id = "Dialect.transpile-323" > < a href = "#Dialect.transpile-323" > < span class = "linenos" > 323< / span > < / a > < span class = "k" > return< / span > < span class = "p" > [< / span >
< / span > < span id = "Dialect.transpile-324" > < a href = "#Dialect.transpile-324" > < span class = "linenos" > 324< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > generate< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > copy< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "k" > else< / span > < span class = "s2" > " " < / span >
< / span > < span id = "Dialect.transpile-325" > < a href = "#Dialect.transpile-325" > < span class = "linenos" > 325< / span > < / a > < span class = "k" > for< / span > < span class = "n" > expression< / span > < span class = "ow" > in< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > parse< / span > < span class = "p" > (< / span > < span class = "n" > sql< / span > < span class = "p" > )< / span >
< / span > < span id = "Dialect.transpile-326" > < a href = "#Dialect.transpile-326" > < span class = "linenos" > 326< / span > < / a > < span class = "p" > ]< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
2025-02-13 15:45:33 +01:00
< / div >
< div id = "Dialect.tokenize" class = "classattr" >
< input id = "Dialect.tokenize-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > tokenize< / span > < span class = "signature pdoc-code condensed" > (< span class = "param" > < span class = "bp" > self< / span > , < / span > < span class = "param" > < span class = "n" > sql< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "n" > < a href = "../tokens.html#Token" > sqlglot.tokens.Token< / a > < / span > < span class = "p" > ]< / span > :< / span > < / span >
< label class = "view-source-button" for = "Dialect.tokenize-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#Dialect.tokenize" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "Dialect.tokenize-328" > < a href = "#Dialect.tokenize-328" > < span class = "linenos" > 328< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > tokenize< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > sql< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "n" > Token< / span > < span class = "p" > ]:< / span >
< / span > < span id = "Dialect.tokenize-329" > < a href = "#Dialect.tokenize-329" > < span class = "linenos" > 329< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > tokenizer< / span > < span class = "o" > .< / span > < span class = "n" > tokenize< / span > < span class = "p" > (< / span > < span class = "n" > sql< / span > < span class = "p" > )< / span >
2025-02-13 15:45:33 +01:00
< / span > < / pre > < / div >
2025-02-13 20:09:11 +01:00
< / div >
< div id = "Dialect.tokenizer" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > tokenizer< / span > < span class = "annotation" > : < a href = "../tokens.html#Tokenizer" > sqlglot.tokens.Tokenizer< / a > < / span >
< / div >
< a class = "headerlink" href = "#Dialect.tokenizer" > < / a >
2025-02-13 15:22:50 +01:00
< / div >
< div id = "Dialect.parser" class = "classattr" >
< input id = "Dialect.parser-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > parser< / span > < span class = "signature pdoc-code condensed" > (< span class = "param" > < span class = "bp" > self< / span > , < / span > < span class = "param" > < span class = "o" > **< / span > < span class = "n" > opts< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > < a href = "../parser.html#Parser" > sqlglot.parser.Parser< / a > < / span > :< / span > < / span >
< label class = "view-source-button" for = "Dialect.parser-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#Dialect.parser" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "Dialect.parser-337" > < a href = "#Dialect.parser-337" > < span class = "linenos" > 337< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > parser< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > Parser< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect.parser-338" > < a href = "#Dialect.parser-338" > < span class = "linenos" > 338< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > parser_class< / span > < span class = "p" > (< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / div >
< div id = "Dialect.generator" class = "classattr" >
< input id = "Dialect.generator-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > generator< / span > < span class = "signature pdoc-code condensed" > (< span class = "param" > < span class = "bp" > self< / span > , < / span > < span class = "param" > < span class = "o" > **< / span > < span class = "n" > opts< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > :< / span > < / span >
< label class = "view-source-button" for = "Dialect.generator-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#Dialect.generator" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "Dialect.generator-340" > < a href = "#Dialect.generator-340" > < span class = "linenos" > 340< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > generator< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > Generator< / span > < span class = "p" > :< / span >
< / span > < span id = "Dialect.generator-341" > < a href = "#Dialect.generator-341" > < span class = "linenos" > 341< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > generator_class< / span > < span class = "p" > (< / span > < span class = "o" > **< / span > < span class = "n" > opts< / span > < span class = "p" > )< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / div >
2025-02-13 20:09:11 +01:00
< div id = "Dialect.QUOTE_START" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > QUOTE_START< / span > =
< span class = "default_value" > " ' " < / span >
< / div >
< a class = "headerlink" href = "#Dialect.QUOTE_START" > < / a >
< / div >
< div id = "Dialect.QUOTE_END" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > QUOTE_END< / span > =
< span class = "default_value" > " ' " < / span >
< / div >
< a class = "headerlink" href = "#Dialect.QUOTE_END" > < / a >
< / div >
< div id = "Dialect.IDENTIFIER_START" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > IDENTIFIER_START< / span > =
< span class = "default_value" > ' " ' < / span >
< / div >
< a class = "headerlink" href = "#Dialect.IDENTIFIER_START" > < / a >
< / div >
< div id = "Dialect.IDENTIFIER_END" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > IDENTIFIER_END< / span > =
< span class = "default_value" > ' " ' < / span >
< / div >
< a class = "headerlink" href = "#Dialect.IDENTIFIER_END" > < / a >
< / div >
< div id = "Dialect.BIT_START" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > BIT_START< / span > =
< span class = "default_value" > None< / span >
< / div >
< a class = "headerlink" href = "#Dialect.BIT_START" > < / a >
< / div >
< div id = "Dialect.BIT_END" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > BIT_END< / span > =
< span class = "default_value" > None< / span >
< / div >
< a class = "headerlink" href = "#Dialect.BIT_END" > < / a >
< / div >
< div id = "Dialect.HEX_START" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > HEX_START< / span > =
< span class = "default_value" > None< / span >
< / div >
< a class = "headerlink" href = "#Dialect.HEX_START" > < / a >
< / div >
< div id = "Dialect.HEX_END" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > HEX_END< / span > =
< span class = "default_value" > None< / span >
< / div >
< a class = "headerlink" href = "#Dialect.HEX_END" > < / a >
< / div >
< div id = "Dialect.BYTE_START" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > BYTE_START< / span > =
< span class = "default_value" > None< / span >
< / div >
< a class = "headerlink" href = "#Dialect.BYTE_START" > < / a >
< / div >
< div id = "Dialect.BYTE_END" class = "classattr" >
< div class = "attr variable" >
< span class = "name" > BYTE_END< / span > =
< span class = "default_value" > None< / span >
< / div >
< a class = "headerlink" href = "#Dialect.BYTE_END" > < / a >
< / div >
< / section >
< section id = "DialectType" >
< div class = "attr variable" >
< span class = "name" > DialectType< / span > =
< input id = "DialectType-view-value" class = "view-value-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
2025-02-13 21:00:44 +01:00
< label class = "view-value-button pdoc-button" for = "DialectType-view-value" > < / label > < span class = "default_value" > typing.Union[str, < a href = "#Dialect" > Dialect< / a > , typing.Type[< a href = "#Dialect" > Dialect< / a > ], NoneType]< / span >
2025-02-13 20:09:11 +01:00
< / div >
< a class = "headerlink" href = "#DialectType" > < / a >
2025-02-13 15:22:50 +01:00
< / section >
< section id = "rename_func" >
< input id = "rename_func-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > rename_func< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "n" > name< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > < span class = "p" > ,< / span > < span class = "n" > < a href = "../expressions.html#Expression" > sqlglot.expressions.Expression< / a > < / span > < span class = "p" > ],< / span > < span class = "nb" > str< / span > < span class = "p" > ]< / span > :< / span > < / span >
< label class = "view-source-button" for = "rename_func-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#rename_func" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "rename_func-347" > < a href = "#rename_func-347" > < span class = "linenos" > 347< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > rename_func< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ],< / span > < span class = "nb" > str< / span > < span class = "p" > ]:< / span >
< / span > < span id = "rename_func-348" > < a href = "#rename_func-348" > < span class = "linenos" > 348< / span > < / a > < span class = "k" > return< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > ,< / span > < span class = "o" > *< / span > < span class = "n" > flatten< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > values< / span > < span class = "p" > ()))< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "approx_count_distinct_sql" >
< input id = "approx_count_distinct_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > approx_count_distinct_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#ApproxDistinct" > sqlglot.expressions.ApproxDistinct< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "approx_count_distinct_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#approx_count_distinct_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "approx_count_distinct_sql-351" > < a href = "#approx_count_distinct_sql-351" > < span class = "linenos" > 351< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > approx_count_distinct_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ApproxDistinct< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "approx_count_distinct_sql-352" > < a href = "#approx_count_distinct_sql-352" > < span class = "linenos" > 352< / span > < / a > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " accuracy" < / span > < span class = "p" > ):< / span >
< / span > < span id = "approx_count_distinct_sql-353" > < a href = "#approx_count_distinct_sql-353" > < span class = "linenos" > 353< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "s2" > " APPROX_COUNT_DISTINCT does not support accuracy" < / span > < span class = "p" > )< / span >
< / span > < span id = "approx_count_distinct_sql-354" > < a href = "#approx_count_distinct_sql-354" > < span class = "linenos" > 354< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "s2" > " APPROX_COUNT_DISTINCT" < / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > )< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "if_sql" >
< input id = "if_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
2025-02-13 21:03:05 +01:00
< span class = "name" > if_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "n" > name< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "o" > =< / span > < span class = "s1" > ' IF' < / span > ,< / span > < span class = "param" > < span class = "n" > false_value< / span > < span class = "p" > :< / span > < span class = "n" > Union< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "n" > < a href = "../expressions.html#Expression" > sqlglot.expressions.Expression< / a > < / span > < span class = "p" > ,< / span > < span class = "n" > NoneType< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > < span class = "p" > ,< / span > < span class = "n" > < a href = "../expressions.html#If" > sqlglot.expressions.If< / a > < / span > < span class = "p" > ],< / span > < span class = "nb" > str< / span > < span class = "p" > ]< / span > :< / span > < / span >
2025-02-13 15:22:50 +01:00
< label class = "view-source-button" for = "if_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#if_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "if_sql-357" > < a href = "#if_sql-357" > < span class = "linenos" > 357< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > if_sql< / span > < span class = "p" > (< / span >
< / span > < span id = "if_sql-358" > < a href = "#if_sql-358" > < span class = "linenos" > 358< / span > < / a > < span class = "n" > name< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "o" > =< / span > < span class = "s2" > " IF" < / span > < span class = "p" > ,< / span > < span class = "n" > false_value< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "o" > |< / span > < span class = "nb" > str< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span >
< / span > < span id = "if_sql-359" > < a href = "#if_sql-359" > < span class = "linenos" > 359< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > If< / span > < span class = "p" > ],< / span > < span class = "nb" > str< / span > < span class = "p" > ]:< / span >
< / span > < span id = "if_sql-360" > < a href = "#if_sql-360" > < span class = "linenos" > 360< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _if_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > If< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "if_sql-361" > < a href = "#if_sql-361" > < span class = "linenos" > 361< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span >
< / span > < span id = "if_sql-362" > < a href = "#if_sql-362" > < span class = "linenos" > 362< / span > < / a > < span class = "n" > name< / span > < span class = "p" > ,< / span >
< / span > < span id = "if_sql-363" > < a href = "#if_sql-363" > < span class = "linenos" > 363< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span >
< / span > < span id = "if_sql-364" > < a href = "#if_sql-364" > < span class = "linenos" > 364< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " true" < / span > < span class = "p" > ),< / span >
< / span > < span id = "if_sql-365" > < a href = "#if_sql-365" > < span class = "linenos" > 365< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " false" < / span > < span class = "p" > )< / span > < span class = "ow" > or< / span > < span class = "n" > false_value< / span > < span class = "p" > ,< / span >
< / span > < span id = "if_sql-366" > < a href = "#if_sql-366" > < span class = "linenos" > 366< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "if_sql-367" > < a href = "#if_sql-367" > < span class = "linenos" > 367< / span > < / a >
< / span > < span id = "if_sql-368" > < a href = "#if_sql-368" > < span class = "linenos" > 368< / span > < / a > < span class = "k" > return< / span > < span class = "n" > _if_sql< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "arrow_json_extract_sql" >
< input id = "arrow_json_extract_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > arrow_json_extract_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#JSONExtract" > sqlglot.expressions.JSONExtract< / a > < / span > < span class = "o" > |< / span > < span class = "n" > < a href = "../expressions.html#JSONBExtract" > sqlglot.expressions.JSONBExtract< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "arrow_json_extract_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#arrow_json_extract_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "arrow_json_extract_sql-371" > < a href = "#arrow_json_extract_sql-371" > < span class = "linenos" > 371< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > arrow_json_extract_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > JSONExtract< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > JSONBExtract< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "arrow_json_extract_sql-372" > < a href = "#arrow_json_extract_sql-372" > < span class = "linenos" > 372< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > binary< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " -> " < / span > < span class = "p" > )< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "arrow_json_extract_scalar_sql" >
< input id = "arrow_json_extract_scalar_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > arrow_json_extract_scalar_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#JSONExtractScalar" > sqlglot.expressions.JSONExtractScalar< / a > < / span > < span class = "o" > |< / span > < span class = "n" > < a href = "../expressions.html#JSONBExtractScalar" > sqlglot.expressions.JSONBExtractScalar< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "arrow_json_extract_scalar_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#arrow_json_extract_scalar_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "arrow_json_extract_scalar_sql-375" > < a href = "#arrow_json_extract_scalar_sql-375" > < span class = "linenos" > 375< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > arrow_json_extract_scalar_sql< / span > < span class = "p" > (< / span >
< / span > < span id = "arrow_json_extract_scalar_sql-376" > < a href = "#arrow_json_extract_scalar_sql-376" > < span class = "linenos" > 376< / span > < / a > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > JSONExtractScalar< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > JSONBExtractScalar< / span >
< / span > < span id = "arrow_json_extract_scalar_sql-377" > < a href = "#arrow_json_extract_scalar_sql-377" > < span class = "linenos" > 377< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "arrow_json_extract_scalar_sql-378" > < a href = "#arrow_json_extract_scalar_sql-378" > < span class = "linenos" > 378< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > binary< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " -> > " < / span > < span class = "p" > )< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "inline_array_sql" >
< input id = "inline_array_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > inline_array_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#Array" > sqlglot.expressions.Array< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "inline_array_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#inline_array_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "inline_array_sql-381" > < a href = "#inline_array_sql-381" > < span class = "linenos" > 381< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > inline_array_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Array< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "inline_array_sql-382" > < a href = "#inline_array_sql-382" > < span class = "linenos" > 382< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " [< / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "n" > flat< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > ]" < / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "no_ilike_sql" >
< input id = "no_ilike_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > no_ilike_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#ILike" > sqlglot.expressions.ILike< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "no_ilike_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#no_ilike_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "no_ilike_sql-385" > < a href = "#no_ilike_sql-385" > < span class = "linenos" > 385< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > no_ilike_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ILike< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "no_ilike_sql-386" > < a href = "#no_ilike_sql-386" > < span class = "linenos" > 386< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > like_sql< / span > < span class = "p" > (< / span >
< / span > < span id = "no_ilike_sql-387" > < a href = "#no_ilike_sql-387" > < span class = "linenos" > 387< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Like< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Lower< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ),< / span > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
< / span > < span id = "no_ilike_sql-388" > < a href = "#no_ilike_sql-388" > < span class = "linenos" > 388< / span > < / a > < span class = "p" > )< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "no_paren_current_date_sql" >
< input id = "no_paren_current_date_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > no_paren_current_date_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#CurrentDate" > sqlglot.expressions.CurrentDate< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "no_paren_current_date_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#no_paren_current_date_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "no_paren_current_date_sql-391" > < a href = "#no_paren_current_date_sql-391" > < span class = "linenos" > 391< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > no_paren_current_date_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > CurrentDate< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "no_paren_current_date_sql-392" > < a href = "#no_paren_current_date_sql-392" > < span class = "linenos" > 392< / span > < / a > < span class = "n" > zone< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " this" < / span > < span class = "p" > )< / span >
< / span > < span id = "no_paren_current_date_sql-393" > < a href = "#no_paren_current_date_sql-393" > < span class = "linenos" > 393< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " CURRENT_DATE AT TIME ZONE < / span > < span class = "si" > {< / span > < span class = "n" > zone< / span > < span class = "si" > }< / span > < span class = "s2" > " < / span > < span class = "k" > if< / span > < span class = "n" > zone< / span > < span class = "k" > else< / span > < span class = "s2" > " CURRENT_DATE" < / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "no_recursive_cte_sql" >
< input id = "no_recursive_cte_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > no_recursive_cte_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#With" > sqlglot.expressions.With< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "no_recursive_cte_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#no_recursive_cte_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "no_recursive_cte_sql-396" > < a href = "#no_recursive_cte_sql-396" > < span class = "linenos" > 396< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > no_recursive_cte_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > With< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "no_recursive_cte_sql-397" > < a href = "#no_recursive_cte_sql-397" > < span class = "linenos" > 397< / span > < / a > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " recursive" < / span > < span class = "p" > ):< / span >
< / span > < span id = "no_recursive_cte_sql-398" > < a href = "#no_recursive_cte_sql-398" > < span class = "linenos" > 398< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "s2" > " Recursive CTEs are unsupported" < / span > < span class = "p" > )< / span >
< / span > < span id = "no_recursive_cte_sql-399" > < a href = "#no_recursive_cte_sql-399" > < span class = "linenos" > 399< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "s2" > " recursive" < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span >
< / span > < span id = "no_recursive_cte_sql-400" > < a href = "#no_recursive_cte_sql-400" > < span class = "linenos" > 400< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > with_sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "no_safe_divide_sql" >
< input id = "no_safe_divide_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > no_safe_divide_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#SafeDivide" > sqlglot.expressions.SafeDivide< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "no_safe_divide_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#no_safe_divide_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "no_safe_divide_sql-403" > < a href = "#no_safe_divide_sql-403" > < span class = "linenos" > 403< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > no_safe_divide_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > SafeDivide< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "no_safe_divide_sql-404" > < a href = "#no_safe_divide_sql-404" > < span class = "linenos" > 404< / span > < / a > < span class = "n" > n< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " this" < / span > < span class = "p" > )< / span >
< / span > < span id = "no_safe_divide_sql-405" > < a href = "#no_safe_divide_sql-405" > < span class = "linenos" > 405< / span > < / a > < span class = "n" > d< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " expression" < / span > < span class = "p" > )< / span >
< / span > < span id = "no_safe_divide_sql-406" > < a href = "#no_safe_divide_sql-406" > < span class = "linenos" > 406< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " IF(< / span > < span class = "si" > {< / span > < span class = "n" > d< / span > < span class = "si" > }< / span > < span class = "s2" > < > 0, < / span > < span class = "si" > {< / span > < span class = "n" > n< / span > < span class = "si" > }< / span > < span class = "s2" > / < / span > < span class = "si" > {< / span > < span class = "n" > d< / span > < span class = "si" > }< / span > < span class = "s2" > , NULL)" < / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "no_tablesample_sql" >
< input id = "no_tablesample_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > no_tablesample_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#TableSample" > sqlglot.expressions.TableSample< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "no_tablesample_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#no_tablesample_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "no_tablesample_sql-409" > < a href = "#no_tablesample_sql-409" > < span class = "linenos" > 409< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > no_tablesample_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TableSample< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "no_tablesample_sql-410" > < a href = "#no_tablesample_sql-410" > < span class = "linenos" > 410< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "s2" > " TABLESAMPLE unsupported" < / span > < span class = "p" > )< / span >
< / span > < span id = "no_tablesample_sql-411" > < a href = "#no_tablesample_sql-411" > < span class = "linenos" > 411< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > )< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "no_pivot_sql" >
< input id = "no_pivot_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > no_pivot_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#Pivot" > sqlglot.expressions.Pivot< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "no_pivot_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#no_pivot_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "no_pivot_sql-414" > < a href = "#no_pivot_sql-414" > < span class = "linenos" > 414< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > no_pivot_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Pivot< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "no_pivot_sql-415" > < a href = "#no_pivot_sql-415" > < span class = "linenos" > 415< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "s2" > " PIVOT unsupported" < / span > < span class = "p" > )< / span >
< / span > < span id = "no_pivot_sql-416" > < a href = "#no_pivot_sql-416" > < span class = "linenos" > 416< / span > < / a > < span class = "k" > return< / span > < span class = "s2" > " " < / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "no_trycast_sql" >
< input id = "no_trycast_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > no_trycast_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#TryCast" > sqlglot.expressions.TryCast< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "no_trycast_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#no_trycast_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "no_trycast_sql-419" > < a href = "#no_trycast_sql-419" > < span class = "linenos" > 419< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > no_trycast_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TryCast< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "no_trycast_sql-420" > < a href = "#no_trycast_sql-420" > < span class = "linenos" > 420< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > cast_sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "no_properties_sql" >
< input id = "no_properties_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > no_properties_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#Properties" > sqlglot.expressions.Properties< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "no_properties_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#no_properties_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "no_properties_sql-423" > < a href = "#no_properties_sql-423" > < span class = "linenos" > 423< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > no_properties_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Properties< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "no_properties_sql-424" > < a href = "#no_properties_sql-424" > < span class = "linenos" > 424< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "s2" > " Properties unsupported" < / span > < span class = "p" > )< / span >
< / span > < span id = "no_properties_sql-425" > < a href = "#no_properties_sql-425" > < span class = "linenos" > 425< / span > < / a > < span class = "k" > return< / span > < span class = "s2" > " " < / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
2025-02-13 15:51:35 +01:00
< / section >
< section id = "no_comment_column_constraint_sql" >
< input id = "no_comment_column_constraint_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > no_comment_column_constraint_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#CommentColumnConstraint" > sqlglot.expressions.CommentColumnConstraint< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "no_comment_column_constraint_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#no_comment_column_constraint_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "no_comment_column_constraint_sql-428" > < a href = "#no_comment_column_constraint_sql-428" > < span class = "linenos" > 428< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > no_comment_column_constraint_sql< / span > < span class = "p" > (< / span >
< / span > < span id = "no_comment_column_constraint_sql-429" > < a href = "#no_comment_column_constraint_sql-429" > < span class = "linenos" > 429< / span > < / a > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > CommentColumnConstraint< / span >
< / span > < span id = "no_comment_column_constraint_sql-430" > < a href = "#no_comment_column_constraint_sql-430" > < span class = "linenos" > 430< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "no_comment_column_constraint_sql-431" > < a href = "#no_comment_column_constraint_sql-431" > < span class = "linenos" > 431< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "s2" > " CommentColumnConstraint unsupported" < / span > < span class = "p" > )< / span >
< / span > < span id = "no_comment_column_constraint_sql-432" > < a href = "#no_comment_column_constraint_sql-432" > < span class = "linenos" > 432< / span > < / a > < span class = "k" > return< / span > < span class = "s2" > " " < / span >
2025-02-13 15:51:35 +01:00
< / span > < / pre > < / div >
2025-02-13 20:20:19 +01:00
< / section >
< section id = "no_map_from_entries_sql" >
< input id = "no_map_from_entries_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > no_map_from_entries_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#MapFromEntries" > sqlglot.expressions.MapFromEntries< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "no_map_from_entries_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#no_map_from_entries_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "no_map_from_entries_sql-435" > < a href = "#no_map_from_entries_sql-435" > < span class = "linenos" > 435< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > no_map_from_entries_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > MapFromEntries< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "no_map_from_entries_sql-436" > < a href = "#no_map_from_entries_sql-436" > < span class = "linenos" > 436< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "s2" > " MAP_FROM_ENTRIES unsupported" < / span > < span class = "p" > )< / span >
< / span > < span id = "no_map_from_entries_sql-437" > < a href = "#no_map_from_entries_sql-437" > < span class = "linenos" > 437< / span > < / a > < span class = "k" > return< / span > < span class = "s2" > " " < / span >
2025-02-13 20:20:19 +01:00
< / span > < / pre > < / div >
2025-02-13 15:22:50 +01:00
< / section >
< section id = "str_position_sql" >
< input id = "str_position_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > str_position_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#StrPosition" > sqlglot.expressions.StrPosition< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "str_position_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#str_position_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "str_position_sql-440" > < a href = "#str_position_sql-440" > < span class = "linenos" > 440< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > str_position_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StrPosition< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "str_position_sql-441" > < a href = "#str_position_sql-441" > < span class = "linenos" > 441< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " this" < / span > < span class = "p" > )< / span >
< / span > < span id = "str_position_sql-442" > < a href = "#str_position_sql-442" > < span class = "linenos" > 442< / span > < / a > < span class = "n" > substr< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " substr" < / span > < span class = "p" > )< / span >
< / span > < span id = "str_position_sql-443" > < a href = "#str_position_sql-443" > < span class = "linenos" > 443< / span > < / a > < span class = "n" > position< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " position" < / span > < span class = "p" > )< / span >
< / span > < span id = "str_position_sql-444" > < a href = "#str_position_sql-444" > < span class = "linenos" > 444< / span > < / a > < span class = "k" > if< / span > < span class = "n" > position< / span > < span class = "p" > :< / span >
< / span > < span id = "str_position_sql-445" > < a href = "#str_position_sql-445" > < span class = "linenos" > 445< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " STRPOS(SUBSTR(< / span > < span class = "si" > {< / span > < span class = "n" > this< / span > < span class = "si" > }< / span > < span class = "s2" > , < / span > < span class = "si" > {< / span > < span class = "n" > position< / span > < span class = "si" > }< / span > < span class = "s2" > ), < / span > < span class = "si" > {< / span > < span class = "n" > substr< / span > < span class = "si" > }< / span > < span class = "s2" > ) + < / span > < span class = "si" > {< / span > < span class = "n" > position< / span > < span class = "si" > }< / span > < span class = "s2" > - 1" < / span >
< / span > < span id = "str_position_sql-446" > < a href = "#str_position_sql-446" > < span class = "linenos" > 446< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " STRPOS(< / span > < span class = "si" > {< / span > < span class = "n" > this< / span > < span class = "si" > }< / span > < span class = "s2" > , < / span > < span class = "si" > {< / span > < span class = "n" > substr< / span > < span class = "si" > }< / span > < span class = "s2" > )" < / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "struct_extract_sql" >
< input id = "struct_extract_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > struct_extract_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#StructExtract" > sqlglot.expressions.StructExtract< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "struct_extract_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#struct_extract_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "struct_extract_sql-449" > < a href = "#struct_extract_sql-449" > < span class = "linenos" > 449< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > struct_extract_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StructExtract< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "struct_extract_sql-450" > < a href = "#struct_extract_sql-450" > < span class = "linenos" > 450< / span > < / a > < span class = "k" > return< / span > < span class = "p" > (< / span >
< / span > < span id = "struct_extract_sql-451" > < a href = "#struct_extract_sql-451" > < span class = "linenos" > 451< / span > < / a > < span class = "sa" > f< / span > < span class = "s2" > " < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' this' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > .< / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > to_identifier< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "p" > ))< / span > < span class = "si" > }< / span > < span class = "s2" > " < / span >
< / span > < span id = "struct_extract_sql-452" > < a href = "#struct_extract_sql-452" > < span class = "linenos" > 452< / span > < / a > < span class = "p" > )< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "var_map_sql" >
< input id = "var_map_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > var_map_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#Map" > sqlglot.expressions.Map< / a > < / span > < span class = "o" > |< / span > < span class = "n" > < a href = "../expressions.html#VarMap" > sqlglot.expressions.VarMap< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > map_func_name< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "o" > =< / span > < span class = "s1" > ' MAP' < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "var_map_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#var_map_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "var_map_sql-455" > < a href = "#var_map_sql-455" > < span class = "linenos" > 455< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > var_map_sql< / span > < span class = "p" > (< / span >
< / span > < span id = "var_map_sql-456" > < a href = "#var_map_sql-456" > < span class = "linenos" > 456< / span > < / a > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Map< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > VarMap< / span > < span class = "p" > ,< / span > < span class = "n" > map_func_name< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "o" > =< / span > < span class = "s2" > " MAP" < / span >
< / span > < span id = "var_map_sql-457" > < a href = "#var_map_sql-457" > < span class = "linenos" > 457< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "var_map_sql-458" > < a href = "#var_map_sql-458" > < span class = "linenos" > 458< / span > < / a > < span class = "n" > keys< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "s2" > " keys" < / span > < span class = "p" > ]< / span >
< / span > < span id = "var_map_sql-459" > < a href = "#var_map_sql-459" > < span class = "linenos" > 459< / span > < / a > < span class = "n" > values< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "s2" > " values" < / span > < span class = "p" > ]< / span >
< / span > < span id = "var_map_sql-460" > < a href = "#var_map_sql-460" > < span class = "linenos" > 460< / span > < / a >
< / span > < span id = "var_map_sql-461" > < a href = "#var_map_sql-461" > < span class = "linenos" > 461< / span > < / a > < span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > keys< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Array< / span > < span class = "p" > )< / span > < span class = "ow" > or< / span > < span class = "ow" > not< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > values< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Array< / span > < span class = "p" > ):< / span >
< / span > < span id = "var_map_sql-462" > < a href = "#var_map_sql-462" > < span class = "linenos" > 462< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "s2" > " Cannot convert array columns into map." < / span > < span class = "p" > )< / span >
< / span > < span id = "var_map_sql-463" > < a href = "#var_map_sql-463" > < span class = "linenos" > 463< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "n" > map_func_name< / span > < span class = "p" > ,< / span > < span class = "n" > keys< / span > < span class = "p" > ,< / span > < span class = "n" > values< / span > < span class = "p" > )< / span >
< / span > < span id = "var_map_sql-464" > < a href = "#var_map_sql-464" > < span class = "linenos" > 464< / span > < / a >
< / span > < span id = "var_map_sql-465" > < a href = "#var_map_sql-465" > < span class = "linenos" > 465< / span > < / a > < span class = "n" > args< / span > < span class = "o" > =< / span > < span class = "p" > []< / span >
< / span > < span id = "var_map_sql-466" > < a href = "#var_map_sql-466" > < span class = "linenos" > 466< / span > < / a > < span class = "k" > for< / span > < span class = "n" > key< / span > < span class = "p" > ,< / span > < span class = "n" > value< / span > < span class = "ow" > in< / span > < span class = "nb" > zip< / span > < span class = "p" > (< / span > < span class = "n" > keys< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "p" > ,< / span > < span class = "n" > values< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "p" > ):< / span >
< / span > < span id = "var_map_sql-467" > < a href = "#var_map_sql-467" > < span class = "linenos" > 467< / span > < / a > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > append< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > key< / span > < span class = "p" > ))< / span >
< / span > < span id = "var_map_sql-468" > < a href = "#var_map_sql-468" > < span class = "linenos" > 468< / span > < / a > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > append< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > value< / span > < span class = "p" > ))< / span >
< / span > < span id = "var_map_sql-469" > < a href = "#var_map_sql-469" > < span class = "linenos" > 469< / span > < / a >
< / span > < span id = "var_map_sql-470" > < a href = "#var_map_sql-470" > < span class = "linenos" > 470< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "n" > map_func_name< / span > < span class = "p" > ,< / span > < span class = "o" > *< / span > < span class = "n" > args< / span > < span class = "p" > )< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "format_time_lambda" >
< input id = "format_time_lambda-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
2025-02-13 16:00:14 +01:00
< span class = "name" > format_time_lambda< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "n" > exp_class< / span > < span class = "p" > :< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "o" > ~< / span > < span class = "n" > E< / span > < span class = "p" > ]< / span > ,< / span > < span class = "param" > < span class = "n" > dialect< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > ,< / span > < span class = "param" > < span class = "n" > default< / span > < span class = "p" > :< / span > < span class = "n" > Union< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "nb" > bool< / span > < span class = "p" > ,< / span > < span class = "n" > NoneType< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > List< / span > < span class = "p" > ],< / span > < span class = "o" > ~< / span > < span class = "n" > E< / span > < span class = "p" > ]< / span > :< / span > < / span >
2025-02-13 15:22:50 +01:00
< label class = "view-source-button" for = "format_time_lambda-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#format_time_lambda" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "format_time_lambda-473" > < a href = "#format_time_lambda-473" > < span class = "linenos" > 473< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > format_time_lambda< / span > < span class = "p" > (< / span >
< / span > < span id = "format_time_lambda-474" > < a href = "#format_time_lambda-474" > < span class = "linenos" > 474< / span > < / a > < span class = "n" > exp_class< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "n" > E< / span > < span class = "p" > ],< / span > < span class = "n" > dialect< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "n" > default< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "nb" > bool< / span > < span class = "o" > |< / span > < span class = "nb" > str< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span >
< / span > < span id = "format_time_lambda-475" > < a href = "#format_time_lambda-475" > < span class = "linenos" > 475< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > ],< / span > < span class = "n" > E< / span > < span class = "p" > ]:< / span >
< / span > < span id = "format_time_lambda-476" > < a href = "#format_time_lambda-476" > < span class = "linenos" > 476< / span > < / a > < span class = "w" > < / span > < span class = "sd" > " " " Helper used for time expressions.< / span >
< / span > < span id = "format_time_lambda-477" > < a href = "#format_time_lambda-477" > < span class = "linenos" > 477< / span > < / a >
< / span > < span id = "format_time_lambda-478" > < a href = "#format_time_lambda-478" > < span class = "linenos" > 478< / span > < / a > < span class = "sd" > Args:< / span >
< / span > < span id = "format_time_lambda-479" > < a href = "#format_time_lambda-479" > < span class = "linenos" > 479< / span > < / a > < span class = "sd" > exp_class: the expression class to instantiate.< / span >
< / span > < span id = "format_time_lambda-480" > < a href = "#format_time_lambda-480" > < span class = "linenos" > 480< / span > < / a > < span class = "sd" > dialect: target sql dialect.< / span >
< / span > < span id = "format_time_lambda-481" > < a href = "#format_time_lambda-481" > < span class = "linenos" > 481< / span > < / a > < span class = "sd" > default: the default format, True being time.< / span >
< / span > < span id = "format_time_lambda-482" > < a href = "#format_time_lambda-482" > < span class = "linenos" > 482< / span > < / a >
< / span > < span id = "format_time_lambda-483" > < a href = "#format_time_lambda-483" > < span class = "linenos" > 483< / span > < / a > < span class = "sd" > Returns:< / span >
< / span > < span id = "format_time_lambda-484" > < a href = "#format_time_lambda-484" > < span class = "linenos" > 484< / span > < / a > < span class = "sd" > A callable that can be used to return the appropriately formatted time expression.< / span >
< / span > < span id = "format_time_lambda-485" > < a href = "#format_time_lambda-485" > < span class = "linenos" > 485< / span > < / a > < span class = "sd" > " " " < / span >
< / span > < span id = "format_time_lambda-486" > < a href = "#format_time_lambda-486" > < span class = "linenos" > 486< / span > < / a >
< / span > < span id = "format_time_lambda-487" > < a href = "#format_time_lambda-487" > < span class = "linenos" > 487< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _format_time< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > ):< / span >
< / span > < span id = "format_time_lambda-488" > < a href = "#format_time_lambda-488" > < span class = "linenos" > 488< / span > < / a > < span class = "k" > return< / span > < span class = "n" > exp_class< / span > < span class = "p" > (< / span >
< / span > < span id = "format_time_lambda-489" > < a href = "#format_time_lambda-489" > < span class = "linenos" > 489< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > ),< / span >
< / span > < span id = "format_time_lambda-490" > < a href = "#format_time_lambda-490" > < span class = "linenos" > 490< / span > < / a > < span class = "nb" > format< / span > < span class = "o" > =< / span > < span class = "n" > Dialect< / span > < span class = "p" > [< / span > < span class = "n" > dialect< / span > < span class = "p" > ]< / span > < span class = "o" > .< / span > < span class = "n" > format_time< / span > < span class = "p" > (< / span >
< / span > < span id = "format_time_lambda-491" > < a href = "#format_time_lambda-491" > < span class = "linenos" > 491< / span > < / a > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > )< / span >
< / span > < span id = "format_time_lambda-492" > < a href = "#format_time_lambda-492" > < span class = "linenos" > 492< / span > < / a > < span class = "ow" > or< / span > < span class = "p" > (< / span > < span class = "n" > Dialect< / span > < span class = "p" > [< / span > < span class = "n" > dialect< / span > < span class = "p" > ]< / span > < span class = "o" > .< / span > < span class = "n" > TIME_FORMAT< / span > < span class = "k" > if< / span > < span class = "n" > default< / span > < span class = "ow" > is< / span > < span class = "kc" > True< / span > < span class = "k" > else< / span > < span class = "n" > default< / span > < span class = "ow" > or< / span > < span class = "kc" > None< / span > < span class = "p" > )< / span >
< / span > < span id = "format_time_lambda-493" > < a href = "#format_time_lambda-493" > < span class = "linenos" > 493< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "format_time_lambda-494" > < a href = "#format_time_lambda-494" > < span class = "linenos" > 494< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "format_time_lambda-495" > < a href = "#format_time_lambda-495" > < span class = "linenos" > 495< / span > < / a >
< / span > < span id = "format_time_lambda-496" > < a href = "#format_time_lambda-496" > < span class = "linenos" > 496< / span > < / a > < span class = "k" > return< / span > < span class = "n" > _format_time< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< div class = "docstring" > < p > Helper used for time expressions.< / p >
< h6 id = "arguments" > Arguments:< / h6 >
< ul >
< li > < strong > exp_class:< / strong > the expression class to instantiate.< / li >
< li > < strong > dialect:< / strong > target sql dialect.< / li >
< li > < strong > default:< / strong > the default format, True being time.< / li >
< / ul >
< h6 id = "returns" > Returns:< / h6 >
< blockquote >
< p > A callable that can be used to return the appropriately formatted time expression.< / p >
< / blockquote >
< / div >
2025-02-13 20:56:33 +01:00
< / section >
< section id = "time_format" >
< input id = "time_format-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
2025-02-13 21:00:44 +01:00
< span class = "name" > time_format< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "n" > dialect< / span > < span class = "p" > :< / span > < span class = "n" > Union< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "n" > < a href = "#Dialect" > Dialect< / a > < / span > < span class = "p" > ,< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "n" > < a href = "#Dialect" > Dialect< / a > < / span > < span class = "p" > ],< / span > < span class = "n" > NoneType< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > < span class = "p" > ,< / span > < span class = "n" > < a href = "../expressions.html#UnixToStr" > sqlglot.expressions.UnixToStr< / a > < / span > < span class = "o" > |< / span > < span class = "n" > < a href = "../expressions.html#StrToUnix" > sqlglot.expressions.StrToUnix< / a > < / span > < span class = "p" > ],< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ]]< / span > :< / span > < / span >
2025-02-13 20:56:33 +01:00
< label class = "view-source-button" for = "time_format-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#time_format" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "time_format-499" > < a href = "#time_format-499" > < span class = "linenos" > 499< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > time_format< / span > < span class = "p" > (< / span >
< / span > < span id = "time_format-500" > < a href = "#time_format-500" > < span class = "linenos" > 500< / span > < / a > < span class = "n" > dialect< / span > < span class = "p" > :< / span > < span class = "n" > DialectType< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span > < span class = "p" > ,< / span >
< / span > < span id = "time_format-501" > < a href = "#time_format-501" > < span class = "linenos" > 501< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > UnixToStr< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StrToUnix< / span > < span class = "p" > ],< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ]]:< / span >
< / span > < span id = "time_format-502" > < a href = "#time_format-502" > < span class = "linenos" > 502< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _time_format< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > UnixToStr< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StrToUnix< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ]:< / span >
< / span > < span id = "time_format-503" > < a href = "#time_format-503" > < span class = "linenos" > 503< / span > < / a > < span class = "w" > < / span > < span class = "sd" > " " " < / span >
< / span > < span id = "time_format-504" > < a href = "#time_format-504" > < span class = "linenos" > 504< / span > < / a > < span class = "sd" > Returns the time format for a given expression, unless it' s equivalent< / span >
< / span > < span id = "time_format-505" > < a href = "#time_format-505" > < span class = "linenos" > 505< / span > < / a > < span class = "sd" > to the default time format of the dialect of interest.< / span >
< / span > < span id = "time_format-506" > < a href = "#time_format-506" > < span class = "linenos" > 506< / span > < / a > < span class = "sd" > " " " < / span >
< / span > < span id = "time_format-507" > < a href = "#time_format-507" > < span class = "linenos" > 507< / span > < / a > < span class = "n" > time_format< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > format_time< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
< / span > < span id = "time_format-508" > < a href = "#time_format-508" > < span class = "linenos" > 508< / span > < / a > < span class = "k" > return< / span > < span class = "n" > time_format< / span > < span class = "k" > if< / span > < span class = "n" > time_format< / span > < span class = "o" > !=< / span > < span class = "n" > Dialect< / span > < span class = "o" > .< / span > < span class = "n" > get_or_raise< / span > < span class = "p" > (< / span > < span class = "n" > dialect< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > TIME_FORMAT< / span > < span class = "k" > else< / span > < span class = "kc" > None< / span >
< / span > < span id = "time_format-509" > < a href = "#time_format-509" > < span class = "linenos" > 509< / span > < / a >
< / span > < span id = "time_format-510" > < a href = "#time_format-510" > < span class = "linenos" > 510< / span > < / a > < span class = "k" > return< / span > < span class = "n" > _time_format< / span >
2025-02-13 20:56:33 +01:00
< / span > < / pre > < / div >
2025-02-13 15:22:50 +01:00
< / section >
< section id = "create_with_partitions_sql" >
< input id = "create_with_partitions_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > create_with_partitions_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#Create" > sqlglot.expressions.Create< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "create_with_partitions_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#create_with_partitions_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "create_with_partitions_sql-513" > < a href = "#create_with_partitions_sql-513" > < span class = "linenos" > 513< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > create_with_partitions_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Create< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "create_with_partitions_sql-514" > < a href = "#create_with_partitions_sql-514" > < span class = "linenos" > 514< / span > < / a > < span class = "w" > < / span > < span class = "sd" > " " " < / span >
< / span > < span id = "create_with_partitions_sql-515" > < a href = "#create_with_partitions_sql-515" > < span class = "linenos" > 515< / span > < / a > < span class = "sd" > In Hive and Spark, the PARTITIONED BY property acts as an extension of a table' s schema. When the< / span >
< / span > < span id = "create_with_partitions_sql-516" > < a href = "#create_with_partitions_sql-516" > < span class = "linenos" > 516< / span > < / a > < span class = "sd" > PARTITIONED BY value is an array of column names, they are transformed into a schema. The corresponding< / span >
< / span > < span id = "create_with_partitions_sql-517" > < a href = "#create_with_partitions_sql-517" > < span class = "linenos" > 517< / span > < / a > < span class = "sd" > columns are removed from the create statement.< / span >
< / span > < span id = "create_with_partitions_sql-518" > < a href = "#create_with_partitions_sql-518" > < span class = "linenos" > 518< / span > < / a > < span class = "sd" > " " " < / span >
< / span > < span id = "create_with_partitions_sql-519" > < a href = "#create_with_partitions_sql-519" > < span class = "linenos" > 519< / span > < / a > < span class = "n" > has_schema< / span > < span class = "o" > =< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Schema< / span > < span class = "p" > )< / span >
< / span > < span id = "create_with_partitions_sql-520" > < a href = "#create_with_partitions_sql-520" > < span class = "linenos" > 520< / span > < / a > < span class = "n" > is_partitionable< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " kind" < / span > < span class = "p" > )< / span > < span class = "ow" > in< / span > < span class = "p" > (< / span > < span class = "s2" > " TABLE" < / span > < span class = "p" > ,< / span > < span class = "s2" > " VIEW" < / span > < span class = "p" > )< / span >
< / span > < span id = "create_with_partitions_sql-521" > < a href = "#create_with_partitions_sql-521" > < span class = "linenos" > 521< / span > < / a >
< / span > < span id = "create_with_partitions_sql-522" > < a href = "#create_with_partitions_sql-522" > < span class = "linenos" > 522< / span > < / a > < span class = "k" > if< / span > < span class = "n" > has_schema< / span > < span class = "ow" > and< / span > < span class = "n" > is_partitionable< / span > < span class = "p" > :< / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "create_with_partitions_sql-523" > < a href = "#create_with_partitions_sql-523" > < span class = "linenos" > 523< / span > < / a > < span class = "n" > prop< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > find< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > PartitionedByProperty< / span > < span class = "p" > )< / span >
< / span > < span id = "create_with_partitions_sql-524" > < a href = "#create_with_partitions_sql-524" > < span class = "linenos" > 524< / span > < / a > < span class = "k" > if< / span > < span class = "n" > prop< / span > < span class = "ow" > and< / span > < span class = "n" > prop< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "ow" > and< / span > < span class = "ow" > not< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > prop< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Schema< / span > < span class = "p" > ):< / span >
< / span > < span id = "create_with_partitions_sql-525" > < a href = "#create_with_partitions_sql-525" > < span class = "linenos" > 525< / span > < / a > < span class = "n" > schema< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span >
< / span > < span id = "create_with_partitions_sql-526" > < a href = "#create_with_partitions_sql-526" > < span class = "linenos" > 526< / span > < / a > < span class = "n" > columns< / span > < span class = "o" > =< / span > < span class = "p" > {< / span > < span class = "n" > v< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "o" > .< / span > < span class = "n" > upper< / span > < span class = "p" > ()< / span > < span class = "k" > for< / span > < span class = "n" > v< / span > < span class = "ow" > in< / span > < span class = "n" > prop< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "p" > }< / span >
< / span > < span id = "create_with_partitions_sql-527" > < a href = "#create_with_partitions_sql-527" > < span class = "linenos" > 527< / span > < / a > < span class = "n" > partitions< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "n" > col< / span > < span class = "k" > for< / span > < span class = "n" > col< / span > < span class = "ow" > in< / span > < span class = "n" > schema< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "k" > if< / span > < span class = "n" > col< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "o" > .< / span > < span class = "n" > upper< / span > < span class = "p" > ()< / span > < span class = "ow" > in< / span > < span class = "n" > columns< / span > < span class = "p" > ]< / span >
< / span > < span id = "create_with_partitions_sql-528" > < a href = "#create_with_partitions_sql-528" > < span class = "linenos" > 528< / span > < / a > < span class = "n" > schema< / span > < span class = "o" > .< / span > < span class = "n" > set< / span > < span class = "p" > (< / span > < span class = "s2" > " expressions" < / span > < span class = "p" > ,< / span > < span class = "p" > [< / span > < span class = "n" > e< / span > < span class = "k" > for< / span > < span class = "n" > e< / span > < span class = "ow" > in< / span > < span class = "n" > schema< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "k" > if< / span > < span class = "n" > e< / span > < span class = "ow" > not< / span > < span class = "ow" > in< / span > < span class = "n" > partitions< / span > < span class = "p" > ])< / span >
< / span > < span id = "create_with_partitions_sql-529" > < a href = "#create_with_partitions_sql-529" > < span class = "linenos" > 529< / span > < / a > < span class = "n" > prop< / span > < span class = "o" > .< / span > < span class = "n" > replace< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > PartitionedByProperty< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Schema< / span > < span class = "p" > (< / span > < span class = "n" > expressions< / span > < span class = "o" > =< / span > < span class = "n" > partitions< / span > < span class = "p" > )))< / span >
< / span > < span id = "create_with_partitions_sql-530" > < a href = "#create_with_partitions_sql-530" > < span class = "linenos" > 530< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > set< / span > < span class = "p" > (< / span > < span class = "s2" > " this" < / span > < span class = "p" > ,< / span > < span class = "n" > schema< / span > < span class = "p" > )< / span >
< / span > < span id = "create_with_partitions_sql-531" > < a href = "#create_with_partitions_sql-531" > < span class = "linenos" > 531< / span > < / a >
< / span > < span id = "create_with_partitions_sql-532" > < a href = "#create_with_partitions_sql-532" > < span class = "linenos" > 532< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > create_sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< div class = "docstring" > < p > In Hive and Spark, the PARTITIONED BY property acts as an extension of a table's schema. When the
PARTITIONED BY value is an array of column names, they are transformed into a schema. The corresponding
columns are removed from the create statement.< / p >
< / div >
< / section >
< section id = "parse_date_delta" >
< input id = "parse_date_delta-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
2025-02-13 15:56:32 +01:00
< span class = "name" > parse_date_delta< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "n" > exp_class< / span > < span class = "p" > :< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "o" > ~< / span > < span class = "n" > E< / span > < span class = "p" > ]< / span > ,< / span > < span class = "param" > < span class = "n" > unit_mapping< / span > < span class = "p" > :< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > Dict< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "nb" > str< / span > < span class = "p" > ]]< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > List< / span > < span class = "p" > ],< / span > < span class = "o" > ~< / span > < span class = "n" > E< / span > < span class = "p" > ]< / span > :< / span > < / span >
2025-02-13 15:22:50 +01:00
< label class = "view-source-button" for = "parse_date_delta-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#parse_date_delta" > < / a >
2025-02-13 21:04:14 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "parse_date_delta-535" > < a href = "#parse_date_delta-535" > < span class = "linenos" > 535< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > parse_date_delta< / span > < span class = "p" > (< / span >
< / span > < span id = "parse_date_delta-536" > < a href = "#parse_date_delta-536" > < span class = "linenos" > 536< / span > < / a > < span class = "n" > exp_class< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "n" > E< / span > < span class = "p" > ],< / span > < span class = "n" > unit_mapping< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Dict< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "nb" > str< / span > < span class = "p" > ]]< / span > < span class = "o" > =< / span > < span class = "kc" > None< / span >
< / span > < span id = "parse_date_delta-537" > < a href = "#parse_date_delta-537" > < span class = "linenos" > 537< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > ],< / span > < span class = "n" > E< / span > < span class = "p" > ]:< / span >
< / span > < span id = "parse_date_delta-538" > < a href = "#parse_date_delta-538" > < span class = "linenos" > 538< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > inner_func< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > E< / span > < span class = "p" > :< / span >
< / span > < span id = "parse_date_delta-539" > < a href = "#parse_date_delta-539" > < span class = "linenos" > 539< / span > < / a > < span class = "n" > unit_based< / span > < span class = "o" > =< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "mi" > 3< / span >
< / span > < span id = "parse_date_delta-540" > < a href = "#parse_date_delta-540" > < span class = "linenos" > 540< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 2< / span > < span class = "p" > ]< / span > < span class = "k" > if< / span > < span class = "n" > unit_based< / span > < span class = "k" > else< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > )< / span >
< / span > < span id = "parse_date_delta-541" > < a href = "#parse_date_delta-541" > < span class = "linenos" > 541< / span > < / a > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ]< / span > < span class = "k" > if< / span > < span class = "n" > unit_based< / span > < span class = "k" > else< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Literal< / span > < span class = "o" > .< / span > < span class = "n" > string< / span > < span class = "p" > (< / span > < span class = "s2" > " DAY" < / span > < span class = "p" > )< / span >
< / span > < span id = "parse_date_delta-542" > < a href = "#parse_date_delta-542" > < span class = "linenos" > 542< / span > < / a > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > var< / span > < span class = "p" > (< / span > < span class = "n" > unit_mapping< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "n" > unit< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "o" > .< / span > < span class = "n" > lower< / span > < span class = "p" > (),< / span > < span class = "n" > unit< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "p" > ))< / span > < span class = "k" > if< / span > < span class = "n" > unit_mapping< / span > < span class = "k" > else< / span > < span class = "n" > unit< / span >
< / span > < span id = "parse_date_delta-543" > < a href = "#parse_date_delta-543" > < span class = "linenos" > 543< / span > < / a > < span class = "k" > return< / span > < span class = "n" > exp_class< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > unit< / span > < span class = "p" > )< / span >
< / span > < span id = "parse_date_delta-544" > < a href = "#parse_date_delta-544" > < span class = "linenos" > 544< / span > < / a >
< / span > < span id = "parse_date_delta-545" > < a href = "#parse_date_delta-545" > < span class = "linenos" > 545< / span > < / a > < span class = "k" > return< / span > < span class = "n" > inner_func< / span >
2025-02-13 15:51:35 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "parse_date_delta_with_interval" >
< input id = "parse_date_delta_with_interval-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
2025-02-13 15:56:32 +01:00
< span class = "name" > parse_date_delta_with_interval< / span > < span class = "signature pdoc-code condensed" > (< span class = "param" > < span class = "n" > expression_class< / span > < span class = "p" > :< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "o" > ~< / span > < span class = "n" > E< / span > < span class = "p" > ]< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > List< / span > < span class = "p" > ],< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "o" > ~< / span > < span class = "n" > E< / span > < span class = "p" > ]]< / span > :< / span > < / span >
2025-02-13 15:51:35 +01:00
< label class = "view-source-button" for = "parse_date_delta_with_interval-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#parse_date_delta_with_interval" > < / a >
2025-02-13 21:04:14 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "parse_date_delta_with_interval-548" > < a href = "#parse_date_delta_with_interval-548" > < span class = "linenos" > 548< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > parse_date_delta_with_interval< / span > < span class = "p" > (< / span >
< / span > < span id = "parse_date_delta_with_interval-549" > < a href = "#parse_date_delta_with_interval-549" > < span class = "linenos" > 549< / span > < / a > < span class = "n" > expression_class< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "n" > E< / span > < span class = "p" > ],< / span >
< / span > < span id = "parse_date_delta_with_interval-550" > < a href = "#parse_date_delta_with_interval-550" > < span class = "linenos" > 550< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > ],< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > E< / span > < span class = "p" > ]]:< / span >
< / span > < span id = "parse_date_delta_with_interval-551" > < a href = "#parse_date_delta_with_interval-551" > < span class = "linenos" > 551< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > func< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > E< / span > < span class = "p" > ]:< / span >
< / span > < span id = "parse_date_delta_with_interval-552" > < a href = "#parse_date_delta_with_interval-552" > < span class = "linenos" > 552< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > )< / span > < span class = "o" > < < / span > < span class = "mi" > 2< / span > < span class = "p" > :< / span >
< / span > < span id = "parse_date_delta_with_interval-553" > < a href = "#parse_date_delta_with_interval-553" > < span class = "linenos" > 553< / span > < / a > < span class = "k" > return< / span > < span class = "kc" > None< / span >
< / span > < span id = "parse_date_delta_with_interval-554" > < a href = "#parse_date_delta_with_interval-554" > < span class = "linenos" > 554< / span > < / a >
< / span > < span id = "parse_date_delta_with_interval-555" > < a href = "#parse_date_delta_with_interval-555" > < span class = "linenos" > 555< / span > < / a > < span class = "n" > interval< / span > < span class = "o" > =< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > ]< / span >
< / span > < span id = "parse_date_delta_with_interval-556" > < a href = "#parse_date_delta_with_interval-556" > < span class = "linenos" > 556< / span > < / a >
< / span > < span id = "parse_date_delta_with_interval-557" > < a href = "#parse_date_delta_with_interval-557" > < span class = "linenos" > 557< / span > < / a > < span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > interval< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Interval< / span > < span class = "p" > ):< / span >
< / span > < span id = "parse_date_delta_with_interval-558" > < a href = "#parse_date_delta_with_interval-558" > < span class = "linenos" > 558< / span > < / a > < span class = "k" > raise< / span > < span class = "n" > ParseError< / span > < span class = "p" > (< / span > < span class = "sa" > f< / span > < span class = "s2" > " INTERVAL expression expected but got ' < / span > < span class = "si" > {< / span > < span class = "n" > interval< / span > < span class = "si" > }< / span > < span class = "s2" > ' " < / span > < span class = "p" > )< / span >
< / span > < span id = "parse_date_delta_with_interval-559" > < a href = "#parse_date_delta_with_interval-559" > < span class = "linenos" > 559< / span > < / a >
< / span > < span id = "parse_date_delta_with_interval-560" > < a href = "#parse_date_delta_with_interval-560" > < span class = "linenos" > 560< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > interval< / span > < span class = "o" > .< / span > < span class = "n" > this< / span >
< / span > < span id = "parse_date_delta_with_interval-561" > < a href = "#parse_date_delta_with_interval-561" > < span class = "linenos" > 561< / span > < / a > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "ow" > and< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > is_string< / span > < span class = "p" > :< / span >
< / span > < span id = "parse_date_delta_with_interval-562" > < a href = "#parse_date_delta_with_interval-562" > < span class = "linenos" > 562< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Literal< / span > < span class = "o" > .< / span > < span class = "n" > number< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > )< / span >
< / span > < span id = "parse_date_delta_with_interval-563" > < a href = "#parse_date_delta_with_interval-563" > < span class = "linenos" > 563< / span > < / a >
< / span > < span id = "parse_date_delta_with_interval-564" > < a href = "#parse_date_delta_with_interval-564" > < span class = "linenos" > 564< / span > < / a > < span class = "k" > return< / span > < span class = "n" > expression_class< / span > < span class = "p" > (< / span >
< / span > < span id = "parse_date_delta_with_interval-565" > < a href = "#parse_date_delta_with_interval-565" > < span class = "linenos" > 565< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ],< / span > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Literal< / span > < span class = "o" > .< / span > < span class = "n" > string< / span > < span class = "p" > (< / span > < span class = "n" > interval< / span > < span class = "o" > .< / span > < span class = "n" > text< / span > < span class = "p" > (< / span > < span class = "s2" > " unit" < / span > < span class = "p" > ))< / span >
< / span > < span id = "parse_date_delta_with_interval-566" > < a href = "#parse_date_delta_with_interval-566" > < span class = "linenos" > 566< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "parse_date_delta_with_interval-567" > < a href = "#parse_date_delta_with_interval-567" > < span class = "linenos" > 567< / span > < / a >
< / span > < span id = "parse_date_delta_with_interval-568" > < a href = "#parse_date_delta_with_interval-568" > < span class = "linenos" > 568< / span > < / a > < span class = "k" > return< / span > < span class = "n" > func< / span >
2025-02-13 15:45:33 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "date_trunc_to_time" >
< input id = "date_trunc_to_time-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
2025-02-13 15:56:32 +01:00
< span class = "name" > date_trunc_to_time< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > List< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > < a href = "../expressions.html#DateTrunc" > sqlglot.expressions.DateTrunc< / a > < / span > < span class = "o" > |< / span > < span class = "n" > < a href = "../expressions.html#TimestampTrunc" > sqlglot.expressions.TimestampTrunc< / a > < / span > :< / span > < / span >
2025-02-13 15:45:33 +01:00
< label class = "view-source-button" for = "date_trunc_to_time-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#date_trunc_to_time" > < / a >
2025-02-13 21:04:14 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "date_trunc_to_time-571" > < a href = "#date_trunc_to_time-571" > < span class = "linenos" > 571< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > date_trunc_to_time< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DateTrunc< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TimestampTrunc< / span > < span class = "p" > :< / span >
< / span > < span id = "date_trunc_to_time-572" > < a href = "#date_trunc_to_time-572" > < span class = "linenos" > 572< / span > < / a > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > )< / span >
< / span > < span id = "date_trunc_to_time-573" > < a href = "#date_trunc_to_time-573" > < span class = "linenos" > 573< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > )< / span >
< / span > < span id = "date_trunc_to_time-574" > < a href = "#date_trunc_to_time-574" > < span class = "linenos" > 574< / span > < / a >
< / span > < span id = "date_trunc_to_time-575" > < a href = "#date_trunc_to_time-575" > < span class = "linenos" > 575< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Cast< / span > < span class = "p" > )< / span > < span class = "ow" > and< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > is_type< / span > < span class = "p" > (< / span > < span class = "s2" > " date" < / span > < span class = "p" > ):< / span >
< / span > < span id = "date_trunc_to_time-576" > < a href = "#date_trunc_to_time-576" > < span class = "linenos" > 576< / span > < / a > < span class = "k" > return< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DateTrunc< / span > < span class = "p" > (< / span > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > unit< / span > < span class = "p" > ,< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > this< / span > < span class = "p" > )< / span >
< / span > < span id = "date_trunc_to_time-577" > < a href = "#date_trunc_to_time-577" > < span class = "linenos" > 577< / span > < / a > < span class = "k" > return< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TimestampTrunc< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > unit< / span > < span class = "p" > )< / span >
2025-02-13 21:03:05 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "date_add_interval_sql" >
< input id = "date_add_interval_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > date_add_interval_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "n" > data_type< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > ,< / span > < span class = "param" > < span class = "n" > kind< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > < span class = "p" > ,< / span > < span class = "n" > < a href = "../expressions.html#Expression" > sqlglot.expressions.Expression< / a > < / span > < span class = "p" > ],< / span > < span class = "nb" > str< / span > < span class = "p" > ]< / span > :< / span > < / span >
< label class = "view-source-button" for = "date_add_interval_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#date_add_interval_sql" > < / a >
2025-02-13 21:04:14 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "date_add_interval_sql-580" > < a href = "#date_add_interval_sql-580" > < span class = "linenos" > 580< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > date_add_interval_sql< / span > < span class = "p" > (< / span >
< / span > < span id = "date_add_interval_sql-581" > < a href = "#date_add_interval_sql-581" > < span class = "linenos" > 581< / span > < / a > < span class = "n" > data_type< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "n" > kind< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span >
< / span > < span id = "date_add_interval_sql-582" > < a href = "#date_add_interval_sql-582" > < span class = "linenos" > 582< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ],< / span > < span class = "nb" > str< / span > < span class = "p" > ]:< / span >
< / span > < span id = "date_add_interval_sql-583" > < a href = "#date_add_interval_sql-583" > < span class = "linenos" > 583< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > func< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "date_add_interval_sql-584" > < a href = "#date_add_interval_sql-584" > < span class = "linenos" > 584< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " this" < / span > < span class = "p" > )< / span >
< / span > < span id = "date_add_interval_sql-585" > < a href = "#date_add_interval_sql-585" > < span class = "linenos" > 585< / span > < / a > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " unit" < / span > < span class = "p" > )< / span >
< / span > < span id = "date_add_interval_sql-586" > < a href = "#date_add_interval_sql-586" > < span class = "linenos" > 586< / span > < / a > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > var< / span > < span class = "p" > (< / span > < span class = "n" > unit< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "o" > .< / span > < span class = "n" > upper< / span > < span class = "p" > ()< / span > < span class = "k" > if< / span > < span class = "n" > unit< / span > < span class = "k" > else< / span > < span class = "s2" > " DAY" < / span > < span class = "p" > )< / span >
2025-02-13 21:15:38 +01:00
< / span > < span id = "date_add_interval_sql-587" > < a href = "#date_add_interval_sql-587" > < span class = "linenos" > 587< / span > < / a > < span class = "n" > interval< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Interval< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > unit< / span > < span class = "p" > )< / span >
2025-02-13 21:04:14 +01:00
< / span > < span id = "date_add_interval_sql-588" > < a href = "#date_add_interval_sql-588" > < span class = "linenos" > 588< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " < / span > < span class = "si" > {< / span > < span class = "n" > data_type< / span > < span class = "si" > }< / span > < span class = "s2" > _< / span > < span class = "si" > {< / span > < span class = "n" > kind< / span > < span class = "si" > }< / span > < span class = "s2" > (< / span > < span class = "si" > {< / span > < span class = "n" > this< / span > < span class = "si" > }< / span > < span class = "s2" > , < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > interval< / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > )" < / span >
< / span > < span id = "date_add_interval_sql-589" > < a href = "#date_add_interval_sql-589" > < span class = "linenos" > 589< / span > < / a >
< / span > < span id = "date_add_interval_sql-590" > < a href = "#date_add_interval_sql-590" > < span class = "linenos" > 590< / span > < / a > < span class = "k" > return< / span > < span class = "n" > func< / span >
2025-02-13 15:45:33 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "timestamptrunc_sql" >
< input id = "timestamptrunc_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > timestamptrunc_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#TimestampTrunc" > sqlglot.expressions.TimestampTrunc< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "timestamptrunc_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#timestamptrunc_sql" > < / a >
2025-02-13 21:04:14 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "timestamptrunc_sql-593" > < a href = "#timestamptrunc_sql-593" > < span class = "linenos" > 593< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > timestamptrunc_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TimestampTrunc< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "timestamptrunc_sql-594" > < a href = "#timestamptrunc_sql-594" > < span class = "linenos" > 594< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span >
< / span > < span id = "timestamptrunc_sql-595" > < a href = "#timestamptrunc_sql-595" > < span class = "linenos" > 595< / span > < / a > < span class = "s2" > " DATE_TRUNC" < / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Literal< / span > < span class = "o" > .< / span > < span class = "n" > string< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > text< / span > < span class = "p" > (< / span > < span class = "s2" > " unit" < / span > < span class = "p" > )< / span > < span class = "ow" > or< / span > < span class = "s2" > " day" < / span > < span class = "p" > ),< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span >
< / span > < span id = "timestamptrunc_sql-596" > < a href = "#timestamptrunc_sql-596" > < span class = "linenos" > 596< / span > < / a > < span class = "p" > )< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
2025-02-13 21:08:47 +01:00
< / section >
< section id = "no_timestamp_sql" >
< input id = "no_timestamp_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > no_timestamp_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#Timestamp" > sqlglot.expressions.Timestamp< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "no_timestamp_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#no_timestamp_sql" > < / a >
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "no_timestamp_sql-599" > < a href = "#no_timestamp_sql-599" > < span class = "linenos" > 599< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > no_timestamp_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Timestamp< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "no_timestamp_sql-600" > < a href = "#no_timestamp_sql-600" > < span class = "linenos" > 600< / span > < / a > < span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span >
< / span > < span id = "no_timestamp_sql-601" > < a href = "#no_timestamp_sql-601" > < span class = "linenos" > 601< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > cast< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > to< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DataType< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "o" > .< / span > < span class = "n" > TIMESTAMP< / span > < span class = "p" > ))< / span >
< / span > < span id = "no_timestamp_sql-602" > < a href = "#no_timestamp_sql-602" > < span class = "linenos" > 602< / span > < / a > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > text< / span > < span class = "p" > (< / span > < span class = "s2" > " expression" < / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > lower< / span > < span class = "p" > ()< / span > < span class = "ow" > in< / span > < span class = "n" > TIMEZONES< / span > < span class = "p" > :< / span >
< / span > < span id = "no_timestamp_sql-603" > < a href = "#no_timestamp_sql-603" > < span class = "linenos" > 603< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span >
< / span > < span id = "no_timestamp_sql-604" > < a href = "#no_timestamp_sql-604" > < span class = "linenos" > 604< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > AtTimeZone< / span > < span class = "p" > (< / span >
< / span > < span id = "no_timestamp_sql-605" > < a href = "#no_timestamp_sql-605" > < span class = "linenos" > 605< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > cast< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > to< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DataType< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "o" > .< / span > < span class = "n" > TIMESTAMP< / span > < span class = "p" > ),< / span >
< / span > < span id = "no_timestamp_sql-606" > < a href = "#no_timestamp_sql-606" > < span class = "linenos" > 606< / span > < / a > < span class = "n" > zone< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span >
< / span > < span id = "no_timestamp_sql-607" > < a href = "#no_timestamp_sql-607" > < span class = "linenos" > 607< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "no_timestamp_sql-608" > < a href = "#no_timestamp_sql-608" > < span class = "linenos" > 608< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "no_timestamp_sql-609" > < a href = "#no_timestamp_sql-609" > < span class = "linenos" > 609< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > function_fallback_sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
< / span > < / pre > < / div >
2025-02-13 15:22:50 +01:00
< / section >
< section id = "locate_to_strposition" >
< input id = "locate_to_strposition-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
2025-02-13 15:56:32 +01:00
< span class = "name" > locate_to_strposition< / span > < span class = "signature pdoc-code condensed" > (< span class = "param" > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > List< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > < a href = "../expressions.html#Expression" > sqlglot.expressions.Expression< / a > < / span > :< / span > < / span >
2025-02-13 15:22:50 +01:00
< label class = "view-source-button" for = "locate_to_strposition-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#locate_to_strposition" > < / a >
2025-02-13 21:08:47 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "locate_to_strposition-612" > < a href = "#locate_to_strposition-612" > < span class = "linenos" > 612< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > locate_to_strposition< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > :< / span >
< / span > < span id = "locate_to_strposition-613" > < a href = "#locate_to_strposition-613" > < span class = "linenos" > 613< / span > < / a > < span class = "k" > return< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StrPosition< / span > < span class = "p" > (< / span >
< / span > < span id = "locate_to_strposition-614" > < a href = "#locate_to_strposition-614" > < span class = "linenos" > 614< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span > < span class = "n" > substr< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > ),< / span > < span class = "n" > position< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 2< / span > < span class = "p" > )< / span >
< / span > < span id = "locate_to_strposition-615" > < a href = "#locate_to_strposition-615" > < span class = "linenos" > 615< / span > < / a > < span class = "p" > )< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "strposition_to_locate_sql" >
< input id = "strposition_to_locate_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > strposition_to_locate_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#StrPosition" > sqlglot.expressions.StrPosition< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "strposition_to_locate_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#strposition_to_locate_sql" > < / a >
2025-02-13 21:08:47 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "strposition_to_locate_sql-618" > < a href = "#strposition_to_locate_sql-618" > < span class = "linenos" > 618< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > strposition_to_locate_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StrPosition< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "strposition_to_locate_sql-619" > < a href = "#strposition_to_locate_sql-619" > < span class = "linenos" > 619< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span >
< / span > < span id = "strposition_to_locate_sql-620" > < a href = "#strposition_to_locate_sql-620" > < span class = "linenos" > 620< / span > < / a > < span class = "s2" > " LOCATE" < / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " substr" < / span > < span class = "p" > ),< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " position" < / span > < span class = "p" > )< / span >
< / span > < span id = "strposition_to_locate_sql-621" > < a href = "#strposition_to_locate_sql-621" > < span class = "linenos" > 621< / span > < / a > < span class = "p" > )< / span >
2025-02-13 15:58:03 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "left_to_substring_sql" >
< input id = "left_to_substring_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > left_to_substring_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#Left" > sqlglot.expressions.Left< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "left_to_substring_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#left_to_substring_sql" > < / a >
2025-02-13 21:08:47 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "left_to_substring_sql-624" > < a href = "#left_to_substring_sql-624" > < span class = "linenos" > 624< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > left_to_substring_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Left< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
2025-02-13 21:15:38 +01:00
< / span > < span id = "left_to_substring_sql-625" > < a href = "#left_to_substring_sql-625" > < span class = "linenos" > 625< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span >
< / span > < span id = "left_to_substring_sql-626" > < a href = "#left_to_substring_sql-626" > < span class = "linenos" > 626< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Substring< / span > < span class = "p" > (< / span >
< / span > < span id = "left_to_substring_sql-627" > < a href = "#left_to_substring_sql-627" > < span class = "linenos" > 627< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > start< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Literal< / span > < span class = "o" > .< / span > < span class = "n" > number< / span > < span class = "p" > (< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span > < span class = "n" > length< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span >
< / span > < span id = "left_to_substring_sql-628" > < a href = "#left_to_substring_sql-628" > < span class = "linenos" > 628< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "left_to_substring_sql-629" > < a href = "#left_to_substring_sql-629" > < span class = "linenos" > 629< / span > < / a > < span class = "p" > )< / span >
2025-02-13 15:58:03 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "right_to_substring_sql" >
< input id = "right_to_substring_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > right_to_substring_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#Left" > sqlglot.expressions.Left< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "right_to_substring_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#right_to_substring_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "right_to_substring_sql-632" > < a href = "#right_to_substring_sql-632" > < span class = "linenos" > 632< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > right_to_substring_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Left< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "right_to_substring_sql-633" > < a href = "#right_to_substring_sql-633" > < span class = "linenos" > 633< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span >
< / span > < span id = "right_to_substring_sql-634" > < a href = "#right_to_substring_sql-634" > < span class = "linenos" > 634< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Substring< / span > < span class = "p" > (< / span >
< / span > < span id = "right_to_substring_sql-635" > < a href = "#right_to_substring_sql-635" > < span class = "linenos" > 635< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span >
< / span > < span id = "right_to_substring_sql-636" > < a href = "#right_to_substring_sql-636" > < span class = "linenos" > 636< / span > < / a > < span class = "n" > start< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Length< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > )< / span > < span class = "o" > -< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > paren< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span >
< / span > < span id = "right_to_substring_sql-637" > < a href = "#right_to_substring_sql-637" > < span class = "linenos" > 637< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "right_to_substring_sql-638" > < a href = "#right_to_substring_sql-638" > < span class = "linenos" > 638< / span > < / a > < span class = "p" > )< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "timestrtotime_sql" >
< input id = "timestrtotime_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > timestrtotime_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#TimeStrToTime" > sqlglot.expressions.TimeStrToTime< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "timestrtotime_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#timestrtotime_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "timestrtotime_sql-641" > < a href = "#timestrtotime_sql-641" > < span class = "linenos" > 641< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > timestrtotime_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TimeStrToTime< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "timestrtotime_sql-642" > < a href = "#timestrtotime_sql-642" > < span class = "linenos" > 642< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > cast< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "s2" > " timestamp" < / span > < span class = "p" > ))< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "datestrtodate_sql" >
< input id = "datestrtodate_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > datestrtodate_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#DateStrToDate" > sqlglot.expressions.DateStrToDate< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "datestrtodate_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#datestrtodate_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "datestrtodate_sql-645" > < a href = "#datestrtodate_sql-645" > < span class = "linenos" > 645< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > datestrtodate_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DateStrToDate< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "datestrtodate_sql-646" > < a href = "#datestrtodate_sql-646" > < span class = "linenos" > 646< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > cast< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "s2" > " date" < / span > < span class = "p" > ))< / span >
2025-02-13 20:49:56 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "encode_decode_sql" >
< input id = "encode_decode_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > encode_decode_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#Expression" > sqlglot.expressions.Expression< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > name< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > ,< / span > < span class = "param" > < span class = "n" > replace< / span > < span class = "p" > :< / span > < span class = "nb" > bool< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "encode_decode_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#encode_decode_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "encode_decode_sql-650" > < a href = "#encode_decode_sql-650" > < span class = "linenos" > 650< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > encode_decode_sql< / span > < span class = "p" > (< / span >
< / span > < span id = "encode_decode_sql-651" > < a href = "#encode_decode_sql-651" > < span class = "linenos" > 651< / span > < / a > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ,< / span > < span class = "n" > name< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "n" > replace< / span > < span class = "p" > :< / span > < span class = "nb" > bool< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span >
< / span > < span id = "encode_decode_sql-652" > < a href = "#encode_decode_sql-652" > < span class = "linenos" > 652< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "encode_decode_sql-653" > < a href = "#encode_decode_sql-653" > < span class = "linenos" > 653< / span > < / a > < span class = "n" > charset< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " charset" < / span > < span class = "p" > )< / span >
< / span > < span id = "encode_decode_sql-654" > < a href = "#encode_decode_sql-654" > < span class = "linenos" > 654< / span > < / a > < span class = "k" > if< / span > < span class = "n" > charset< / span > < span class = "ow" > and< / span > < span class = "n" > charset< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "o" > .< / span > < span class = "n" > lower< / span > < span class = "p" > ()< / span > < span class = "o" > !=< / span > < span class = "s2" > " utf-8" < / span > < span class = "p" > :< / span >
< / span > < span id = "encode_decode_sql-655" > < a href = "#encode_decode_sql-655" > < span class = "linenos" > 655< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "sa" > f< / span > < span class = "s2" > " Expected utf-8 character set, got < / span > < span class = "si" > {< / span > < span class = "n" > charset< / span > < span class = "si" > }< / span > < span class = "s2" > ." < / span > < span class = "p" > )< / span >
< / span > < span id = "encode_decode_sql-656" > < a href = "#encode_decode_sql-656" > < span class = "linenos" > 656< / span > < / a >
< / span > < span id = "encode_decode_sql-657" > < a href = "#encode_decode_sql-657" > < span class = "linenos" > 657< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " replace" < / span > < span class = "p" > )< / span > < span class = "k" > if< / span > < span class = "n" > replace< / span > < span class = "k" > else< / span > < span class = "kc" > None< / span > < span class = "p" > )< / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
2025-02-13 15:42:50 +01:00
< / section >
< section id = "min_or_least" >
< input id = "min_or_least-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > min_or_least< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#Min" > sqlglot.expressions.Min< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "min_or_least-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#min_or_least" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "min_or_least-660" > < a href = "#min_or_least-660" > < span class = "linenos" > 660< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > min_or_least< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Min< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "min_or_least-661" > < a href = "#min_or_least-661" > < span class = "linenos" > 661< / span > < / a > < span class = "n" > name< / span > < span class = "o" > =< / span > < span class = "s2" > " LEAST" < / span > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "k" > else< / span > < span class = "s2" > " MIN" < / span >
< / span > < span id = "min_or_least-662" > < a href = "#min_or_least-662" > < span class = "linenos" > 662< / span > < / a > < span class = "k" > return< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > )(< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
2025-02-13 15:45:33 +01:00
< / span > < / pre > < / div >
2025-02-13 15:47:04 +01:00
< / section >
< section id = "max_or_greatest" >
< input id = "max_or_greatest-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > max_or_greatest< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#Max" > sqlglot.expressions.Max< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "max_or_greatest-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#max_or_greatest" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "max_or_greatest-665" > < a href = "#max_or_greatest-665" > < span class = "linenos" > 665< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > max_or_greatest< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Max< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "max_or_greatest-666" > < a href = "#max_or_greatest-666" > < span class = "linenos" > 666< / span > < / a > < span class = "n" > name< / span > < span class = "o" > =< / span > < span class = "s2" > " GREATEST" < / span > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "k" > else< / span > < span class = "s2" > " MAX" < / span >
< / span > < span id = "max_or_greatest-667" > < a href = "#max_or_greatest-667" > < span class = "linenos" > 667< / span > < / a > < span class = "k" > return< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > )(< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
2025-02-13 15:47:04 +01:00
< / span > < / pre > < / div >
2025-02-13 15:45:33 +01:00
< / section >
< section id = "count_if_to_sum" >
< input id = "count_if_to_sum-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > count_if_to_sum< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#CountIf" > sqlglot.expressions.CountIf< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "count_if_to_sum-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#count_if_to_sum" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "count_if_to_sum-670" > < a href = "#count_if_to_sum-670" > < span class = "linenos" > 670< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > count_if_to_sum< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > CountIf< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "count_if_to_sum-671" > < a href = "#count_if_to_sum-671" > < span class = "linenos" > 671< / span > < / a > < span class = "n" > cond< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span >
< / span > < span id = "count_if_to_sum-672" > < a href = "#count_if_to_sum-672" > < span class = "linenos" > 672< / span > < / a >
< / span > < span id = "count_if_to_sum-673" > < a href = "#count_if_to_sum-673" > < span class = "linenos" > 673< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Distinct< / span > < span class = "p" > ):< / span >
< / span > < span id = "count_if_to_sum-674" > < a href = "#count_if_to_sum-674" > < span class = "linenos" > 674< / span > < / a > < span class = "n" > cond< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ]< / span >
< / span > < span id = "count_if_to_sum-675" > < a href = "#count_if_to_sum-675" > < span class = "linenos" > 675< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "s2" > " DISTINCT is not supported when converting COUNT_IF to SUM" < / span > < span class = "p" > )< / span >
< / span > < span id = "count_if_to_sum-676" > < a href = "#count_if_to_sum-676" > < span class = "linenos" > 676< / span > < / a >
< / span > < span id = "count_if_to_sum-677" > < a href = "#count_if_to_sum-677" > < span class = "linenos" > 677< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "s2" > " sum" < / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "s2" > " if" < / span > < span class = "p" > ,< / span > < span class = "n" > cond< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > ))< / span >
2025-02-13 15:42:50 +01:00
< / span > < / pre > < / div >
2025-02-13 15:22:50 +01:00
< / section >
< section id = "trim_sql" >
< input id = "trim_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > trim_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#Trim" > sqlglot.expressions.Trim< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "trim_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#trim_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "trim_sql-680" > < a href = "#trim_sql-680" > < span class = "linenos" > 680< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > trim_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Trim< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "trim_sql-681" > < a href = "#trim_sql-681" > < span class = "linenos" > 681< / span > < / a > < span class = "n" > target< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " this" < / span > < span class = "p" > )< / span >
< / span > < span id = "trim_sql-682" > < a href = "#trim_sql-682" > < span class = "linenos" > 682< / span > < / a > < span class = "n" > trim_type< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " position" < / span > < span class = "p" > )< / span >
< / span > < span id = "trim_sql-683" > < a href = "#trim_sql-683" > < span class = "linenos" > 683< / span > < / a > < span class = "n" > remove_chars< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " expression" < / span > < span class = "p" > )< / span >
< / span > < span id = "trim_sql-684" > < a href = "#trim_sql-684" > < span class = "linenos" > 684< / span > < / a > < span class = "n" > collation< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " collation" < / span > < span class = "p" > )< / span >
< / span > < span id = "trim_sql-685" > < a href = "#trim_sql-685" > < span class = "linenos" > 685< / span > < / a >
< / span > < span id = "trim_sql-686" > < a href = "#trim_sql-686" > < span class = "linenos" > 686< / span > < / a > < span class = "c1" > # Use TRIM/LTRIM/RTRIM syntax if the expression isn' t database-specific< / span >
< / span > < span id = "trim_sql-687" > < a href = "#trim_sql-687" > < span class = "linenos" > 687< / span > < / a > < span class = "k" > if< / span > < span class = "ow" > not< / span > < span class = "n" > remove_chars< / span > < span class = "ow" > and< / span > < span class = "ow" > not< / span > < span class = "n" > collation< / span > < span class = "p" > :< / span >
< / span > < span id = "trim_sql-688" > < a href = "#trim_sql-688" > < span class = "linenos" > 688< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > trim_sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
< / span > < span id = "trim_sql-689" > < a href = "#trim_sql-689" > < span class = "linenos" > 689< / span > < / a >
< / span > < span id = "trim_sql-690" > < a href = "#trim_sql-690" > < span class = "linenos" > 690< / span > < / a > < span class = "n" > trim_type< / span > < span class = "o" > =< / span > < span class = "sa" > f< / span > < span class = "s2" > " < / span > < span class = "si" > {< / span > < span class = "n" > trim_type< / span > < span class = "si" > }< / span > < span class = "s2" > " < / span > < span class = "k" > if< / span > < span class = "n" > trim_type< / span > < span class = "k" > else< / span > < span class = "s2" > " " < / span >
< / span > < span id = "trim_sql-691" > < a href = "#trim_sql-691" > < span class = "linenos" > 691< / span > < / a > < span class = "n" > remove_chars< / span > < span class = "o" > =< / span > < span class = "sa" > f< / span > < span class = "s2" > " < / span > < span class = "si" > {< / span > < span class = "n" > remove_chars< / span > < span class = "si" > }< / span > < span class = "s2" > " < / span > < span class = "k" > if< / span > < span class = "n" > remove_chars< / span > < span class = "k" > else< / span > < span class = "s2" > " " < / span >
< / span > < span id = "trim_sql-692" > < a href = "#trim_sql-692" > < span class = "linenos" > 692< / span > < / a > < span class = "n" > from_part< / span > < span class = "o" > =< / span > < span class = "s2" > " FROM " < / span > < span class = "k" > if< / span > < span class = "n" > trim_type< / span > < span class = "ow" > or< / span > < span class = "n" > remove_chars< / span > < span class = "k" > else< / span > < span class = "s2" > " " < / span >
< / span > < span id = "trim_sql-693" > < a href = "#trim_sql-693" > < span class = "linenos" > 693< / span > < / a > < span class = "n" > collation< / span > < span class = "o" > =< / span > < span class = "sa" > f< / span > < span class = "s2" > " COLLATE < / span > < span class = "si" > {< / span > < span class = "n" > collation< / span > < span class = "si" > }< / span > < span class = "s2" > " < / span > < span class = "k" > if< / span > < span class = "n" > collation< / span > < span class = "k" > else< / span > < span class = "s2" > " " < / span >
< / span > < span id = "trim_sql-694" > < a href = "#trim_sql-694" > < span class = "linenos" > 694< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " TRIM(< / span > < span class = "si" > {< / span > < span class = "n" > trim_type< / span > < span class = "si" > }{< / span > < span class = "n" > remove_chars< / span > < span class = "si" > }{< / span > < span class = "n" > from_part< / span > < span class = "si" > }{< / span > < span class = "n" > target< / span > < span class = "si" > }{< / span > < span class = "n" > collation< / span > < span class = "si" > }< / span > < span class = "s2" > )" < / span >
2025-02-13 15:22:50 +01:00
< / span > < / pre > < / div >
2025-02-13 15:31:44 +01:00
< / section >
< section id = "str_to_time_sql" >
< input id = "str_to_time_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
2025-02-13 15:56:32 +01:00
< span class = "name" > str_to_time_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#Expression" > sqlglot.expressions.Expression< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
2025-02-13 15:31:44 +01:00
< label class = "view-source-button" for = "str_to_time_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#str_to_time_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "str_to_time_sql-697" > < a href = "#str_to_time_sql-697" > < span class = "linenos" > 697< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > str_to_time_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "str_to_time_sql-698" > < a href = "#str_to_time_sql-698" > < span class = "linenos" > 698< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "s2" > " STRPTIME" < / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > format_time< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ))< / span >
2025-02-13 15:31:44 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "ts_or_ds_to_date_sql" >
< input id = "ts_or_ds_to_date_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > ts_or_ds_to_date_sql< / span > < span class = "signature pdoc-code condensed" > (< span class = "param" > < span class = "n" > dialect< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > Callable< / span > :< / span > < / span >
< label class = "view-source-button" for = "ts_or_ds_to_date_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#ts_or_ds_to_date_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "ts_or_ds_to_date_sql-701" > < a href = "#ts_or_ds_to_date_sql-701" > < span class = "linenos" > 701< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > ts_or_ds_to_date_sql< / span > < span class = "p" > (< / span > < span class = "n" > dialect< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Callable< / span > < span class = "p" > :< / span >
< / span > < span id = "ts_or_ds_to_date_sql-702" > < a href = "#ts_or_ds_to_date_sql-702" > < span class = "linenos" > 702< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _ts_or_ds_to_date_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TsOrDsToDate< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "ts_or_ds_to_date_sql-703" > < a href = "#ts_or_ds_to_date_sql-703" > < span class = "linenos" > 703< / span > < / a > < span class = "n" > _dialect< / span > < span class = "o" > =< / span > < span class = "n" > Dialect< / span > < span class = "o" > .< / span > < span class = "n" > get_or_raise< / span > < span class = "p" > (< / span > < span class = "n" > dialect< / span > < span class = "p" > )< / span >
< / span > < span id = "ts_or_ds_to_date_sql-704" > < a href = "#ts_or_ds_to_date_sql-704" > < span class = "linenos" > 704< / span > < / a > < span class = "n" > time_format< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > format_time< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
< / span > < span id = "ts_or_ds_to_date_sql-705" > < a href = "#ts_or_ds_to_date_sql-705" > < span class = "linenos" > 705< / span > < / a > < span class = "k" > if< / span > < span class = "n" > time_format< / span > < span class = "ow" > and< / span > < span class = "n" > time_format< / span > < span class = "ow" > not< / span > < span class = "ow" > in< / span > < span class = "p" > (< / span > < span class = "n" > _dialect< / span > < span class = "o" > .< / span > < span class = "n" > TIME_FORMAT< / span > < span class = "p" > ,< / span > < span class = "n" > _dialect< / span > < span class = "o" > .< / span > < span class = "n" > DATE_FORMAT< / span > < span class = "p" > ):< / span >
< / span > < span id = "ts_or_ds_to_date_sql-706" > < a href = "#ts_or_ds_to_date_sql-706" > < span class = "linenos" > 706< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span >
< / span > < span id = "ts_or_ds_to_date_sql-707" > < a href = "#ts_or_ds_to_date_sql-707" > < span class = "linenos" > 707< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > cast< / span > < span class = "p" > (< / span >
< / span > < span id = "ts_or_ds_to_date_sql-708" > < a href = "#ts_or_ds_to_date_sql-708" > < span class = "linenos" > 708< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StrToTime< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "nb" > format< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "s2" > " format" < / span > < span class = "p" > ]),< / span >
< / span > < span id = "ts_or_ds_to_date_sql-709" > < a href = "#ts_or_ds_to_date_sql-709" > < span class = "linenos" > 709< / span > < / a > < span class = "s2" > " date" < / span > < span class = "p" > ,< / span >
< / span > < span id = "ts_or_ds_to_date_sql-710" > < a href = "#ts_or_ds_to_date_sql-710" > < span class = "linenos" > 710< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "ts_or_ds_to_date_sql-711" > < a href = "#ts_or_ds_to_date_sql-711" > < span class = "linenos" > 711< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "ts_or_ds_to_date_sql-712" > < a href = "#ts_or_ds_to_date_sql-712" > < span class = "linenos" > 712< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > cast< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "s2" > " date" < / span > < span class = "p" > ))< / span >
< / span > < span id = "ts_or_ds_to_date_sql-713" > < a href = "#ts_or_ds_to_date_sql-713" > < span class = "linenos" > 713< / span > < / a >
< / span > < span id = "ts_or_ds_to_date_sql-714" > < a href = "#ts_or_ds_to_date_sql-714" > < span class = "linenos" > 714< / span > < / a > < span class = "k" > return< / span > < span class = "n" > _ts_or_ds_to_date_sql< / span >
2025-02-13 16:00:14 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "concat_to_dpipe_sql" >
< input id = "concat_to_dpipe_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > concat_to_dpipe_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#Concat" > sqlglot.expressions.Concat< / a > < / span > < span class = "o" > |< / span > < span class = "n" > < a href = "../expressions.html#SafeConcat" > sqlglot.expressions.SafeConcat< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "concat_to_dpipe_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#concat_to_dpipe_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "concat_to_dpipe_sql-717" > < a href = "#concat_to_dpipe_sql-717" > < span class = "linenos" > 717< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > concat_to_dpipe_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Concat< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > SafeConcat< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "concat_to_dpipe_sql-718" > < a href = "#concat_to_dpipe_sql-718" > < span class = "linenos" > 718< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > reduce< / span > < span class = "p" > (< / span > < span class = "k" > lambda< / span > < span class = "n" > x< / span > < span class = "p" > ,< / span > < span class = "n" > y< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DPipe< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > x< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > y< / span > < span class = "p" > ),< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "p" > ))< / span >
2025-02-13 21:00:44 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "concat_ws_to_dpipe_sql" >
< input id = "concat_ws_to_dpipe_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > concat_ws_to_dpipe_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#ConcatWs" > sqlglot.expressions.ConcatWs< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "concat_ws_to_dpipe_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#concat_ws_to_dpipe_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "concat_ws_to_dpipe_sql-721" > < a href = "#concat_ws_to_dpipe_sql-721" > < span class = "linenos" > 721< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > concat_ws_to_dpipe_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ConcatWs< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "concat_ws_to_dpipe_sql-722" > < a href = "#concat_ws_to_dpipe_sql-722" > < span class = "linenos" > 722< / span > < / a > < span class = "n" > delim< / span > < span class = "p" > ,< / span > < span class = "o" > *< / span > < span class = "n" > rest_args< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span >
< / span > < span id = "concat_ws_to_dpipe_sql-723" > < a href = "#concat_ws_to_dpipe_sql-723" > < span class = "linenos" > 723< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span >
< / span > < span id = "concat_ws_to_dpipe_sql-724" > < a href = "#concat_ws_to_dpipe_sql-724" > < span class = "linenos" > 724< / span > < / a > < span class = "n" > reduce< / span > < span class = "p" > (< / span >
< / span > < span id = "concat_ws_to_dpipe_sql-725" > < a href = "#concat_ws_to_dpipe_sql-725" > < span class = "linenos" > 725< / span > < / a > < span class = "k" > lambda< / span > < span class = "n" > x< / span > < span class = "p" > ,< / span > < span class = "n" > y< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DPipe< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > x< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DPipe< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > delim< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > y< / span > < span class = "p" > )),< / span >
< / span > < span id = "concat_ws_to_dpipe_sql-726" > < a href = "#concat_ws_to_dpipe_sql-726" > < span class = "linenos" > 726< / span > < / a > < span class = "n" > rest_args< / span > < span class = "p" > ,< / span >
< / span > < span id = "concat_ws_to_dpipe_sql-727" > < a href = "#concat_ws_to_dpipe_sql-727" > < span class = "linenos" > 727< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "concat_ws_to_dpipe_sql-728" > < a href = "#concat_ws_to_dpipe_sql-728" > < span class = "linenos" > 728< / span > < / a > < span class = "p" > )< / span >
2025-02-13 15:56:32 +01:00
< / span > < / pre > < / div >
2025-02-13 20:44:53 +01:00
< / section >
< section id = "regexp_extract_sql" >
< input id = "regexp_extract_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > regexp_extract_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#RegexpExtract" > sqlglot.expressions.RegexpExtract< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "regexp_extract_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#regexp_extract_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "regexp_extract_sql-731" > < a href = "#regexp_extract_sql-731" > < span class = "linenos" > 731< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > regexp_extract_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > RegexpExtract< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "regexp_extract_sql-732" > < a href = "#regexp_extract_sql-732" > < span class = "linenos" > 732< / span > < / a > < span class = "n" > bad_args< / span > < span class = "o" > =< / span > < span class = "nb" > list< / span > < span class = "p" > (< / span > < span class = "nb" > filter< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > ,< / span > < span class = "p" > (< / span > < span class = "s2" > " position" < / span > < span class = "p" > ,< / span > < span class = "s2" > " occurrence" < / span > < span class = "p" > ,< / span > < span class = "s2" > " parameters" < / span > < span class = "p" > )))< / span >
< / span > < span id = "regexp_extract_sql-733" > < a href = "#regexp_extract_sql-733" > < span class = "linenos" > 733< / span > < / a > < span class = "k" > if< / span > < span class = "n" > bad_args< / span > < span class = "p" > :< / span >
< / span > < span id = "regexp_extract_sql-734" > < a href = "#regexp_extract_sql-734" > < span class = "linenos" > 734< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "sa" > f< / span > < span class = "s2" > " REGEXP_EXTRACT does not support the following arg(s): < / span > < span class = "si" > {< / span > < span class = "n" > bad_args< / span > < span class = "si" > }< / span > < span class = "s2" > " < / span > < span class = "p" > )< / span >
< / span > < span id = "regexp_extract_sql-735" > < a href = "#regexp_extract_sql-735" > < span class = "linenos" > 735< / span > < / a >
< / span > < span id = "regexp_extract_sql-736" > < a href = "#regexp_extract_sql-736" > < span class = "linenos" > 736< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span >
< / span > < span id = "regexp_extract_sql-737" > < a href = "#regexp_extract_sql-737" > < span class = "linenos" > 737< / span > < / a > < span class = "s2" > " REGEXP_EXTRACT" < / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " group" < / span > < span class = "p" > )< / span >
< / span > < span id = "regexp_extract_sql-738" > < a href = "#regexp_extract_sql-738" > < span class = "linenos" > 738< / span > < / a > < span class = "p" > )< / span >
2025-02-13 20:46:23 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "regexp_replace_sql" >
< input id = "regexp_replace_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > regexp_replace_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#RegexpReplace" > sqlglot.expressions.RegexpReplace< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "regexp_replace_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#regexp_replace_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "regexp_replace_sql-741" > < a href = "#regexp_replace_sql-741" > < span class = "linenos" > 741< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > regexp_replace_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > RegexpReplace< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "regexp_replace_sql-742" > < a href = "#regexp_replace_sql-742" > < span class = "linenos" > 742< / span > < / a > < span class = "n" > bad_args< / span > < span class = "o" > =< / span > < span class = "nb" > list< / span > < span class = "p" > (< / span >
< / span > < span id = "regexp_replace_sql-743" > < a href = "#regexp_replace_sql-743" > < span class = "linenos" > 743< / span > < / a > < span class = "nb" > filter< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > ,< / span > < span class = "p" > (< / span > < span class = "s2" > " position" < / span > < span class = "p" > ,< / span > < span class = "s2" > " occurrence" < / span > < span class = "p" > ,< / span > < span class = "s2" > " parameters" < / span > < span class = "p" > ,< / span > < span class = "s2" > " modifiers" < / span > < span class = "p" > ))< / span >
< / span > < span id = "regexp_replace_sql-744" > < a href = "#regexp_replace_sql-744" > < span class = "linenos" > 744< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "regexp_replace_sql-745" > < a href = "#regexp_replace_sql-745" > < span class = "linenos" > 745< / span > < / a > < span class = "k" > if< / span > < span class = "n" > bad_args< / span > < span class = "p" > :< / span >
< / span > < span id = "regexp_replace_sql-746" > < a href = "#regexp_replace_sql-746" > < span class = "linenos" > 746< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "sa" > f< / span > < span class = "s2" > " REGEXP_REPLACE does not support the following arg(s): < / span > < span class = "si" > {< / span > < span class = "n" > bad_args< / span > < span class = "si" > }< / span > < span class = "s2" > " < / span > < span class = "p" > )< / span >
< / span > < span id = "regexp_replace_sql-747" > < a href = "#regexp_replace_sql-747" > < span class = "linenos" > 747< / span > < / a >
< / span > < span id = "regexp_replace_sql-748" > < a href = "#regexp_replace_sql-748" > < span class = "linenos" > 748< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span >
< / span > < span id = "regexp_replace_sql-749" > < a href = "#regexp_replace_sql-749" > < span class = "linenos" > 749< / span > < / a > < span class = "s2" > " REGEXP_REPLACE" < / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "s2" > " replacement" < / span > < span class = "p" > ]< / span >
< / span > < span id = "regexp_replace_sql-750" > < a href = "#regexp_replace_sql-750" > < span class = "linenos" > 750< / span > < / a > < span class = "p" > )< / span >
2025-02-13 20:44:53 +01:00
< / span > < / pre > < / div >
2025-02-13 15:56:32 +01:00
< / section >
< section id = "pivot_column_names" >
< input id = "pivot_column_names-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
2025-02-13 21:00:44 +01:00
< span class = "name" > pivot_column_names< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "n" > aggregations< / span > < span class = "p" > :< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "n" > < a href = "../expressions.html#Expression" > sqlglot.expressions.Expression< / a > < / span > < span class = "p" > ]< / span > ,< / span > < span class = "param" > < span class = "n" > dialect< / span > < span class = "p" > :< / span > < span class = "n" > Union< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "n" > < a href = "#Dialect" > Dialect< / a > < / span > < span class = "p" > ,< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "n" > < a href = "#Dialect" > Dialect< / a > < / span > < span class = "p" > ],< / span > < span class = "n" > NoneType< / span > < span class = "p" > ]< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ]< / span > :< / span > < / span >
2025-02-13 15:56:32 +01:00
< label class = "view-source-button" for = "pivot_column_names-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#pivot_column_names" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "pivot_column_names-753" > < a href = "#pivot_column_names-753" > < span class = "linenos" > 753< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > pivot_column_names< / span > < span class = "p" > (< / span > < span class = "n" > aggregations< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ],< / span > < span class = "n" > dialect< / span > < span class = "p" > :< / span > < span class = "n" > DialectType< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ]:< / span >
< / span > < span id = "pivot_column_names-754" > < a href = "#pivot_column_names-754" > < span class = "linenos" > 754< / span > < / a > < span class = "n" > names< / span > < span class = "o" > =< / span > < span class = "p" > []< / span >
< / span > < span id = "pivot_column_names-755" > < a href = "#pivot_column_names-755" > < span class = "linenos" > 755< / span > < / a > < span class = "k" > for< / span > < span class = "n" > agg< / span > < span class = "ow" > in< / span > < span class = "n" > aggregations< / span > < span class = "p" > :< / span >
< / span > < span id = "pivot_column_names-756" > < a href = "#pivot_column_names-756" > < span class = "linenos" > 756< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > agg< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Alias< / span > < span class = "p" > ):< / span >
< / span > < span id = "pivot_column_names-757" > < a href = "#pivot_column_names-757" > < span class = "linenos" > 757< / span > < / a > < span class = "n" > names< / span > < span class = "o" > .< / span > < span class = "n" > append< / span > < span class = "p" > (< / span > < span class = "n" > agg< / span > < span class = "o" > .< / span > < span class = "n" > alias< / span > < span class = "p" > )< / span >
< / span > < span id = "pivot_column_names-758" > < a href = "#pivot_column_names-758" > < span class = "linenos" > 758< / span > < / a > < span class = "k" > else< / span > < span class = "p" > :< / span >
< / span > < span id = "pivot_column_names-759" > < a href = "#pivot_column_names-759" > < span class = "linenos" > 759< / span > < / a > < span class = "w" > < / span > < span class = "sd" > " " " < / span >
< / span > < span id = "pivot_column_names-760" > < a href = "#pivot_column_names-760" > < span class = "linenos" > 760< / span > < / a > < span class = "sd" > This case corresponds to aggregations without aliases being used as suffixes< / span >
< / span > < span id = "pivot_column_names-761" > < a href = "#pivot_column_names-761" > < span class = "linenos" > 761< / span > < / a > < span class = "sd" > (e.g. col_avg(foo)). We need to unquote identifiers because they' re going to< / span >
< / span > < span id = "pivot_column_names-762" > < a href = "#pivot_column_names-762" > < span class = "linenos" > 762< / span > < / a > < span class = "sd" > be quoted in the base parser' s `_parse_pivot` method, due to `to_identifier`.< / span >
< / span > < span id = "pivot_column_names-763" > < a href = "#pivot_column_names-763" > < span class = "linenos" > 763< / span > < / a > < span class = "sd" > Otherwise, we' d end up with `col_avg(`foo`)` (notice the double quotes).< / span >
< / span > < span id = "pivot_column_names-764" > < a href = "#pivot_column_names-764" > < span class = "linenos" > 764< / span > < / a > < span class = "sd" > " " " < / span >
< / span > < span id = "pivot_column_names-765" > < a href = "#pivot_column_names-765" > < span class = "linenos" > 765< / span > < / a > < span class = "n" > agg_all_unquoted< / span > < span class = "o" > =< / span > < span class = "n" > agg< / span > < span class = "o" > .< / span > < span class = "n" > transform< / span > < span class = "p" > (< / span >
< / span > < span id = "pivot_column_names-766" > < a href = "#pivot_column_names-766" > < span class = "linenos" > 766< / span > < / a > < span class = "k" > lambda< / span > < span class = "n" > node< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Identifier< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > node< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "p" > ,< / span > < span class = "n" > quoted< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > )< / span >
< / span > < span id = "pivot_column_names-767" > < a href = "#pivot_column_names-767" > < span class = "linenos" > 767< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > node< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Identifier< / span > < span class = "p" > )< / span >
< / span > < span id = "pivot_column_names-768" > < a href = "#pivot_column_names-768" > < span class = "linenos" > 768< / span > < / a > < span class = "k" > else< / span > < span class = "n" > node< / span >
< / span > < span id = "pivot_column_names-769" > < a href = "#pivot_column_names-769" > < span class = "linenos" > 769< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "pivot_column_names-770" > < a href = "#pivot_column_names-770" > < span class = "linenos" > 770< / span > < / a > < span class = "n" > names< / span > < span class = "o" > .< / span > < span class = "n" > append< / span > < span class = "p" > (< / span > < span class = "n" > agg_all_unquoted< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > dialect< / span > < span class = "o" > =< / span > < span class = "n" > dialect< / span > < span class = "p" > ,< / span > < span class = "n" > normalize_functions< / span > < span class = "o" > =< / span > < span class = "s2" > " lower" < / span > < span class = "p" > ))< / span >
< / span > < span id = "pivot_column_names-771" > < a href = "#pivot_column_names-771" > < span class = "linenos" > 771< / span > < / a >
< / span > < span id = "pivot_column_names-772" > < a href = "#pivot_column_names-772" > < span class = "linenos" > 772< / span > < / a > < span class = "k" > return< / span > < span class = "n" > names< / span >
2025-02-13 20:46:23 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "binary_from_function" >
< input id = "binary_from_function-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > binary_from_function< / span > < span class = "signature pdoc-code condensed" > (< span class = "param" > < span class = "n" > expr_type< / span > < span class = "p" > :< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "o" > ~< / span > < span class = "n" > B< / span > < span class = "p" > ]< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > List< / span > < span class = "p" > ],< / span > < span class = "o" > ~< / span > < span class = "n" > B< / span > < span class = "p" > ]< / span > :< / span > < / span >
< label class = "view-source-button" for = "binary_from_function-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#binary_from_function" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "binary_from_function-775" > < a href = "#binary_from_function-775" > < span class = "linenos" > 775< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > binary_from_function< / span > < span class = "p" > (< / span > < span class = "n" > expr_type< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "p" > [< / span > < span class = "n" > B< / span > < span class = "p" > ])< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > ],< / span > < span class = "n" > B< / span > < span class = "p" > ]:< / span >
< / span > < span id = "binary_from_function-776" > < a href = "#binary_from_function-776" > < span class = "linenos" > 776< / span > < / a > < span class = "k" > return< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > expr_type< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > ),< / span > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > ))< / span >
2025-02-13 20:56:33 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "parse_timestamp_trunc" >
< input id = "parse_timestamp_trunc-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > parse_timestamp_trunc< / span > < span class = "signature pdoc-code condensed" > (< span class = "param" > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > List< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > < a href = "../expressions.html#TimestampTrunc" > sqlglot.expressions.TimestampTrunc< / a > < / span > :< / span > < / span >
< label class = "view-source-button" for = "parse_timestamp_trunc-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#parse_timestamp_trunc" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "parse_timestamp_trunc-780" > < a href = "#parse_timestamp_trunc-780" > < span class = "linenos" > 780< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > parse_timestamp_trunc< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TimestampTrunc< / span > < span class = "p" > :< / span >
< / span > < span id = "parse_timestamp_trunc-781" > < a href = "#parse_timestamp_trunc-781" > < span class = "linenos" > 781< / span > < / a > < span class = "k" > return< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TimestampTrunc< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > ))< / span >
2025-02-13 20:56:33 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "any_value_to_max_sql" >
< input id = "any_value_to_max_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > any_value_to_max_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#AnyValue" > sqlglot.expressions.AnyValue< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "any_value_to_max_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#any_value_to_max_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "any_value_to_max_sql-784" > < a href = "#any_value_to_max_sql-784" > < span class = "linenos" > 784< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > any_value_to_max_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > AnyValue< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "any_value_to_max_sql-785" > < a href = "#any_value_to_max_sql-785" > < span class = "linenos" > 785< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "s2" > " MAX" < / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > )< / span >
2025-02-13 21:03:05 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "bool_xor_sql" >
< input id = "bool_xor_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > bool_xor_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#Xor" > sqlglot.expressions.Xor< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "bool_xor_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#bool_xor_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "bool_xor_sql-788" > < a href = "#bool_xor_sql-788" > < span class = "linenos" > 788< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > bool_xor_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Xor< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "bool_xor_sql-789" > < a href = "#bool_xor_sql-789" > < span class = "linenos" > 789< / span > < / a > < span class = "n" > a< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > left< / span > < span class = "p" > )< / span >
< / span > < span id = "bool_xor_sql-790" > < a href = "#bool_xor_sql-790" > < span class = "linenos" > 790< / span > < / a > < span class = "n" > b< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > right< / span > < span class = "p" > )< / span >
< / span > < span id = "bool_xor_sql-791" > < a href = "#bool_xor_sql-791" > < span class = "linenos" > 791< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " (< / span > < span class = "si" > {< / span > < span class = "n" > a< / span > < span class = "si" > }< / span > < span class = "s2" > AND (NOT < / span > < span class = "si" > {< / span > < span class = "n" > b< / span > < span class = "si" > }< / span > < span class = "s2" > )) OR ((NOT < / span > < span class = "si" > {< / span > < span class = "n" > a< / span > < span class = "si" > }< / span > < span class = "s2" > ) AND < / span > < span class = "si" > {< / span > < span class = "n" > b< / span > < span class = "si" > }< / span > < span class = "s2" > )" < / span >
2025-02-13 20:56:33 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "json_keyvalue_comma_sql" >
< input id = "json_keyvalue_comma_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
2025-02-13 21:03:05 +01:00
< span class = "name" > json_keyvalue_comma_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#JSONKeyValue" > sqlglot.expressions.JSONKeyValue< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
2025-02-13 20:56:33 +01:00
< label class = "view-source-button" for = "json_keyvalue_comma_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#json_keyvalue_comma_sql" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "json_keyvalue_comma_sql-795" > < a href = "#json_keyvalue_comma_sql-795" > < span class = "linenos" > 795< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > json_keyvalue_comma_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > JSONKeyValue< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "json_keyvalue_comma_sql-796" > < a href = "#json_keyvalue_comma_sql-796" > < span class = "linenos" > 796< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' this' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > , < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' expression' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > " < / span >
2025-02-13 21:03:05 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "is_parse_json" >
< input id = "is_parse_json-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > is_parse_json< / span > < span class = "signature pdoc-code condensed" > (< span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#Expression" > sqlglot.expressions.Expression< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > bool< / span > :< / span > < / span >
< label class = "view-source-button" for = "is_parse_json-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#is_parse_json" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "is_parse_json-799" > < a href = "#is_parse_json-799" > < span class = "linenos" > 799< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > is_parse_json< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > bool< / span > < span class = "p" > :< / span >
< / span > < span id = "is_parse_json-800" > < a href = "#is_parse_json-800" > < span class = "linenos" > 800< / span > < / a > < span class = "k" > return< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ParseJSON< / span > < span class = "p" > )< / span > < span class = "ow" > or< / span > < span class = "p" > (< / span >
< / span > < span id = "is_parse_json-801" > < a href = "#is_parse_json-801" > < span class = "linenos" > 801< / span > < / a > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Cast< / span > < span class = "p" > )< / span > < span class = "ow" > and< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > is_type< / span > < span class = "p" > (< / span > < span class = "s2" > " json" < / span > < span class = "p" > )< / span >
< / span > < span id = "is_parse_json-802" > < a href = "#is_parse_json-802" > < span class = "linenos" > 802< / span > < / a > < span class = "p" > )< / span >
2025-02-13 21:03:05 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "isnull_to_is_null" >
< input id = "isnull_to_is_null-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > isnull_to_is_null< / span > < span class = "signature pdoc-code condensed" > (< span class = "param" > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > List< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > < a href = "../expressions.html#Expression" > sqlglot.expressions.Expression< / a > < / span > :< / span > < / span >
< label class = "view-source-button" for = "isnull_to_is_null-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#isnull_to_is_null" > < / a >
2025-02-13 21:15:38 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "isnull_to_is_null-805" > < a href = "#isnull_to_is_null-805" > < span class = "linenos" > 805< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > isnull_to_is_null< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > :< / span >
< / span > < span id = "isnull_to_is_null-806" > < a href = "#isnull_to_is_null-806" > < span class = "linenos" > 806< / span > < / a > < span class = "k" > return< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Paren< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Is< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > ),< / span > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > null< / span > < span class = "p" > ()))< / span >
2025-02-13 21:03:05 +01:00
< / span > < / pre > < / div >
< / section >
2025-02-13 21:15:38 +01:00
< section id = "generatedasidentitycolumnconstraint_sql" >
< input id = "generatedasidentitycolumnconstraint_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
2025-02-13 21:03:05 +01:00
< div class = "attr function" >
< span class = "def" > def< / span >
2025-02-13 21:15:38 +01:00
< span class = "name" > generatedasidentitycolumnconstraint_sql< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > ,< / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#GeneratedAsIdentityColumnConstraint" > sqlglot.expressions.GeneratedAsIdentityColumnConstraint< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
2025-02-13 21:03:05 +01:00
2025-02-13 21:15:38 +01:00
< label class = "view-source-button" for = "generatedasidentitycolumnconstraint_sql-view-source" > < span > View Source< / span > < / label >
2025-02-13 21:03:05 +01:00
< / div >
2025-02-13 21:15:38 +01:00
< a class = "headerlink" href = "#generatedasidentitycolumnconstraint_sql" > < / a >
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "generatedasidentitycolumnconstraint_sql-809" > < a href = "#generatedasidentitycolumnconstraint_sql-809" > < span class = "linenos" > 809< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > generatedasidentitycolumnconstraint_sql< / span > < span class = "p" > (< / span >
< / span > < span id = "generatedasidentitycolumnconstraint_sql-810" > < a href = "#generatedasidentitycolumnconstraint_sql-810" > < span class = "linenos" > 810< / span > < / a > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > GeneratedAsIdentityColumnConstraint< / span >
< / span > < span id = "generatedasidentitycolumnconstraint_sql-811" > < a href = "#generatedasidentitycolumnconstraint_sql-811" > < span class = "linenos" > 811< / span > < / a > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "generatedasidentitycolumnconstraint_sql-812" > < a href = "#generatedasidentitycolumnconstraint_sql-812" > < span class = "linenos" > 812< / span > < / a > < span class = "n" > start< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " start" < / span > < span class = "p" > )< / span > < span class = "ow" > or< / span > < span class = "s2" > " 1" < / span >
< / span > < span id = "generatedasidentitycolumnconstraint_sql-813" > < a href = "#generatedasidentitycolumnconstraint_sql-813" > < span class = "linenos" > 813< / span > < / a > < span class = "n" > increment< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " increment" < / span > < span class = "p" > )< / span > < span class = "ow" > or< / span > < span class = "s2" > " 1" < / span >
< / span > < span id = "generatedasidentitycolumnconstraint_sql-814" > < a href = "#generatedasidentitycolumnconstraint_sql-814" > < span class = "linenos" > 814< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " IDENTITY(< / span > < span class = "si" > {< / span > < span class = "n" > start< / span > < span class = "si" > }< / span > < span class = "s2" > , < / span > < span class = "si" > {< / span > < span class = "n" > increment< / span > < span class = "si" > }< / span > < span class = "s2" > )" < / span >
2025-02-13 21:08:47 +01:00
< / span > < / pre > < / div >
< / section >
2025-02-13 21:15:38 +01:00
< section id = "arg_max_or_min_no_count" >
< input id = "arg_max_or_min_no_count-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
2025-02-13 21:08:47 +01:00
< div class = "attr function" >
< span class = "def" > def< / span >
2025-02-13 21:15:38 +01:00
< span class = "name" > arg_max_or_min_no_count< / span > < span class = "signature pdoc-code multiline" > (< span class = "param" > < span class = "n" > name< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < / span > < span class = "return-annotation" > ) -> < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / span > < span class = "p" > ,< / span > < span class = "n" > < a href = "../expressions.html#ArgMax" > sqlglot.expressions.ArgMax< / a > < / span > < span class = "o" > |< / span > < span class = "n" > < a href = "../expressions.html#ArgMin" > sqlglot.expressions.ArgMin< / a > < / span > < span class = "p" > ],< / span > < span class = "nb" > str< / span > < span class = "p" > ]< / span > :< / span > < / span >
2025-02-13 21:08:47 +01:00
2025-02-13 21:15:38 +01:00
< label class = "view-source-button" for = "arg_max_or_min_no_count-view-source" > < span > View Source< / span > < / label >
2025-02-13 21:08:47 +01:00
< / div >
2025-02-13 21:15:38 +01:00
< a class = "headerlink" href = "#arg_max_or_min_no_count" > < / a >
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "arg_max_or_min_no_count-817" > < a href = "#arg_max_or_min_no_count-817" > < span class = "linenos" > 817< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > arg_max_or_min_no_count< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ArgMax< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ArgMin< / span > < span class = "p" > ],< / span > < span class = "nb" > str< / span > < span class = "p" > ]:< / span >
< / span > < span id = "arg_max_or_min_no_count-818" > < a href = "#arg_max_or_min_no_count-818" > < span class = "linenos" > 818< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _arg_max_or_min_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ArgMax< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ArgMin< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "arg_max_or_min_no_count-819" > < a href = "#arg_max_or_min_no_count-819" > < span class = "linenos" > 819< / span > < / a > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " count" < / span > < span class = "p" > ):< / span >
< / span > < span id = "arg_max_or_min_no_count-820" > < a href = "#arg_max_or_min_no_count-820" > < span class = "linenos" > 820< / span > < / a > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > unsupported< / span > < span class = "p" > (< / span > < span class = "sa" > f< / span > < span class = "s2" > " Only two arguments are supported in function < / span > < span class = "si" > {< / span > < span class = "n" > name< / span > < span class = "si" > }< / span > < span class = "s2" > ." < / span > < span class = "p" > )< / span >
< / span > < span id = "arg_max_or_min_no_count-821" > < a href = "#arg_max_or_min_no_count-821" > < span class = "linenos" > 821< / span > < / a >
< / span > < span id = "arg_max_or_min_no_count-822" > < a href = "#arg_max_or_min_no_count-822" > < span class = "linenos" > 822< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "n" > name< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
< / span > < span id = "arg_max_or_min_no_count-823" > < a href = "#arg_max_or_min_no_count-823" > < span class = "linenos" > 823< / span > < / a >
< / span > < span id = "arg_max_or_min_no_count-824" > < a href = "#arg_max_or_min_no_count-824" > < span class = "linenos" > 824< / span > < / a > < span class = "k" > return< / span > < span class = "n" > _arg_max_or_min_sql< / span >
2025-02-13 15:31:44 +01:00
< / span > < / pre > < / div >
2025-02-13 15:22:50 +01:00
< / section >
< / main >
< script >
function escapeHTML(html) {
return document.createElement('div').appendChild(document.createTextNode(html)).parentNode.innerHTML;
}
const originalContent = document.querySelector("main.pdoc");
let currentContent = originalContent;
function setContent(innerHTML) {
let elem;
if (innerHTML) {
elem = document.createElement("main");
elem.classList.add("pdoc");
elem.innerHTML = innerHTML;
} else {
elem = originalContent;
}
if (currentContent !== elem) {
currentContent.replaceWith(elem);
currentContent = elem;
}
}
function getSearchTerm() {
return (new URL(window.location)).searchParams.get("search");
}
const searchBox = document.querySelector(".pdoc input[type=search]");
searchBox.addEventListener("input", function () {
let url = new URL(window.location);
if (searchBox.value.trim()) {
url.hash = "";
url.searchParams.set("search", searchBox.value);
} else {
url.searchParams.delete("search");
}
history.replaceState("", "", url.toString());
onInput();
});
window.addEventListener("popstate", onInput);
let search, searchErr;
async function initialize() {
try {
search = await new Promise((resolve, reject) => {
const script = document.createElement("script");
script.type = "text/javascript";
script.async = true;
script.onload = () => resolve(window.pdocSearch);
script.onerror = (e) => reject(e);
script.src = "../../search.js";
document.getElementsByTagName("head")[0].appendChild(script);
});
} catch (e) {
console.error("Cannot fetch pdoc search index");
searchErr = "Cannot fetch search index.";
}
onInput();
document.querySelector("nav.pdoc").addEventListener("click", e => {
if (e.target.hash) {
searchBox.value = "";
searchBox.dispatchEvent(new Event("input"));
}
});
}
function onInput() {
setContent((() => {
const term = getSearchTerm();
if (!term) {
return null
}
if (searchErr) {
return `< h3 > Error: ${searchErr}< / h3 > `
}
if (!search) {
return "< h3 > Searching...< / h3 > "
}
window.scrollTo({top: 0, left: 0, behavior: 'auto'});
const results = search(term);
let html;
if (results.length === 0) {
html = `No search results for '${escapeHTML(term)}'.`
} else {
html = `< h4 > ${results.length} search result${results.length > 1 ? "s" : ""} for '${escapeHTML(term)}'.< / h4 > `;
}
for (let result of results.slice(0, 10)) {
let doc = result.doc;
let url = `../../${doc.modulename.replaceAll(".", "/")}.html`;
if (doc.qualname) {
url += `#${doc.qualname}`;
}
let heading;
switch (result.doc.kind) {
case "function":
if (doc.fullname.endsWith(".__init__")) {
heading = `< span class = "name" > ${doc.fullname.replace(/\.__init__$/, "")}< / span > ${doc.signature}`;
} else {
heading = `< span class = "def" > ${doc.funcdef}< / span > < span class = "name" > ${doc.fullname}< / span > ${doc.signature}`;
}
break;
case "class":
heading = `< span class = "def" > class< / span > < span class = "name" > ${doc.fullname}< / span > `;
if (doc.bases)
heading += `< wbr > (< span class = "base" > ${doc.bases}< / span > )`;
heading += `:`;
break;
case "variable":
heading = `< span class = "name" > ${doc.fullname}< / span > `;
if (doc.annotation)
heading += `< span class = "annotation" > ${doc.annotation}< / span > `;
if (doc.default_value)
2025-02-13 15:31:44 +01:00
heading += `< span class = "default_value" > = ${doc.default_value}< / span > `;
2025-02-13 15:22:50 +01:00
break;
default:
heading = `< span class = "name" > ${doc.fullname}< / span > `;
break;
}
html += `
< section class = "search-result" >
< a href = "${url}" class = "attr ${doc.kind}" > ${heading}< / a >
< div class = "docstring" > ${doc.doc}< / div >
< / section >
`;
}
return html;
})());
}
if (getSearchTerm()) {
initialize();
searchBox.value = getSearchTerm();
onInput();
} else {
searchBox.addEventListener("focus", initialize, {once: true});
}
searchBox.addEventListener("keydown", e => {
if (["ArrowDown", "ArrowUp", "Enter"].includes(e.key)) {
let focused = currentContent.querySelector(".search-result.focused");
if (!focused) {
currentContent.querySelector(".search-result").classList.add("focused");
} else if (
e.key === "ArrowDown"
& & focused.nextElementSibling
& & focused.nextElementSibling.classList.contains("search-result")
) {
focused.classList.remove("focused");
focused.nextElementSibling.classList.add("focused");
focused.nextElementSibling.scrollIntoView({
behavior: "smooth",
block: "nearest",
inline: "nearest"
});
} else if (
e.key === "ArrowUp"
& & focused.previousElementSibling
& & focused.previousElementSibling.classList.contains("search-result")
) {
focused.classList.remove("focused");
focused.previousElementSibling.classList.add("focused");
focused.previousElementSibling.scrollIntoView({
behavior: "smooth",
block: "nearest",
inline: "nearest"
});
} else if (
e.key === "Enter"
) {
focused.querySelector("a").click();
}
}
});
< / script > < / body >
< / html >