postgresql-simple-named alternatives and similar packages
Based on the "postgresql" category.
Alternatively, view postgresql-simple-named alternatives based on common mentions on social networks and blogs.
PostgreSQL Schema Migrations for Haskell
[Moved to: https://github.com/Simspace/postgresql-tx]
Transactional monadic actions on top of PostgreSQL.
a PostgreSQL client library implemented with pure Haskell
Safe interpolated SQL queries in Haskell
TypedQuery flavour for postgresql-simple
A postgresql notifications library for libpq
Converter for question mark style and dollar sign style of PostgreSQL SQL.
postgresql-tx interfacing for use with monad-logger.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of postgresql-simple-named or a related project?
This library introduces the implementation of named parameters for the
postgresql-simple-named is considered to
be used along with the
postgresql-simple library, so you could refer
there for the original documentation of primary functions. This package solves
exclusively one particular problem — gives the ability to use named parameters
? in quasi-quoter queries and offers essential functions for substituting
variables in queries (
=? binds named parameters with the corresponding values. Named
parameters inside SQL query start with the '?' character and can contain
lowercase and uppercase letters, digits and underscore. Below you can find a
basic example of how query with named parameters could look like:
queryNamed dbConnection [sql| SELECT id, name, city FROM users WHERE name = ?nameParam AND age = ?ageParam |] [ "nameParam" =? "John" , "ageParam" =? 42 ]
This feature can be extremely helpful when the query uses some parameters more than once:
query dbConnection [sql| SELECT col1, col2 FROM my_table WHERE id = ? AND (? IS NULL OR id > ? ) AND (? IS NULL OR id < ? ) |] (someId, minId, minId, maxId, maxId)
This is how the query looks like with the
postgresql-simple library. You can
rewrite it the following way using the
queryNamed dbConnection [sql| SELECT col1, col2 FROM my_table WHERE id = ?someId AND (?minId IS NULL OR id > ?minId ) AND (?maxId IS NULL OR id < ?maxId ) |] [ "someId" =? 42 , "minId" =? 1 , "maxId" =? 100 ]
How to build
Build the library with either
cabal new-build or
How to test locally
- Run DB in a Docker in a separate terminal window using command:
docker run -p 5432\:5432 -e POSTGRES_USER=postgres -e POSTGRES_DB=pg_named postgres\:10.5-alpine
- Run tests using
*Note that all licence references and agreements mentioned in the postgresql-simple-named README section above are relevant to that project's source code only.