def _GetLiveNodeField(field, kind, ctx, node):
  if node.offline:
    return _FS_OFFLINE

  if not node.vm_capable:
    return _FS_UNAVAIL

  if not ctx.curlive_data:
    return _FS_NODATA

  return _GetStatsField(field, kind, ctx.curlive_data)
If we are in a transaction, return the cursor, otherwise make one
dataset/ETHPy150Open ganeti/ganeti/lib/query.py/_GetLiveNodeField--crossover with--dataset/ETHPy150Open neurodata/ndstore/ocpca/ocpcadb.py/OCPCADB.getCursor