npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

node-red-contrib-sql

v0.1.7

Published

A Node-RED node run Sql queries

Downloads

74

Readme

Node-red Sql Suite

Install

Run the following command in the root directory of your Node-RED install

npm install node-red-contrib-sql

Overview

This add-on uses new functions from Node-Red 0.13.

This add-on, includes a suite of nodes to work with Sql :

  • SQL Insert
  • SQL Update
  • SQL Select
  • SQL Delete

Know Issues

For use the functions of list tables and columns you need to deploy the connection node.

Common Parameters

Server

Here you select a configuration node where is stored the configuration of the server. Multiple nodes connected to the same configuration node share the same connection, is always better to use one shared connection.

Table

![Detect Table Names Gif](_images/detect table names.gif)

The name of the table, after selecting a server the list of the tables is retrieved automatically.

Columns

![Detect Table Columns Gif](_images/detect table columns.gif)

This is a filter parameter, in case of read nodes (Select) are the columns that you want to retrieve, in case of write nodes (Insert,Update) are the columns that you are making writable by the input. Every column on input if isn't in this parameter is ignored (except if this parameter is leaved empty).

Where

![Create Where Clause Gif](_images/create where clause.gif)

This parameter is available on all nodes expect Insert. Here you can graphically construct your where clause, the columns and their types are automatically retrieved by the server (you need to Select Server and Table before use this parameter). You can bind to every column of your where to a value, this value can be choose from the ones listed above :

  • Msg : Confront the column with the value contained in the message
  • Flow : This is a type of storage http://nodered.org/docs/writing-functions.html#flow-context
  • Global : Same as flow http://nodered.org/docs/writing-functions.html#global-context
  • Number : A float number
  • String

SQL Insert

The ​msg.payload​ is the data that will be inserted, this data is filtered using the ​Accepted columns​ param, in the case the param is empty - are used all the columns available on ​msg.payload​.

Enabling the ​All columns required ?​ parameter, if in the ​msg.payload​ aren't available all the columns accepted by the node, the query is rejected (This param is ignored in the case the param ​Accepted columns​ is empty).

SQL Update

The ​msg.payload​ is the data that will be updated, this data is filtered using the ​Accepted columns​ param, in the case the param is empty - are used all the columns available on ​msg.payload​.

SQL Select

In the case a ​msg.group​ is passed to the node, the ​Group by​ parameter is overwritten, same thing for ​msg.order​.

For each of the ​limit​, ​offset​ parameters, in the case the value set is different from 0, the ​msg.limit​ / ​msg.offset​ is ignored.

SQL Delete

For the ​limit parameter, in the case the value set is different from 0, the ​msg.limit​ is ignored

ToDo

  • Complete Type Map for Sqlite3.
  • Get table columns for Sqlite3.
  • Handle the Set Type.
  • Add a button on the config to test the parameters of the connection.
  • Make the functions of list tables and columns available without deploying the connection node.
  • In the Query constructor, in case using an enum, transform the checkbox to radios for operations like "equal".