Exemplo n.º 1
0
 function test_unresolve_column_name()
 {
     $parser = new SQL_Parser();
     $compiler = new SQL_Compiler();
     $sql = 'select foo, bar from Table1';
     $parsed = $parser->parse($sql);
     $wrapper = new SQL_Parser_wrapper($parsed);
     /*
      * Try a simple column name to make sure that it is unchanged.
      */
     $this->assertEquals("a", $wrapper->unresolveColumnName("a"));
     /*
      * Try one with an invalid tablename.  Should give an error.
      */
     $out = $wrapper->unresolveColumnName("b.a");
     $this->assertTrue(is_a($out, "PEAR_Error"));
     $sql = 'select * from Table1 as a, Table2 as b';
     $parsed = $parser->parse($sql);
     $wrapper = new SQL_Parser_wrapper($parsed);
     $this->assertEquals('a.foo', $wrapper->unresolveColumnName("Table1.foo"));
     $this->assertEquals('b.bar', $wrapper->unresolveColumnName("Table2.bar"));
     $this->assertEquals('a.foo', $wrapper->unresolveColumnName("a.foo"));
     $this->assertEquals('b.bar', $wrapper->unresolveColumnName("b.bar"));
     $this->assertEquals('id', $wrapper->unresolveColumnName("id"));
 }