Advertisement
Guest User

Untitled

a guest
Mar 1st, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. var JDBC = require('jdbc');
  2. var jinst = require('jdbc/lib/jinst');
  3.  
  4. if (!jinst.isJvmCreated()) {
  5. jinst.addOption("-Xrs");
  6. jinst.setupClasspath(['./RedshiftJDBC41-1.1.6.1006.jar']);
  7. }
  8.  
  9. var db = new JDBC({
  10. url: 'jdbc:redshift://pilotcluster.c7zppjnnq71t.eu-west-1.redshift.amazonaws.com:5439/pilot',
  11. drivername: 'com.amazon.redshift.jdbc41.Driver',
  12. properties: {
  13. user: 'pierceuser1',
  14. password: '1Pierce_Super',
  15. },
  16. minConnections: 1,
  17. maxConnections: 20
  18. });
  19.  
  20. var query = ["SELECT",
  21. "COUNT(distinct(p.profileid)) as count,",
  22. "TO_CHAR((TIMESTAMP 'epoch' + (p.createdat / 1000) * INTERVAL '1 Second '), 'YYYY/MM/DD') as date",
  23. "FROM profile p",
  24. "WHERE (1)",
  25. "GROUP BY date",
  26. "ORDER BY date",
  27. "LIMIT 10;"
  28. ].join(' ');
  29.  
  30. function free(db, conn) {
  31. return db.release(conn, function(err) {
  32. if (err) {
  33. return console.error(err);
  34. }
  35. });
  36. }
  37.  
  38. function executeQuery(query, callback) {
  39. return db.initialize(function(err) {
  40. if (err) {
  41. return callback(err);
  42. }
  43. return db.reserve(function(err, conn) {
  44. if (err) {
  45. free(db, conn);
  46. return callback(err);
  47. }
  48. conn.conn.setAutoCommit(true, function(err) {
  49. if (err) {
  50. free(db, conn);
  51. return callback(err);
  52. }
  53. });
  54. return conn.conn.createStatement(function(err, statement) {
  55. if (err) {
  56. free(db, conn);
  57. return callback(err);
  58. }
  59. return statement.executeQuery(query, function(err, resultset) {
  60. if (err) {
  61. free(db, conn);
  62. return callback(err);
  63. }
  64. return resultset.toObjArray(function(err, results) {
  65. free(db, conn);
  66. return callback(err, results);
  67. });
  68. });
  69. });
  70. });
  71. });
  72. }
  73.  
  74. executeQuery(query, function(err, results) {
  75. if (err) {
  76. console.error(err);
  77. }
  78. console.log(results);
  79. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement