Browse Source

Fix to Chado installer

Stephen Ficklin 8 years ago
parent
commit
1a9a516348
1 changed files with 28 additions and 0 deletions
  1. 28 0
      tripal_chado/api/tripal_chado.query.api.inc

+ 28 - 0
tripal_chado/api/tripal_chado.query.api.inc

@@ -1840,4 +1840,32 @@ function chado_schema_get_foreign_key($table_desc, $field, $values, $options = N
   }
 
   return array();
+}
+
+/**
+ * Retrieve the name of the PostgreSQL schema housing Chado or Drupal.
+ *
+ * @param $schema
+ *   Wehter you want the schema name for 'chado' or 'drupal'. Chado is the default.
+ * @return
+ *   The name of the PostgreSQL schema housing the $schema specified.
+ */
+function tripal_get_schema_name($schema = 'chado') {
+
+  // First we will set our default. This is what will be returned in most cases.
+  if ($schema == 'chado') {
+    $schema_name = 'chado';
+  }
+  else {
+    $schema_name = 'public';
+  }
+
+  // There are cases where modules or admin might need to change the default
+  // names for the schema. Thus we provide an alter hook here to allow
+  // the names to be changed and ensure that schema names are never hardcoded
+  // directly into queries.
+  $context = array('schema' => $schema);
+  drupal_alter('tripal_get_schema_name', $schema_name, $context);
+
+  return $schema_name;
 }