New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

crate-connect

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

crate-connect

A simple node.js driver to connect to a Crate.io Data Storage.

  • 0.1.51
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

crate-connect

Build Status

A simple node.js driver to connect to a Crate.io Data Storage, this was originally part of the CrateJS driver, now CrateJS is an extension of crate-connect.

Installation

npm install crate-connect

Sample usage

var Crate = require('crate-connect');

// You can have as many db instance as you please :)
// You should probably add this part to another module and export it!
var db = new Crate({
  host: 'localhost', //Defaults to localhost
  port: 4200, //Defaults to 4200
  // You can also send in a cluster of nodes
  cluster: [
      {
        host: 'localhost',
        port:4200
      },
  ]
});

// Now lets build some queries, using placeholders, you can either use ? or $1, $2, $3...
var q = {
  getSomeTweets: db.Query('SELECT text FROM tweets LIMIT ?'),
  getReTweeted:  db.Query('SELECT text FROM tweets WHERE retweeted = $1 LIMIT $2'),
};

// Get some tweets
q.getSomeTweets.execute([10], onResponse);

// Get only tweets with retweets
q.getReTweeted.execute([true, 10], onResponse);

function onResponse(err, res) {
    if(err) {
      //Do something
      return;
    }

    console.log('Returned %d rows', res.rowcount);
    console.log('Columns returned:\n', res.cols);
    console.log(res.rows);
}

Methods

###db.Query(string)

  • This constructs a query and returns an .execute() method.

###db.execute(query, statements, callback)

  • This executes a query directly
  • Statements is an optional parameter, you can replace it with the callback
db.execute('SELECT * FROM tweets LIMIT ?', [1], function(err, res) {})

###db.blob()

  • Methods related to managing blob's
  • Note that this does not construct the sha1 hash from the buffer, you need to do it yourself.
  • Note that if the sha1 hash is not correct, the blob wont be inserted. The sha1 hash must be calculated from the blob to be inserted.

####blob().put(table, sha1Hash, buffer, callback)

var buffer = new Buffer('sample')
var hash = crypto.createHash('sha1').update(buffer).digest('hex')

####blob().put('imagesTable', hash, buffer, function(err) {
    if(err) {
        //err.statusCode
    }
})

####blob().get(table, sha1Hash, callback)

db.blob().get('imagesTable', '8151325dcdbae9e0ff95f9f9658432dbedfdb209', function(err, buffer) {
    if(err) {
        //err.statusCode
    }
})

####blob().check(table, sha1Hash, callback)

db.blob().check('imagesTable', '8151325dcdbae9e0ff95f9f9658432dbedfdb209', function(err) {
    if(err) {
        //err.statusCode
    }
})

####blob().delete(table, sha1Hash, callback)

db.blob().check('imagesTable', '8151325dcdbae9e0ff95f9f9658432dbedfdb209', function(err) {
    if(err) {
        //err.statusCode
    }
})

TODO

  • Refactor some pieces of this code, its messy :(

Contributors

Keywords

FAQs

Package last updated on 20 Jul 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc