int returnval = 0;
Delete delete = (Delete) this.parserManager.parse(new StringReader(sql));
String domain = this.getWriteTableName(delete.getTable());
log.info("handle delete domain is: " + domain);
Expression express = delete.getWhere();
SQLDeleteExpressionVisitor vistor = new SQLDeleteExpressionVisitor();
vistor.setValue(express);
String[] vals = express.toString().split("=");
log.info("handle delete expression vals are " + vals);
DeleteAttributesRequest req = new DeleteAttributesRequest();
req.setDomainName(domain);
// if vals doesn't include id, then find one with an id
if (vals[0].equalsIgnoreCase("id")) {
String value = vals[1];
if (new Character(value.charAt(0)).toString().equals("'")) {
value = value.substring(1, (value.length() - 1));
}
req.setItemName(value);
this.connection.getSimpleDB().deleteAttributes(req);
returnval = 1;
} else {
String qury = "SELECT * FROM " + SimpleDBUtils.quoteName(domain) + " WHERE "
+ express.toString();
log.info("handle delete 1st select query: " + qury);
SelectRequest selectRequest = new SelectRequest(qury);
List<Item> items = this.connection.getSimpleDB().select(selectRequest)
.getItems();