Exemple #1
0
/**
 * @brief Getting the relation name
 * @param relation_id relation id
 * @return Tuple if valid relation_id, otherwise null
 */
char *Bridge::GetRelationName(Oid relation_id) {
  LOG_WARN("Do not use bridge function(%s) in Peloton !!! ", __func__);
  HeapTuple tuple;
  Form_pg_class pg_class;
  char *relation_name;

  tuple = GetPGClassTupleForRelationOid(relation_id);
  if (!HeapTupleIsValid(tuple)) {
    return NULL;
  }

  // Get relation name
  pg_class = (Form_pg_class)GETSTRUCT(tuple);
  relation_name = NameStr(pg_class->relname);

  return relation_name;
}
Exemple #2
0
/**
 * @brief Getting the number of tuples.
 * @param relation_id relation id
 * @return num_tuples if valid relation_id, otherwise -1
 */
float Bridge::GetNumberOfTuples(Oid relation_id) {
  LOG_WARN("Do not use bridge function(%s) in Peloton !!! ", __func__);
  HeapTuple tuple;
  Form_pg_class pg_class;
  float num_tuples;

  tuple = GetPGClassTupleForRelationOid(relation_id);
  if (!HeapTupleIsValid(tuple)) {
    return -1;
  }
  pg_class = (Form_pg_class)GETSTRUCT(tuple);

  // Get number of tuples
  num_tuples = pg_class->reltuples;

  return num_tuples;
}
Exemple #3
0
/**
 * @brief Getting the number of attributes.
 * @param relation_id relation id
 * @return num_atts if valid relation_id, otherwise -1
 */
int Bridge::GetNumberOfAttributes(Oid relation_id) {
  LOG_TRACE("Do not use bridge function(%s) in Peloton !!! ", __func__);
  HeapTuple tuple;
  Form_pg_class pg_class;
  int num_atts = -1;

  tuple = GetPGClassTupleForRelationOid(relation_id);

  if (!HeapTupleIsValid(tuple)) {
    return num_atts;
  }

  pg_class = (Form_pg_class)GETSTRUCT(tuple);

  // Get number of attributes
  num_atts = pg_class->relnatts;

  return num_atts;
}