/**
* Alipay.com Inc.
* Copyright (c) 2004-2013 All Rights Reserved.
*/
package com.alipay.zdal.parser.visitor;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* ������Oracle��sql�����ں�,ֻ�Ƕ��ڷ�ҳ����,����������Ĵ���,��֧��DB2�ķ�ҳ�����.
* @author ����
* @version $Id: ZdalDB2SchemaStatVisitor.java, v 0.1 2013-12-31 ����09:42:39 Exp $
*/
public class ZdalDB2SchemaStatVisitor extends ZdalOracleSchemaStatVisitor {
/**
*
* @see com.alipay.zdal.parser.visitor.ZdalOracleSchemaStatVisitor#getRownums()
*/
public Set<BindVarCondition> getRownums() {
if (limitColumnName == null) {
return new HashSet<BindVarCondition>();
} else {
Set<BindVarCondition> results = new HashSet<BindVarCondition>();
List<BindVarCondition> bindConditions = super.getBindVarConditions();//�Ӱ����л�ȡ.
for (BindVarCondition bindVarCondition : bindConditions) {
if (bindVarCondition.getColumnName().equalsIgnoreCase(limitColumnName)) {
BindVarCondition tmp = new BindVarCondition();
if (bindVarCondition.getOperator().equals(">")
|| bindVarCondition.getOperator().equals(">=")) {
tmp.setColumnName(OFFSET);
tmp.setIndex(bindVarCondition.getIndex());
tmp.setOperator(bindVarCondition.getOperator());
results.add(tmp);
} else if (bindVarCondition.getOperator().equals("<")
|| bindVarCondition.getOperator().equals("<=")) {
tmp.setColumnName(ROWCOUNT);
tmp.setIndex(bindVarCondition.getIndex());
tmp.setOperator(bindVarCondition.getOperator());
results.add(tmp);
}
}
}
return results;
}
}
}