Skip to content

Commit 92a411f

Browse files
committed
Remove fallbacks for unsupported Node versions (#1304) (#1313)
* Add client connectionString tests (#1310) * Remove redundant tests * Add client connectionString test Add test to ensure { connectionString } is respected as an argument to the client constructor * Add test for connection string property Also fixed some legacy require statements. * Normalize native error properties Map native error properties to the same property names we use for errors from the JS driver. Fixes #972 Fixes #938
1 parent 093894b commit 92a411f

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

lib/native/query.js

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,29 @@ NativeQuery.prototype.promise = function() {
5151
return this._promise;
5252
};
5353

54+
var errorFieldMap = {
55+
'sqlState': 'code',
56+
'statementPosition': 'position',
57+
'messagePrimary': 'message',
58+
'context': 'where',
59+
'schemaName': 'schema',
60+
'tableName': 'table',
61+
'columnName': 'column',
62+
'dataTypeName': 'dataType',
63+
'constraintName': 'constraint',
64+
'sourceFile': 'file',
65+
'sourceLine': 'line',
66+
'sourceFunction': 'routine',
67+
};
68+
5469
NativeQuery.prototype.handleError = function(err) {
5570
var self = this;
5671
//copy pq error fields into the error object
5772
var fields = self.native.pq.resultErrorFields();
5873
if(fields) {
5974
for(var key in fields) {
60-
err[key] = fields[key];
75+
var normalizedFieldName = errorFieldMap[key] || key;
76+
err[normalizedFieldName] = fields[key];
6177
}
6278
}
6379
if(self.callback) {
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
var assert = require('assert')
2+
var Client = require('../../lib/client');
3+
var NativeClient = require('../../lib/native');
4+
5+
var client = new Client();
6+
var nativeClient = new NativeClient();
7+
8+
client.connect();
9+
nativeClient.connect((err) => {
10+
client.query('SELECT alsdkfj', (err) => {
11+
client.end();
12+
13+
nativeClient.query('SELECT lkdasjfasd', (nativeErr) => {
14+
for(var key in nativeErr) {
15+
assert.equal(err[key], nativeErr[key], `Expected err.${key} to equal nativeErr.${key}`)
16+
}
17+
nativeClient.end();
18+
});
19+
});
20+
});

0 commit comments

Comments
 (0)