[jira] [Updated] (CALCITE-1962) SqlOrderBy unparse ignores dialect.

2019-02-27 Thread Kevin Risden (JIRA)


 [ 
https://issues.apache.org/jira/browse/CALCITE-1962?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kevin Risden updated CALCITE-1962:
--
Labels: pull-request-available  (was: )

> SqlOrderBy unparse ignores dialect.
> ---
>
> Key: CALCITE-1962
> URL: https://issues.apache.org/jira/browse/CALCITE-1962
> Project: Calcite
>  Issue Type: Bug
>Reporter: Paul O'Riordan
>Priority: Major
>  Labels: pull-request-available
>
> Given the following code:
> {noformat}
> final SqlParser.ConfigBuilder configBuilder =  
> SqlParser.configBuilder();
> configBuilder.setLex(Lex.MYSQL);
> final SqlParser.Config config = configBuilder.build();
> final SqlParser parser = SqlParser.create(str, config);
> final SqlNode parsedStatement = parser.parseQuery("select id from 
> Test limit 1");
> final SqlDialect mysqlDialect = new SqlDialect(DatabaseProduct.MYSQL, 
> "mysql", "`", NullCollation.LAST);
> final SqlPrettyWriter spw1 = new SqlPrettyWriter(mysqlDialect);
> System.out.println(spw1.format(parsedStatement));
> {noformat}
> The output is:
> {noformat}
> SELECT `id`
> FROM `Test`
> FETCH NEXT 1 ROWS ONLY
> {noformat}
> Expected output:
> {noformat}
> SELECT `id`
> FROM `Test`
> LIMIT 1
> {noformat}
> Suggested fix:
> {noformat}
> diff --git a/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java 
> b/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
> index 421b9e21d..b26ffd67b 100644
> --- a/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
> +++ b/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
> @@ -95,26 +95,7 @@ public void unparse(
>  unparseListClause(writer, orderBy.orderList);
>  writer.endList(listFrame);
>}
> -  if (orderBy.offset != null) {
> -final SqlWriter.Frame frame2 =
> -writer.startList(SqlWriter.FrameTypeEnum.OFFSET);
> -writer.newlineAndIndent();
> -writer.keyword("OFFSET");
> -orderBy.offset.unparse(writer, -1, -1);
> -writer.keyword("ROWS");
> -writer.endList(frame2);
> -  }
> -  if (orderBy.fetch != null) {
> -final SqlWriter.Frame frame3 =
> -writer.startList(SqlWriter.FrameTypeEnum.FETCH);
> -writer.newlineAndIndent();
> -writer.keyword("FETCH");
> -writer.keyword("NEXT");
> -orderBy.fetch.unparse(writer, -1, -1);
> -writer.keyword("ROWS");
> -writer.keyword("ONLY");
> -writer.endList(frame3);
> -  }
> +  writer.fetchOffset(orderBy.fetch, orderBy.offset);
>writer.endList(frame);
>  }
>}
> {noformat}
> See PR: https://github.com/apache/calcite/pull/525



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (CALCITE-1962) SqlOrderBy unparse ignores dialect.

2017-08-23 Thread Paul O'Riordan (JIRA)

 [ 
https://issues.apache.org/jira/browse/CALCITE-1962?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Paul O'Riordan updated CALCITE-1962:

  Flags: Patch
Description: 
Given the following code:


{noformat}
final SqlParser.ConfigBuilder configBuilder =  
SqlParser.configBuilder();
configBuilder.setLex(Lex.MYSQL);

final SqlParser.Config config = configBuilder.build();
final SqlParser parser = SqlParser.create(str, config);
final SqlNode parsedStatement = parser.parseQuery("select id from Test 
limit 1");

final SqlDialect mysqlDialect = new SqlDialect(DatabaseProduct.MYSQL, 
"mysql", "`", NullCollation.LAST);
final SqlPrettyWriter spw1 = new SqlPrettyWriter(mysqlDialect);
System.out.println(spw1.format(parsedStatement));
{noformat}


The output is:


{noformat}
SELECT `id`
FROM `Test`
FETCH NEXT 1 ROWS ONLY
{noformat}



Expected output:


{noformat}
SELECT `id`
FROM `Test`
LIMIT 1
{noformat}


Suggested fix:


{noformat}
diff --git a/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java 
b/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
index 421b9e21d..b26ffd67b 100644
--- a/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
+++ b/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
@@ -95,26 +95,7 @@ public void unparse(
 unparseListClause(writer, orderBy.orderList);
 writer.endList(listFrame);
   }
-  if (orderBy.offset != null) {
-final SqlWriter.Frame frame2 =
-writer.startList(SqlWriter.FrameTypeEnum.OFFSET);
-writer.newlineAndIndent();
-writer.keyword("OFFSET");
-orderBy.offset.unparse(writer, -1, -1);
-writer.keyword("ROWS");
-writer.endList(frame2);
-  }
-  if (orderBy.fetch != null) {
-final SqlWriter.Frame frame3 =
-writer.startList(SqlWriter.FrameTypeEnum.FETCH);
-writer.newlineAndIndent();
-writer.keyword("FETCH");
-writer.keyword("NEXT");
-orderBy.fetch.unparse(writer, -1, -1);
-writer.keyword("ROWS");
-writer.keyword("ONLY");
-writer.endList(frame3);
-  }
+  writer.fetchOffset(orderBy.fetch, orderBy.offset);
   writer.endList(frame);
 }
   }
{noformat}

See PR: https://github.com/apache/calcite/pull/525




  was:
Given the following code:


{noformat}
final SqlParser.ConfigBuilder configBuilder =  
SqlParser.configBuilder();
configBuilder.setLex(Lex.MYSQL);

final SqlParser.Config config = configBuilder.build();
final SqlParser parser = SqlParser.create(str, config);
final SqlNode parsedStatement = parser.parseQuery("select id from Test 
limit 1");

final SqlDialect mysqlDialect = new SqlDialect(DatabaseProduct.MYSQL, 
"mysql", "`", NullCollation.LAST);
final SqlPrettyWriter spw1 = new SqlPrettyWriter(mysqlDialect);
System.out.println(spw1.format(parsedStatement));
{noformat}


The output is:


{noformat}
SELECT `id`
FROM `Test`
FETCH NEXT 1 ROWS ONLY
{noformat}



Expected output:


{noformat}
SELECT `id`
FROM `Test`
LIMIT 1
{noformat}


Suggested fix:


{noformat}
diff --git a/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java 
b/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
index 421b9e21d..b26ffd67b 100644
--- a/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
+++ b/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
@@ -95,26 +95,7 @@ public void unparse(
 unparseListClause(writer, orderBy.orderList);
 writer.endList(listFrame);
   }
-  if (orderBy.offset != null) {
-final SqlWriter.Frame frame2 =
-writer.startList(SqlWriter.FrameTypeEnum.OFFSET);
-writer.newlineAndIndent();
-writer.keyword("OFFSET");
-orderBy.offset.unparse(writer, -1, -1);
-writer.keyword("ROWS");
-writer.endList(frame2);
-  }
-  if (orderBy.fetch != null) {
-final SqlWriter.Frame frame3 =
-writer.startList(SqlWriter.FrameTypeEnum.FETCH);
-writer.newlineAndIndent();
-writer.keyword("FETCH");
-writer.keyword("NEXT");
-orderBy.fetch.unparse(writer, -1, -1);
-writer.keyword("ROWS");
-writer.keyword("ONLY");
-writer.endList(frame3);
-  }
+  writer.fetchOffset(orderBy.fetch, orderBy.offset);
   writer.endList(frame);
 }
   }
{noformat}





> SqlOrderBy unparse ignores dialect.
> ---
>
> Key: CALCITE-1962
> URL: https://issues.apache.org/jira/browse/CALCITE-1962
> Project: Calcite
>  Issue Type: Bug
>Reporter: Paul O'Riordan
>Assignee: Julian Hyde
>
> Given the following code:
> {noformat}
> final SqlParser.ConfigBuilder configBuilder =  
> SqlParser.configBuilder();
> 

[jira] [Updated] (CALCITE-1962) SqlOrderBy unparse ignores dialect.

2017-08-23 Thread Paul O'Riordan (JIRA)

 [ 
https://issues.apache.org/jira/browse/CALCITE-1962?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Paul O'Riordan updated CALCITE-1962:

Description: 
Given the following code:


{noformat}
final SqlParser.ConfigBuilder configBuilder =  
SqlParser.configBuilder();
configBuilder.setLex(Lex.MYSQL);

final SqlParser.Config config = configBuilder.build();
final SqlParser parser = SqlParser.create(str, config);
final SqlNode parsedStatement = parser.parseQuery("select id from Test 
limit 1");
//final SqlNode output = parsedStatement.accept(visitor);

final SqlDialect mysqlDialect = new SqlDialect(DatabaseProduct.MYSQL, 
"mysql", "`", NullCollation.LAST);
final SqlPrettyWriter spw1 = new SqlPrettyWriter(mysqlDialect);
System.out.println(spw1.format(parsedStatement));
{noformat}


The output is:


{noformat}
SELECT `id`
FROM `Test`
FETCH NEXT 1 ROWS ONLY
{noformat}



Expected output:


{noformat}
SELECT `id`
FROM `Test`
LIMIT 1
{noformat}


Suggested fix:


{noformat}
diff --git a/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java 
b/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
index 421b9e21d..b26ffd67b 100644
--- a/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
+++ b/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
@@ -95,26 +95,7 @@ public void unparse(
 unparseListClause(writer, orderBy.orderList);
 writer.endList(listFrame);
   }
-  if (orderBy.offset != null) {
-final SqlWriter.Frame frame2 =
-writer.startList(SqlWriter.FrameTypeEnum.OFFSET);
-writer.newlineAndIndent();
-writer.keyword("OFFSET");
-orderBy.offset.unparse(writer, -1, -1);
-writer.keyword("ROWS");
-writer.endList(frame2);
-  }
-  if (orderBy.fetch != null) {
-final SqlWriter.Frame frame3 =
-writer.startList(SqlWriter.FrameTypeEnum.FETCH);
-writer.newlineAndIndent();
-writer.keyword("FETCH");
-writer.keyword("NEXT");
-orderBy.fetch.unparse(writer, -1, -1);
-writer.keyword("ROWS");
-writer.keyword("ONLY");
-writer.endList(frame3);
-  }
+  writer.fetchOffset(orderBy.fetch, orderBy.offset);
   writer.endList(frame);
 }
   }
{noformat}




  was:
Given the following code:

{{final SqlParser.ConfigBuilder configBuilder =  
SqlParser.configBuilder();
configBuilder.setLex(Lex.MYSQL);

final SqlParser.Config config = configBuilder.build();
final SqlParser parser = SqlParser.create(str, config);
final SqlNode parsedStatement = parser.parseQuery("select id from Test 
limit 1");
//final SqlNode output = parsedStatement.accept(visitor);

final SqlDialect mysqlDialect = new SqlDialect(DatabaseProduct.MYSQL, 
"mysql", "`", NullCollation.LAST);
final SqlPrettyWriter spw1 = new SqlPrettyWriter(mysqlDialect);
System.out.println(spw1.format(parsedStatement));}}

The output is:

{{SELECT `id`
FROM `Test`
FETCH NEXT 1 ROWS ONLY}}


Expected output:

{{SELECT `id`
FROM `Test`
LIMIT 1}}

Suggested fix:

{{diff --git a/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java 
b/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
index 421b9e21d..b26ffd67b 100644
--- a/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
+++ b/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
@@ -95,26 +95,7 @@ public void unparse(
 unparseListClause(writer, orderBy.orderList);
 writer.endList(listFrame);
   }
-  if (orderBy.offset != null) {
-final SqlWriter.Frame frame2 =
-writer.startList(SqlWriter.FrameTypeEnum.OFFSET);
-writer.newlineAndIndent();
-writer.keyword("OFFSET");
-orderBy.offset.unparse(writer, -1, -1);
-writer.keyword("ROWS");
-writer.endList(frame2);
-  }
-  if (orderBy.fetch != null) {
-final SqlWriter.Frame frame3 =
-writer.startList(SqlWriter.FrameTypeEnum.FETCH);
-writer.newlineAndIndent();
-writer.keyword("FETCH");
-writer.keyword("NEXT");
-orderBy.fetch.unparse(writer, -1, -1);
-writer.keyword("ROWS");
-writer.keyword("ONLY");
-writer.endList(frame3);
-  }
+  writer.fetchOffset(orderBy.fetch, orderBy.offset);
   writer.endList(frame);
 }
   }}}




> SqlOrderBy unparse ignores dialect.
> ---
>
> Key: CALCITE-1962
> URL: https://issues.apache.org/jira/browse/CALCITE-1962
> Project: Calcite
>  Issue Type: Bug
>Reporter: Paul O'Riordan
>Assignee: Julian Hyde
>
> Given the following code:
> {noformat}
> final SqlParser.ConfigBuilder configBuilder =  
> SqlParser.configBuilder();
> 

[jira] [Updated] (CALCITE-1962) SqlOrderBy unparse ignores dialect.

2017-08-23 Thread Paul O'Riordan (JIRA)

 [ 
https://issues.apache.org/jira/browse/CALCITE-1962?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Paul O'Riordan updated CALCITE-1962:

Description: 
Given the following code:


{noformat}
final SqlParser.ConfigBuilder configBuilder =  
SqlParser.configBuilder();
configBuilder.setLex(Lex.MYSQL);

final SqlParser.Config config = configBuilder.build();
final SqlParser parser = SqlParser.create(str, config);
final SqlNode parsedStatement = parser.parseQuery("select id from Test 
limit 1");

final SqlDialect mysqlDialect = new SqlDialect(DatabaseProduct.MYSQL, 
"mysql", "`", NullCollation.LAST);
final SqlPrettyWriter spw1 = new SqlPrettyWriter(mysqlDialect);
System.out.println(spw1.format(parsedStatement));
{noformat}


The output is:


{noformat}
SELECT `id`
FROM `Test`
FETCH NEXT 1 ROWS ONLY
{noformat}



Expected output:


{noformat}
SELECT `id`
FROM `Test`
LIMIT 1
{noformat}


Suggested fix:


{noformat}
diff --git a/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java 
b/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
index 421b9e21d..b26ffd67b 100644
--- a/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
+++ b/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
@@ -95,26 +95,7 @@ public void unparse(
 unparseListClause(writer, orderBy.orderList);
 writer.endList(listFrame);
   }
-  if (orderBy.offset != null) {
-final SqlWriter.Frame frame2 =
-writer.startList(SqlWriter.FrameTypeEnum.OFFSET);
-writer.newlineAndIndent();
-writer.keyword("OFFSET");
-orderBy.offset.unparse(writer, -1, -1);
-writer.keyword("ROWS");
-writer.endList(frame2);
-  }
-  if (orderBy.fetch != null) {
-final SqlWriter.Frame frame3 =
-writer.startList(SqlWriter.FrameTypeEnum.FETCH);
-writer.newlineAndIndent();
-writer.keyword("FETCH");
-writer.keyword("NEXT");
-orderBy.fetch.unparse(writer, -1, -1);
-writer.keyword("ROWS");
-writer.keyword("ONLY");
-writer.endList(frame3);
-  }
+  writer.fetchOffset(orderBy.fetch, orderBy.offset);
   writer.endList(frame);
 }
   }
{noformat}




  was:
Given the following code:


{noformat}
final SqlParser.ConfigBuilder configBuilder =  
SqlParser.configBuilder();
configBuilder.setLex(Lex.MYSQL);

final SqlParser.Config config = configBuilder.build();
final SqlParser parser = SqlParser.create(str, config);
final SqlNode parsedStatement = parser.parseQuery("select id from Test 
limit 1");
//final SqlNode output = parsedStatement.accept(visitor);

final SqlDialect mysqlDialect = new SqlDialect(DatabaseProduct.MYSQL, 
"mysql", "`", NullCollation.LAST);
final SqlPrettyWriter spw1 = new SqlPrettyWriter(mysqlDialect);
System.out.println(spw1.format(parsedStatement));
{noformat}


The output is:


{noformat}
SELECT `id`
FROM `Test`
FETCH NEXT 1 ROWS ONLY
{noformat}



Expected output:


{noformat}
SELECT `id`
FROM `Test`
LIMIT 1
{noformat}


Suggested fix:


{noformat}
diff --git a/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java 
b/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
index 421b9e21d..b26ffd67b 100644
--- a/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
+++ b/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
@@ -95,26 +95,7 @@ public void unparse(
 unparseListClause(writer, orderBy.orderList);
 writer.endList(listFrame);
   }
-  if (orderBy.offset != null) {
-final SqlWriter.Frame frame2 =
-writer.startList(SqlWriter.FrameTypeEnum.OFFSET);
-writer.newlineAndIndent();
-writer.keyword("OFFSET");
-orderBy.offset.unparse(writer, -1, -1);
-writer.keyword("ROWS");
-writer.endList(frame2);
-  }
-  if (orderBy.fetch != null) {
-final SqlWriter.Frame frame3 =
-writer.startList(SqlWriter.FrameTypeEnum.FETCH);
-writer.newlineAndIndent();
-writer.keyword("FETCH");
-writer.keyword("NEXT");
-orderBy.fetch.unparse(writer, -1, -1);
-writer.keyword("ROWS");
-writer.keyword("ONLY");
-writer.endList(frame3);
-  }
+  writer.fetchOffset(orderBy.fetch, orderBy.offset);
   writer.endList(frame);
 }
   }
{noformat}





> SqlOrderBy unparse ignores dialect.
> ---
>
> Key: CALCITE-1962
> URL: https://issues.apache.org/jira/browse/CALCITE-1962
> Project: Calcite
>  Issue Type: Bug
>Reporter: Paul O'Riordan
>Assignee: Julian Hyde
>
> Given the following code:
> {noformat}
> final SqlParser.ConfigBuilder configBuilder =  
> SqlParser.configBuilder();
> 

[jira] [Updated] (CALCITE-1962) SqlOrderBy unparse ignores dialect.

2017-08-23 Thread Paul O'Riordan (JIRA)

 [ 
https://issues.apache.org/jira/browse/CALCITE-1962?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Paul O'Riordan updated CALCITE-1962:

Description: 
Given the following code:

{{final SqlParser.ConfigBuilder configBuilder =  
SqlParser.configBuilder();
configBuilder.setLex(Lex.MYSQL);

final SqlParser.Config config = configBuilder.build();
final SqlParser parser = SqlParser.create(str, config);
final SqlNode parsedStatement = parser.parseQuery("select id from Test 
limit 1");
//final SqlNode output = parsedStatement.accept(visitor);

final SqlDialect mysqlDialect = new SqlDialect(DatabaseProduct.MYSQL, 
"mysql", "`", NullCollation.LAST);
final SqlPrettyWriter spw1 = new SqlPrettyWriter(mysqlDialect);
System.out.println(spw1.format(parsedStatement));}}

The output is:

{{SELECT `id`
FROM `Test`
FETCH NEXT 1 ROWS ONLY}}


Expected output:

{{SELECT `id`
FROM `Test`
LIMIT 1}}

Suggested fix:

{{diff --git a/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java 
b/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
index 421b9e21d..b26ffd67b 100644
--- a/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
+++ b/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
@@ -95,26 +95,7 @@ public void unparse(
 unparseListClause(writer, orderBy.orderList);
 writer.endList(listFrame);
   }
-  if (orderBy.offset != null) {
-final SqlWriter.Frame frame2 =
-writer.startList(SqlWriter.FrameTypeEnum.OFFSET);
-writer.newlineAndIndent();
-writer.keyword("OFFSET");
-orderBy.offset.unparse(writer, -1, -1);
-writer.keyword("ROWS");
-writer.endList(frame2);
-  }
-  if (orderBy.fetch != null) {
-final SqlWriter.Frame frame3 =
-writer.startList(SqlWriter.FrameTypeEnum.FETCH);
-writer.newlineAndIndent();
-writer.keyword("FETCH");
-writer.keyword("NEXT");
-orderBy.fetch.unparse(writer, -1, -1);
-writer.keyword("ROWS");
-writer.keyword("ONLY");
-writer.endList(frame3);
-  }
+  writer.fetchOffset(orderBy.fetch, orderBy.offset);
   writer.endList(frame);
 }
   }}}



  was:
Given the following code:

{{
final SqlParser.ConfigBuilder configBuilder =  
SqlParser.configBuilder();
configBuilder.setLex(Lex.MYSQL);

final SqlParser.Config config = configBuilder.build();
final SqlParser parser = SqlParser.create(str, config);
final SqlNode parsedStatement = parser.parseQuery("select id from Test 
limit 1");
//final SqlNode output = parsedStatement.accept(visitor);

final SqlDialect mysqlDialect = new SqlDialect(DatabaseProduct.MYSQL, 
"mysql", "`", NullCollation.LAST);
final SqlPrettyWriter spw1 = new SqlPrettyWriter(mysqlDialect);
System.out.println(spw1.format(parsedStatement));
}}

The output is:

{{
SELECT `id`
FROM `Test`
FETCH NEXT 1 ROWS ONLY
}}

Expected output:

{{
SELECT `id`
FROM `Test`
LIMIT 1
}}

Suggested fix:

{{
diff --git a/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java 
b/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
index 421b9e21d..b26ffd67b 100644
--- a/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
+++ b/core/src/main/java/org/apache/calcite/sql/SqlOrderBy.java
@@ -95,26 +95,7 @@ public void unparse(
 unparseListClause(writer, orderBy.orderList);
 writer.endList(listFrame);
   }
-  if (orderBy.offset != null) {
-final SqlWriter.Frame frame2 =
-writer.startList(SqlWriter.FrameTypeEnum.OFFSET);
-writer.newlineAndIndent();
-writer.keyword("OFFSET");
-orderBy.offset.unparse(writer, -1, -1);
-writer.keyword("ROWS");
-writer.endList(frame2);
-  }
-  if (orderBy.fetch != null) {
-final SqlWriter.Frame frame3 =
-writer.startList(SqlWriter.FrameTypeEnum.FETCH);
-writer.newlineAndIndent();
-writer.keyword("FETCH");
-writer.keyword("NEXT");
-orderBy.fetch.unparse(writer, -1, -1);
-writer.keyword("ROWS");
-writer.keyword("ONLY");
-writer.endList(frame3);
-  }
+  writer.fetchOffset(orderBy.fetch, orderBy.offset);
   writer.endList(frame);
 }
   }
}}



> SqlOrderBy unparse ignores dialect.
> ---
>
> Key: CALCITE-1962
> URL: https://issues.apache.org/jira/browse/CALCITE-1962
> Project: Calcite
>  Issue Type: Bug
>Reporter: Paul O'Riordan
>Assignee: Julian Hyde
>
> Given the following code:
> {{final SqlParser.ConfigBuilder configBuilder =  
> SqlParser.configBuilder();
> configBuilder.setLex(Lex.MYSQL);
> final SqlParser.Config config = configBuilder.build();
> final