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) {