package jef.database.meta; /** * 用于描述查询中一个选择/装配的定义 * * @Company: Asiainfo-Linkage Technologies(China),Inc. Hangzhou * @author Administrator * @Date 2011-6-17 */ public interface ISelectProvider { public static final int PROJECTION_NORMAL_NOVIRTUAL = -2;//禁止使用rownum和rowid等虚拟列 public static final int PROJECTION_NOT_SELECT = -1;//不选择任何数据从某张表,仅在alltableColumns中使用 public static final int PROJECTION_NORMAL = 0; public static final int PROJECTION_COUNT = 1; public static final int PROJECTION_COUNT_DISTINCT = 2; public static final int PROJECTION_SUM = 3; public static final int PROJECTION_AVG = 4; public static final int PROJECTION_MAX = 10; public static final int PROJECTION_MIN = 11; public static final int PROJECTION_CUST_FUNC = 12; //255以内的都是排他定义,255以上的附加位定义 public static final int PROJECTION_HAVING_NOT_SELECT = 1024; public static final int PROJECTION_HAVING = 2048; public static final int PROJECTION_GROUP = 4096; public static final int PROJECTION_DISTINCT = 8192; /** * 引用字段路径,用于装配,如果返回值为null,表示直接装配到基本对象上。 * * @return */ String getName(); /** * 返回装配的 * @return */ int getProjection(); boolean isSingleColumn(); }