!o!None+"#&',.01245678=>?@ACFHJMPRSUVX_`d`hasql-thCompose a monad, which attempts to extend a value, based on the following input. It does that recursively until the suffix alternative fails.x  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None+"#&',.01245678=>?@ACFHJMPRSUVX_`dhasql-th+intersperseFoldMap ", " id (fromList ["a"])"a"5intersperseFoldMap ", " id (fromList ["a", "b", "c"]) "a, b, c"None+"#&',.01245678=>?@ACFHJMPRSUVX_`d$- hasql-thLifted megaparsec's .hasql-thLifted megaparsec's .hasql-thLifted megaparsec's .hasql-thLifted megaparsec's .hasql-thLifted megaparsec's  .hasql-thLifted megaparsec's  .hasql-thLifted megaparsec's  .hasql-thLifted megaparsec's .hasql-thLifted megaparsec's . None+"#&',.01245678=>?@ACFHJMPRSUVX_`dF hasql-thZThe only custom extension required for support of nullability markers in typecasted types. Consists of:Value/element type name Value/element nullability markerArray dimensions amountArray nullability markerhasql-th(AexprConst: | Iconst | FCONST | Sconst | BCONST | XCONST | func_name Sconst | func_name '(' func_arg_list opt_sort_clause ')' Sconst | ConstTypename Sconst | ConstInterval Sconst opt_interval | ConstInterval '(' Iconst ')' Sconst | TRUE_P | FALSE_P | NULL_Phasql-th&sort_clause: | ORDER BY sortby_list4sortby_list: | sortby | sortby_list ',' sortbyhasql-th window_specification: | '(' opt_existing_window_name opt_partition_clause opt_sort_clause opt_frame_clause ')' opt_existing_window_name: | ColId | EMPTY opt_partition_clause: | PARTITION BY expr_list | EMPTY hasql-th 6window_definition: | ColId AS window_specification hasql-th window_clause: | WINDOW window_definition_list | EMPTY window_definition_list: | window_definition | window_definition_list ',' window_definition hasql-th -having_clause: | HAVING a_expr | EMPTY hasql-thCovers these parts of spec: Ysimple_select: | SELECT opt_all_clause opt_target_list into_clause from_clause where_clause group_clause having_clause window_clause | SELECT distinct_clause target_list into_clause from_clause where_clause group_clause having_clause window_clause distinct_clause: | DISTINCT | DISTINCT ON '(' expr_list ')' hasql-th :select_clause: | simple_select | select_with_parens hasql-thCovers the following cases: select_no_parens: | simple_select | select_clause sort_clause | select_clause opt_sort_clause for_locking_clause opt_select_limit | select_clause opt_sort_clause select_limit opt_for_locking_clause | with_clause select_clause | with_clause select_clause sort_clause | with_clause select_clause opt_sort_clause for_locking_clause opt_select_limit | with_clause select_clause opt_sort_clause select_limit opt_for_locking_clause       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None+"#&',.01245678=>?@ACFHJMPRSUVX_`dThasql-thBAs per the following comment from the original scanner definition:X/* * Likewise, if what we have left is two chars, and * those match the tokens ">=", " =","=`", "<>" or * "!=", then we must return the appropriate token * rather than the generic Op. */None+"#&',.01245678=>?@ACFHJMPRSUVX_`dXhasql-th)test = oneOf [(==3), (==7), (==3), (==5)]test 1Falsetest 3Truetest 5True None+"#&',.01245678=>?@ACFHJMPRSUVX_`dZvhasql-thDives one level of recursion.      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]None+"#&',.01245678=>?@ACFHJMPRSUVX_`d^u^_`abcdefghijklmnNone+"#&',.01245678=>?@ACFHJMPRSUVX_`d`H opqrstuvwxNone+"#&',.01245678=>?@ACFHJMPRSUVX_`dqyhasql-th-import qualified Hasql.TH.Syntax.Parsing as PEtest = either fail (return . preparableStmt) . P.run P.preparableStmttest "select $1 :: INT4"=Right [TypecastTypename (UnquotedIdent "int4") False 0 False]+test "select $1 :: int4, a + $2 :: text[]?"rRight [TypecastTypename (UnquotedIdent "int4") False 0 False,TypecastTypename (UnquotedIdent "text") False 1 True],test "select $1 :: int4, a + $2 :: text?[]?"qRight [TypecastTypename (UnquotedIdent "int4") False 0 False,TypecastTypename (UnquotedIdent "text") True 1 True]test "select $1"1Left "Placeholder $1 misses an explicit typecast"0test "select $2 :: int4, $1 :: int4, $2 :: int4"sRight [TypecastTypename (UnquotedIdent "int4") False 0 False,TypecastTypename (UnquotedIdent "int4") False 0 False]$test "select $1 :: int4, $1 :: text"6Left "Placeholder $1 has conflicting type annotations"$test "select $2 :: int4, $2 :: text"6Left "Placeholder $2 has conflicting type annotations"$test "select $3 :: int4, $1 :: int4"#Left "You've missed placeholder $2"yzNone+"#&',.01245678=>?@ACFHJMPRSUVX_`dss{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2None+"#&',.01245678=>?@ACFHJMPRSUVX_`dw 3None+"#&',.01245678=>?@ACFHJMPRSUVX_`dp 4hasql-th)testParser (quotedString '\'') "'abc''d'""abc'd" 5hasql-thtest = testParser selectStmttest "select id from as"... |1 | select id from as | ^mReserved keyword "as" used as an identifier. If that's what you intend, you have to wrap it in double quotes. 6hasql-th'The one that doesn't start with "WITH". 7hasql-thtestParser targetEl "a.b as c"AliasedExprTargetEl (CExprAExpr (ColumnrefCExpr (Columnref (UnquotedIdent "a") (Just (AttrNameIndirectionEl (UnquotedIdent "b") :| []))))) (UnquotedIdent "c") 8hasql-th$testParser tableRef "a left join b "...'expecting "on", "using", or white space2testParser tableRef "a left join b on (a.i = b.i)".JoinTableRef (MethJoinedTable (QualJoinMeth... 9hasql-thNotice that the tree constructed by this parser does not reflect the precedence order of Postgres. For the purposes of this library it simply doesn't matter, so we're not bothering with that.HComposite on the right: >>> testParser aExpr "a = b :: int4" SymbolicBinOpAExpr (CExprAExpr (ColumnrefCExpr (Columnref (UnquotedIdent "a") Nothing))) (MathSymbolicExprBinOp EqualsMathOp) (TypecastAExpr (CExprAExpr (ColumnrefCExpr (Columnref (UnquotedIdent "b") Nothing))) (TypecastTypename (UnquotedIdent "int4") False 0 False))Composite on the left: >>> testParser aExpr "a = b :: int4 and c" SymbolicBinOpAExpr (CExprAExpr (ColumnrefCExpr (Columnref (UnquotedIdent "a") Nothing))) (MathSymbolicExprBinOp EqualsMathOp) (AndAExpr (TypecastAExpr (CExprAExpr (ColumnrefCExpr (Columnref (UnquotedIdent "b") Nothing))) (TypecastTypename (UnquotedIdent "int4") False 0 False)) (CExprAExpr (ColumnrefCExpr (Columnref (UnquotedIdent "c") Nothing)))) :hasql-th&testParser aexprConst "32948023849023"IAexprConst 32948023849023!testParser aexprConst "'abc''de'"SAexprConst "abc'de" testParser aexprConst "23.43234"FAexprConst 23.43234*testParser aexprConst "32423423.324324872" FAexprConst 3.2423423324324872e7testParser aexprConst "NULL"NullAexprConst ;hasql-th"testParser typecastTypename "int4"5TypecastTypename (UnquotedIdent "int4") False 0 False#testParser typecastTypename "int4?"4TypecastTypename (UnquotedIdent "int4") True 0 False$testParser typecastTypename "int4[]"5TypecastTypename (UnquotedIdent "int4") False 1 False(testParser typecastTypename "int4[ ] []"5TypecastTypename (UnquotedIdent "int4") False 2 False'testParser typecastTypename "int4[][]?"4TypecastTypename (UnquotedIdent "int4") False 2 True'testParser typecastTypename "int4?[][]"4TypecastTypename (UnquotedIdent "int4") True 2 False <hasql-thtestParser qualifiedName "a.b"]IndirectedQualifiedName (UnquotedIdent "a") (AttrNameIndirectionEl (UnquotedIdent "b") :| [])testParser qualifiedName "a.-"...+expecting '*', column label, or white space =hasql-thEConsume a keyphrase, ignoring case and types of spaces between words. > ? @ A B C D E F G H 4 I J K L M N O P Q R S T U V W X Y Z [ 5 \ ] ^ 6 _ ` a b c d e f g h i j 7 k l m n o p q r s t u v w 8 x y z { | } ~  9 : ; < =      None+"#&',.01245678=>?@ACFHJMPRSUVX_`dK         None+"#&',.01245678=>?@ACFHJMPRSUVX_`d hasql-thGiven a list of divisible functor expressions, constructs an expression, which composes them together into a single divisible functor, parameterized by a tuple of according arity. hasql-thGiven a list of applicative functor expressions, constructs an expression, which composes them together into a single applicative functor, parameterized by a tuple of according arity. $(return (cozip [])) :: Maybe ()Just ()_$(return (cozip (fmap (AppE (ConE 'Just) . LitE . IntegerL) [1,2,3]))) :: Maybe (Int, Int, Int) Just (1,2,3) hasql-thPtest = either (fail . show) (return . singletonStatement) . Extraction.statement:t $(test "select 1 :: int4"):$(test "select 1 :: int4") :: Statement.Statement () Int32(:t $(test "select 1 :: int4, b :: text")%$(test "select 1 :: int4, b :: text")) :: Statement.Statement () (Int32, Text)*:t $(test "select $2 :: int4, $1 :: text")'$(test "select $2 :: int4, $1 :: text")4 :: Statement.Statement (Text, Int32) (Int32, Text) hasql-thLtest = either (fail . show) (return . maybeStatement) . Extraction.statement:t $(test "select 1 :: int4")B$(test "select 1 :: int4") :: Statement.Statement () (Maybe Int32) hasql-thMtest = either (fail . show) (return . vectorStatement) . Extraction.statement:t $(test "select 1 :: int4")$(test "select 1 :: int4")6 :: Statement.Statement () (Data.Vector.Vector Int32) hasql-thKtest = either (fail . show) (return . foldStatement) . Extraction.statement:t $(test "select 1 :: int4")$(test "select 1 :: int4")- :: Fold Int32 b -> Statement.Statement () b hasql-th#Encoder of a product of parameters.     ! " # $ % &   ' ( ) *      + , -None+"#&',.01245678=>?@ACFHJMPRSUVX_`dQhasql-th+Statement producing exactly one result row. Will raise  error if it's any other.Examples):t [singletonStatement|select 1 :: int2|]... :: Statement () Int16:{ :t [singletonStatement|' insert into "user" (email, name)& values ($1 :: text, $2 :: text) returning id :: int4 |]:}...#... :: Statement (Text, Text) Int32Incorrect SQL: :t [singletonStatement|elect 1|]... | 1 | elect 1 | ^^^^^^unexpected "elect "...hasql-th$Statement producing one row or none.%:t [maybeStatement|select 1 :: int2|]!... :: Statement () (Maybe Int16)hasql-th%Statement producing a vector of rows.&:t [vectorStatement|select 1 :: int2|]"... :: Statement () (Vector Int16)hasql-thFunction from Sm over rows to a statement producing the result of folding. Use this when you need to aggregate rows customly.$:t [foldStatement|select 1 :: int2|]%... :: Fold Int16 b -> Statement () bhasql-thStatement producing no results.Z:t [resultlessStatement|insert into "user" (name, email) values ($1 :: text, $2 :: text)|]... ... :: Statement (Text, Text) ()hasql-th'Statement counting the rows it affects.E:t [rowsAffectedStatement|delete from "user" where password is null|]...... :: Statement () Int64hasql-th|Quoter of a multiline Unicode SQL string, which gets converted into a format ready to be used for declaration of statements.hasql-thTRead an SQL-file, containing multiple statements, and produce an expression of type .HAllows to store plain SQL in external files and read it at compile time.E.g., jmigration1 :: Hasql.Session.Session () migration1 = Hasql.Session.sql [uncheckedSqlFile|migrations/1.sql|] . !"#$%&'(#)*#)+#,-#./#01#02#$3#$4&56#78#9:&5;#$<#=>#$?&'@#AB#AC#DE#=F#=G#=H#IJ#$K#LM#LN#LO#LP#LQ#LR#LS#LT#LU#LV#LW#LX&YZ&Y[&Y\#]^#]_#]`#]a#]b#]c#]d#]e#]f#]g#]h#]i#]j#]k#]l#]m#]n#]o#]p#]q#]r#]s#]t#Au#Av#Aw#Ax#Ay#Az#A{#A|#A}#A~#A#A#$#$#$#$################$#$#$########&Y&Y&Y&Y&Y&Y&Y&Y######A#A#]#]#]#]#]#]#]#]#]#]#]#]#]#]#]#A#A#A#A#A#A#################$#$#$#$#$#$#########################$#$#$#$#$#$#$#$&&&& & & & # # # # ###&&&&#A#A&'#, &!&"##$##%##&##'#()#(*#+,#+-#+.&/&0123#456789:;#<=#$>#?@ABCDEF#GH#IJ#KL#?M#?N#?O#PQ#$R#$S#$T#$U#$V#$W#$X#$Y#$Z#7[#7\#7]#7^#7_#7`#7a#7b#7c#7d#7e#fg#fh#fi#fj#fk#fl#fm#fn#fo#fp#qr#qs#qt#qu#qv#qw#qx#qy#qz#q{#q|#q}#q~#q#q#q#q#q#q#q#q#q####################################################=############################################################################## # #  # # ############## #!#"##$#%&#%'#%(#%)#*+#*,#*-#./#.0#D1#D2#D3#D4#D5#D6#D7#D8#D9#D:#D;#D<#D=#D>#?@#?A#?B#?C#?C#?D#?E#9F#9G#9H#9I#9J#9K#9L#9M#9N#9O#9P#9Q#R#S#T#U#V#W#XY#XZ#X[#X\#X]#X^#X_#X`#X`#Xa#bc#bd#be#bf#bg#bh#bi#bj#bk#bl#bm#bm#bn#bo#bp#bq#br#bs#bt#bu#bv#bw#bx#by#bz#bz#b{#b|#}~#}~#}#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.########################################################################################################## # # # # ################## # #!#!#"#"#####$#$#%#%#&#&#'#'#()#(*#(+#(,#(-#(.#(/#(0#(1#(2#(3#(4#(5#(6#(7#(8#(9#(:#(;#(<#(=#(>#(?#(@#(A#(B#(C#(D#(E#(F#(G#(H#(I#(J#(K#(L#(M#(N#(O#(P#(Q#(R#(R#(S#(T#(U#(V#(W#(X#(Y#(Z#([#(\#(]#(^#(_#(`#(`#(a#(a#Ib#Ic#Id#Ie#If#Ig#Ig#7h#7i#7j#7k#7k#7l#7l#7m#7m#7n#7n#7o#7o#7p#7p#7q#7q#7r#7s#7t#7u#7v#7w#7x#7y#7z#7z#7{#7|#7}#7~#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7#7###I#I#I#I#I#I#I#I#I#I#I#I#I#I#I#################G#G#G#G#G#G#G#G#G#G#G####################7#7#7#7#7#7#7#7#7#7######################################### # # #  #  # ################## #!#"##$##$##%#&'#&(#&)#&)#&*#&+#&+#&,#&-#&-#&.#&/#&/#&0#&1#&1#&2#&3#&3#&4#&5#&5#&6#78#79#7:#7;#7<#7=#7>#7?#7@#7A#7B#7C#7D#7E#7F#7G#7H#7I#7J#7K#7L#7M#7N#7O#7P#7Q#7R#7S#7T#7U#7V#7W#7X#7Y#7Z#7[#7\#7]#7^#7_#7`#7a#7b#7c#7d#7e#7f#7g#7h#7i#7j#7k#7l#7m#7n#7o#pq#pr#ps#pt#pu#Pv#Pw#Px#+y#+z#+{#+|#+}#+~#+#+#######################################,#,#,#,#(#(#(#(#(#(#(#(#(###############################]#]#]#######?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#?#? #? #? #  # # # #K############## #!#"###$#%#&#'#(#)#*#+#,#-#.#/#0#1#23#45#46#47#48#49#4:#A;#A<#A=#A>#A?#A@#AA#AB#AC#AD#EF#G#H#I#J#K#L#M#)N#)O#)P#)Q#)R#)S#)T#)U#)V#)W#)X#)Y#)Z#)[#)\#)]#)^#)_#)`#)a#)b#)c#)d#)e#)f#)g#)h#)i#)j#)k#lm#ln#lo#lp#lq#lr#ls#lt#lu#0v#0w#0x#yz#y{#y|#}~#}#}#}#}#}#}#}#}#}##$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$####&##&Y&Y&YDDDDA                                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A  B C D E F G H I J K L L M N O P Q R S T U V W  X Y Z [ \ ] ^ _ ` a b c d e e f f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                              ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R R S T T U V W X Y Y Z [ \ ] ^ ^ _ _ ` a b c d e f g h i j k l m n n o p q r s t u v w x y z { | } ~                                                                                                                                          !"#$%&'()*H+,-./012345678=9:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~$%&'(0LNaLMN      !"#$%&'()1*H9:;<=>?@ACDEFGHJ+,-2./345678=0KLMNjiklfghonmea]cdpqr^_`OQRSTUVWXYZ[\suvwxyz{|}~o(9Ls     $0&'1234567H*:;<=>?@ABCDEGHJF+,8=KMNkepqra]OPQRSTUVWXYZ[\^_`fghonmuvwxyz! "#{~|}                 #hasql-th-0.4-LDBoM8uSKhT1NzIqWkmRIEHasql.THHasql.TH.PreludeHasql.TH.Extras.NonEmpty Hasql.TH.Extras.HeadedMegaparsec Megaparsecspacespace1charchar'stringstring'Hasql.TH.Syntax.AstHasql.TH.Syntax.HashSetHasql.TH.Syntax.Predicate)Hasql.TH.Syntax.Projections.ChildExprList*Hasql.TH.Syntax.Projections.OutputTypeList.Hasql.TH.Syntax.Projections.PlaceholderTypeMap)Hasql.TH.Syntax.Projections.InputTypeListHasql.TH.Syntax.RenderingHasql.TH.Syntax.ValidatorHasql.TH.Syntax.ParsingHasql.TH.Syntax.Extraction Hasql.TH.Exp Hasql.SessionUnexpectedAmountOfRowssingletonStatementmaybeStatementvectorStatement foldStatementresultlessStatementrowsAffectedStatement uncheckedSqluncheckedSqlFile suffixRecbaseGHC.Base++ghc-primGHC.PrimseqGHC.Listfilterzip GHC.Stable newStablePtr System.IOprint Data.Tuplefstsnd otherwiseassert GHC.MagiclazyGHC.IO.Exception assertError Debug.TracetraceinlinemapGHC.Exts groupWith$coerceGHC.Real fromIntegral realToFrac Control.MonadguardIsListItemfromList Data.DynamictoDynjoinGHC.EnumBoundedminBoundmaxBoundEnumenumFrom enumFromThenenumFromThenTo enumFromTofromEnumtoEnumsuccpred GHC.ClassesEq==/= GHC.FloatFloatingpiexplogsqrt**logBasesincostanasinacosatansinhcoshtanhasinhacoshatanhlog1pexpm1log1pexplog1mexp Fractional fromRational/recipIntegral toIntegerquotremdivmodquotRemdivModMonad>>=>>return Data.DataDatagfoldlgunfoldtoConstr dataTypeOf dataCast1 dataCast2gmapTgmapQlgmapQrgmapQgmapQigmapMgmapMpgmapMoFunctorfmap<$GHC.NumNum+*-negate fromIntegerabssignumOrd>=minmax><compare<=GHC.ReadReadreadList readsPrecreadPrec readListPrecReal toRational RealFloat floatRadix floatDigits floatRange decodeFloat encodeFloatexponent significand scaleFloatisNaN isInfiniteisDenormalizedisNegativeZeroisIEEEatan2RealFracproperFractiontruncateroundceilingfloorGHC.ShowShow showsPrecshowshowListGHC.ArrIxrangeindexinRange rangeSizeData.Typeable.InternalTypeableControl.Monad.FixMonadFixmfixControl.Monad.Fail MonadFailfail Data.StringIsString fromString Applicativepure<*>*><*liftA2 Data.FoldableFoldablefoldltoListfoldrlengthfoldMapnullfoldl'foldl1sumproductfoldr1maximumminimumelemfoldfoldr'Data.Traversable TraversabletraversemapM sequenceAsequence GHC.GenericsGenericGeneric1 Semigroup<>sconcatstimesMonoidmemptymappendmconcat GHC.TypesBoolFalseTrueCharDoubleFloatIntGHC.IntInt8Int16Int32Int64 integer-gmpGHC.Integer.TypeInteger GHC.MaybeMaybeNothingJustOrderingLTEQGTRatioRational RealWorld StablePtrIOWordGHC.WordWord8Word16Word32Word64GHC.PtrPtrFunPtr Data.EitherEitherLeftRight CoercibleTyConbytestring-0.10.8.2Data.ByteString.Internal ByteString Data.Functor<$>'hashable-1.3.0.0-1RsrIcitxVDKffGN1TuMlmData.Hashable.ClassHashable text-1.2.3.1Data.Text.InternalText Unsafe.Coerce unsafeCoerceconst GHC.UnicodetoLower3unordered-containers-0.2.10.0-b9YJCQLkMeLUf311RZkQDData.HashMap.BaseHashMapcontainers-0.6.0.1Data.Map.InternalMapGHC.ForeignPtr ForeignPtrGHC.IO.Handle.TypesHandleGHC.STSTisSpaceisAlphaisDigit Text.ReadreadString Alternativeempty<|>manysome MonadPlusmzeromplusuntangle ioException heapOverflow stackOverflowcannotCompactMutablecannotCompactPinnedcannotCompactFunctionallocationLimitExceededblockedIndefinitelyOnSTMblockedIndefinitelyOnMVarunsupportedOperation Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPartComplex:+ Data.Fixed showFixedmod'divMod'div'FixedMkFixed HasResolution resolutionE0UniE1DeciE2CentiE3MilliE6MicroE9NanoE12PicoData.Functor.ContravariantcomparisonEquivalencedefaultEquivalencedefaultComparison>$$<>$<$<phantom Contravariant contramap>$ Predicate getPredicate Comparison getComparison EquivalencegetEquivalenceOpgetOp Data.VoidvacuousabsurdVoidData.Semigroupoption mtimesDefaultdiffcycle1MingetMinMaxgetMaxArgArgMinArgMaxFirstgetFirstLastgetLast WrappedMonoid WrapMonoid unwrapMonoidOption getOptionsortWith tyconModule tyconUQname isNorepType mkNoRepType mkCharConstr mkRealConstrmkIntegralConstr mkCharType mkFloatType mkIntTypemaxConstrIndex constrIndex indexConstr isAlgType readConstr showConstr constrFixity constrFieldsdataTypeConstrsmkConstr mkDataType repConstr constrRep constrType dataTypeRep dataTypeName fromConstrM fromConstrB fromConstrDataTypeConstrDataRepIntRepFloatRepAlgRepCharRepNoRep ConstrRep AlgConstr IntConstr FloatConstr CharConstrConIndexFixityPrefixInfixSystem.TimeouttimeoutControl.ConcurrentthreadWaitWriteSTMthreadWaitReadSTMthreadWaitWritethreadWaitReadrunInUnboundThreadrunInBoundThreadisCurrentThreadBoundforkOSWithUnmaskforkOS forkFinallyrtsSupportsBoundThreadsControl.Concurrent.ChanwriteList2ChangetChanContentsdupChanreadChan writeChannewChanChanControl.Concurrent.QSem signalQSemwaitQSemnewQSemQSemControl.Concurrent.QSemN signalQSemN waitQSemNnewQSemNQSemNData.Bifunctor BifunctorfirstsecondbimapControl.Monad.IO.ClassMonadIOliftIO Data.RatioapproxRational Data.STRef modifySTRef' modifySTRef Data.Unique hashUnique newUniqueUniqueGHC.StableName eqStableNamehashStableNamemakeStableName StableNameSystem.EnvironmentgetEnvironment withProgNamewithArgsunsetEnvsetEnv lookupEnvgetEnv getProgNamegetArgs!System.Environment.ExecutablePathgetExecutablePath System.Exitdie exitSuccess exitFailureexitWith System.Mem performGCperformMajorGCperformMinorGC Text.PrintfhPrintfprintfmfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterM Data.Version makeVersion parseVersion showVersionVersion versionBranch versionTags traceMarkerIO traceMarker traceEventIO traceEvent traceStack traceShowMtraceM traceShowId traceShowtraceId putTraceMsgtraceIOfoldMapDefault fmapDefault mapAccumR mapAccumLforMforControl.Applicativeoptional WrappedMonad WrapMonad unwrapMonad WrappedArrow WrapArrow unwrapArrowZipList getZipList Control.ArrowleftApp^<<<<^>>^^>>returnAArrowarr***&&&Kleisli runKleisli ArrowZero zeroArrow ArrowPlus<+> ArrowChoice|||+++leftright ArrowApplyapp ArrowMonad ArrowLooploopData.Functor.IdentityIdentity runIdentity(openBinaryTempFileWithDefaultPermissions"openTempFileWithDefaultPermissionsopenBinaryTempFile openTempFilefixIOwithBinaryFilewithFilehPrinthReadylocaleEncodingreadIOreadLn appendFile writeFilereadFileinteract getContentsgetLinegetCharputStrLnputStrputChar GHC.IO.HandlehShowhSetNewlineModehSetBinaryModehIsTerminalDevicehGetEchohSetEcho hIsSeekable hGetBuffering hIsWritable hIsReadable hIsClosedhIsOpenhTellhSeekhSetPosnhGetPosn hGetEncoding hSetEncoding hSetBuffering hLookAheadisEOFhIsEOF hSetFileSize hFileSizehClose HandlePosnGHC.IO.Handle.FDopenBinaryFileopenFilestderrstdinGHC.IO.Handle.TexthGetBufNonBlocking hGetBufSomehGetBufhPutBufNonBlockinghPutBuf hPutStrLnhPutStrhPutChar hGetContentshGetLinehGetChar hWaitForInput GHC.Conc.IO registerDelay threadDelay closeFdWithioManagerCapabilitiesChangedensureIOManagerIsRunningGHC.Conc.Signal runHandlers setHandlerSignal HandlerFunControl.Concurrent.MVar mkWeakMVaraddMVarFinalizermodifyMVarMaskedmodifyMVarMasked_ modifyMVar modifyMVar_withMVarMaskedwithMVarswapMVarGHC.IO.EncodingmkTextEncodingchar8utf32beutf32leutf32utf16beutf16leutf16utf8_bomutf8latin1System.IO.Unsafe unsafeFixIOControl.ExceptionallowInterruptcatchesHandlerControl.Monad.ST.ImpfixSTSystem.IO.Error catchIOErrorannotateIOError modifyIOErrorioeSetFileName ioeSetHandleioeSetLocationioeSetErrorStringioeSetErrorTypeioeGetFileName ioeGetHandleioeGetLocationioeGetErrorStringioeGetErrorTypeisUserErrorTypeisPermissionErrorTypeisIllegalOperationErrorTypeisEOFErrorTypeisFullErrorTypeisAlreadyInUseErrorTypeisDoesNotExistErrorTypeisAlreadyExistsErrorType userErrorTypepermissionErrorTypeillegalOperationErrorType eofErrorType fullErrorTypealreadyInUseErrorTypedoesNotExistErrorTypealreadyExistsErrorType isUserErrorisPermissionErrorisIllegalOperation isEOFError isFullErrorisAlreadyInUseErrorisDoesNotExistErrorisAlreadyExistsError mkIOError tryIOErrorControl.Exception.BasebracketOnErrorbracket_finallybracket onExceptiontryJusttry mapException handleJusthandle catchJustPatternMatchFail RecSelError RecConError RecUpdError NoMethodError TypeErrorNonTerminationNestedAtomically GHC.Conc.SyncgetUncaughtExceptionHandlersetUncaughtExceptionHandler reportErrorreportStackOverflow writeTVarreadTVar readTVarIO newTVarIOnewTVarcatchSTMthrowSTMretry atomically unsafeIOToSTMnewStablePtrPrimMVarmkWeakThreadIdthreadCapability threadStatus runSparksparpseq labelThreadyield myThreadIdthrowTo killThread childHandler numSparksgetNumProcessorssetNumCapabilitiesgetNumCapabilitiesnumCapabilitiesforkOnWithUnmaskforkOnforkIOWithUnmaskforkIOdisableAllocationLimitenableAllocationLimitgetAllocationCountersetAllocationCounterreportHeapOverflowThreadId BlockReason BlockedOnMVarBlockedOnBlackHoleBlockedOnException BlockedOnSTMBlockedOnForeignCallBlockedOnOther ThreadStatus ThreadRunningThreadFinished ThreadBlocked ThreadDiedPrimMVarSTMTVar dynTypeRepdynAppdynApply fromDynamicfromDynDynamicioErrorasyncExceptionFromExceptionasyncExceptionToExceptionBlockedIndefinitelyOnMVarBlockedIndefinitelyOnSTMDeadlockAllocationLimitExceededCompactionFailedAssertionFailedSomeAsyncExceptionAsyncException StackOverflow HeapOverflow ThreadKilled UserInterruptArrayExceptionIndexOutOfBoundsUndefinedElementFixIOExceptionExitCode ExitSuccess ExitFailure IOErrorTypeEOF AlreadyExists NoSuchThing ResourceBusyResourceExhaustedIllegalOperationPermissionDenied UserErrorUnsatisfiedConstraints SystemError ProtocolError OtherErrorInvalidArgumentInappropriateType HardwareFaultUnsupportedOperation TimeExpiredResourceVanished InterruptedhFlushstdoutnoNewlineTranslationnativeNewlineModeuniversalNewlineMode nativeNewline BufferMode NoBuffering LineBufferingBlockBufferingNewlineLFCRLF NewlineModeinputNLoutputNL GHC.IO.DeviceSeekMode AbsoluteSeek RelativeSeek SeekFromEnd Data.IORefatomicWriteIORefatomicModifyIORef'atomicModifyIORef modifyIORef' modifyIORef mkWeakIORefGHC.IO.Encoding.Types TextEncodingForeign.ForeignPtr.ImpmallocForeignPtrArray0mallocForeignPtrArraynewForeignPtrEnvwithForeignPtr newForeignPtrfinalizeForeignPtrplusForeignPtrcastForeignPtrtouchForeignPtrnewForeignPtr_addForeignPtrFinalizerEnvaddForeignPtrFinalizermallocForeignPtrBytesmallocForeignPtr FinalizerPtrFinalizerEnvPtr GHC.IORef writeIORef readIORefnewIORefIORefGHC.IOevaluateuninterruptibleMaskuninterruptibleMask_maskmask_getMaskingState interruptiblethrowIOcatchstToIOFilePath MaskingStateUnmaskedMaskedInterruptibleMaskedUninterruptible userError IOExceptionIOError ioe_handleioe_type ioe_locationioe_description ioe_errno ioe_filename GHC.Exceptionthrow ErrorCallErrorCallWithLocationGHC.Exception.Type Exception toException fromExceptiondisplayExceptionArithExceptionOverflow UnderflowLossOfPrecision DivideByZeroDenormalRatioZeroDenominator Data.TypeabletypeOf7typeOf6typeOf5typeOf4typeOf3typeOf2typeOf1 rnfTypeReptypeRepFingerprint typeRepTyCon typeRepArgs splitTyConAppmkFunTy funResultTygcast2gcast1gcasteqTcast showsTypeReptypeReptypeOfTypeReprnfTyContyConFingerprint tyConName tyConModule tyConPackageData.Functor.ConstConstgetConstfindnotElem minimumBy maximumByallanyorand concatMapconcatmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrM Data.MonoidApgetApData.Semigroup.Internal stimesMonoidstimesIdempotentDualgetDualEndoappEndoAllgetAllAnygetAnySumgetSumProduct getProductAltgetAlt Data.OldListunwordswordsunlineslinesunfoldrsortBysort permutations subsequencestailsinitsgroupBygroupdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLengthinsertByinsert partition transpose intercalate intersperse intersectBy intersectunionByunion\\deleteBydeletenubBynub isInfixOf isSuffixOf isPrefixOf findIndices findIndex elemIndices elemIndex stripPrefix dropWhileEnd Data.Char isSeparatorisNumberisMarkisLetter digitToInt readMaybe readEitherreads fromRightfromLeftisRightisLeftpartitionEithersrightsleftseitherData.Ord comparingDown Data.Proxy asProxyTypeOfProxyKProxyControl.Category>>><<<Categoryid.Data.Type.Equality:~:Refl:~~:HRefl Foreign.Ptr intPtrToPtr ptrToIntPtr wordPtrToPtr ptrToWordPtrfreeHaskellFunPtrWordPtrIntPtr GHC.IO.IOModeIOModeReadMode WriteMode AppendMode ReadWriteModeForeign.StorableStorable peekElemOff pokeElemOff peekByteOff pokeByteOffpeekpokecastPtrToStablePtrcastStablePtrToPtrdeRefStablePtr freeStablePtrcastPtrToFunPtrcastFunPtrToPtr castFunPtr nullFunPtrminusPtralignPtrplusPtrcastPtrnullPtrNumericshowOctshowHex showIntAtBase showHFloat showGFloatAlt showFFloatAlt showGFloat showFFloat showEFloatshowInt readSigned readFloatreadHexreadDecreadOctreadInt lexDigits readLitChar lexLitCharlex readParenText.ParserCombinators.ReadPrec readS_to_Prec readPrec_to_S readP_to_Prec readPrec_to_PReadPrecText.ParserCombinators.ReadP readS_to_P readP_to_SReadSReadPfromRat floatToDigits showFloat byteSwap64 byteSwap32 byteSwap16toTitletoUpperisLowerisUpperisPrint isControl isAlphaNumisSymbol isPunctuation isHexDigit isOctDigit isAsciiUpper isAsciiLowerisLatin1isAsciigeneralCategoryGeneralCategoryFormatControlUppercaseLetterLowercaseLetterTitlecaseLetterModifierLetter OtherLetterNonSpacingMarkSpacingCombiningMark EnclosingMark DecimalNumber LetterNumber OtherNumberConnectorPunctuationDashPunctuationOpenPunctuationClosePunctuation InitialQuote FinalQuoteOtherPunctuation MathSymbolCurrencySymbolModifierSymbol OtherSymbolSpace LineSeparatorParagraphSeparator Surrogate PrivateUse NotAssigned GHC.STRef writeSTRef readSTRefnewSTRefSTRefrunST Data.BitstoIntegralSizedpopCountDefaulttestBitDefault bitDefaultBits.&..|.xor complementshiftrotatezeroBitsbitsetBitclearBit complementBittestBit bitSizeMaybebitSizeisSignedshiftL unsafeShiftLshiftR unsafeShiftRrotateLrotateRpopCount FiniteBits finiteBitSizecountLeadingZeroscountTrailingZeros Data.Boolbool Data.Function&onfixvoid$><&>lcmgcd^^^oddeven showSigned denominator numerator%GHC.Charchr intToDigit showLitChar showParen showStringshowCharshowsShowSunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiterate'iteratescanr1scanrscanl'scanl1scanlfoldl1'initlasttailhead Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeswapuncurrycurry GHC.IO.UnsafeunsafeInterleaveIOunsafeDupablePerformIOunsafePerformIOGHC.MVar isEmptyMVar tryReadMVar tryPutMVar tryTakeMVarputMVarreadMVartakeMVarnewMVar newEmptyMVarMVarsubtractasTypeOfuntil$!flipordapliftM5liftM4liftM3liftM2liftMwhen=<<liftA3liftA<**>NonEmpty:|GHC.Err undefinederrorWithoutStackTraceerrorstimesIdempotentMonoid SomeException&&||not/case-insensitive-1.2.1.0-9KdH7QUcC7J7HdJvcrOu45Data.CaseInsensitive.InternalCIFoldCaseData.IntMap.InternalIntMapData.IntSet.InternalIntSetData.Sequence.InternalSeqData.Set.InternalSet*contravariant-1.5.2-1ZQM8SswnWXJmdlHRX0Vig$Data.Functor.Contravariant.DivisiblechosenlostliftD conquereddivided Divisibledivideconquer Decidablechooselose"foldl-1.4.5-3cuaiFgXTEkJ6bWFXMaZOe Control.FoldlFold'uuid-types-1.0.3-Ch4DBmGyJLS7uw4hSXblWiData.UUID.Types.InternalUUID$selective-0.3-1y485WjazJzDKnmH82jYQ5Control.Selective ValidationSuccessFailureUndergetUnderOvergetOverSelectM getSelectMSelectA getSelectACases Selectiveselect<*?branchselectAapSselectMifS casesEnumcasesmatchSmatchMbindSwhenS fromMaybeSorElseandAlsowhileS untilRight<||><&&>anySallSfoldSData.HashSet.BaseHashSet showAsTextintersperseFoldMapunsnoc consAndUnsnoceof&megaparsec-8.0.0-9g7AKmV0pGtLHgiBXCxWUText.Megaparsec.Class takeWhileP takeWhile1Prunsatisfydecimalfloatsep1sepEnd1 notFollowedByTypecastTypename AexprConst SortClauseWindowSpecificationWindowDefinition WindowClause HavingClause Targeting SelectClauseSelectNoParens NullsOrderLastNullsOrderFirstNullsOrderAscDesc DescAscDesc AscAscDescClassCollate IndexElemDefExprIndexElemDefFuncIndexElemDefIdIndexElemDef IndexElem IndexParams SubqueryOpIlikeSubqueryOpLikeSubqueryOp AnySubqueryOp AllSubqueryOp BExprIsOpDocumentBExprIsOp OfBExprIsOpDistinctFromBExprIsOpAExprReversableOpDocumentAExprReversableOpInAExprReversableOp!BetweenSymmetricAExprReversableOpBetweenAExprReversableOpOfAExprReversableOpDistinctFromAExprReversableOpUnknownAExprReversableOpFalseAExprReversableOpTrueAExprReversableOpNullAExprReversableOpVerbalExprBinOpSimilarToVerbalExprBinOpIlikeVerbalExprBinOpLikeVerbalExprBinOpSymbolicExprBinOpQualSymbolicExprBinOpMathSymbolicExprBinOpMathOpExclamationEqualsMathOpArrowLeftArrowRightMathOpGreaterEqualsMathOpLessEqualsMathOp EqualsMathOpArrowRightMathOpArrowLeftMathOp ArrowUpMathOp PercentMathOp SlashMathOpAsteriskMathOp MinusMathOp PlusMathOpAllOp MathAllOpOpAllOp AnyOperatorQualifiedAnyOperatorAllOpAnyOperator QualAllOp AnyQualAllOp AllQualAllOpQualOpOperatorQualOpOpQualOpTypeList TypeModifiersAttrNameAttrs GenericTypeSimpleTypenameConstIntervalSimpleTypenameConstDatetimeSimpleTypenameCharacterSimpleTypenameBitSimpleTypenameNumericSimpleTypenameGenericTypeSimpleTypename ArrayBoundsTypenameArrayDimTypenameArrayBoundsTypename IndirectionElSliceIndirectionElExprIndirectionElAllIndirectionElAttrNameIndirectionEl Indirection QualifiedNameIndirectedQualifiedNameSimpleQualifiedNameTypeFunctionNameFuncNameIndirectedFuncName TypeFuncNameAnyName Columnref CursorNameNameListNameColLabelColIdIdent UnquotedIdent QuotedIdentIntervalSecondIntervalMinuteToSecondIntervalHourToSecondIntervalHourToMinuteIntervalDayToSecondIntervalDayToMinuteIntervalDayToHourIntervalYearToMonthIntervalSecondIntervalMinuteInterval HourInterval DayInterval MonthInterval YearIntervalTimezone ConstDatetimeTimeConstDatetimeTimestampConstDatetime CharacterNcharCharacterNationalCharCharacterNationalCharacterCharacterVarcharCharacter CharCharacterCharacterCharacterConstCharacter OptVaryingConstBitBitBooleanNumericNumericNumeric DecNumericDecimalNumericDoublePrecisionNumeric FloatNumeric RealNumeric BigintNumericSmallintNumericIntegerNumeric IntNumeric ConstTypenameConstDatetimeConstTypenameConstCharacterConstTypenameConstBitConstTypenameNumericConstTypename FuncConstArgsNullAexprConstBoolAexprConstIntIntervalAexprConstStringIntervalAexprConstConstTypenameAexprConstFuncAexprConst XAexprConst BAexprConst SAexprConst FAexprConst IAexprConstXconstBconstFconstIconstSconst FuncArgExprEqualsGreaterFuncArgExprColonEqualsFuncArgExprExprFuncArgExprFuncApplicationParamsStarFuncApplicationParamsVariadicFuncApplicationParamsNormalFuncApplicationParamsFuncApplication WhenClause CaseDefaultWhenClauseListCaseArgCaseExprTrimListExprListTrimListFromExprListTrimListExprFromExprListTrimList TrimModifierTrailingTrimModifierLeadingTrimModifierBothTrimModifier SubstrFor SubstrFromSubstrListFromForForSubstrListFromForFromSubstrListFromForForFromSubstrListFromForFromForSubstrListFromFor SubstrListExprListSubstrListExprSubstrList PositionListOverlayPlacing OverlayList ExtractArgSconstExtractArgSecondExtractArgMinuteExtractArgHourExtractArg DayExtractArgMonthExtractArgYearExtractArgIdentExtractArg ExtractListFuncExprCommonSubexprLeastFuncExprCommonSubexprGreatestFuncExprCommonSubexprCoalesceFuncExprCommonSubexprNullIfFuncExprCommonSubexprTrimFuncExprCommonSubexprTreatFuncExprCommonSubexprSubstringFuncExprCommonSubexprPositionFuncExprCommonSubexprOverlayFuncExprCommonSubexprExtractFuncExprCommonSubexprCastFuncExprCommonSubexpr"CurrentSchemaFuncExprCommonSubexpr#CurrentCatalogFuncExprCommonSubexprUserFuncExprCommonSubexpr SessionUserFuncExprCommonSubexpr CurrentUserFuncExprCommonSubexpr CurrentRoleFuncExprCommonSubexpr#LocalTimestampFuncExprCommonSubexprLocalTimeFuncExprCommonSubexpr%CurrentTimestampFuncExprCommonSubexpr CurrentTimeFuncExprCommonSubexpr CurrentDateFuncExprCommonSubexpr!CollationForFuncExprCommonSubexpr OverClauseColIdOverClauseWindowOverClause FilterClauseWithinGroupClauseFuncExprWindowlessCommonSubexprFuncExprWindowlessApplicationFuncExprWindowlessFuncExprSubexprFuncExprApplicationFuncExpr ImplicitRow ExplicitRowRowImplicitRowRowExplicitRowRow ArrayExprList ArrayExprEmptyArrayExprArrayExprListArrayExprExprListArrayExprSubType AllSubType SomeSubType AnySubTypeInExprExprListInExpr SelectInExprCExpr GroupingCExprImplicitRowCExprExplicitRowCExpr ArrayCExpr ExistsCExprSelectWithParensCExpr FuncCExpr CaseCExpr InParensCExpr ParamCExprAexprConstCExprColumnrefCExprBExpr IsOpBExpr QualOpBExprSymbolicBinOpBExpr MinusBExpr PlusBExpr TypecastBExpr CExprBExprAExpr DefaultAExpr UniqueAExpr SubqueryAExpr OverlapsAExpr NotnullAExpr IsnullAExprReversableOpAExprVerbalExprBinOpAExprNotAExprOrAExprAndAExprSuffixQualOpAExprPrefixQualOpAExprSymbolicBinOpAExpr MinusAExpr PlusAExprAtTimeZoneAExpr CollateAExpr TypecastAExpr CExprAExprExprListWhereOrCurrentClauseCursorWhereOrCurrentClauseExprWhereOrCurrentClause WhereClauseJoinQual OnJoinQual UsingJoinQualJoinType InnerJoinType RightJoinType LeftJoinType FullJoinTypeJoinMethNaturalJoinMeth QualJoinMeth CrossJoinMeth JoinedTableMethJoinedTableInParensJoinedTableFuncAliasClauseColIdFuncAliasClauseAsColIdFuncAliasClauseAsFuncAliasClauseAliasFuncAliasClause AliasClause CollateClauseTableFuncElementTableFuncElementList OptOrdinality ColDefList RowsfromList RowsfromItem FuncTableRowsFromFuncTableFuncExprFuncTableRepeatableClauseTablesampleClauseRelationExprOptAlias RelationExprOnlyRelationExprSimpleRelationExprTableRef JoinTableRefSelectTableRef FuncTableRefRelationExprTableRefFromListForLockingStrengthKeyForLockingStrengthShareForLockingStrengthNoKeyUpdateForLockingStrengthUpdateForLockingStrengthForLockingItemForLockingClauseReadOnlyForLockingClauseItemsForLockingClause OffsetClauseFetchFirstOffsetClauseExprOffsetClauseSelectLimitValueAllSelectLimitValueExprSelectLimitValueSelectFetchFirstValueNumSelectFetchFirstValueExprSelectFetchFirstValue LimitClauseFetchOnlyLimitClauseLimitLimitClause SelectLimitOffsetSelectLimitLimitSelectLimitOffsetLimitSelectLimitLimitOffsetSelectLimitSortBy AscDescSortBy UsingSortBy ValuesClauseWindowExclusionClauseNoOthersWindowExclusionClauseTiesWindowExclusionClauseGroupWindowExclusionClauseCurrentRowWindowExclusionClause FrameBoundFollowingFrameBoundPrecedingFrameBoundCurrentRowFrameBoundUnboundedFollowingFrameBoundUnboundedPrecedingFrameBound FrameExtentBetweenFrameExtentSingularFrameExtentFrameClauseModeGroupsFrameClauseModeRowsFrameClauseModeRangeFrameClauseMode FrameClausePartitionClauseExistingWindowName GroupByItemGroupingSetsGroupByItemCubeGroupByItemRollupGroupByItemEmptyGroupingSetGroupByItemExprGroupByItem GroupClause FromClauseOptTempTableNameQualifedOptTempTableNameTableOptTempTableNameUnloggedOptTempTableNameGlobalTempOptTempTableNameGlobalTemporaryOptTempTableNameLocalTempOptTempTableNameLocalTemporaryOptTempTableNameTempOptTempTableNameTemporaryOptTempTableName IntoClauseCommonTableExpr WithClause SelectBinOpExceptSelectBinOpIntersectSelectBinOpUnionSelectBinOpTargetElAsteriskTargetEl ExprTargetElImplicitlyAliasedExprTargetElAliasedExprTargetEl TargetListDistinctTargeting AllTargetingNormalTargeting SimpleSelectBinSimpleSelectTableSimpleSelectValuesSimpleSelectNormalSimpleSelectSelectWithParensWithParensSelectWithParensNoParensSelectWithParens SelectStmt UsingClause DeleteStmt SetTargetList SetTarget SetClauseTargetListSetClauseTargetSetClause SetClauseList UpdateStmtReturningClauseConfExprConstraintConfExpr WhereConfExpr OnConflictDoNothingOnConflictDoUpdateOnConflictDo OnConflictInsertColumnItemInsertColumnList OverrideKindSystemOverrideKindUserOverrideKind InsertRestDefaultValuesInsertRestSelectInsertRest InsertTarget InsertStmtPreparableStmtDeletePreparableStmtUpdatePreparableStmtInsertPreparableStmtSelectPreparableStmtnonOpkeywordunreservedKeywordcolNameKeywordtypeFuncNameKeywordreservedKeyword symbolicBinOp lexicalBinOpsymbolicBinOpChars hexDigitCharscolIdtypeFunctionNameopCharsprohibitionLiftingOpCharsmathOponeOfinSetfirstIdentifierCharnotFirstIdentifierCharsymbolicBinOpCharopCharprohibitedOpCharprohibitionLiftingOpChar childExpr ChildExpr CChildExpr BChildExpr AChildExpr aChildExpr bChildExpr cChildExprpreparableStmt insertStmt insertTarget insertRest overrideKindinsertColumnListinsertColumnItem onConflict onConflictDoconfExprreturningClause updateStmt setClauseList setClause setTarget setTargetList deleteStmt usingClause selectStmtselectNoParensselectWithParens withClausecommonTableExpr selectLimit limitClause offsetClauseselectFetchFirstValueselectLimitValueforLockingClauseforLockingItem selectClause simpleSelect targeting targetListtargetEl intoClause fromClause whereClausewhereOrCurrentClause groupClause havingClause windowClause valuesClauseoptTempTableName groupByItemwindowDefinitionwindowSpecification frameClause frameExtent frameBound sortClausetableRef relationExprrelationExprOptAliastablesampleClauserepeatableClause funcTable rowsfromItem rowsfromList colDefList optOrdinalitytableFuncElementListtableFuncElement collateClause aliasClausefuncAliasClause joinedTablejoinMethjoinQualexprListaExprbExprcExprfuncExprfuncExprWindowlesswithinGroupClause filterClause overClausefuncExprCommonSubexpr extractList extractArg overlayList positionList substrListsubstrListFromFor trimModifiertrimList whenClausefuncApplicationfuncApplicationParams funcArgExprcaseExprwhenClauseList arrayExpr arrayExprListinExprsymbolicExprBinOpqualOp qualAllOpverbalExprBinOpaExprReversableOp subqueryOp bExprIsOpallOp anyOperatoroprow explicitRow implicitRow aexprConst funcConstArgs constTypenamenumericconstBitconstCharacter constDatetimeintervalidentname cursorNameanyName columnreffuncName qualifiedName indirection indirectionEltypeListtypecastTypenametypenamesimpleTypename arrayBounds genericTypeattrsattrName typeModifiers charactersubType indexParams indexElem indexElemDefascDesc nullsOrderfoldable childExprList castedAExpr castedBExpr castedCExprplaceholderTypeMap toByteStringtoTexttext commaNonEmpty spaceNonEmptylexemes optLexemesinParens inBrackets prefixMaybe suffixMaybeinsertRestOverridingmaterialization firstOrNext rowOrRows intOrFloatforLockingStrengthlockedRelsList nowaitOrSkip selectBinOponExpressionsClauseoptAliasjoinTypepartitionClauseframeClauseModewindowExclusionCause caseDefault allOrDistinctfuncExprWindownlessoverlayPlacing substrFrom substrForiconstfconstsconstfuncAexprConstArgListtimezoneintervalSecondcolLabelcollateclass_ quotedStringsimpleSelectNoParens keyphraseParsercommaSeparator dotSeparatorinBracketsCont inParensContinParensWithLabelinParensWithClause trueIfPresent quasiQuotesharedSelectNoParenswithSelectNoParensbaseSimpleSelectextensionSimpleSelect materializedpartitionByClausewindowExclusionClausenonTrailingTableReftrailingTableRefinParensJoinedTabletrailingJoinedTableexprListInParens filteredAExprcustomizedAExprcustomizedBExprcustomizedCExprsymbolicBinOpExpr typecastExpr plusedExpr minusedExpr qualOpExpr arrayExprCont elseClausenormalFuncApplicationParams#singleVariadicFuncApplicationParams!listVariadicFuncApplicationParamsstarFuncApplicationParamslexicalExprBinOpiconstOrFconstoffsetClauseParams plusOrMinus quotedName filteredColIdfilteredColumnrefcustomizedColumnreffilteredAnyNamecustomizedAnyNamenameListkeywordNameFromSetkeywordNameByPredicateDecoderEncoder Statement statementrowlessStatementastencoder encoderNamedecoder decoderName identText contrazipcozip encoderListappList byteStringintegrallistpureUnitandThentuple splitTupleAt rowStatement decoderList