MCPcopy Index your code
hub / github.com/totaljs/framework / insRelation

Function insRelation

graphdb.js:1250–1286  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1248}
1249
1250function insRelation(self) {
1251
1252 if (!self.ready || self.states.relation)
1253 return;
1254
1255 var doc = self.pending.relation.shift();
1256 if (doc) {
1257
1258 var rel = self.$relations[doc.name];
1259 if (rel == null) {
1260 doc.callback(new Error('GraphDB: Relation "{0}" not found.'.format(doc.name)));
1261 return;
1262 }
1263
1264 if (rel.locked || !rel.ready) {
1265 self.pending.relation.push(doc);
1266 setTimeout(insRelation, DELAY, self);
1267 return;
1268 }
1269
1270 self.states.relation = true;
1271
1272 if (doc.connect) {
1273 addRelation(self, rel, doc.indexA, doc.indexB, function(err, id) {
1274 self.states.relation = false;
1275 doc.callback(err, id);
1276 setImmediate(insRelation, self);
1277 });
1278 } else {
1279 remRelation(self, rel, doc.indexA, doc.indexB, function(err, id) {
1280 self.states.relation = false;
1281 doc.callback(err, id);
1282 setImmediate(insRelation, self);
1283 });
1284 }
1285 }
1286}
1287
1288GP.create = function(filename, documentsize, callback) {
1289 var self = this;

Callers 1

graphdb.jsFile · 0.85

Calls 2

addRelationFunction · 0.85
remRelationFunction · 0.85

Tested by

no test coverage detected