Skip to content

Commit 17d9181

Browse files
committed
Update LOB examples
1 parent a72e2ab commit 17d9181

File tree

9 files changed

+141
-63
lines changed

9 files changed

+141
-63
lines changed

examples/blobinsert1.js

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. */
1+
/* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. */
22

33
/******************************************************************************
44
*
@@ -55,38 +55,45 @@ oracledb.getConnection(
5555
return;
5656
}
5757

58-
console.log('Reading from ' + inFileName);
59-
var inStream = fs.createReadStream(inFileName);
60-
inStream.on(
61-
'end',
58+
var lob = result.outBinds.lobbv[0];
59+
lob.on(
60+
'error',
61+
function(err)
62+
{
63+
console.log("lob.on 'error' event");
64+
console.error(err);
65+
});
66+
lob.on(
67+
'finish',
6268
function()
6369
{
64-
console.log("inStream.on 'end' event");
70+
console.log("lob.on 'finish' event");
6571
connection.commit(
6672
function(err)
6773
{
6874
if (err)
6975
console.error(err.message);
7076
else
7177
console.log("Image uploaded successfully.");
78+
connection.release(function(err) {
79+
if (err) console.error(err.message);
80+
});
7281
});
7382
});
83+
84+
console.log('Reading from ' + inFileName);
85+
var inStream = fs.createReadStream(inFileName);
7486
inStream.on(
7587
'error',
7688
function(err)
7789
{
7890
console.log("inStream.on 'error' event");
7991
console.error(err);
92+
connection.release(function(err) {
93+
if (err) console.error(err.message);
94+
});
8095
});
8196

82-
var lob = result.outBinds.lobbv[0];
83-
lob.on(
84-
'error',
85-
function(err)
86-
{
87-
console.log("lob.on 'error' event");
88-
console.error(err);
89-
});
9097
inStream.pipe(lob); // copies the text to the BLOB
9198
});
9299
});

examples/blobstream1.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. */
1+
/* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. */
22

33
/******************************************************************************
44
*
@@ -61,6 +61,15 @@ oracledb.getConnection(
6161
console.log("lob.on 'error' event");
6262
console.error(err);
6363
});
64+
lob.on(
65+
'close',
66+
function()
67+
{
68+
console.log("lob.on 'close' event");
69+
connection.release(function(err) {
70+
if (err) console.error(err.message);
71+
});
72+
});
6473

6574
console.log('Writing to ' + outFileName);
6675
var outStream = fs.createWriteStream(outFileName);

examples/blobstream2.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. */
1+
/* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. */
22

33
/******************************************************************************
44
*
@@ -90,6 +90,9 @@ oracledb.getConnection(
9090
function()
9191
{
9292
console.log("lob.on 'close' event");
93+
connection.release(function(err) {
94+
if (err) console.error(err);
95+
});
9396
});
9497
lob.on('error',
9598
function(err)

examples/clobinsert1.js

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. */
1+
/* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. */
22

33
/******************************************************************************
44
*
@@ -63,30 +63,37 @@ oracledb.getConnection(
6363
console.log("lob.on 'error' event");
6464
console.error(err);
6565
});
66-
67-
console.log('Reading from ' + inFileName);
68-
var inStream = fs.createReadStream(inFileName);
69-
inStream.on(
70-
'end',
66+
lob.on(
67+
'finish',
7168
function()
7269
{
73-
console.log("inStream.on 'end' event");
70+
console.log("lob.on 'finish' event");
7471
connection.commit(
7572
function(err)
7673
{
7774
if (err)
7875
console.error(err.message);
7976
else
8077
console.log("Text inserted successfully.");
78+
connection.release(function(err) {
79+
if (err) console.error(err.message);
80+
});
8181
});
8282
});
83+
84+
console.log('Reading from ' + inFileName);
85+
var inStream = fs.createReadStream(inFileName);
8386
inStream.on(
8487
'error',
8588
function(err)
8689
{
8790
console.log("inStream.on 'error' event");
8891
console.error(err);
92+
connection.release(function(err) {
93+
if (err) console.error(err.message);
94+
});
8995
});
96+
9097
inStream.pipe(lob); // copies the text to the CLOB
9198
});
9299
});

examples/clobinsert2.js

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. */
1+
/* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. */
22

33
/******************************************************************************
44
*
@@ -41,7 +41,7 @@ oracledb.getConnection(
4141

4242
connection.execute(
4343
"INSERT INTO mylobs (id, c) VALUES (:id, EMPTY_CLOB()) RETURNING c INTO :lobbv",
44-
{ id: 3, lobbv: {type: oracledb.CLOB, dir: oracledb.BIND_OUT} },
44+
{ id: 2, lobbv: {type: oracledb.CLOB, dir: oracledb.BIND_OUT} },
4545
{ autoCommit: false }, // a transaction needs to span the INSERT and pipe()
4646
function(err, result)
4747
{
@@ -52,14 +52,6 @@ oracledb.getConnection(
5252
}
5353

5454
var lob = result.outBinds.lobbv[0];
55-
lob.on(
56-
'error',
57-
function(err)
58-
{
59-
console.log("lob.on 'error' event");
60-
console.error(err);
61-
});
62-
6355
lob.on(
6456
'finish',
6557
function()
@@ -72,8 +64,21 @@ oracledb.getConnection(
7264
console.error(err.message);
7365
else
7466
console.log("Text inserted successfully.");
67+
connection.release(function(err) {
68+
if (err) console.error(err);
69+
});
7570
});
7671
});
72+
lob.on(
73+
'error',
74+
function(err)
75+
{
76+
console.log("lob.on 'error' event");
77+
console.error(err);
78+
connection.release(function(err) {
79+
if (err) console.error(err.message);
80+
});
81+
});
7782

7883
// See Node.js Streams examples for how to use 'drain' if write() returns false
7984
lob.write('Hello, ', 'utf8', function () { console.log("lob.write callback"); });

examples/clobstream1.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. */
1+
/* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. */
22

33
/******************************************************************************
44
*
@@ -62,6 +62,15 @@ oracledb.getConnection(
6262
console.log("lob.on 'error' event");
6363
console.error(err);
6464
});
65+
lob.on(
66+
'close',
67+
function()
68+
{
69+
console.log("lob.on 'close' event");
70+
connection.release(function(err) {
71+
if (err) console.error(err.message);
72+
});
73+
});
6574

6675
console.log('Writing to ' + outFileName);
6776
var outStream = fs.createWriteStream(outFileName);

examples/clobstream2.js

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. */
1+
/* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. */
22

33
/******************************************************************************
44
*
@@ -60,6 +60,10 @@ oracledb.getConnection(
6060
console.log("CLOB chunkSize is", lob.chunkSize);
6161

6262
lob.setEncoding('utf8'); // set the encoding so we get a 'string' not a 'buffer'
63+
// pieceSize is the number of bytes retrieved for each readable 'data' event.
64+
// The default is lob.chunkSize. The recommendation is for it to be a multiple of chunkSize.
65+
// lob.pieceSize = 100; // fetch smaller chunks to show repeated 'data' events
66+
6367
lob.on('data',
6468
function(chunk)
6569
{
@@ -74,17 +78,19 @@ oracledb.getConnection(
7478
console.log("lob.on 'end' event");
7579
console.log("clob size is " + clob.length);
7680
fs.writeFile(outFileName, clob, function(err) {
77-
if (err) {
81+
if (err)
7882
console.error(err);
79-
} else {
83+
else
8084
console.log("Completed write to " + outFileName);
81-
}
8285
});
8386
});
8487
lob.on('close',
8588
function()
8689
{
8790
console.log("lob.on 'close' event");
91+
connection.release(function(err) {
92+
if (err) console.error(err);
93+
});
8894
});
8995
lob.on('error',
9096
function(err)

examples/clobupdate1.js

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. */
1+
/* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. */
22

33
/******************************************************************************
44
*
@@ -56,6 +56,23 @@ oracledb.getConnection(
5656
}
5757

5858
var lob = result.outBinds.lobbv[0];
59+
lob.on(
60+
'finish',
61+
function()
62+
{
63+
console.log("lob.on 'finish' event");
64+
connection.commit(
65+
function(err)
66+
{
67+
if (err)
68+
console.error(err.message);
69+
else
70+
console.log("Text inserted successfully.");
71+
connection.release(function(err) {
72+
if (err) console.error(err);
73+
});
74+
});
75+
});
5976
lob.on(
6077
'error',
6178
function(err)
@@ -71,21 +88,16 @@ oracledb.getConnection(
7188
function()
7289
{
7390
console.log("inStream.on 'end' event");
74-
connection.commit(
75-
function(err)
76-
{
77-
if (err)
78-
console.error(err.message);
79-
else
80-
console.log("Text inserted successfully.");
81-
});
8291
});
8392
inStream.on(
8493
'error',
8594
function(err)
8695
{
8796
console.log("inStream.on 'error' event");
8897
console.error(err);
98+
connection.release(function(err) {
99+
if (err) console.error(err.message);
100+
});
89101
});
90102
inStream.pipe(lob); // copies the text to the CLOB
91103
});

0 commit comments

Comments
 (0)