objective-c-sql-query-builder
|
00001 /* 00002 * Copyright 2011-2015 Ziminji 00003 * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); 00005 * you may not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at: 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 00017 #import "ZIMSqlStatement.h" 00018 #import "ZIMSqlSelectStatement.h" 00019 00026 @interface ZIMOrmSelectStatement : NSObject <ZIMSqlStatement> { 00027 00028 @protected 00029 Class _model; 00030 ZIMSqlSelectStatement *_sql; 00031 00032 } 00040 - (instancetype) initWithModel: (Class)model; 00047 - (void) join: (id)table; 00055 - (void) join: (id)table type: (NSString *)type; // type of JOIN: CROSS, INNER, LEFT, etc. 00063 - (void) join: (id)table alias: (NSString *)alias; 00072 - (void) join: (id)table alias: (NSString *)alias type: (NSString *)type; // type of JOIN: CROSS, INNER, LEFT, etc. 00081 - (void) joinOn: (id)column1 operator: (NSString *)operator column: (id)column2; 00091 - (void) joinOn: (id)column1 operator: (NSString *)operator column: (id)column2 connector: (NSString *)connector; 00100 - (void) joinOn: (id)column operator: (NSString *)operator value: (id)value; 00110 - (void) joinOn: (id)column operator: (NSString *)operator value: (id)value connector: (NSString *)connector; 00117 - (void) joinUsing: (NSString *)column; 00124 - (void) whereBlock: (NSString *)brace; 00132 - (void) whereBlock: (NSString *)brace connector: (NSString *)connector; 00141 - (void) where: (id)column1 operator: (NSString *)operator column: (id)column2; 00151 - (void) where: (id)column1 operator: (NSString *)operator column: (id)column2 connector: (NSString *)connector; 00160 - (void) where: (id)column operator: (NSString *)operator value: (id)value; // wrap primitives with NSNumber 00170 - (void) where: (id)column operator: (NSString *)operator value: (id)value connector: (NSString *)connector; // wrap primitives with NSNumber 00177 - (void) groupBy: (NSString *)column; 00184 - (void) groupByHavingBlock: (NSString *)brace; 00192 - (void) groupByHavingBlock: (NSString *)brace connector: (NSString *)connector; 00201 - (void) groupByHaving: (id)column1 operator: (NSString *)operator column: (id)column2; 00211 - (void) groupByHaving: (id)column1 operator: (NSString *)operator column: (id)column2 connector: (NSString *)connector; 00220 - (void) groupByHaving: (id)column operator: (NSString *)operator value: (id)value; // wrap primitives with NSNumber 00230 - (void) groupByHaving: (id)column operator: (NSString *)operator value: (id)value connector: (NSString *)connector; // wrap primitives with NSNumber 00237 - (void) orderBy: (NSString *)column; // ORDER BY [COLUMN] ASC 00245 - (void) orderBy: (NSString *)column descending: (BOOL)descending; // ORDER BY [COLUMN] [ASC | DESC] 00256 - (void) orderBy: (NSString *)column nulls: (NSString *)weight; // ORDER BY [COLUMN] ASC [NULLS FIRST | NULLS LAST] 00268 - (void) orderBy: (NSString *)column descending: (BOOL)descending nulls: (NSString *)weight; // ORDER BY [COLUMN] [ASC | DESC] [NULLS FIRST | NULLS LAST] 00275 - (void) limit: (NSUInteger)limit; 00283 - (void) limit: (NSUInteger)limit offset: (NSUInteger)offset; 00290 - (void) offset: (NSUInteger)offset; 00297 - (NSArray *) query; 00298 00299 @end