froehlich 01/11/13 09:25:57
Modified: apps/db/src/java/org/apache/avalon/db/basic/actions
BasicSelect.java
Log:
removed "system.out" and did some fixes. select col1,col2 from table works now
Revision Changes Path
1.20 +19 -8
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/BasicSelect.java
Index: BasicSelect.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/BasicSelect.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- BasicSelect.java 2001/11/13 16:05:06 1.19
+++ BasicSelect.java 2001/11/13 17:25:56 1.20
@@ -84,14 +84,18 @@
BasicRow row = (BasicRow)it.next();
if (testRow(row)) {
if(((String)mCols[0]).equals("*")) {
+ getLogger().debug("wildcard select");
selectedRow = new Object[row.getColumsLength()];
for (int j=0; j < row.getColumsLength(); j++) {
selectedRow[j] = row.getValue(j);
}
} else {
+ getLogger().debug("specific select=" + mCols);
selectedRow = new Object[mCols.length];
for (int j=0; j < mCols.length; j++) {
- selectedRow[j] = row.getValue(mCols[j]);
+ getLogger().debug("mCols[" + j + "]=" +
mCols[j]);
+ getLogger().debug("row.getValue(mCols[" + j +
"]=" + row.getValue(mCols[j]));
+ selectedRow[j] = row.getValue(mCols[j]);
}
}
selectedRows.add(selectedRow);
@@ -181,7 +185,6 @@
}
-
private String[] parseSelect(Element rootElement) throws ActionException
{
NodeList subRootNodes = this.getSubRootNodes(rootElement);
String[] cols = null;
@@ -189,15 +192,23 @@
for (int i=0; i < subRootNodes.getLength(); i++) {
if(subRootNodes.item(i).getNodeName().equals("columns")) {
Element columnsElement = (Element)subRootNodes.item(i);
-
if(columnsElement.getFirstChild().getNodeValue().equals("*")) {
- cols = new String[1];
- cols[0] = "*";
- } else if(subRootNodes.item(i).hasChildNodes()) {
+ getLogger().debug("columnsElement.getFirstChild()=" +
columnsElement.getFirstChild().getNodeName());
+ //First test if *
+
if(columnsElement.getFirstChild().getNodeName().equals("#text")) {
+
if(columnsElement.getFirstChild().getNodeValue().equals("*")) {
+ cols = new String[1];
+ cols[0] = "*";
+ } else {
+ throw new
ActionException(columnsElement.getFirstChild().getNodeValue()
+ + " is not valid SQL Syntax");
+ }
+ } else if (subRootNodes.item(i).hasChildNodes()) {
NodeList subColumnsNodes =
subRootNodes.item(i).getChildNodes();
cols = new String[subColumnsNodes.getLength()];
for (int j=0; j < subColumnsNodes.getLength(); j++) {
- Element columnElement =
(Element)subColumnsNodes.item(j);
- cols[j] = columnElement.getAttribute("name");
+ //TODO checking columns, function...maybe extern
syntax checking!?
+ Element columnElement =
(Element)subColumnsNodes.item(j);
+ cols[j] = columnElement.getAttribute("name");
}
} else {
throw new
ActionException(columnsElement.getFirstChild().getNodeValue()
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>