Skip to content

Commit

Permalink
Merge pull request #285 from TimelordUK/appv18
Browse files Browse the repository at this point in the history
Appv18
  • Loading branch information
TimelordUK authored May 8, 2023
2 parents a9732a0 + dfc6474 commit 46b0c00
Show file tree
Hide file tree
Showing 9 changed files with 299 additions and 76 deletions.
30 changes: 17 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,21 @@
[![npm](https://img.shields.io/npm/dm/msnodesqlv8.svg)](https://github.com/TimelordUK/node-sqlserver-v8)
[![npm](https://img.shields.io/npm/dy/msnodesqlv8.svg)](https://github.com/TimelordUK/node-sqlserver-v8)

1. *new* Ubuntu, Debian Node v18, v20 - install openssl 3.2 see WIKI
1. *new* support always on encryption via tables and procedures.
1. *new* support Node v19
1. *new* support electron v22
1. *new* support Node v20
1. *new* support electron v24
1. *new* read numerics as strings - see WIKI
1. *new* Sybase Adaptive Server Enterprise support - see WIKI
1. *new* thread worker support - see WIKI
1. *new* manually register tables
1. *new* manually register and execute stored proc
1. *new* promises - see WIKI
1. *new* fast BCP bulk insert - see WIKI
1. *new* 64 bit x64 Linux
1. *new* includes MacOS support
1. *new* use object based named params for proc calls - see WIKI
1. *new* improved local date support via bound tables

1. Sybase Adaptive Server Enterprise support - see WIKI
1. thread worker support - see WIKI
1. manually register tables
1. manually register and execute stored proc
1. promises - see WIKI
1. fast BCP bulk insert - see WIKI
1. 64 bit x64 Linux
1. includes MacOS support
1. use object based named params for proc calls - see WIKI
1. improved local date support via bound tables
1. pause/resume long running query
1. built in connection pool
1. sequelize support directly included
Expand All @@ -36,6 +36,10 @@
1. table value parameters
1. native sequelize support

## Ubuntu Debian SEGV on node v18, v20

please see [appveyor](https://ci.appveyor.com/project/TimelordUK/node-sqlserver-v8) which installs openssl 3.2 allowing this library to work for Node 18, 20. See test script tool\openssl.sh as potential installer, check for dependencies on your system first.

## Node JS support for SQL server (and other databases with ODBC compliant driver)

This library has full compatibility with MS SQL Server using an MS ODBC driver. Many functions e.g. open, query, connection pool, prepare, transactions, close will work with any ODBC compatible driver with its repsective database.
Expand Down
16 changes: 5 additions & 11 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
version: 1.0.{build}

image:
- Visual Studio 2022
- Ubuntu2004

- Visual Studio 2022

platform:
- x64

Expand All @@ -14,11 +14,6 @@ environment:
- nodejs_version: 14
- nodejs_version: 12

matrix:
exclude:
- image: Ubuntu2004
nodejs_version: 18

test_script:
- ps: Write-Host "msnodesqlv8 test script"
for:
Expand Down Expand Up @@ -50,9 +45,6 @@ for:
- image: Ubuntu2004
platform: x64

except:
- nodejs_version: 18

services:
- mssql

Expand All @@ -61,7 +53,9 @@ for:
build_script:
- sh: node --version
- sh: npm run build

- sh: chmod 775 /home/appveyor/projects/node_modules/msnodesqlv8/tool/install_openssl.sh
- sh: /home/appveyor/projects/node_modules/msnodesqlv8/tool/install_openssl.sh

test_script:
- sh: "sleep 4"
- sh: "./node_modules/.bin/env-cmd -e appv-ubuntu ./node_modules/.bin/mocha 2>&1"
Expand Down
88 changes: 51 additions & 37 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 8 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"name": "Stephen James"
}
],
"version": "3.1.0",
"version": "4.0.0",
"keywords": [
"sql",
"prepared",
Expand Down Expand Up @@ -65,17 +65,17 @@
"prebuild-install": "^7.1.1"
},
"devDependencies": {
"@types/chai": "^4.3.4",
"@types/chai": "^4.3.5",
"@types/chai-as-promised": "^7.1.5",
"@types/electron": "^1.4.38",
"@types/mocha": "^10.0.1",
"@types/mochawesome": "^6.2.1",
"@types/node": "^18.15.13",
"@types/sequelize": "^4.28.14",
"@types/node": "^20.1.0",
"@types/sequelize": "^4.28.15",
"@typescript-eslint/eslint-plugin-tslint": "^5.59.0",
"chai": "^4.3.7",
"chai-as-promised": "^7.1.1",
"electron": "^24.1.2",
"electron": "^24.2.0",
"electron-rebuild": "^3.2.9",
"env-cmd": "^10.1.0",
"minimist": "^1.2.8",
Expand All @@ -84,7 +84,7 @@
"node-gyp": "^9.3.1",
"nyc": "^15.1.0",
"prebuild": "^11.0.4",
"sequelize": "^6.31.0",
"sequelize": "^6.31.1",
"typescript": "^5.0.4",
"standard": "^17.0.0",
"eslint": "^8.39.0",
Expand All @@ -106,8 +106,8 @@
"prebuild-all": "npm run prebuild-node && npm run prebuild-node-ia32 && npm run prebuild-electron && npm run prebuild-electron-ia32",
"prebuild-node": "prebuild -t 10.16.0 -t 11.15.0 -t 12.18.3 -t 13.14.0 -t 14.14.0 -t 15.11.0 -t 16.13.0 -t 17.0.1 -t 18.7.0 -t 19.2.0 -t 20.0.0 --strip ",
"prebuild-node-ia32": "prebuild -t 10.16.0 -t 11.15.0 -t 12.18.3 -t 13.14.0 -t 14.14.0 -t 15.11.0 -t 16.13.0 -t 17.0.1 -t 18.7.0 -t 19.2.0 -t 20.0.0 -a ia32 --strip",
"prebuild-electron": "prebuild -t 6.1.9 -t 7.2.1 -t 8.2.3 -t 9.0.5 -t 10.1.4 -t 11.3.0 -t 12.0.0 -t 13.0.0 -t 14.0.0 -t 14.2.5 -t 15.0.0 -t 16.0.1 -t 17.0.0 -t 18.1.0 -t 19.0.10 -t 20.3.0 -t 21.3.1 -t 22.0.0 -t 23.0.0 -t 24.0.0-beta.2 -r electron --strip",
"prebuild-electron-ia32": "prebuild -t 6.1.9 -t 7.2.1 -t 8.2.3 -t 9.0.5 -t 10.1.4 -t 11.3.0 -t 12.0.0 -t 13.0.0 -t 14.0.0 -t 14.2.5 -t 15.0.0 -t 16.0.1 -t 17.0.0 -t 18.1.0 -t 19.0.10 -t 20.3.0 -t 21.3.1 -t 22.0.0 -t 23.0.0 -t 24.0.0-beta.2 -r electron -a ia32 --strip",
"prebuild-electron": "prebuild -t 6.1.9 -t 7.2.1 -t 8.2.3 -t 9.0.5 -t 10.1.4 -t 11.3.0 -t 12.0.0 -t 13.0.0 -t 14.0.0 -t 14.2.5 -t 15.0.0 -t 16.0.1 -t 17.0.0 -t 18.1.0 -t 19.0.10 -t 20.3.0 -t 21.3.1 -t 22.0.0 -t 23.0.0 -t 24.0.0 -r electron --strip",
"prebuild-electron-ia32": "prebuild -t 6.1.9 -t 7.2.1 -t 8.2.3 -t 9.0.5 -t 10.1.4 -t 11.3.0 -t 12.0.0 -t 13.0.0 -t 14.0.0 -t 14.2.5 -t 15.0.0 -t 16.0.1 -t 17.0.0 -t 18.1.0 -t 19.0.10 -t 20.3.0 -t 21.3.1 -t 22.0.0 -t 23.0.0 -t 24.0.0 -r electron -a ia32 --strip",
"test": "nyc --reporter=html --reporter=text mocha --reporter mochawesome --require mochawesome/register",
"bench-comments": "node dist/test/env/cmd-test.js -t benchmark --repeats=5 --delay=4500 2>&1",
"bench-columns": "node dist/test/env/cmd-test.js -t benchmark --table=syscolumns --repeats=5 --delay=5000 2>&1",
Expand Down
Binary file removed packages-microsoft-prod.deb
Binary file not shown.
7 changes: 7 additions & 0 deletions tool/install_openssl.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
FOLDER=/home/appveyor/projects/node_modules/msnodesqlv8
echo "node version $nodejs_version folder $FOLDER"
if [ "$nodejs_version" -ge "18" ]; then
cd $FOLDER
chmod 775 tool/openssl.sh
tool/openssl.sh
fi
11 changes: 11 additions & 0 deletions tool/openssl.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
mkdir -p $HOME/projects
cd $HOME/projects
git clone https://github.com/openssl/openssl.git
cd openssl
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared
make
# make test
sudo make install
cd /etc/ld.so.conf.d/
echo '/usr/local/ssl/lib64/' | sudo tee openssl-3.2.0.1s.conf
sudo ldconfig -v
8 changes: 8 additions & 0 deletions tool/rename-release.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
$src="v3.1.0"
$dst="v4.0.0"
$path="$HOME\dev\js\sql\v8\node_modules\msnodesqlv8\assets"
$versions=Get-ChildItem -Path $path *.gz
$versions | ForEach-Object {
$name = $_.FullName.Replace($src, $dst)
Rename-Item $_.FullName $name
}
Loading

0 comments on commit 46b0c00

Please sign in to comment.