--- \\original\includes\database\oracle\database.inc	2011-12-19 08:01:59.000000000 -0500
+++ \\new\includes\database\oracle\database.inc	2012-01-05 10:56:34.000000000 -0500
@@ -450,20 +451,35 @@
   {
         $search = array ("/({)(\w+)(})/e", // escapes all table names
                          "/({L#)([0-9]+)(})/e", // escapes long id
 		                 "/(\:)(uid|session|file|access|mode|comment|desc|size)/e",
 			   	         "/(<uid>|<session>|<file>|<access>|<mode>|<comment>|<desc>|<size>)/e",
 			   	         '/([\(\.\s,])(uid|session|file|access|mode|comment|desc|size)([,\s\=)])/e',
-                         '/([\(\.\s,])(uid|session|file|access|mode|comment|desc|size)$/e');
-
+                          '/([\(\.\s,])(uid|session|file|access|mode|comment|desc|size)$/e'
+                         );
 
 	    $replace = array ("'\"\\1'.strtoupper('\\2').'\\3\"'",
 				          "'\"\\1'.strtoupper('\\2').'\\3\"'",
 				          "'\\1'.'db_'.'\\2'.'\\3'",
 					      "strtoupper('\"\\1\"')",
 					      "'\\1'.strtoupper('\"\\2\"').'\\3'",
-	                      "'\\1'.strtoupper('\"\\2\"')");
+                        "'\\1'.strtoupper('\"\\2\"')"
+                       );
 
-
+        return preg_replace($search, $replace, $query);  	
+  }
 
+  private function escapeTableAlias($query)
 
+      $search = array ('/(FROM|JOIN|from|join) ({\w+})( AS | as )/e', // Replaces all FROM table AS alias to FROM table alias
+         '/(FROM|JOIN|from|join) (\(.+\))( AS )/e' // Replaces all FROM (SELECT table) AS alias to FROM (SELECT table) alias
+      );
 
+      $replace = array ("'\\1'.' '.'\\2'.' '.'\\4'",
+         "'\\1'.' '.'\\2'.' '.'\\4'"
+      );
 
         return preg_replace($search, $replace, $query);  	
   }
   
   
   public function removeFromCachedStatements($query)
