addNode method

  1. @override
void addNode(
  1. Node node, {
  2. bool replaceIfExists = true,
})
override

Add a new node to graph

Implementation

@override
void addNode(Node node, {bool replaceIfExists = true}) {
  if (!replaceIfExists && nodeExists(node.id)) {
    return;
  }
  final row = _nodeToRow(node);
  _transaction(() {
    if (replaceIfExists) {
      _db.execute('DELETE FROM nodes WHERE id = ?', [node.id]);
      _db.execute('DELETE FROM node_properties WHERE nodeId = ?', [node.id]);
    }
    _db.execute(
      'INSERT INTO nodes '
      '(id, type, labelProperty, uniqueProperty, urlProperty, icon) '
      'VALUES (?, ?, ?, ?, ?, ?)',
      row,
    );
    _saveNodeProperties(node.id, node.properties);
  });
}