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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@justybase/netezza-driver

v1.1.0

Published

Native TypeScript driver for IBM Netezza / PureData System for Analytics

Readme

IBM Netezza / PureData Driver for Node.js (TypeScript)

CI Status npm version License Node.js

A native, high-performance TypeScript reimplementation of the JustyBase.NetezzaDriver.

It allows for direct connection to IBM Netezza / PureData System for Analytics databases without the need for ODBC drivers or external dependencies.

Key Features

  • Pure TypeScript: No native bindings, no ODBC/CLI required.
  • High Performance: Optimized for large result sets using internal buffer pooling.
  • ADO.NET Style API: Familiar Connection/Command/Reader pattern.
  • SSL/TLS Support: Encrypted connections to Netezza/PureData.
  • Strongly Typed: Full TypeScript support for configuration and data handling.

Installation

npm install @justybase/netezza-driver

Quick Start

import { NzConnection, NzCommand } from '@justybase/netezza-driver';

async function example() {
    const connection = new NzConnection({
        host: 'your-nz-host',
        database: 'system',
        user: 'admin',
        password: 'password',
        // port: 5480, // default
    });

    try {
        await connection.open();
        
        const command = new NzCommand('SELECT * FROM _v_table WHERE tablename LIKE ?', connection);
        command.parameters.push('CUSTOMER%');

        const reader = await command.executeReader();
        
        while (await reader.read()) {
            const tableName = reader.getValue(0);
            console.log(`Found table: ${tableName}`);
        }
        
    } finally {
        await connection.close();
    }
}

Design & lineage

This driver exposes an API and usage patterns inspired by ADO.NET: connection/command/reader abstractions, predictable lifecycle management, and an explicit approach to connection and command disposal. The design mirrors common C# database client patterns to make the library familiar to developers coming from .NET.

Important: this project is an independent TypeScript implementation and does not reuse code from the node-netezza package. The functional and architectural inspiration comes from the C# implementation referenced above; that C# project is cited as a design reference in this repository.

Note: The node-netezza package is included in this project specifically for benchmarking purposes, and odbc is included for testing purposes to ensure compatibility and correctness.

Testing

This package has two types of tests:

Smoke Tests (Fast)

Quick validation tests that verify basic functionality. These tests run in ~1 second and are suitable for CI/CD pipelines and quick verification during development.

npm test
# or
npm run test:smoke

What smoke tests cover:

  • Basic connection establishment
  • Simple query execution (SELECT 1, SELECT 12345::BIGINT, etc.)
  • Core data type handling (integers, floats, strings, dates, NULL)
  • Reader API basic functionality
  • ODBC comparison for simple queries

Full Tests (Thorough)

Comprehensive test suite that validates all functionality against a real Netezza database. Requires the NZ_DEV_PASSWORD environment variable to be set.

npm run test:full

What full tests cover:

  • All smoke tests plus:
  • Authentication scenarios
  • Query cancellation
  • External table operations (import/export)
  • Schema table retrieval
  • Transaction handling
  • Timeout handling
  • SSL connections
  • Multiple result sets
  • Error handling for invalid SQL
  • Stack overflow prevention
  • Comprehensive ODBC comparison tests
  • Query consistency across multiple executions

Test Requirements

For full tests, you need:

  1. A running Netezza database server
  2. Set the NZ_DEV_PASSWORD environment variable:
    # Windows (cmd)
    set NZ_DEV_PASSWORD=your_password
       
    # Windows (PowerShell)
    $env:NZ_DEV_PASSWORD="your_password"
       
    # Linux/macOS
    export NZ_DEV_PASSWORD=your_password

Other Test Commands

# Run tests with debug output
npm run test:debug

# Run specific test file
npx jest tests/BasicTests.test.js --config jest.config.js --runInBand

Build

npm run build