testblob.p
1 |
{g-vars.i &vsh="shared"} |
---|---|
2 |
|
3 |
def temp-table bigtable no-undo |
4 |
field big-txt as clob |
5 |
field big-bin as blob. |
6 |
|
7 |
// create database record |
8 |
def var ptr as memptr. |
9 |
|
10 |
|
11 |
// clob tests |
12 |
create bigtable. |
13 |
|
14 |
// file to database clob |
15 |
copy-lob from file "/tmp/clob_input.txt" to bigtable.big-txt. |
16 |
|
17 |
// database to file |
18 |
copy-lob from bigtable.big-txt to FILE "/tmp/clob_output-1.txt". |
19 |
|
20 |
// clob database to memptr |
21 |
copy-lob from bigtable.big-txt to ptr. |
22 |
|
23 |
// memptr to database clob - invalid test case - throws recordOrThrowError(12008) |
24 |
//copy-lob from ptr to something.big-txt. |
25 |
set-size(ptr) = 0. |
26 |
|
27 |
// file to memptr |
28 |
copy-lob from file "/tmp/clob_input.txt" to ptr. |
29 |
|
30 |
// clean-up |
31 |
set-size(ptr) = 0. |
32 |
delete bigtable. |
33 |
|
34 |
// blob tests |
35 |
create bigtable. |
36 |
|
37 |
// file to database clob |
38 |
copy-lob from file "/tmp/blob_input.bin" to bigtable.big-bin. |
39 |
|
40 |
// database to file blob |
41 |
copy-lob from bigtable.big-bin to FILE "/tmp/blob_output-1.bin". |
42 |
|
43 |
// blob database to memptr |
44 |
copy-lob from bigtable.big-bin to ptr. |
45 |
PUT-BYTE(ptr,1) = 65. |
46 |
|
47 |
// memptr to database blob |
48 |
copy-lob from ptr to bigtable.big-bin. |
49 |
set-size(ptr) = 0. |
50 |
|
51 |
// blob file to memptr |
52 |
copy-lob from file "/tmp/blob_input.bin" to ptr. |
53 |
|
54 |
// memptr to blob file |
55 |
copy-lob from ptr to file "/tmp/blob_output-2.bin". |
56 |
set-size(ptr) = 0. |
57 |
|
58 |
message "Lob test done". |
59 |
readkey PAUSE 60. |
60 |
publish "pop-program". |
61 |
leave. |
62 |
end. |