11package net .sf .jsqlparser .statement .create ;
22
33import java .io .StringReader ;
4-
54import junit .framework .TestCase ;
65import net .sf .jsqlparser .JSQLParserException ;
76import net .sf .jsqlparser .parser .CCJSqlParserManager ;
@@ -23,8 +22,7 @@ public void testCreateView() throws JSQLParserException {
2322 CreateView createView = (CreateView ) parserManager .parse (new StringReader (statement ));
2423 assertFalse (createView .isOrReplace ());
2524 assertEquals ("myview" , createView .getView ().getName ());
26- assertEquals ("mytab" , ((Table ) ((PlainSelect ) createView .getSelectBody ()).getFromItem ()).
27- getName ());
25+ assertEquals ("mytab" , ((Table ) ((PlainSelect ) createView .getSelect ().getSelectBody ()).getFromItem ()).getName ());
2826 assertEquals (statement , createView .toString ());
2927 }
3028
@@ -54,7 +52,7 @@ public void testCreateView5() throws JSQLParserException {
5452 CreateView createView = (CreateView ) parserManager .parse (new StringReader (statement ));
5553 assertFalse (createView .isOrReplace ());
5654 assertEquals ("myview" , createView .getView ().getName ());
57- assertEquals ("mytab" , ((Table ) ((PlainSelect ) createView .getSelectBody ()).getFromItem ()).
55+ assertEquals ("mytab" , ((Table ) ((PlainSelect ) createView .getSelect (). getSelectBody ()).getFromItem ()).
5856 getName ());
5957 assertEquals (statement2 , createView .toString ());
6058 }
@@ -92,4 +90,8 @@ public void testCreateTemporaryViewIssue604() throws JSQLParserException {
9290 public void testCreateTemporaryViewIssue604_2 () throws JSQLParserException {
9391 assertSqlCanBeParsedAndDeparsed ("CREATE TEMP VIEW myview AS SELECT * FROM mytable" );
9492 }
93+
94+ public void testCreateTemporaryViewIssue665 () throws JSQLParserException {
95+ assertSqlCanBeParsedAndDeparsed ("CREATE VIEW foo(\" BAR\" ) AS WITH temp AS (SELECT temp_bar FROM foobar) SELECT bar FROM temp" );
96+ }
9597}
0 commit comments