Mercurial > hg > monetdb-java
comparison tests/OnClientTester.java @ 526:6060ca8c5c1a onclient
Add test for uploadFrom methods
author | Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com> |
---|---|
date | Thu, 26 Aug 2021 14:24:31 +0200 (2021-08-26) |
parents | 70ff796c42f7 |
children | ccf9c7fbdb50 |
comparison
equal
deleted
inserted
replaced
525:70ff796c42f7 | 526:6060ca8c5c1a |
---|---|
3 import org.monetdb.jdbc.MonetUploadHandler; | 3 import org.monetdb.jdbc.MonetUploadHandler; |
4 | 4 |
5 import java.io.*; | 5 import java.io.*; |
6 import java.lang.reflect.InvocationTargetException; | 6 import java.lang.reflect.InvocationTargetException; |
7 import java.lang.reflect.Method; | 7 import java.lang.reflect.Method; |
8 import java.nio.charset.StandardCharsets; | |
8 import java.sql.*; | 9 import java.sql.*; |
9 | 10 |
10 public final class OnClientTester { | 11 public final class OnClientTester { |
11 public static final int VERBOSITY_NONE = 0; | 12 public static final int VERBOSITY_NONE = 0; |
12 public static final int VERBOSITY_ON = 1; | 13 public static final int VERBOSITY_ON = 1; |
435 | 436 |
436 public void test_LargeDownload() throws SQLException, Failure { | 437 public void test_LargeDownload() throws SQLException, Failure { |
437 test_Download(4_000_000); | 438 test_Download(4_000_000); |
438 } | 439 } |
439 | 440 |
441 public void test_UploadFromStream() throws SQLException, Failure { | |
442 prepare(); | |
443 MonetUploadHandler handler = new MonetUploadHandler() { | |
444 String data = "1|one\n2|two\n3|three\n"; | |
445 | |
446 @Override | |
447 public void handleUpload(MonetConnection.Upload handle, String name, boolean textMode, int offset) throws IOException { | |
448 ByteArrayInputStream s = new ByteArrayInputStream(data.getBytes(StandardCharsets.UTF_8)); | |
449 handle.uploadFrom(s); | |
450 } | |
451 }; | |
452 conn.setUploadHandler(handler); | |
453 update("COPY INTO foo FROM 'banana' ON CLIENT", 3); | |
454 queryInt("SELECT i FROM foo WHERE t = 'three'", 3); | |
455 } | |
456 | |
457 public void test_UploadFromReader() throws SQLException, Failure { | |
458 prepare(); | |
459 MonetUploadHandler handler = new MonetUploadHandler() { | |
460 String data = "1|one\n2|two\n3|three\n"; | |
461 | |
462 @Override | |
463 public void handleUpload(MonetConnection.Upload handle, String name, boolean textMode, int offset) throws IOException { | |
464 StringReader r = new StringReader(data); | |
465 handle.uploadFrom(r); | |
466 } | |
467 }; | |
468 conn.setUploadHandler(handler); | |
469 update("COPY INTO foo FROM 'banana' ON CLIENT", 3); | |
470 queryInt("SELECT i FROM foo WHERE t = 'three'", 3); | |
471 } | |
472 | |
473 public void test_UploadFromReaderOffset() throws SQLException, Failure { | |
474 prepare(); | |
475 MonetUploadHandler handler = new MonetUploadHandler() { | |
476 String data = "1|one\n2|two\n3|three\n"; | |
477 | |
478 @Override | |
479 public void handleUpload(MonetConnection.Upload handle, String name, boolean textMode, int offset) throws IOException { | |
480 BufferedReader r = new BufferedReader(new StringReader(data)); | |
481 handle.uploadFrom(r, offset); | |
482 } | |
483 }; | |
484 conn.setUploadHandler(handler); | |
485 update("COPY OFFSET 2 INTO foo FROM 'banana' ON CLIENT", 2); | |
486 queryInt("SELECT i FROM foo WHERE t = 'three'", 3); | |
487 } | |
440 } | 488 } |