Hi i was able to get work this module on the 7.x-1.0 version over a oracle backend, this is the patch:

Binary files sites/all/modules/contrib/acl/.DS_Store and /Users/directordrupal/Desktop/acl/.DS_Store differ
diff -ENwbur sites/all/modules/contrib/acl/acl.admin.inc /Users/directordrupal/Desktop/acl/acl.admin.inc
--- sites/all/modules/contrib/acl/acl.admin.inc	2014-12-01 10:25:26.000000000 -0500
+++ /Users/directordrupal/Desktop/acl/acl.admin.inc	2011-11-26 11:42:22.000000000 -0500
@@ -12,26 +12,19 @@
   $users = array();
   if (!$new_acl) {
     // Ensure the ACL in question even exists.
-    $record = db_select('acl', 'a')
-      ->fields('a', array('name', 'number_acl'))
-      ->condition('a.acl_id', $acl_id)
-      ->execute()
-      ->fetchAssoc();
-    if (!$record) {
+    if (!($record = db_query("SELECT name, number FROM {acl} WHERE acl_id = :acl_id", array(
+      'acl_id' => $acl_id,
+    ))->fetchAssoc())) {
       return array();
     }
-    $query = db_select('users', 'u');
-    $query->leftJoin('acl_user', 'aclu', 'aclu.uid = u.uid');
-    $result = $query
-      ->fields('u', array('uid', 'name'))
-      ->condition('aclu.acl_id', $acl_id)
-      ->execute();
+    $result = db_query("SELECT u.uid, u.name FROM {users} u LEFT JOIN {acl_user} aclu ON aclu.uid = u.uid WHERE acl_id = :acl_id", array(
+      'acl_id' => $acl_id));
     foreach ($result as $user) {
       $users[$user->uid] = $user->name;
     }
   }
   if (!isset($label)) {
-    $label = (isset($record['name']) ? $record['name'] : (isset($record['number_acl']) ? $record['number_acl'] : $acl_id));
+    $label = (isset($record['name']) ? $record['name'] : (isset($record['number']) ? $record['number'] : $acl_id));
   }
 
   $form = array(
@@ -99,11 +92,9 @@
     }
   }
   elseif (isset($form_state['triggering_element']) && $form_state['triggering_element']['#value'] == $form['add_button']['#value'] && !empty($form['add']['#value'])) {
-    $user = db_select('users', 'u')
-      ->fields('u', array('uid', 'name'))
-      ->condition('u.name', $form['add']['#value'])
-      ->execute()
-      ->fetchObject();
+    $user = db_query("SELECT uid, name FROM {users} WHERE name = :name", array(
+      'name' => $form['add']['#value'],
+    ))->fetchObject();
     if (!$user || !$user->uid) {
       form_error($form['add'], t("Invalid user specified."));
     }
@@ -155,3 +146,4 @@
       ->execute();
   }
 }
+
diff -ENwbur sites/all/modules/contrib/acl/acl.install /Users/directordrupal/Desktop/acl/acl.install
--- sites/all/modules/contrib/acl/acl.install	2014-11-28 13:58:26.000000000 -0500
+++ /Users/directordrupal/Desktop/acl/acl.install	2011-11-26 11:42:22.000000000 -0500
@@ -28,15 +28,15 @@
         'type'        => 'varchar',
         'length'      => 255,
       ),
-      'number_acl'        => array(
-        'description' => "A number for this ACL entry, given by the module that created it; use either 'name' or 'number_acl'.",
+      'number'        => array(
+        'description' => "A number for this ACL entry, given by the module that created it; use either 'name' or 'number'.",
         'type'        => 'int',
       ),
     ),
     'primary key'     => array('acl_id'),
     'indexes'         => array(
-      'module_name_number' => array(array('module', 64), array('name', 64), 'number_acl'),
-      'module_number' => array(array('module', 64), 'number_acl'),
+      'module_name_number' => array(array('module', 64), array('name', 64), 'number'),
+      'module_number' => array(array('module', 64), 'number'),
     ),
   );
   $schema['acl_user'] = array(
@@ -187,8 +187,8 @@
  * Add 'number' column if it's not there yet.
  */
 function acl_update_7000() {
-  if (!db_field_exists('acl', 'number_acl')) {
-    db_add_field('acl', 'number_acl', array('type' => 'int', 'description' => "A number for this ACL entry, given by the module that created it; use either 'name' or 'number_acl'."));
+  if (!db_field_exists('acl', 'number')) {
+    db_add_field('acl', 'number', array('type' => 'int', 'description' => "A number for this ACL entry, given by the module that created it; use either 'name' or 'number'."));
   }
 }
 
@@ -200,13 +200,13 @@
     db_drop_index('acl', 'name');
   }
   if (!db_index_exists('acl', 'module_name_number')) {
-    db_add_index('acl', 'module_name_number', array(array('module', 64), array('name', 64), 'number_acl'));
+    db_add_index('acl', 'module_name_number', array(array('module', 64), array('name', 64), 'number'));
   }
-  if (db_index_exists('acl', 'number_acl')) {
-    db_drop_index('acl', 'number_acl');
+  if (db_index_exists('acl', 'number')) {
+    db_drop_index('acl', 'number');
   }
   if (!db_index_exists('acl', 'module_number')) {
-    db_add_index('acl', 'module_number', array(array('module', 64), 'number_acl'));
+    db_add_index('acl', 'module_number', array(array('module', 64), 'number'));
   }
 }
 
diff -ENwbur sites/all/modules/contrib/acl/acl.module /Users/directordrupal/Desktop/acl/acl.module
--- sites/all/modules/contrib/acl/acl.module	2014-12-01 11:56:23.000000000 -0500
+++ /Users/directordrupal/Desktop/acl/acl.module	2011-11-26 11:42:22.000000000 -0500
@@ -29,7 +29,7 @@
   $acl = array(
     'module' => $module,
     'name' => $name,
-    'number_acl' => $number
+    'number' => $number
   );
   drupal_write_record('acl', $acl);
   return $acl['acl_id'];
@@ -63,12 +63,10 @@
  * Add the specified UID to an ACL.
  */
 function acl_add_user($acl_id, $uid) {
-  $test_uid = db_select('acl_user', 'aclu')
-    ->fields('aclu', array('uid'))
-    ->condition('aclu.acl_id', $acl_id)
-    ->condition('aclu.uid', $uid)
-    ->execute()
-    ->fetchField();
+  $test_uid = db_query("SELECT uid FROM {acl_user} WHERE acl_id = :acl_id AND uid = :uid", array(
+    'acl_id' => $acl_id,
+    'uid' => $uid,
+  ))->fetchField();
   if (!$test_uid) {
     db_insert('acl_user')
     ->fields(array(
@@ -103,8 +101,6 @@
  * Provide access control to all nodes selected by a subquery, based upon an ACL id.
  */
 function acl_add_nodes($subselect, $acl_id, $view, $update, $delete, $priority = 0) {
-  $result = $subselect->execute();
-  if ($result->rowCount() > 0) {
     db_delete('acl_node')
       ->condition('acl_id', $acl_id)
       ->condition('nid', $subselect, 'IN')
@@ -118,7 +114,6 @@
       ->from($subselect)
       ->execute();
   }
-}
 
 /**
  * Provide access control to a node based upon an ACL id.
@@ -179,7 +174,7 @@
     ->condition('a.module', $module)
     ->condition('a.name', $name);
   if (isset($number)) {
-    $query->condition('a.number_acl', $number);
+    $query->condition('a.number', $number);
   }
   return $query->execute()->fetchField();
 }
@@ -191,7 +186,7 @@
   $query = db_select('acl', 'a')
     ->fields('a', array('acl_id'))
     ->condition('a.module', $module)
-    ->condition('a.number_acl', $number);
+    ->condition('a.number', $number);
   return $query->execute()->fetchField();
 }
 
@@ -199,25 +194,19 @@
  * Determine whether an ACL has some assigned users.
  */
 function acl_has_users($acl_id) {
-  return db_select('acl_user', 'aclu')
-    ->fields('aclu', array('uid'))
-    ->condition('aclu.acl_id', $acl_id)
-    ->countQuery()
-    ->execute()
-    ->fetchField();
+  return db_query("SELECT COUNT(uid) FROM {acl_user} WHERE acl_id = :acl_id", array(
+    'acl_id' => $acl_id,
+  ))->fetchField();
 }
 
 /**
  * Determine whether an ACL has a specific assigned user.
  */
 function acl_has_user($acl_id, $uid) {
-  return db_select('acl_user', 'aclu')
-    ->fields('aclu', array('uid'))
-    ->condition('aclu.acl_id', $acl_id)
-    ->condition('aclu.uid', $uid)
-    ->countQuery()
-    ->execute()
-    ->fetchField();
+  return db_query("SELECT COUNT(uid) FROM {acl_user} WHERE acl_id = :acl_id AND uid = :uid", array(
+    'acl_id' => $acl_id,
+    'uid' => $uid,
+  ))->fetchField();
 }
 
 /**
@@ -234,7 +223,7 @@
     $query->condition('a.name', $name);
   }
   if (isset($number)) {
-    $query->condition('a.number_acl', $number);
+    $query->condition('a.number', $number);
   }
   $acl_ids = $query->execute()->fetchCol();
   return $acl_ids;
@@ -244,11 +233,9 @@
  * Get the uids of an ACL.
  */
 function acl_get_uids($acl_id) {
-  $uids = db_select('acl_user', 'aclu')
-    ->fields('aclu', array('uid'))
-    ->condition('aclu.acl_id', $acl_id)
-    ->execute()
-    ->fetchCol();
+  $uids = db_query("SELECT uid FROM {acl_user} WHERE acl_id = :acl_id", array(
+    'acl_id' => $acl_id,
+  ))->fetchCol();
   return $uids;
 }
 
@@ -259,15 +246,9 @@
   if (!$node->nid) {
     return;
   }
-  $query = db_select('acl_node', 'n', array('fetch' => PDO::FETCH_ASSOC));
-  $query->join('acl', 'a', 'n.acl_id = a.acl_id');
-  $query->addField('n', 'acl_id', 'gid');
-  $query->addField('a', 'module');
-  $query->addExpression("'acl'", 'realm');
-  $result = $query
-    ->fields('n')
-    ->condition('n.nid', $node->nid)
-    ->execute();
+  $result = db_query("SELECT n.*, 'acl' AS realm, n.acl_id AS gid, a.module FROM {acl_node} n INNER JOIN {acl} a ON n.acl_id = a.acl_id WHERE nid = :nid", array(
+    'nid' => $node->nid,
+  ), array('fetch' => PDO::FETCH_ASSOC));
   $grants = array();
   foreach ($result as $grant) {
     if (module_invoke($grant['module'], 'enabled')) {
@@ -294,12 +275,9 @@
  * Implements hook_node_grants().
  */
 function acl_node_grants($account, $op) {
-  $acl_ids = db_select('acl_user', 'u')
-    ->fields('u', array('acl_id'))
-    ->condition('u.uid', $account->uid)
-    ->execute()
-    ->fetchCol();
-
+  $acl_ids = db_query("SELECT acl_id FROM {acl_user} WHERE uid = :uid", array(
+    'uid' => $account->uid,
+  ))->fetchCol();
   return (!empty($acl_ids) ? array('acl' => $acl_ids) : NULL);
 }
 
@@ -341,49 +319,35 @@
   static $interpretations = array();
   if ($row->realm == 'acl') {
     if (!isset($interpretations[$row->gid])) {
-      $acl = db_select('acl', 'a')
-        ->fields('a')
-        ->condition('a.acl_id', $row->gid)
-        ->execute()
-        ->fetchObject();
+      $acl = db_query("SELECT * FROM {acl} WHERE acl_id = :acl_id", array(
+        'acl_id' => $row->gid,
+      ))->fetchObject();
       $acl->tag = '?';
       if (!isset($acl->name)) {
-        $acl->tag = $acl->number_acl;
+        $acl->tag = $acl->number;
       }
-      elseif (!isset($acl->number_acl)) {
+      elseif (!isset($acl->number)) {
         $acl->tag = $acl->name;
       }
       else {
-        $acl->tag = $acl->name . '-' . $acl->number_acl;
+        $acl->tag = $acl->name . '-' . $acl->number;
       }
-      $query = db_select('acl_user', 'au');
-      $query->join('users', 'u', 'au.uid = u.uid');
-      $query
-        ->fields('u', array('name'))
-        ->condition('au.acl_id', $row->gid);
-      $result = $query->execute();
-
+      $result = db_query("SELECT u.name FROM {acl_user} au, {users} u WHERE au.acl_id = :acl_id AND au.uid = u.uid", array(
+        'acl_id' => $row->gid,
+      ));
       foreach ($result as $user) {
         $users[] = $user->name;
       }
       if (isset($users)) {
         $users = implode(', ', $users);
-        $interpretations[$row->gid] = _acl_get_explanation("$acl->module/$acl->tag: $users", $acl->acl_id, $acl->module, $acl->name, $acl->number_acl, $users);
+        $interpretations[$row->gid] = _acl_get_explanation("$acl->module/$acl->tag: $users", $acl->acl_id, $acl->module, $acl->name, $acl->number, $users);
       }
       elseif ($row->gid == 0) {
-
-        $query = db_select('acl_node', 'an');
-        $query->join('acl', 'a', 'an.acl_id = a.acl_id');
-        $query->leftJoin('acl_user', 'au', 'a.acl_id = au.acl_id');
-        $query
-          ->fields('an', array('acl_id'))
-          ->fields('a', array('module', 'name'))
-          ->condition('an.nid', $row->nid)
-          ->isNull('au.uid');
-        $result = $query->execute();
-
+        $result = db_query("SELECT an.acl_id, a.module, a.name FROM {acl_node} an JOIN {acl} a ON an.acl_id = a.acl_id LEFT JOIN {acl_user} au ON a.acl_id = au.acl_id WHERE an.nid = :nid AND au.uid IS NULL", array(
+          'nid' => $row->nid,
+        ));
         foreach ($result as $acl) {
-          $rows[] = _acl_get_explanation("$acl->acl_id: $acl->module/$acl->tag", $acl->acl_id, $acl->module, $acl->name, $acl->number_acl);
+          $rows[] = _acl_get_explanation("$acl->acl_id: $acl->module/$acl->tag", $acl->acl_id, $acl->module, $acl->name, $acl->number);
         }
         if (!empty($rows)) {
           return implode('<br />', $rows);
@@ -391,7 +355,7 @@
         return 'No access via ACL.';
       }
       else {
-        $interpretations[$row->gid] = _acl_get_explanation("$acl->module/$acl->tag: no users!", $acl->acl_id, $acl->module, $acl->name, $acl->number_acl);
+        $interpretations[$row->gid] = _acl_get_explanation("$acl->module/$acl->tag: no users!", $acl->acl_id, $acl->module, $acl->name, $acl->number);
       }
     }
     return $interpretations[$row->gid];
@@ -409,3 +373,4 @@
   }
   return $text;
 }
+
diff -ENwbur sites/all/modules/contrib/acl/acl.test /Users/directordrupal/Desktop/acl/acl.test
--- sites/all/modules/contrib/acl/acl.test	2014-12-01 10:23:39.000000000 -0500
+++ /Users/directordrupal/Desktop/acl/acl.test	2011-11-26 11:42:22.000000000 -0500
@@ -31,21 +31,13 @@
     acl_create_acl('test1', $node1->title);
     $acl_id = acl_get_id_by_name('test1', $node1->title);
     $this->assertNotNull($acl_id, t('ACL ID was succesfully found.'), $group = 'ACL');
-    $records = db_select('acl', 'a')
-      ->fields('a', array('acl_id', 'name'))
-      ->condition('a.acl_id', $acl_id)
-      ->execute()
-      ->fetchAll();
+    $records = db_query('SELECT acl_id, name FROM {acl} WHERE acl_id = :acl_id', array(':acl_id' => $acl_id))->fetchAll();
     $this->assertEqual(count($records), 1, t('ACL was succesfully created.'), $group = 'ACL');
     acl_delete_acl($records[0]->acl_id);
 
-    $count = db_select('acl', 'a')
-      ->fields('a', array('acl_id', 'name'))
-      ->condition('a.acl_id', $records[0]->acl_id)
-      ->countQuery()
-      ->execute()
-      ->fetchField();
-    $this->assertEqual($count, 0, t('ACL was succesfully removed.'), $group = 'ACL');
+    $records = db_query('SELECT acl_id, name FROM {acl} WHERE acl_id = :acl_id', array(':acl_id' => $records[0]->acl_id))->fetchAll();
+    $this->pass(var_export($records, TRUE));
+    $this->assertEqual(count($records), 0, t('ACL was succesfully removed.'), $group = 'ACL');
   }
 
   /**
@@ -62,37 +54,22 @@
     // made it in.
     $acl_id = acl_get_id_by_name('test2', $node1->title);
     $this->assertNotNull($acl_id, t('ACL ID was succesfully found.'), $group = 'ACL');
-    $count = db_select('acl', 'a')
-      ->fields('a', array('acl_id', 'name'))
-      ->condition('a.acl_id', $acl_id)
-      ->countQuery()
-      ->execute()
-      ->fetchField();
-    $this->assertEqual($count, 1, t('ACL was succesfully created.'), $group = 'ACL');
+    $records = db_query('SELECT acl_id, name FROM {acl} WHERE acl_id = :acl_id', array(':acl_id' => $acl_id))->fetchAll();
+    $this->assertEqual(count($records), 1, t('ACL was succesfully created.'), $group = 'ACL');
 
     // Add user (can't we use the user created in setup?).
     $web_user_1 = $this->drupalCreateUser();
     //$this->drupalLogin($web_user);
     acl_add_user($acl_id, $web_user_1->uid);
-    $count = db_select('acl_user', 'u')
-      ->fields('u', array('acl_id', 'uid'))
-      ->condition('u.uid', $web_user_1->uid)
-      ->countQuery()
-      ->execute()
-      ->fetchField();
+    $records = db_query('SELECT acl_id, uid FROM {acl_user} WHERE uid = :uid', array(':uid' => $web_user_1->uid))->fetchAll();
     // Verify user is added.
-    $this->assertEqual($count, 1, t('User was succesfully added.'), $group = 'ACL');
+    $this->assertEqual(count($records), 1, t('User was succesfully added.'), $group = 'ACL');
 
     // Remove user.
     acl_remove_user($acl_id, $web_user_1->uid);
-    $count = db_select('acl_user', 'u')
-      ->fields('u', array('acl_id', 'uid'))
-      ->condition('u.uid', $web_user_1->uid)
-      ->countQuery()
-      ->execute()
-      ->fetchField();
+    $records = db_query('SELECT acl_id, uid FROM {acl_user} WHERE uid = :uid', array(':uid' => $web_user_1->uid))->fetchAll();
     // Verify user is removed.
-    $this->assertEqual($count, 0, t('User was succesfully removed.'), $group = 'ACL');
+    $this->assertEqual(count($records), 0, t('User was succesfully removed.'), $group = 'ACL');
   }
 
   /**
@@ -113,51 +90,26 @@
     // Add two nodes.
     $query = db_select('node', 'n')
       ->fields('n', array('nid'))
-      ->condition('n.nid', array($node1->nid, $node2->nid), 'IN');
+      ->condition('nid', array($node1->nid, $node2->nid), 'IN');
     acl_add_nodes($query, $acl_id1, 1, 1, 1);
-    $count = db_select('acl_node', 'n')
-      ->fields('n', array('nid'))
-      ->condition('n.acl_id', $acl_id1)
-      ->countQuery()
-      ->execute()
-      ->fetchField();
+    $count = db_query('SELECT COUNT(nid) FROM {acl_node} WHERE acl_id = :acl_id', array(':acl_id' => $acl_id1))->fetchField();
     $this->assertEqual($count, 2, t("2 nodes under control ($count)."), $group = 'ACL');
     // Add a third node.
     acl_node_add_acl($node3->nid, $acl_id1, 1, 1, 1);
-    $count = db_select('acl_node', 'n')
-      ->fields('n', array('nid'))
-      ->condition('n.acl_id', $acl_id1)
-      ->countQuery()
-      ->execute()
-      ->fetchField();
+    $count = db_query('SELECT COUNT(nid) FROM {acl_node} WHERE acl_id = :acl_id', array(':acl_id' => $acl_id1))->fetchField();
     $this->assertEqual($count, 3, t('3 nodes under control.'), $group = 'ACL');
     // Add the second node again.
     acl_node_add_acl($node2->nid, $acl_id1, 1, 1, 1);
-    $count = db_select('acl_node', 'n')
-      ->fields('n', array('nid'))
-      ->condition('n.acl_id', $acl_id1)
-      ->countQuery()
-      ->execute()
-      ->fetchField();
+    $count = db_query('SELECT COUNT(nid) FROM {acl_node} WHERE acl_id = :acl_id', array(':acl_id' => $acl_id1))->fetchField();
     $this->assertEqual($count, 3, t('Still only 3 nodes under control.'), $group = 'ACL');
 
     // Remove the second node again.
     acl_node_remove_acl($node2->nid, $acl_id1);
-    $count = db_select('acl_node', 'n')
-      ->fields('n', array('nid'))
-      ->condition('n.acl_id', $acl_id1)
-      ->countQuery()
-      ->execute()
-      ->fetchField();
+    $count = db_query('SELECT COUNT(nid) FROM {acl_node} WHERE acl_id = :acl_id', array(':acl_id' => $acl_id1))->fetchField();
     $this->assertEqual($count, 2, t('2 nodes left under control.'), $group = 'ACL');
     // Remove the second node again.
     acl_node_remove_acl($node2->nid, $acl_id1);
-    $count = db_select('acl_node', 'n')
-      ->fields('n', array('nid'))
-      ->condition('n.acl_id', $acl_id1)
-      ->countQuery()
-      ->execute()
-      ->fetchField();
+    $count = db_query('SELECT COUNT(nid) FROM {acl_node} WHERE acl_id = :acl_id', array(':acl_id' => $acl_id1))->fetchField();
     $this->assertEqual($count, 2, t('Still 2 nodes left under control.'), $group = 'ACL');
 
     // Create another ACL and add nodes.
@@ -165,28 +117,13 @@
     $this->assertNotNull($acl_id2, t('ACL ID was created.'), $group = 'ACL');
     acl_node_add_acl($node1->nid, $acl_id2, 1, 1, 1);
     acl_node_add_acl($node2->nid, $acl_id2, 1, 1, 1);
-    $count = db_select('acl_node', 'n')
-      ->fields('n', array('nid'))
-      ->condition('n.acl_id', $acl_id2)
-      ->countQuery()
-      ->execute()
-      ->fetchField();
+    $count = db_query('SELECT COUNT(nid) FROM {acl_node} WHERE acl_id = :acl_id', array(':acl_id' => $acl_id2))->fetchField();
     $this->assertEqual($count, 2, t('2 nodes under control.'), $group = 'ACL');
     // Remove a node (which has two ACLs).
     acl_node_clear_acls($node1->nid, 'test3');
-    $count = db_select('acl_node', 'n')
-      ->fields('n', array('nid'))
-      ->condition('n.acl_id', $acl_id1)
-      ->countQuery()
-      ->execute()
-      ->fetchField();
+    $count = db_query('SELECT COUNT(nid) FROM {acl_node} WHERE acl_id = :acl_id', array(':acl_id' => $acl_id1))->fetchField();
     $this->assertEqual($count, 1, t('1 node left under control.'), $group = 'ACL');
-    $count = db_select('acl_node', 'n')
-      ->fields('n', array('nid'))
-      ->condition('n.acl_id', $acl_id2)
-      ->countQuery()
-      ->execute()
-      ->fetchField();
+    $count = db_query('SELECT COUNT(nid) FROM {acl_node} WHERE acl_id = :acl_id', array(':acl_id' => $acl_id2))->fetchField();
     $this->assertEqual($count, 1, t('1 node left under control.'), $group = 'ACL');
   }

Comments

salvis’s picture

Status: Needs review » Needs work

Please upload a patch file against the -dev version (and change the Version accordingly).

However, going back from DBTNG to db_query() is not acceptable. You need to find a DBTNG solution.

metallized’s picture

StatusFileSize
new23.7 KB

Here is the patch.

@salvis i'm replacing db_query to db_select() (see this issue).

metallized’s picture

Status: Needs work » Needs review
metallized’s picture

Version: 7.x-1.0 » 7.x-1.x-dev

Status: Needs review » Needs work

The last submitted patch, 2: 2385183-oracle-support.patch, failed testing.

salvis’s picture

I've looked at this again, and I'm really sorry that I mislead you in #1. As explained in #1538564-23: Use db_select() in place of db_query() to work with Oracle DB driver. there is a good reason for staying with db_query() after all, for the production code. Going to db_select() is fine for the tests.

I think the tests failed because you removed the comments. Why did you change/remove comments? Patches should be minimal and not touch any lines that are not directly related to the issue. If you feel that the comments need updating, then please create a separate issue.

What does your patch do that #1538564: Use db_select() in place of db_query() to work with Oracle DB driver. didn't? I see that there are differences, but why?

I see that 'number' is a reserved word in Oracle, but changing the schema is
a) undesirable, close to a breaking change -- we should probably do it when going to D8, but not within 7.x-1.x
b) difficult and dangerous -- you failed to provide a hook_update_NNN() function to rename the column in existing installations; existing hook_update_NNN() functions must NEVER be touched!!! Your patch would only work for people upgrading from D6, but it would completely break ACL for all existing D7 installations.

We have to find a solution without renaming the 'number' column.

Are there other differences?

salvis’s picture

Priority: Normal » Major

I would like to get this done before branching for D8, which makes it Major!

salvis’s picture

#2495027: ACL Drupal 8.x Port is waiting for this.

Can we just quote the 'number' column name in the db_query() statements?

Are there other compatibility issues with Oracle?

Status: Needs work » Needs review

Status: Needs review » Needs work

The last submitted patch, 2: 2385183-oracle-support.patch, failed testing.

salvis’s picture

Yeah, right.

  1. +++ b/Applications/MAMP/htdocs/ccp/sites/all/modules/contrib/acl/acl.test
    @@ -1,20 +1,8 @@
    +// $Id:
    

    The patch adds odd things that don't belong here (CVS tags?)...

  2. +++ b/Applications/MAMP/htdocs/ccp/sites/all/modules/contrib/acl/acl.test
    @@ -1,20 +1,8 @@
    -/**
    - * @file
    - * Tests for the ACL module.
    - */
    -
    -/**
    - * Test case for ACL module.
    - */
     class AclWebTestCase extends DrupalWebTestCase {
     
    -  /**
    -   * Implements getInfo().
    -   *
    -   * @return array
    -   */
    

    ... and removes required comments.

    Did you run this through Testing locally?

salvis’s picture

index 5681106..3e00179 100644
--- a/acl.module
+++ b/Applications/MAMP/htdocs/ccp/sites/all/modules/contrib/acl/acl.module
@@ -29,7 +29,7 @@ function acl_create_acl($module, $name = NULL, $number = NULL) {

This patch is completely invalid! It needs to look like

index 5681106..3e00179 100644
--- a/acl.module
+++ b/acl.module
@@ -29,7 +29,7 @@ function acl_create_acl($module, $name = NULL, $number = NULL) {

Having an path from your local installation breaks everything, obviously.

salvis’s picture

Status: Needs work » Needs review
StatusFileSize
new22.09 KB

@metallized:

It's odd that you change all sorts of things in #2 that are completely unrelated to this topic, like removing comments, using raw user names rather than theming them, renaming a parameter $usernames that contains user names to $users (no, it does not contain users!!!), etc.

To me as the maintainer, this is completely unacceptable. Nevertheless, I want to see what the patch does and I've tried to fix it at least far enough that the testbot should pick it up.

salvis’s picture

Status: Needs review » Needs work

Ok, so #13 would pass.

I was kind of hoping to somehow get the CI tests to run. Does anyone know how this works?

id.tarzanych’s picture

Where exactly do you have problems?

salvis’s picture

On ACL's "Automated Testing" page I'm seeing new controls for "Continuous integration tests", but I can't seem to get any actual results:

Current results
7.x-1.x-dev

PHP 5.4 & MySQL 5.5 Queueing
PHP 5.4 & SQLite 3.8 Queueing
PHP 5.5 & MySQL 5.5 Queueing
PHP 5.5 & PostgreSQL 9.1 Queueing
PHP 5.5 & SQLite 3.8 Queueing
PHP 5.6 & MySQL 5.5 Queueing

If I could actually run the tests with the various databases, I'd consider doing something about this issue...

salvis’s picture

Status: Needs work » Closed (outdated)

Sorry...