parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Mizter Egoist 25.10.2016 11:25 / 25.10.2016 11:36

Прошелся по всему, всё в порядке, узлы правильно извлекаются и формируются.
^self._unlink[$descendant;$ancestor] все правильно удаляет.
^self._link[$descendant;$parent_ancestor] правильно формируется и записывается.
Вывод только один, отваливается по таймауту.
Зацикливание нигде не увидел, так как строк для записи не больше, чем нужно и они не дублируются.

Как решить проблему с таймаутом?

Может проблема с очередностью кода?
@hash[fields;options]

@insert[node]

@update[node]

@delete[nodes]

@move[dsc;pID]

@ancestors[nodes;options]

@descendants[nodes;options]

@_link[nodes;to_nodes;options]

@_unlink[nodes;to_nodes;options]

@_transaction[code]
^connect[$connect_string]{
	^void:sql{BEGIN}
	^try{
		$result[$code]

		^void:sql{COMMIT}
	}{
		^void:sql{ROLLBACK}
	}
}

@_insertLinks[links]

@_deleteLinks[condition]

@_insertPage[data]

@_updatePage[data;eID]

@_parentField[with_parent]

@_parentTable[with_parent]

@_sqlOptions[options]

@_list[nodes;field]
P.S
Изменил @_transaction на:
@_transaction[code]
^connect[$connect_string]{
		$result[$code]
}
И все стало работать моментально.