teradatasql 20.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/LICENSE +196 -0
  2. package/README.md +1447 -0
  3. package/THIRDPARTYLICENSE +40 -0
  4. package/lib/index.d.ts +14 -0
  5. package/lib/index.d.ts.map +1 -0
  6. package/lib/index.js +50 -0
  7. package/lib/index.js.map +1 -0
  8. package/lib/teradata-connection.d.ts +74 -0
  9. package/lib/teradata-connection.d.ts.map +1 -0
  10. package/lib/teradata-connection.js +280 -0
  11. package/lib/teradata-connection.js.map +1 -0
  12. package/lib/teradata-cursor.d.ts +58 -0
  13. package/lib/teradata-cursor.d.ts.map +1 -0
  14. package/lib/teradata-cursor.js +746 -0
  15. package/lib/teradata-cursor.js.map +1 -0
  16. package/lib/teradata-exceptions.d.ts +19 -0
  17. package/lib/teradata-exceptions.d.ts.map +1 -0
  18. package/lib/teradata-exceptions.js +52 -0
  19. package/lib/teradata-exceptions.js.map +1 -0
  20. package/lib/teradata-logging.d.ts +23 -0
  21. package/lib/teradata-logging.d.ts.map +1 -0
  22. package/lib/teradata-logging.js +79 -0
  23. package/lib/teradata-logging.js.map +1 -0
  24. package/lib/teradatasql.dll +0 -0
  25. package/lib/teradatasql.dylib +0 -0
  26. package/lib/teradatasql.so +0 -0
  27. package/package.json +33 -0
  28. package/samples/AGKRBatchInsert.js +38 -0
  29. package/samples/AGKRInsertSelect.js +28 -0
  30. package/samples/BatchInsPerf.js +47 -0
  31. package/samples/BatchInsert.js +17 -0
  32. package/samples/BatchInsertCSV.js +54 -0
  33. package/samples/CharPadding.js +31 -0
  34. package/samples/CommitRollback.js +31 -0
  35. package/samples/DecimalDigits.js +49 -0
  36. package/samples/DriverDatabaseVersion.js +14 -0
  37. package/samples/ElicitFile.js +19 -0
  38. package/samples/ExportCSVResult.js +54 -0
  39. package/samples/ExportCSVResults.js +60 -0
  40. package/samples/FakeExportCSVResults.js +82 -0
  41. package/samples/FakeResultSetCon.js +72 -0
  42. package/samples/FakeResultSetEsc.js +72 -0
  43. package/samples/FastExportCSV.js +102 -0
  44. package/samples/FastExportTable.js +76 -0
  45. package/samples/FastLoadBatch.js +152 -0
  46. package/samples/FastLoadCSV.js +116 -0
  47. package/samples/HelpSession.js +18 -0
  48. package/samples/IgnoreErrors.js +125 -0
  49. package/samples/InsertLob.js +62 -0
  50. package/samples/InsertXML.js +37 -0
  51. package/samples/LoadCSVFile.js +41 -0
  52. package/samples/LobLocators.js +57 -0
  53. package/samples/MetadataFromPrepare.js +23 -0
  54. package/samples/ParamDataTypes.js +70 -0
  55. package/samples/ShowCommand.js +31 -0
  56. package/samples/StoredProc.js +77 -0
  57. package/samples/TJEncryptPassword.js +270 -0
  58. package/samples/airports.csv +9 -0
  59. package/samples/udfinc.c +6 -0
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ const fs = __importStar(require("fs"));
23
+ const sync_1 = require("csv-parse/sync");
24
+ const teradatasql_1 = require("teradatasql");
25
+ const con = new teradatasql_1.TeradataConnection();
26
+ con.connect({ host: "whomooz", user: "guest", password: "please" });
27
+ const cur = con.cursor();
28
+ cur.execute("create volatile table voltab (c1 integer, c2 varchar(100)) on commit preserve rows");
29
+ console.log("Inserting data");
30
+ cur.execute("insert into voltab values (?, ?)", [
31
+ [1, ""],
32
+ [2, "abc"],
33
+ [3, "def"],
34
+ [4, "mno"],
35
+ [5, ""],
36
+ [6, "pqr"],
37
+ [7, "uvw"],
38
+ [8, "xyz"],
39
+ [9, ""],
40
+ ]);
41
+ const sFileName = "dataJs.csv";
42
+ console.log("Exporting table data to file", sFileName);
43
+ cur.execute("{fn teradata_write_csv(" + sFileName + ")}select * from voltab order by 1");
44
+ try {
45
+ console.log("Reading file", sFileName);
46
+ const sRows = sync_1.parse(fs.readFileSync(sFileName, { encoding: "utf-8" }));
47
+ console.log(sRows);
48
+ }
49
+ finally {
50
+ fs.unlinkSync(sFileName);
51
+ }
52
+ cur.close();
53
+ con.close();
54
+ //# sourceMappingURL=ExportCSVResult.js.map
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ const fs = __importStar(require("fs"));
23
+ const sync_1 = require("csv-parse/sync");
24
+ const teradatasql_1 = require("teradatasql");
25
+ const con = new teradatasql_1.TeradataConnection();
26
+ con.connect({ host: "whomooz", user: "guest", password: "please" });
27
+ const cur = con.cursor();
28
+ cur.execute("create volatile table voltab (c1 integer, c2 varchar(100)) on commit preserve rows");
29
+ console.log("Inserting data");
30
+ cur.execute("insert into voltab values (?, ?)", [
31
+ [1, ""],
32
+ [2, "abc"],
33
+ [3, "def"],
34
+ [4, "mno"],
35
+ [5, ""],
36
+ [6, "pqr"],
37
+ [7, "uvw"],
38
+ [8, "xyz"],
39
+ [9, ""],
40
+ ]);
41
+ const asFileNames = ["dataJs.csv", "dataJs_1.csv", "dataJs_2.csv"];
42
+ console.log("Exporting table data to file", asFileNames);
43
+ cur.execute("{fn teradata_write_csv(" +
44
+ asFileNames[0] +
45
+ ")}select * from voltab order by 1 ; select * from voltab order by 1 desc ; select 123 as col1, 'abc' as col2");
46
+ try {
47
+ for (const sFileName of asFileNames) {
48
+ console.log("Reading file", sFileName);
49
+ const sRows = sync_1.parse(fs.readFileSync(sFileName, { encoding: "utf-8" }));
50
+ console.log(sRows);
51
+ }
52
+ }
53
+ finally {
54
+ for (const sFileName of asFileNames) {
55
+ fs.unlinkSync(sFileName);
56
+ }
57
+ }
58
+ cur.close();
59
+ con.close();
60
+ //# sourceMappingURL=ExportCSVResults.js.map
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ const fs = __importStar(require("fs"));
23
+ const sync_1 = require("csv-parse/sync");
24
+ const teradatasql_1 = require("teradatasql");
25
+ const con = new teradatasql_1.TeradataConnection();
26
+ con.connect({ host: "whomooz", user: "guest", password: "please" });
27
+ const cur = con.cursor();
28
+ cur.execute("create volatile table voltab (c1 integer, c2 varchar(100)) on commit preserve rows");
29
+ console.log("Inserting data");
30
+ cur.execute("insert into voltab values (?, ?)", [
31
+ [1, ""],
32
+ [2, "abc"],
33
+ [3, "def"],
34
+ [4, "mno"],
35
+ [5, ""],
36
+ [6, "pqr"],
37
+ [7, "uvw"],
38
+ [8, "xyz"],
39
+ [9, ""],
40
+ ]);
41
+ const asFileNames = ["dataJs.csv", "dataJs_1.csv", "dataJs_2.csv", "dataJs_3.csv", "dataJs_4.csv", "dataJs_5.csv"];
42
+ console.log("Exporting table data to file", asFileNames);
43
+ cur.execute("{fn teradata_write_csv(" +
44
+ asFileNames[0] +
45
+ ")}{fn teradata_fake_result_sets}select * from voltab order by 1 ; select * from voltab order by 1 desc ; select 123 as col1, 'abc' as col2");
46
+ const re = new RegExp("\\d+");
47
+ try {
48
+ for (const sFileName of asFileNames) {
49
+ console.log("Reading file", sFileName);
50
+ let nFilenamePostfix;
51
+ const m = sFileName.match(re);
52
+ if (m) {
53
+ nFilenamePostfix = parseInt(m[0]);
54
+ }
55
+ else {
56
+ nFilenamePostfix = 0;
57
+ }
58
+ const records = sync_1.parse(fs.readFileSync(sFileName, { encoding: "utf-8" }));
59
+ if (nFilenamePostfix & 1) {
60
+ console.log("Real result set");
61
+ for (const record of records) {
62
+ console.log(record);
63
+ }
64
+ }
65
+ else {
66
+ console.log("Fake result set");
67
+ const asColumnNames = records[0];
68
+ const row = records[1];
69
+ for (let i = 0; i < row.length; i++) {
70
+ console.log(`${asColumnNames[i].padEnd(15)} = ${row[i]}`);
71
+ }
72
+ }
73
+ }
74
+ }
75
+ finally {
76
+ for (const sFileName of asFileNames) {
77
+ fs.unlinkSync(sFileName);
78
+ }
79
+ }
80
+ cur.close();
81
+ con.close();
82
+ //# sourceMappingURL=FakeExportCSVResults.js.map
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const teradatasql_1 = require("teradatasql");
4
+ const con = new teradatasql_1.TeradataConnection();
5
+ con.connect({ host: "whomooz", user: "guest", password: "please", fake_result_sets: "true" });
6
+ const cur = con.cursor();
7
+ cur.execute("create volatile table voltab1 (c1 integer, c2 varchar(100)) on commit preserve rows");
8
+ cur.execute("insert into voltab1 values (1, 'abc')");
9
+ cur.execute("insert into voltab1 values (2, 'def')");
10
+ cur.execute("create volatile table voltab2 (c1 integer, c2 varchar(100)) on commit preserve rows");
11
+ cur.execute("insert into voltab2 values (3, 'ghi')");
12
+ cur.execute("insert into voltab2 values (4, 'jkl')");
13
+ cur.execute("insert into voltab2 values (5, 'mno')");
14
+ cur.execute("create volatile table voltab3 (c1 integer, c2 varchar(100)) on commit preserve rows");
15
+ cur.execute("insert into voltab3 values (6, 'pqr')");
16
+ cur.execute("insert into voltab3 values (7, 'stu')");
17
+ cur.execute("insert into voltab3 values (8, 'vwx')");
18
+ cur.execute("insert into voltab3 values (9, 'yz')");
19
+ cur.execute("select * from voltab1 order by 1");
20
+ console.log("=== Two result sets produced by a single-statement SQL request that returns one result set ===");
21
+ console.log(" --- Fake result set ---");
22
+ let row = cur.fetchone();
23
+ if (row) {
24
+ for (let i = 0; i < row.length; i++) {
25
+ if (cur.description) {
26
+ console.log(`Column ${i + 1} ${cur.description[i][0].padEnd(15)} = ${row[i]}`);
27
+ }
28
+ }
29
+ }
30
+ cur.nextset();
31
+ console.log(" --- Real result set ---");
32
+ let rows = cur.fetchall();
33
+ for (const row of rows) {
34
+ console.log(row);
35
+ }
36
+ console.log();
37
+ cur.execute("select * from voltab2 order by 1 ; select * from voltab3 order by 1");
38
+ console.log("=== Four result sets produced by a multi-statement SQL request that returns two result sets ===");
39
+ console.log(" --- Fake result set ---");
40
+ row = cur.fetchone();
41
+ if (row) {
42
+ for (let i = 0; i < row.length; i++) {
43
+ if (cur.description) {
44
+ console.log(`Column ${i + 1} ${cur.description[i][0].padEnd(15)} = ${row[i]}`);
45
+ }
46
+ }
47
+ }
48
+ cur.nextset();
49
+ console.log(" --- Real result set ---");
50
+ rows = cur.fetchall();
51
+ for (const row of rows) {
52
+ console.log(row);
53
+ }
54
+ cur.nextset();
55
+ console.log(" --- Fake result set ---");
56
+ row = cur.fetchone();
57
+ if (row) {
58
+ for (let i = 0; i < row.length; i++) {
59
+ if (cur.description) {
60
+ console.log(`Column ${i + 1} ${cur.description[i][0].padEnd(15)} = ${row[i]}`);
61
+ }
62
+ }
63
+ }
64
+ cur.nextset();
65
+ console.log(" --- Real result set ---");
66
+ rows = cur.fetchall();
67
+ for (const row of rows) {
68
+ console.log(row);
69
+ }
70
+ cur.close();
71
+ con.close();
72
+ //# sourceMappingURL=FakeResultSetCon.js.map
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const teradatasql_1 = require("teradatasql");
4
+ const con = new teradatasql_1.TeradataConnection();
5
+ con.connect({ host: "whomooz", user: "guest", password: "please" });
6
+ const cur = con.cursor();
7
+ cur.execute("create volatile table voltab1 (c1 integer, c2 varchar(100)) on commit preserve rows");
8
+ cur.execute("insert into voltab1 values (1, 'abc')");
9
+ cur.execute("insert into voltab1 values (2, 'def')");
10
+ cur.execute("create volatile table voltab2 (c1 integer, c2 varchar(100)) on commit preserve rows");
11
+ cur.execute("insert into voltab2 values (3, 'ghi')");
12
+ cur.execute("insert into voltab2 values (4, 'jkl')");
13
+ cur.execute("insert into voltab2 values (5, 'mno')");
14
+ cur.execute("create volatile table voltab3 (c1 integer, c2 varchar(100)) on commit preserve rows");
15
+ cur.execute("insert into voltab3 values (6, 'pqr')");
16
+ cur.execute("insert into voltab3 values (7, 'stu')");
17
+ cur.execute("insert into voltab3 values (8, 'vwx')");
18
+ cur.execute("insert into voltab3 values (9, 'yz')");
19
+ cur.execute("{fn teradata_fake_result_sets}select * from voltab1 order by 1");
20
+ console.log("=== Two result sets produced by a single-statement SQL request that returns one result set ===");
21
+ console.log(" --- Fake result set ---");
22
+ let row = cur.fetchone();
23
+ if (row) {
24
+ for (let i = 0; i < row.length; i++) {
25
+ if (cur.description) {
26
+ console.log(`Column ${i + 1} ${cur.description[i][0].padEnd(15)} = ${row[i]}`);
27
+ }
28
+ }
29
+ }
30
+ cur.nextset();
31
+ console.log(" --- Real result set ---");
32
+ let rows = cur.fetchall();
33
+ for (const row of rows) {
34
+ console.log(row);
35
+ }
36
+ console.log();
37
+ cur.execute("{fn teradata_fake_result_sets}select * from voltab2 order by 1 ; select * from voltab3 order by 1");
38
+ console.log("=== Four result sets produced by a multi-statement SQL request that returns two result sets ===");
39
+ console.log(" --- Fake result set ---");
40
+ row = cur.fetchone();
41
+ if (row) {
42
+ for (let i = 0; i < row.length; i++) {
43
+ if (cur.description) {
44
+ console.log(`Column ${i + 1} ${cur.description[i][0].padEnd(15)} = ${row[i]}`);
45
+ }
46
+ }
47
+ }
48
+ cur.nextset();
49
+ console.log(" --- Real result set ---");
50
+ rows = cur.fetchall();
51
+ for (const row of rows) {
52
+ console.log(row);
53
+ }
54
+ cur.nextset();
55
+ console.log(" --- Fake result set ---");
56
+ row = cur.fetchone();
57
+ if (row) {
58
+ for (let i = 0; i < row.length; i++) {
59
+ if (cur.description) {
60
+ console.log(`Column ${i + 1} ${cur.description[i][0].padEnd(15)} = ${row[i]}`);
61
+ }
62
+ }
63
+ }
64
+ cur.nextset();
65
+ console.log(" --- Real result set ---");
66
+ rows = cur.fetchall();
67
+ for (const row of rows) {
68
+ console.log(row);
69
+ }
70
+ cur.close();
71
+ con.close();
72
+ //# sourceMappingURL=FakeResultSetEsc.js.map
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ const fs = __importStar(require("fs"));
23
+ const sync_1 = require("csv-parse/sync");
24
+ const teradatasql_1 = require("teradatasql");
25
+ const con = new teradatasql_1.TeradataConnection();
26
+ con.connect({ host: "whomooz", user: "guest", password: "please" });
27
+ const cur = con.cursor();
28
+ const cur2 = con.cursor();
29
+ const sTableName = "FastExportCSV";
30
+ let sRequest = "DROP TABLE " + sTableName;
31
+ try {
32
+ console.log(sRequest);
33
+ cur.execute(sRequest);
34
+ }
35
+ catch (ex) {
36
+ if (ex instanceof teradatasql_1.OperationalError) {
37
+ console.log("Ignoring", ex.message.split("\n")[0]);
38
+ }
39
+ else {
40
+ throw ex;
41
+ }
42
+ }
43
+ sRequest = "CREATE TABLE " + sTableName + " (c1 INTEGER NOT NULL, c2 VARCHAR(10))";
44
+ console.log(sRequest);
45
+ cur.execute(sRequest);
46
+ try {
47
+ const sInsert = "INSERT INTO " + sTableName + " VALUES (?, ?)";
48
+ console.log(sInsert);
49
+ cur.execute(sInsert, [
50
+ [1, null],
51
+ [2, "abc"],
52
+ [3, "def"],
53
+ [4, "mno"],
54
+ [5, null],
55
+ [6, "pqr"],
56
+ [7, "uvw"],
57
+ [8, "xyz"],
58
+ [9, null],
59
+ ]);
60
+ const sFileName = "dataJs.csv";
61
+ const sSelect = "{fn teradata_try_fastexport}{fn teradata_write_csv(" + sFileName + ")}SELECT * FROM " + sTableName;
62
+ console.log(sSelect);
63
+ cur.execute(sSelect);
64
+ try {
65
+ console.log("Reading file", sFileName);
66
+ const sRows = sync_1.parse(fs.readFileSync(sFileName, { encoding: "utf-8" }));
67
+ console.log(sRows);
68
+ sRequest = "{fn teradata_nativesql}{fn teradata_get_warnings}" + sSelect;
69
+ console.log(sRequest);
70
+ cur2.execute(sRequest);
71
+ let rows = cur2.fetchall();
72
+ for (const row of rows) {
73
+ console.log(row);
74
+ }
75
+ sRequest = "{fn teradata_nativesql}{fn teradata_get_errors}" + sSelect;
76
+ console.log(sRequest);
77
+ cur2.execute(sRequest);
78
+ rows = cur2.fetchall();
79
+ for (const row of rows) {
80
+ console.log(row);
81
+ }
82
+ sRequest = "{fn teradata_nativesql}{fn teradata_logon_sequence_number}" + sSelect;
83
+ console.log(sRequest);
84
+ cur2.execute(sRequest);
85
+ rows = cur2.fetchall();
86
+ for (const row of rows) {
87
+ console.log(row);
88
+ }
89
+ }
90
+ finally {
91
+ fs.unlinkSync(sFileName);
92
+ }
93
+ }
94
+ finally {
95
+ sRequest = "DROP TABLE " + sTableName;
96
+ console.log(sRequest);
97
+ cur.execute(sRequest);
98
+ }
99
+ cur.close();
100
+ cur2.close();
101
+ con.close();
102
+ //# sourceMappingURL=FastExportCSV.js.map
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const teradatasql_1 = require("teradatasql");
4
+ const con = new teradatasql_1.TeradataConnection();
5
+ con.connect({ host: "whomooz", user: "guest", password: "please" });
6
+ const cur = con.cursor();
7
+ const cur2 = con.cursor();
8
+ const sTableName = "FastExportTable";
9
+ let sRequest = "DROP TABLE " + sTableName;
10
+ try {
11
+ console.log(sRequest);
12
+ cur.execute(sRequest);
13
+ }
14
+ catch (ex) {
15
+ if (ex instanceof teradatasql_1.OperationalError) {
16
+ console.log("Ignoring", ex.message.split("\n")[0]);
17
+ }
18
+ else {
19
+ throw ex;
20
+ }
21
+ }
22
+ sRequest = "CREATE TABLE " + sTableName + " (c1 INTEGER NOT NULL, c2 VARCHAR(10))";
23
+ console.log(sRequest);
24
+ cur.execute(sRequest);
25
+ try {
26
+ const sInsert = "INSERT INTO " + sTableName + " VALUES (?, ?)";
27
+ console.log(sInsert);
28
+ cur.execute(sInsert, [
29
+ [1, null],
30
+ [2, "abc"],
31
+ [3, "def"],
32
+ [4, "mno"],
33
+ [5, null],
34
+ [6, "pqr"],
35
+ [7, "uvw"],
36
+ [8, "xyz"],
37
+ [9, null],
38
+ ]);
39
+ let sSelect = "{fn teradata_try_fastexport}SELECT * FROM " + sTableName;
40
+ console.log(sSelect);
41
+ cur.execute(sSelect);
42
+ let rows = cur.fetchall();
43
+ for (const row of rows.sort()) {
44
+ console.log(row);
45
+ }
46
+ sRequest = "{fn teradata_nativesql}{fn teradata_get_warnings}" + sSelect;
47
+ console.log(sRequest);
48
+ cur2.execute(sRequest);
49
+ rows = cur2.fetchall();
50
+ for (const row of rows) {
51
+ console.log(row);
52
+ }
53
+ sRequest = "{fn teradata_nativesql}{fn teradata_get_errors}" + sSelect;
54
+ console.log(sRequest);
55
+ cur2.execute(sRequest);
56
+ rows = cur2.fetchall();
57
+ for (const row of rows) {
58
+ console.log(row);
59
+ }
60
+ sRequest = "{fn teradata_nativesql}{fn teradata_logon_sequence_number}" + sSelect;
61
+ console.log(sRequest);
62
+ cur2.execute(sRequest);
63
+ rows = cur2.fetchall();
64
+ for (const row of rows) {
65
+ console.log(row);
66
+ }
67
+ }
68
+ finally {
69
+ sRequest = "DROP TABLE " + sTableName;
70
+ console.log(sRequest);
71
+ cur2.execute(sRequest);
72
+ }
73
+ cur.close();
74
+ cur2.close();
75
+ con.close();
76
+ //# sourceMappingURL=FastExportTable.js.map
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const teradatasql_1 = require("teradatasql");
4
+ const con = new teradatasql_1.TeradataConnection();
5
+ con.connect({ host: "whomooz", user: "guest", password: "please" });
6
+ const cur = con.cursor();
7
+ const sTableName = "FastLoadBatch";
8
+ let sRequest = "DROP TABLE " + sTableName;
9
+ console.log(sRequest);
10
+ cur.execute(sRequest, undefined, 3807);
11
+ sRequest = "CREATE TABLE " + sTableName + " (c1 INTEGER NOT NULL, c2 VARCHAR(10))";
12
+ console.log(sRequest);
13
+ cur.execute(sRequest);
14
+ try {
15
+ console.log("con.autocommit = false");
16
+ con.autocommit = false;
17
+ try {
18
+ let aaoValues = [
19
+ [
20
+ 1,
21
+ null,
22
+ ],
23
+ [
24
+ 2,
25
+ "abc",
26
+ ],
27
+ [
28
+ 3,
29
+ "def",
30
+ ],
31
+ ];
32
+ const sInsert = "{fn teradata_try_fastload}INSERT INTO " + sTableName + " (?, ?)";
33
+ console.log(sInsert);
34
+ cur.execute(sInsert, aaoValues);
35
+ sRequest = "{fn teradata_nativesql}{fn teradata_get_warnings}" + sInsert;
36
+ console.log(sRequest);
37
+ cur.execute(sRequest);
38
+ let rows = cur.fetchall();
39
+ for (const row of rows) {
40
+ console.log(row);
41
+ }
42
+ sRequest = "{fn teradata_nativesql}{fn teradata_get_errors}" + sInsert;
43
+ console.log(sRequest);
44
+ cur.execute(sRequest);
45
+ rows = cur.fetchall();
46
+ for (const row of rows) {
47
+ console.log(row);
48
+ }
49
+ sRequest = "{fn teradata_nativesql}{fn teradata_logon_sequence_number}" + sInsert;
50
+ console.log(sRequest);
51
+ cur.execute(sRequest);
52
+ rows = cur.fetchall();
53
+ for (const row of rows) {
54
+ console.log(row);
55
+ }
56
+ aaoValues = [
57
+ [
58
+ 4,
59
+ "mno",
60
+ ],
61
+ [
62
+ 5,
63
+ null,
64
+ ],
65
+ [
66
+ 6,
67
+ "pqr",
68
+ ],
69
+ ];
70
+ console.log(sInsert);
71
+ cur.execute(sInsert, aaoValues);
72
+ sRequest = "{fn teradata_nativesql}{fn teradata_get_warnings}" + sInsert;
73
+ console.log(sRequest);
74
+ cur.execute(sRequest);
75
+ rows = cur.fetchall();
76
+ for (const row of rows) {
77
+ console.log(row);
78
+ }
79
+ sRequest = "{fn teradata_nativesql}{fn teradata_get_errors}" + sInsert;
80
+ console.log(sRequest);
81
+ cur.execute(sRequest);
82
+ rows = cur.fetchall();
83
+ for (const row of rows) {
84
+ console.log(row);
85
+ }
86
+ aaoValues = [
87
+ [
88
+ 7,
89
+ "uvw",
90
+ ],
91
+ [
92
+ 8,
93
+ "xyz",
94
+ ],
95
+ [
96
+ 9,
97
+ null,
98
+ ],
99
+ ];
100
+ console.log(sInsert);
101
+ cur.execute(sInsert, aaoValues);
102
+ sRequest = "{fn teradata_nativesql}{fn teradata_get_warnings}" + sInsert;
103
+ console.log(sRequest);
104
+ cur.execute(sRequest);
105
+ rows = cur.fetchall();
106
+ for (const row of rows) {
107
+ console.log(row);
108
+ }
109
+ sRequest = "{fn teradata_nativesql}{fn teradata_get_errors}" + sInsert;
110
+ console.log(sRequest);
111
+ cur.execute(sRequest);
112
+ rows = cur.fetchall();
113
+ for (const row of rows) {
114
+ console.log(row);
115
+ }
116
+ console.log("con.commit()");
117
+ con.commit();
118
+ sRequest = "{fn teradata_nativesql}{fn teradata_get_warnings}" + sInsert;
119
+ console.log(sRequest);
120
+ cur.execute(sRequest);
121
+ rows = cur.fetchall();
122
+ for (const row of rows) {
123
+ console.log(row);
124
+ }
125
+ sRequest = "{fn teradata_nativesql}{fn teradata_get_errors}" + sInsert;
126
+ console.log(sRequest);
127
+ cur.execute(sRequest);
128
+ rows = cur.fetchall();
129
+ for (const row of rows) {
130
+ console.log(row);
131
+ }
132
+ }
133
+ finally {
134
+ console.log("con.autocommit = true");
135
+ con.autocommit = true;
136
+ }
137
+ sRequest = "SELECT * FROM " + sTableName + " ORDER BY 1";
138
+ console.log(sRequest);
139
+ cur.execute(sRequest);
140
+ const rows = cur.fetchall();
141
+ for (const row of rows) {
142
+ console.log(row);
143
+ }
144
+ }
145
+ finally {
146
+ sRequest = "DROP TABLE " + sTableName;
147
+ console.log(sRequest);
148
+ cur.execute(sRequest);
149
+ }
150
+ cur.close();
151
+ con.close();
152
+ //# sourceMappingURL=FastLoadBatch.js.map