postgresql-syntax 0.3.0.3 → 0.4
raw patch · 5 files changed
+32/−17 lines, 5 filesdep −fast-builderdep ~basedep ~bytestringdep ~headed-megaparsec
Dependencies removed: fast-builder
Dependency ranges changed: base, bytestring, headed-megaparsec, parser-combinators
Files
- hedgehog-test/Main.hs +2/−2
- hedgehog-test/Main/Gen.hs +3/−1
- library/PostgresqlSyntax/Extras/TextBuilder.hs +17/−0
- library/PostgresqlSyntax/Rendering.hs +4/−8
- postgresql-syntax.cabal +6/−6
hedgehog-test/Main.hs view
@@ -31,8 +31,8 @@ , p "tableRef" 10000 Gen.tableRef Parsing.tableRef Rendering.tableRef ,- p "aExpr" 100000 Gen.aExpr Parsing.aExpr Rendering.aExpr+ p "aExpr" 60000 Gen.aExpr Parsing.aExpr Rendering.aExpr ,- p "preparableStmt" 35000 Gen.preparableStmt Parsing.preparableStmt Rendering.preparableStmt+ p "preparableStmt" 30000 Gen.preparableStmt Parsing.preparableStmt Rendering.preparableStmt ] ]
hedgehog-test/Main/Gen.hs view
@@ -802,7 +802,9 @@ iconstOrFconst = choice [Left <$> iconst <|> Right <$> fconst] -fconst = realFrac_ (Range.exponentialFloat 0 309457394857984375983475943)+fconst =+ filter (\ a -> fromIntegral (round a) /= a) $+ realFrac_ (Range.exponentialFloat 0 309457394857984375983475943) iconst = integral (Range.exponential 0 maxBound)
+ library/PostgresqlSyntax/Extras/TextBuilder.hs view
@@ -0,0 +1,17 @@+module PostgresqlSyntax.Extras.TextBuilder where++import PostgresqlSyntax.Prelude+import Text.Builder+++char7 :: Char -> Builder+char7 = char++intDec :: Int -> Builder+intDec = decimal++int64Dec :: Int64 -> Builder+int64Dec = decimal++doubleDec :: Double -> Builder+doubleDec = fromString . show
library/PostgresqlSyntax/Rendering.hs view
@@ -2,30 +2,26 @@ import PostgresqlSyntax.Prelude hiding (aExpr, try, option, many, sortBy, bit, fromList) import PostgresqlSyntax.Ast-import Data.ByteString.FastBuilder+import Text.Builder hiding (char7, intDec, int64Dec, doubleDec)+import PostgresqlSyntax.Extras.TextBuilder import qualified PostgresqlSyntax.Extras.NonEmpty as NonEmpty import qualified Data.List.NonEmpty as NonEmpty import qualified Data.Text as Text import qualified Data.Text.Encoding as Text-import qualified Data.ByteString.Builder as BsBuilder-import qualified Data.ByteString.Lazy as LazyBs -- * Execution ------------------------- toByteString :: Builder -> ByteString-toByteString = toStrictByteString+toByteString = Text.encodeUtf8 . toText toText :: Builder -> Text-toText = Text.decodeUtf8 . toByteString+toText = run -- * Helpers ---------------------------text :: Text -> Builder-text = stringUtf8 . Text.unpack commaNonEmpty :: (a -> Builder) -> NonEmpty a -> Builder commaNonEmpty = NonEmpty.intersperseFoldMap ", "
postgresql-syntax.cabal view
@@ -1,5 +1,5 @@ name: postgresql-syntax-version: 0.3.0.3+version: 0.4 category: Database, PostgreSQL, Parsing synopsis: PostgreSQL AST parsing and rendering description:@@ -32,19 +32,19 @@ PostgresqlSyntax.Validation other-modules: PostgresqlSyntax.CharSet+ PostgresqlSyntax.Extras.TextBuilder PostgresqlSyntax.Extras.HeadedMegaparsec PostgresqlSyntax.Extras.NonEmpty PostgresqlSyntax.Predicate PostgresqlSyntax.Prelude build-depends:- base >=4.11 && <5,- bytestring >=0.10 && <0.11,+ base >=4.12 && <5,+ bytestring >=0.10 && <0.12, case-insensitive >=1.2 && <2,- fast-builder >=0.1.2 && <0.2, hashable >=1.2 && <2,- headed-megaparsec >=0.2 && <0.3,+ headed-megaparsec >=0.2.0.1 && <0.3, megaparsec >=9 && <10,- parser-combinators >=1.1 && <1.3,+ parser-combinators >=1.1 && <1.4, text >=1 && <2, text-builder >=0.6.6.1 && <0.7, unordered-containers >=0.2.10 && <0.3