0.1.0 • Published 7 years ago

rear-sql v0.1.0

Weekly downloads
4
License
MIT
Repository
github
Last release
7 years ago

rear-sql

A library to create and execute parametized SQL query against postgresql database connection pools.

Overview

rear-sql expose two object:

  • db: to manage postgresql connection pools
  • query: to create and execute parametized queries

db API

createPool(config: PgConfig, name: ?string)

Create and add a new db pool to the managed pools

Parameters

Example

const {db} = require('rear-sql');
db.createPool({
  user: 'test',
  password: 'test',
  database: 'test',
  host: 'localhost',
  port: 5432,
  max: 10,
  idleTimeoutMillis: 30000
}, 'myPool');

// ...

removePool(name: ?string)

Remove an existing pool named name.

Parameters

getPool(name: ?string): PgPool

Get an existing pool named name.

Parameters

exists(name: ?string): boolean

Check if a pool named name exists.

Parameters

connect(cb: Function, name: ?string)

Connect to the database and return a pool client that can perform queries against the database.

Parameters

Example

const {db} = require('rear-sql');

db.createPool({
  user: 'test',
  password: 'test',
  database: 'test',
  host: 'localhost',
  port: 5432,
  max: 10,
  idleTimeoutMillis: 30000
});

const sqlQuery = {
  text: 'SELECT * FROM table WHERE ID = $1',
  values: [1]
}

db.connect((err, client, done) => {
  if (err) {
    throw err;
  }

  client.query(sqlQuery, (err, results) => {

  });
})

query API

SQL(parts: Array, ...values: Arrayany): PgSqlQuery

Create pg sql query object from a literal string.

Types

type PgSqlQuery {
  text: string,
  values: Array<any>
}

Example

const {SQL} = require('rear-sql/query');
const username = "test";
const password = "test01";

const sqlQuery = SQL`INSERT INTO table VALUES(${username}, ${password});`
db.query(sqlQuery, (err, results) => {
  // use results here...
})

exec(query: PgSqlQuery, name: ?string): Promise

Execute a pg SQL query and return a Promise with the results.

Parameters

Example

const {query} = require('rear-sql');

const sqlQuery = query.SQL`SELECT * FROM table`

query
  .exec(sqlQuery)
  .then(results => {
    for (let i = 0; i < results.rows.length; i++) {
      console.log(results.rows[i]);
    }
  }):