if (this[i] instanceof Array && array[i] instanceof Array) {
// recurse into the nested arrays
if (!this[i].equals(array[i]))
- return false;
- }
- else if (this[i] != array[i]) {
+ return false;
+ }
+ else if (this[i] != array[i]) {
// Warning - two different object instances will never be equal: {x:20} != {x:20}
- return false;
- }
- }
+ return false;
+ }
+ }
return true;
}
//var key = manifold.metadata.get_key(query_ext.query.object);
var record_key_value = manifold.record_get_value(record, record_key);
+
query_ext.records.put(record_key_value, record);
if (!(query_ext.state.get(record_key_value)))
});
var end = new Date().getTime();
- console.log("APPLY FILTERS took", end - start, "ms");
+ console.log("APPLY FILTERS [", filters, "] took", end - start, "ms");
}
switch (this_type) {
case TYPE_VALUE:
case TYPE_LIST_OF_VALUES:
+ case TYPE_LIST_OF_RECORDS:
if (this_value != other_value)
return false;
break;
if (!(_record_equals(this_value, other_value, key_fields)))
return false;
break;
+ /*
+ XXX WARNING = disabled for OpenFlow plugin !!!
+
case TYPE_LIST_OF_RECORDS:
if (this_value.length != other_value.length)
return false;
if (!(_record_equals(this_value[j], other_value[j], key_fields)))
return false;
break;
+ */
}
}
return true;
* otherwise, publish the main object as well as subqueries
* XXX how much recursive are we ?
*/
+ if (records == null){
+ records = Array();
+ }
if (manifold.pubsub_debug)
messages.debug (">>>>> publish_result_rec " + query.object);
if (manifold.query_expects_unique_result(query)) {
}
key = manifold.metadata.get_key(new_object);
+ if (!key){
+ console.log("object type: " + new_object + " has no key");
+ console.log(record);
+ return;
+ }
record.hashCode = manifold.record_hashcode(key.sort());
record.equals = manifold.record_equals(key);