tbrugz avatar tbrugz committed 200f1a1

fixed error in ResultSetFilterDecorator.absolute()

Comments (0)

Files changed (1)

src/tbrugz/queryon/resultset/ResultSetFilterDecorator.java

 		//matches the shorter
 		columnsToMatch = this.colPositions.size()<this.colValues.size() ? this.colPositions.size() : this.colValues.size(); 
 	}
+
+	boolean matchesValues() throws SQLException {
+		boolean matched = true;
+		for(int i=0;i<columnsToMatch;i++) {
+			int colpos = colPositions.get(i);
+			String rsvalue = getString(colpos);
+			if(colValues.get(i).equals(rsvalue)) {}
+			else { matched = false; break; }
+		}
+		return matched;
+	}
+	
+	//XXX: only filters on next()/absolute(), no other flow method...
+	@Override
+	public boolean absolute(int row) throws SQLException {
+		/*boolean ret = super.absolute(row);
+		if(!matchesValues()) {
+			return next();
+		}
+		return ret;*/
+		boolean status = first();
+		int countMatched = 0;
+		while(countMatched < row) {
+			status = next();
+			countMatched++;
+		}
+		return status;
+	}
 	
 	@Override
 	public boolean next() throws SQLException {
 		boolean hasNext = super.next();
 		while(hasNext) {
-			boolean matched = true;
-			for(int i=0;i<columnsToMatch;i++) {
-				int colpos = colPositions.get(i);
-				String rsvalue = rs.getString(colpos);
-				if(colValues.get(i).equals(rsvalue)) {}
-				else { matched = false; break; }
-			}
+			boolean matched = matchesValues();
 			if(matched) {
 				break;
 			}
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.