use oracledb purejs client

This commit is contained in:
Jan Prochazka
2024-05-31 10:17:48 +02:00
parent 958d786dfb
commit a2102a51a1
10 changed files with 13 additions and 42 deletions

View File

@@ -5,9 +5,6 @@ function adjustFile(file) {
if (process.platform != 'win32') { if (process.platform != 'win32') {
delete json.optionalDependencies.msnodesqlv8; delete json.optionalDependencies.msnodesqlv8;
} }
if (process.arch == 'arm64') {
delete json.optionalDependencies.oracledb;
}
fs.writeFileSync(file, JSON.stringify(json, null, 2), 'utf-8'); fs.writeFileSync(file, JSON.stringify(json, null, 2), 'utf-8');
} }

View File

@@ -121,7 +121,6 @@
}, },
"optionalDependencies": { "optionalDependencies": {
"better-sqlite3": "9.6.0", "better-sqlite3": "9.6.0",
"msnodesqlv8": "^4.2.1", "msnodesqlv8": "^4.2.1"
"oracledb": "^5.5.0"
} }
} }

View File

@@ -1944,11 +1944,6 @@ open@^7.4.2:
is-docker "^2.0.0" is-docker "^2.0.0"
is-wsl "^2.1.1" is-wsl "^2.1.1"
oracledb@^5.5.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/oracledb/-/oracledb-5.5.0.tgz#0cf9af5d0c0815f74849ae9ed56aee823514d71b"
integrity sha512-i5cPvMENpZP8nnqptB6l0pjiOyySj1IISkbM4Hr3yZEDdANo2eezarwZb9NQ8fTh5pRjmgpZdSyIbnn9N3AENw==
os-tmpdir@~1.0.2: os-tmpdir@~1.0.2:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"

View File

@@ -5,9 +5,6 @@ let fillContent = '';
if (process.platform == 'win32') { if (process.platform == 'win32') {
fillContent += `content.msnodesqlv8 = () => require('msnodesqlv8');`; fillContent += `content.msnodesqlv8 = () => require('msnodesqlv8');`;
} }
if (process.arch != 'arm64') {
fillContent += `content.oracledb = () => require('oracledb');`;
}
fillContent += `content['better-sqlite3'] = () => require('better-sqlite3');`; fillContent += `content['better-sqlite3'] = () => require('better-sqlite3');`;
const getContent = empty => ` const getContent = empty => `

View File

@@ -26,10 +26,10 @@
"compare-versions": "^3.6.0", "compare-versions": "^3.6.0",
"cors": "^2.8.5", "cors": "^2.8.5",
"cross-env": "^6.0.3", "cross-env": "^6.0.3",
"dbgate-datalib": "^5.0.0-alpha.1",
"dbgate-query-splitter": "^4.9.3", "dbgate-query-splitter": "^4.9.3",
"dbgate-sqltree": "^5.0.0-alpha.1", "dbgate-sqltree": "^5.0.0-alpha.1",
"dbgate-tools": "^5.0.0-alpha.1", "dbgate-tools": "^5.0.0-alpha.1",
"dbgate-datalib": "^5.0.0-alpha.1",
"debug": "^4.3.4", "debug": "^4.3.4",
"diff": "^5.0.0", "diff": "^5.0.0",
"diff2html": "^3.4.13", "diff2html": "^3.4.13",
@@ -83,7 +83,6 @@
}, },
"optionalDependencies": { "optionalDependencies": {
"better-sqlite3": "9.6.0", "better-sqlite3": "9.6.0",
"msnodesqlv8": "^4.2.1", "msnodesqlv8": "^4.2.1"
"oracledb": "^5.5.0"
} }
} }

View File

@@ -36,5 +36,8 @@
"lodash": "^4.17.21", "lodash": "^4.17.21",
"webpack": "^5.91.0", "webpack": "^5.91.0",
"webpack-cli": "^5.1.4" "webpack-cli": "^5.1.4"
},
"dependencies": {
"oracledb": "^6.5.1"
} }
} }

View File

@@ -4,20 +4,10 @@ const stream = require('stream');
const driverBases = require('../frontend/drivers'); const driverBases = require('../frontend/drivers');
const Analyser = require('./Analyser'); const Analyser = require('./Analyser');
//--const pg = require('pg'); //--const pg = require('pg');
//const oracledb = require('oracledb'); const oracledb = require('oracledb');
const { createBulkInsertStreamBase, makeUniqueColumnNames } = require('dbgate-tools'); const { createBulkInsertStreamBase, makeUniqueColumnNames } = require('dbgate-tools');
let requireOracledb; // native module
let oracledbValue;
function getOracledb() {
if (!oracledbValue) {
oracledbValue = requireOracledb();
}
return oracledbValue;
}
/* /*
pg.types.setTypeParser(1082, 'text', val => val); // date pg.types.setTypeParser(1082, 'text', val => val); // date
pg.types.setTypeParser(1114, 'text', val => val); // timestamp without timezone pg.types.setTypeParser(1114, 'text', val => val); // timestamp without timezone
@@ -62,7 +52,7 @@ const drivers = driverBases.map(driverBase => ({
authType, authType,
socketPath, socketPath,
}) { }) {
client = await getOracledb().getConnection({ client = await oracledb.getConnection({
user, user,
password, password,
connectString: useDatabaseUrl ? databaseUrl : port ? `${server}:${port}` : server, connectString: useDatabaseUrl ? databaseUrl : port ? `${server}:${port}` : server,
@@ -283,10 +273,4 @@ const drivers = driverBases.map(driverBase => ({
}, },
})); }));
drivers.initialize = dbgateEnv => {
if (dbgateEnv.nativeModules && dbgateEnv.nativeModules.oracledb) {
requireOracledb = dbgateEnv.nativeModules.oracledb;
}
};
module.exports = drivers; module.exports = drivers;

View File

@@ -3,7 +3,4 @@ const drivers = require('./drivers');
module.exports = { module.exports = {
packageName: 'dbgate-plugin-oracle', packageName: 'dbgate-plugin-oracle',
drivers, drivers,
initialize(dbgateEnv) {
drivers.initialize(dbgateEnv);
},
}; };

View File

@@ -22,7 +22,7 @@ var config = {
plugins: [ plugins: [
new webpack.IgnorePlugin({ new webpack.IgnorePlugin({
checkResource(resource) { checkResource(resource) {
const lazyImports = ['oracledb', 'uws']; const lazyImports = ['uws'];
if (!lazyImports.includes(resource)) { if (!lazyImports.includes(resource)) {
return false; return false;
} }

View File

@@ -7978,10 +7978,10 @@ optionator@^0.8.1, optionator@^0.8.3:
resolved "https://registry.yarnpkg.com/opts/-/opts-2.0.2.tgz#a17e189fbbfee171da559edd8a42423bc5993ce1" resolved "https://registry.yarnpkg.com/opts/-/opts-2.0.2.tgz#a17e189fbbfee171da559edd8a42423bc5993ce1"
integrity sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg== integrity sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg==
oracledb@^5.5.0: oracledb@^6.5.1:
version "5.5.0" version "6.5.1"
resolved "https://registry.yarnpkg.com/oracledb/-/oracledb-5.5.0.tgz#0cf9af5d0c0815f74849ae9ed56aee823514d71b" resolved "https://registry.yarnpkg.com/oracledb/-/oracledb-6.5.1.tgz#814d985035acdb1a6470b1152af0ca3767569ede"
integrity sha512-i5cPvMENpZP8nnqptB6l0pjiOyySj1IISkbM4Hr3yZEDdANo2eezarwZb9NQ8fTh5pRjmgpZdSyIbnn9N3AENw== integrity sha512-JzoSGei1wnvmqgKnAZK1W650mzHTZXx+7hClV4mwsbY/ZjUtrpnojNJMYJ2jkOhj7XG5oJPfXc4GqDKaNzkxqg==
os-tmpdir@~1.0.2: os-tmpdir@~1.0.2:
version "1.0.2" version "1.0.2"