Mercurial > hg > monetdb-java
comparison tests/SQLcopyinto.java @ 700:940e266eeccd
Refactor BufferedMCLReader
It used to inherit from BufferedReader but there is no reason for that.
Also, it used to have a method readLine() which
- returned the line read
- stored the linetype
In the new setup we have a method advance() which reads
a line and stores both it and its type.
This makes the code more regular and makes it possible to
peek ahead without consuming.
author | Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com> |
---|---|
date | Thu, 08 Dec 2022 15:59:17 +0100 (2022-12-08) |
parents | 6aa38e8c0f2d |
children | aeb268156580 |
comparison
equal
deleted
inserted
replaced
699:0ff364f569a1 | 700:940e266eeccd |
---|---|
5 * | 5 * |
6 * Copyright 1997 - July 2008 CWI, August 2008 - 2022 MonetDB B.V. | 6 * Copyright 1997 - July 2008 CWI, August 2008 - 2022 MonetDB B.V. |
7 */ | 7 */ |
8 | 8 |
9 import java.sql.*; | 9 import java.sql.*; |
10 import java.io.*; | |
11 import java.util.*; | 10 import java.util.*; |
12 import org.monetdb.mcl.net.MapiSocket; | 11 import org.monetdb.mcl.net.MapiSocket; |
13 import org.monetdb.mcl.io.BufferedMCLReader; | 12 import org.monetdb.mcl.io.BufferedMCLReader; |
14 import org.monetdb.mcl.io.BufferedMCLWriter; | 13 import org.monetdb.mcl.io.BufferedMCLWriter; |
15 | 14 |
100 System.out.println("Connected to MonetDB server via MapiSocket"); | 99 System.out.println("Connected to MonetDB server via MapiSocket"); |
101 | 100 |
102 BufferedMCLReader mclIn = server.getReader(); | 101 BufferedMCLReader mclIn = server.getReader(); |
103 BufferedMCLWriter mclOut = server.getWriter(); | 102 BufferedMCLWriter mclOut = server.getWriter(); |
104 | 103 |
105 String error = mclIn.waitForPrompt(); | 104 String error = mclIn.discardRemainder(); |
106 if (error != null) | 105 if (error != null) |
107 System.err.println("Received start error: " + error); | 106 System.err.println("Received start error: " + error); |
108 | 107 |
109 System.out.println("Before sending data to STDIN"); | 108 System.out.println("Before sending data to STDIN"); |
110 | 109 |
118 mclOut.write("" + i + ",val_" + i); | 117 mclOut.write("" + i + ",val_" + i); |
119 mclOut.newLine(); | 118 mclOut.newLine(); |
120 } | 119 } |
121 | 120 |
122 mclOut.writeLine(""); // need this one for synchronisation over flush() | 121 mclOut.writeLine(""); // need this one for synchronisation over flush() |
123 error = mclIn.waitForPrompt(); | 122 error = mclIn.discardRemainder(); |
124 if (error != null) | 123 if (error != null) |
125 System.err.println("Received error: " + error); | 124 System.err.println("Received error: " + error); |
126 | 125 |
127 mclOut.writeLine(""); // need this one for synchronisation over flush() | 126 mclOut.writeLine(""); // need this one for synchronisation over flush() |
128 error = mclIn.waitForPrompt(); | 127 error = mclIn.discardRemainder(); |
129 if (error != null) | 128 if (error != null) |
130 System.err.println("Received finish error: " + error); | 129 System.err.println("Received finish error: " + error); |
131 | 130 |
132 System.out.println("Completed sending data via STDIN"); | 131 System.out.println("Completed sending data via STDIN"); |
133 } catch (Exception e) { | 132 } catch (Exception e) { |