Explorar o código

rename + fix for binary types

Nicolas Cannasse %!s(int64=14) %!d(string=hai) anos
pai
achega
3879d251ae
Modificáronse 3 ficheiros con 38 adicións e 14 borrados
  1. 7 7
      std/sys/db/Manager.hx
  2. 1 1
      std/sys/db/Object.hx
  3. 30 6
      std/sys/db/SpodMacros.hx

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

@@ -34,7 +34,7 @@ import sys.db.Connection;
 	SPOD Manager : the persistent object database manager. See the tutorial on
 	haXe website to learn how to use SPOD.
 **/
-#if !macro @:build(sys.db.SpodData.addRtti()) #end
+#if !macro @:build(sys.db.SpodMacros.addRtti()) #end
 class Manager<T : Object> {
 
 	/* ----------------------------- STATICS ------------------------------ */
@@ -88,23 +88,23 @@ class Manager<T : Object> {
 	}
 
 	@:macro public function get(ethis,id,?lock:haxe.macro.Expr.ExprRequire<Bool>) : #if macro haxe.macro.Expr #else haxe.macro.Expr.ExprRequire<T> #end {
-		return SpodData.macroGet(ethis,id,lock);
+		return SpodMacros.macroGet(ethis,id,lock);
 	}
 
 	@:macro public function select(ethis, cond, ?options, ?lock:haxe.macro.Expr.ExprRequire<Bool>) : #if macro haxe.macro.Expr #else haxe.macro.Expr.ExprRequire<T> #end {
-		return SpodData.macroSearch(ethis, cond, options, lock, true);
+		return SpodMacros.macroSearch(ethis, cond, options, lock, true);
 	}
 
 	@:macro public function search(ethis, cond, ?options, ?lock:haxe.macro.Expr.ExprRequire<Bool>) : #if macro haxe.macro.Expr #else haxe.macro.Expr.ExprRequire<List<T>> #end {
-		return SpodData.macroSearch(ethis, cond, options, lock);
+		return SpodMacros.macroSearch(ethis, cond, options, lock);
 	}
 
 	@:macro public function count(ethis, cond) : #if macro haxe.macro.Expr #else haxe.macro.Expr.ExprRequire<Int> #end {
-		return SpodData.macroCount(ethis, cond);
+		return SpodMacros.macroCount(ethis, cond);
 	}
 
 	@:macro public function delete(ethis, cond) : #if macro haxe.macro.Expr #else haxe.macro.Expr.ExprRequire<Void> #end {
-		return SpodData.macroDelete(ethis, cond);
+		return SpodMacros.macroDelete(ethis, cond);
 	}
 
 	public function dynamicSearch( x : {}, ?lock : Bool ) : List<T> {
@@ -522,7 +522,7 @@ class Manager<T : Object> {
 		return quoteAny(v);
 	}
 
-	public static inline function quoteBytes( v : String ) {
+	public static inline function quoteBytes( v : haxe.io.Bytes ) {
 		return quoteAny(v);
 	}
 

+ 1 - 1
std/sys/db/Object.hx

@@ -28,7 +28,7 @@ package sys.db;
 	SPOD Object : the persistent object base type. See the tutorial on haXe
 	website to learn how to use SPOD.
 **/
-@:autoBuild(sys.db.SpodData.macroBuild())
+@:autoBuild(sys.db.SpodMacros.macroBuild())
 class Object {
 
 	var _locked(default,never) : Bool;

+ 30 - 6
std/sys/db/SpodData.hx → std/sys/db/SpodMacros.hx

@@ -1,3 +1,27 @@
+/*
+ * Copyright (c) 2005-2011, The haXe Project Contributors
+ * All rights reserved.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ *   - Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ *   - Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE HAXE PROJECT CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE HAXE PROJECT CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
 package sys.db;
 import sys.db.SpodInfos;
 import haxe.macro.Expr;
@@ -17,9 +41,9 @@ private enum BuildError {
 	EExpr( e : Expr );
 }
 
-class SpodData {
+class SpodMacros {
 
-	static var inst : SpodData = null;
+	static var inst : SpodMacros = null;
 	static var simpleString = ~/^[A-Za-z0-9 ]*$/;
 
 	var cache : Hash<SpodInfos>;
@@ -118,6 +142,7 @@ class SpodData {
 			case "Float": DFloat;
 			case "String": DText;
 			case "Date": DDateTime;
+			case "haxe.io.Bytes": DBinary;
 			case "sys.db.SFlags":
 				switch( p[0] ) {
 				case TEnum(e,_):
@@ -371,8 +396,7 @@ class SpodData {
 		case DBool: 2;
 		case DString(_), DTinyText, DSmallText, DText, DSerialized: 3;
 		case DDate, DDateTime: 4;
-		// allow bytes/string comparisons, reserve 5 for future change
-		case DSmallBinary, DLongBinary, DBinary, DBytes(_), DNekoSerialized: 3;
+		case DSmallBinary, DLongBinary, DBinary, DBytes(_), DNekoSerialized: 5;
 		case DInterval: 6;
 		case DNull: 7;
 		};
@@ -404,7 +428,7 @@ class SpodData {
 			case 2: "Bool";
 			case 3: "String";
 			case 4: "Date";
-			case 5: "String";
+			case 5: "haxe.io.Bytes";
 			default: throw "assert";
 			},
 			pack : [],
@@ -843,7 +867,7 @@ class SpodData {
 		};
 		var i = inst;
 		if( i == null ) {
-			i = new SpodData();
+			i = new SpodMacros();
 			inst = i;
 		}
 		return i.getSpodInfos(c);