2
0
Эх сурвалжийг харах

allow limit/orderBy for delete as well

Nicolas Cannasse 13 жил өмнө
parent
commit
499c46b2a8

+ 2 - 2
std/sys/db/Manager.hx

@@ -100,8 +100,8 @@ class Manager<T : Object> {
 		return SpodMacros.macroCount(ethis, cond);
 		return SpodMacros.macroCount(ethis, cond);
 	}
 	}
 
 
-	@:macro public function delete(ethis, cond) : #if macro haxe.macro.Expr #else haxe.macro.Expr.ExprOf<Void> #end {
-		return SpodMacros.macroDelete(ethis, cond);
+	@:macro public function delete(ethis, cond, ?options) : #if macro haxe.macro.Expr #else haxe.macro.Expr.ExprOf<Void> #end {
+		return SpodMacros.macroDelete(ethis, cond, options);
 	}
 	}
 
 
 	public function dynamicSearch( x : {}, ?lock : Bool ) : List<T> {
 	public function dynamicSearch( x : {}, ?lock : Bool ) : List<T> {

+ 3 - 3
std/sys/db/SpodMacros.hx

@@ -155,7 +155,7 @@ class SpodMacros {
 		}
 		}
 		return null;
 		return null;
 	}
 	}
-	
+
 	function getFlags( t : haxe.macro.Type ) {
 	function getFlags( t : haxe.macro.Type ) {
 		switch( t ) {
 		switch( t ) {
 		case TEnum(e,_):
 		case TEnum(e,_):
@@ -1066,8 +1066,8 @@ class SpodMacros {
 		return { expr : ECall({ expr : EField(em,"unsafeCount"), pos : pos },[sql]), pos : pos };
 		return { expr : ECall({ expr : EField(em,"unsafeCount"), pos : pos },[sql]), pos : pos };
 	}
 	}
 
 
-	public static function macroDelete( em : Expr, econd : Expr ) {
-		var sql = buildSQL(em, econd, "DELETE FROM");
+	public static function macroDelete( em : Expr, econd : Expr, eopt : Expr ) {
+		var sql = buildSQL(em, econd, "DELETE FROM", eopt);
 		var pos = Context.currentPos();
 		var pos = Context.currentPos();
 		return { expr : ECall({ expr : EField(em,"unsafeDelete"), pos : pos },[sql]), pos : pos };
 		return { expr : ECall({ expr : EField(em,"unsafeDelete"), pos : pos },[sql]), pos : pos };
 	}
 	}