java/sql-dk/src/main/java/info/globalcode/sql/dk/formatting/AbstractFormatter.java
branchv_0
changeset 248 7f81cfa150d0
parent 238 4a1864c3e867
child 250 aae5009bd0af
--- a/java/sql-dk/src/main/java/info/globalcode/sql/dk/formatting/AbstractFormatter.java	Mon Apr 29 01:27:26 2019 +0200
+++ b/java/sql-dk/src/main/java/info/globalcode/sql/dk/formatting/AbstractFormatter.java	Tue Apr 30 19:49:17 2019 +0200
@@ -41,12 +41,21 @@
 	private String currentQuery;
 	private int currentColumnsCount;
 	private int currentRowCount;
+	private int resultSetCount;
 
 	public AbstractFormatter(FormatterContext formatterContext) {
 		this.formatterContext = formatterContext;
 		state.push(State.ROOT);
 	}
 
+	protected String getCurrentRelationName() {
+		if (getFormatterContext().getRelationNames() == null || getFormatterContext().getRelationNames().size() < resultSetCount) {
+			return "r" + resultSetCount;
+		} else {
+			return getFormatterContext().getRelationNames().get(resultSetCount - 1);
+		}
+	}
+
 	/*
 	 * root
 	 * .batch
@@ -126,6 +135,7 @@
 	@Override
 	public void writeStartBatch() {
 		pushState(State.BATCH, EnumSet.of(State.ROOT));
+		resultSetCount = 0;
 	}
 
 	@Override
@@ -156,6 +166,7 @@
 	@Override
 	public void writeStartResultSet(ColumnsHeader header) {
 		pushState(State.RESULT_SET, EnumSet.of(State.STATEMENT));
+		resultSetCount++;
 		currentRowCount = 0;
 		currentColumnsHeader = header;
 	}