From 914b7e5b188c194010288f306a202194e403eb86 Mon Sep 17 00:00:00 2001 From: loveridge Date: Mon, 17 Aug 2015 01:32:38 +0000 Subject: [PATCH] add clob copy test --- lib/src/occi_extension.dart | 4 ++-- test/.complete_test.dart.swp | Bin 0 -> 20480 bytes test/complete_test.dart | 27 +++++++++++++++++++++++++-- 3 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 test/.complete_test.dart.swp diff --git a/lib/src/occi_extension.dart b/lib/src/occi_extension.dart index e48481f..143316a 100644 --- a/lib/src/occi_extension.dart +++ b/lib/src/occi_extension.dart @@ -224,7 +224,7 @@ class Blob { } void append(Blob b) native 'OracleBlob_append'; - void copy(Blob b) native 'OracleBlob_copy'; + void copy(Blob b, int length) native 'OracleBlob_copy'; int length() native 'OracleBlob_length'; @@ -252,7 +252,7 @@ class Clob { } void append(Clob b) native 'OracleClob_append'; - void copy(Clob b) native 'OracleClob_copy'; + void copy(Clob b, int length) native 'OracleClob_copy'; int length() native 'OracleClob_length'; diff --git a/test/.complete_test.dart.swp b/test/.complete_test.dart.swp new file mode 100644 index 0000000000000000000000000000000000000000..37ad620c6554c53916d94c9bc18dbf2f1021af86 GIT binary patch literal 20480 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 literal 0 HcmV?d00001 diff --git a/test/complete_test.dart b/test/complete_test.dart index 6ab2bcf..60cb5f5 100644 --- a/test/complete_test.dart +++ b/test/complete_test.dart @@ -20,10 +20,10 @@ main() { var stmt = con.createStatement("BEGIN EXECUTE IMMEDIATE 'DROP TABLE test_table'; EXCEPTION WHEN OTHERS THEN NULL; END;"); stmt.execute(); con.commit(); - stmt = con.createStatement("CREATE TABLE test_table ( test_int int, test_string varchar(255), test_date DATE, test_blob BLOB, test_clob CLOB)"); + stmt = con.createStatement("CREATE TABLE test_table ( test_int int, test_string varchar(255), test_date DATE, test_blob BLOB, test_clob CLOB, test_clob2 CLOB)"); stmt.execute(); con.commit(); - stmt = con.createStatement("INSERT INTO test_table (test_int,test_string,test_date,test_blob, test_clob) VALUES (:b1, :b2, :b3, EMPTY_BLOB(), EMPTY_CLOB())"); + stmt = con.createStatement("INSERT INTO test_table (test_int,test_string,test_date,test_blob, test_clob,test_clob2) VALUES (:b1, :b2, :b3, EMPTY_BLOB(), EMPTY_CLOB(), EMPTY_CLOB())"); stmt.setInt(1,34); stmt.setString(2,"hello world"); stmt.setDate(3,new DateTime(2012, 12, 19, 34, 35, 36)); @@ -107,6 +107,29 @@ main() { expect(dbblob.length(), equals(10)); var rlist = dbblob.read(10,1); expect(rlist, equals("teststring")); + }); + + test('test clob copy', (){ + var stmt = con.createStatement("SELECT test_clob FROM test_table FOR UPDATE"); + var results = stmt.executeQuery(); + results.next(1); + oracle.Clob cl = results.getClob(1); + cl.write(10,"teststring",1); + con.commit(); + stmt = con.createStatement("SELECT test_clob, test_clob2 FROM test_table FOR UPDATE"); + results = stmt.executeQuery(); + results.next(1); + cl = results.getClob(1); + oracle.Clob cl2 = results.getClob(2); + cl2.copy(cl, 4); + con.commit(); + stmt = con.createStatement("SELECT test_clob2 FROM test_table"); + results = stmt.executeQuery(); + results.next(1); + var dbblob = results.getClob(1); + expect(dbblob.length(), equals(4)); + var rlist = dbblob.read(4,1); + expect(rlist, equals("test")); }); test('test clob trim', (){ var stmt = con.createStatement("SELECT test_clob FROM test_table FOR UPDATE");