Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var JDBC = require('jdbc');
- var jinst = require('jdbc/lib/jinst');
- if (!jinst.isJvmCreated()) {
- jinst.addOption("-Xrs");
- jinst.setupClasspath(['./RedshiftJDBC41-1.1.6.1006.jar']);
- }
- var db = new JDBC({
- url: 'jdbc:redshift://pilotcluster.c7zppjnnq71t.eu-west-1.redshift.amazonaws.com:5439/pilot',
- drivername: 'com.amazon.redshift.jdbc41.Driver',
- properties: {
- user: 'pierceuser1',
- password: '1Pierce_Super',
- },
- minConnections: 1,
- maxConnections: 20
- });
- var query = ["SELECT",
- "COUNT(distinct(p.profileid)) as count,",
- "TO_CHAR((TIMESTAMP 'epoch' + (p.createdat / 1000) * INTERVAL '1 Second '), 'YYYY/MM/DD') as date",
- "FROM profile p",
- "WHERE (1)",
- "GROUP BY date",
- "ORDER BY date",
- "LIMIT 10;"
- ].join(' ');
- function free(db, conn) {
- return db.release(conn, function(err) {
- if (err) {
- return console.error(err);
- }
- });
- }
- function executeQuery(query, callback) {
- return db.initialize(function(err) {
- if (err) {
- return callback(err);
- }
- return db.reserve(function(err, conn) {
- if (err) {
- free(db, conn);
- return callback(err);
- }
- conn.conn.setAutoCommit(true, function(err) {
- if (err) {
- free(db, conn);
- return callback(err);
- }
- });
- return conn.conn.createStatement(function(err, statement) {
- if (err) {
- free(db, conn);
- return callback(err);
- }
- return statement.executeQuery(query, function(err, resultset) {
- if (err) {
- free(db, conn);
- return callback(err);
- }
- return resultset.toObjArray(function(err, results) {
- free(db, conn);
- return callback(err, results);
- });
- });
- });
- });
- });
- }
- executeQuery(query, function(err, results) {
- if (err) {
- console.error(err);
- }
- console.log(results);
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement