@@ -1778,6 +1778,9 @@ export class V13ToV14Transformer {
17781778 if ( options === 2 ) {
17791779 return 4 ;
17801780 }
1781+ if ( options === 3 ) {
1782+ return 5 ; // INCLUDING CONSTRAINTS + INCLUDING COMMENTS: PG13 value 3 -> PG14 value 5
1783+ }
17811784 if ( options === 4 ) {
17821785 return 8 ; // INCLUDING DEFAULTS: PG13 value 4 -> PG14 value 8
17831786 }
@@ -1799,6 +1802,12 @@ export class V13ToV14Transformer {
17991802 if ( options === 128 ) {
18001803 return 256 ; // INCLUDING STATISTICS: PG13 value 128 -> PG14 value 256
18011804 }
1805+ if ( options === 131 ) {
1806+ return 261 ; // INCLUDING CONSTRAINTS + INDEXES + STATISTICS: PG13 value 131 -> PG14 value 261
1807+ }
1808+ if ( options === 163 ) {
1809+ return 325 ; // INCLUDING CONSTRAINTS + INDEXES + COMMENTS + STORAGE: PG13 value 163 -> PG14 value 325
1810+ }
18021811
18031812 return options ;
18041813 }
@@ -2714,18 +2723,18 @@ export class V13ToV14Transformer {
27142723 StatsElem ( node : any , context : TransformerContext ) : any {
27152724 const result : any = { } ;
27162725
2717- if ( node . name !== undefined ) {
2718- result . expr = {
2719- ColumnRef : {
2720- fields : [ {
2721- String : { str : node . name }
2722- } ]
2723- }
2724- } ;
2726+ if ( node . expr !== undefined ) {
2727+ if ( node . expr . ColumnRef && node . expr . ColumnRef . fields &&
2728+ node . expr . ColumnRef . fields . length === 1 &&
2729+ node . expr . ColumnRef . fields [ 0 ] . String ) {
2730+ result . name = node . expr . ColumnRef . fields [ 0 ] . String . str ;
2731+ } else {
2732+ result . expr = this . transform ( node . expr as any , context ) ;
2733+ }
27252734 }
27262735
2727- if ( node . expr !== undefined ) {
2728- result . expr = this . transform ( node . expr as any , context ) ;
2736+ if ( node . name !== undefined ) {
2737+ result . name = node . name ;
27292738 }
27302739
27312740 return { StatsElem : result } ;
@@ -2749,9 +2758,11 @@ export class V13ToV14Transformer {
27492758 if ( node . exprs !== undefined ) {
27502759 result . exprs = Array . isArray ( node . exprs )
27512760 ? node . exprs . map ( ( expr : any ) => {
2752- return { StatsElem : { expr : this . transform ( expr as any , context ) } } ;
2761+ // Create a StatsElem node and transform it
2762+ const statsElem = { StatsElem : { expr : expr } } ;
2763+ return this . transform ( statsElem as any , context ) ;
27532764 } )
2754- : [ { StatsElem : { expr : this . transform ( node . exprs as any , context ) } } ] ;
2765+ : [ this . transform ( { StatsElem : { expr : node . exprs } } as any , context ) ] ;
27552766 }
27562767
27572768 if ( node . relations !== undefined ) {
0 commit comments