Azavea.Open.DAO.OleDb.OleDbDescriptor.MakeModulusClause C# (CSharp) Method

MakeModulusClause() public method

public MakeModulusClause ( string fieldName ) : SqlClauseWithValue
fieldName string
return Azavea.Open.DAO.SQL.SqlClauseWithValue
        public override SqlClauseWithValue MakeModulusClause(string fieldName)
        {
            StringBuilder sb = DbCaches.StringBuilders.Get();
            SqlClauseWithValue retVal = DbCaches.Clauses.Get();
            switch (Type)
            {
                case DatabaseType.ORACLE:
                    sb.Append("MOD(");
                    sb.Append(fieldName);
                    sb.Append(", ");
                    retVal.PartBeforeValue = sb.ToString();
                    retVal.PartAfterValue = ")";
                    break;
                case DatabaseType.SQLSERVER:
                    sb.Append("(");
                    sb.Append(fieldName);
                    sb.Append(" % ");
                    retVal.PartBeforeValue = sb.ToString();
                    retVal.PartAfterValue = ")";
                    break;
                case DatabaseType.ACCESS:
                    sb.Append("(");
                    sb.Append(fieldName);
                    sb.Append(" MOD ");
                    retVal.PartBeforeValue = sb.ToString();
                    retVal.PartAfterValue = ")";
                    break;
                default:
                    throw new NotImplementedException("Modulus clause not implemented for DB type " + Type);
            }
            DbCaches.StringBuilders.Return(sb);
            return retVal;
        }