/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package net.sf.jsqlparser.test.connect;
import java.io.StringReader;
import net.sf.jsqlparser.test.GeneralTest;
import net.sf.jsqlparser.JSQLParserException;
import net.sf.jsqlparser.statement.select.Select;
import org.junit.Test;
import static org.junit.Assert.*;
/**
*
* @author mg
*/
public class ConnectByTest extends GeneralTest{
@Test
public void startWithPriorBeforeTest() throws JSQLParserException {
String statement = "SELECT last_name, employee_id, manager_id, LEVEL FROM employees START WITH employee_id = :par1 CONNECT BY NOCYCLE (PRIOR employee_id <> manager_id) ORDER BY last_name ASC";
checkParseAndDeparse(statement);
}
@Test
public void startWithPriorAfterTest() throws JSQLParserException {
String statement = "SELECT last_name, employee_id, manager_id, LEVEL FROM employees START WITH employee_id = ? CONNECT BY NOCYCLE employee_id = PRIOR manager_id ORDER BY last_name DESC";
checkParseAndDeparse(statement);
}
@Test
public void startWithPriorAfterTestWithComment() throws JSQLParserException {
String statement = "/*0*/ SELECT /*1*/ last_name, /*2*/ employee_id, /*3*/ manager_id, LEVEL FROM employees /*4*/ START /*5*/ WITH employee_id = ? /*6*/ CONNECT /*7*/ BY /*8*/ NOCYCLE employee_id = PRIOR manager_id ORDER BY last_name DESC /*9*/";
//checkParseAndDeparse(statement);
Select select = (Select) parserManager.parse(new StringReader(statement));
assertEquals(statement, "" + select);
}
}