Nicolas Cannasse 16 лет назад
Родитель
Сommit
c06f285001
1 измененных файлов с 9 добавлено и 5 удалено
  1. 9 5
      std/neko/db/Manager.hx

+ 9 - 5
std/neko/db/Manager.hx

@@ -70,7 +70,7 @@ class Manager<T : Object> {
 	var class_proto : { prototype : Dynamic };
 	var class_proto : { prototype : Dynamic };
 	var lock_mode : Int;
 	var lock_mode : Int;
 
 
-	public function new( classval : Class<neko.db.Object> ) {
+	public function new( classval : Class<T> ) {
 		var cl : Dynamic = classval;
 		var cl : Dynamic = classval;
 
 
 		// get basic infos
 		// get basic infos
@@ -103,7 +103,7 @@ class Manager<T : Object> {
 
 
 		// set the manager and ready for further init
 		// set the manager and ready for further init
 		proto.local_manager = this;
 		proto.local_manager = this;
-		init_list.add(untyped this);
+		init_list.add(cast this);
 	}
 	}
 
 
 	public function get( id : Int, ?lock : Bool ) : T {
 	public function get( id : Int, ?lock : Bool ) : T {
@@ -113,7 +113,7 @@ class Manager<T : Object> {
 			throw "Invalid number of keys";
 			throw "Invalid number of keys";
 		if( id == null )
 		if( id == null )
 			return null;
 			return null;
-		var x : Dynamic = untyped object_cache.get(id + table_name);
+		var x : Dynamic = getFromCacheKey(id + table_name);
 		if( x != null && (!lock || x.update != no_update) )
 		if( x != null && (!lock || x.update != no_update) )
 			return x;
 			return x;
 		var s = new StringBuf();
 		var s = new StringBuf();
@@ -131,7 +131,7 @@ class Manager<T : Object> {
 	public function getWithKeys( keys : {}, ?lock : Bool ) : T {
 	public function getWithKeys( keys : {}, ?lock : Bool ) : T {
 		if( lock == null )
 		if( lock == null )
 			lock = true;
 			lock = true;
-		var x : Dynamic = getFromCache(untyped keys,false);
+		var x : Dynamic = getFromCacheKey(makeCacheKey(cast keys));
 		if( x != null && (!lock || x.update != no_update) )
 		if( x != null && (!lock || x.update != no_update) )
 			return x;
 			return x;
 		var s = new StringBuf();
 		var s = new StringBuf();
@@ -435,7 +435,7 @@ class Manager<T : Object> {
 		var l = init_list;
 		var l = init_list;
 		init_list = new List();
 		init_list = new List();
 		for( m in l ) {
 		for( m in l ) {
-			var rl : Void -> Array<Dynamic> = untyped m.class_proto.RELATIONS;
+			var rl : Void -> Array<Dynamic> = (cast m.class_proto).RELATIONS;
 			if( rl != null )
 			if( rl != null )
 				for( r in rl() )
 				for( r in rl() )
 					m.initRelation(r);
 					m.initRelation(r);
@@ -508,6 +508,10 @@ class Manager<T : Object> {
 		object_cache.set(makeCacheKey(x),x);
 		object_cache.set(makeCacheKey(x),x);
 	}
 	}
 
 
+	function getFromCacheKey( key : String ) : T {
+		return cast object_cache.get(key);
+	}
+
 	function getFromCache( x : T, lock : Bool ) : T {
 	function getFromCache( x : T, lock : Bool ) : T {
 		var c : Dynamic = object_cache.get(makeCacheKey(x));
 		var c : Dynamic = object_cache.get(makeCacheKey(x));
 		if( c != null && lock && c.update == no_update ) {
 		if( c != null && lock && c.update == no_update ) {