@@ -1042,12 +1042,7 @@ export class V13ToV14Transformer {
10421042 const isInObjectAddressContext = context . parentNodeTypes ?. includes ( 'ObjectAddress' ) ;
10431043
10441044 if ( node . mode === "FUNC_PARAM_VARIADIC" ) {
1045- if ( isInAggregateContext ) {
1046- result . mode = "FUNC_PARAM_DEFAULT" ;
1047- } else {
1048- const isVariadicType = this . isVariadicParameterType ( node . argType ) ;
1049- result . mode = isVariadicType ? "FUNC_PARAM_VARIADIC" : "FUNC_PARAM_DEFAULT" ;
1050- }
1045+ result . mode = "FUNC_PARAM_VARIADIC" ;
10511046 } else if ( node . mode === "FUNC_PARAM_IN" ) {
10521047 result . mode = "FUNC_PARAM_DEFAULT" ;
10531048 } else {
@@ -1724,6 +1719,12 @@ export class V13ToV14Transformer {
17241719 CreateFunctionStmt ( node : PG13 . CreateFunctionStmt , context : TransformerContext ) : any {
17251720 const result : any = { ...node } ;
17261721
1722+ // Create child context with CreateFunctionStmt as parent
1723+ const childContext : TransformerContext = {
1724+ ...context ,
1725+ parentNodeTypes : [ ...( context . parentNodeTypes || [ ] ) , 'CreateFunctionStmt' ]
1726+ } ;
1727+
17271728 if ( node . funcname !== undefined ) {
17281729 result . funcname = Array . isArray ( node . funcname )
17291730 ? node . funcname . map ( item => this . transform ( item as any , context ) )
@@ -1732,8 +1733,8 @@ export class V13ToV14Transformer {
17321733
17331734 if ( node . parameters !== undefined ) {
17341735 result . parameters = Array . isArray ( node . parameters )
1735- ? node . parameters . map ( item => this . transform ( item as any , context ) )
1736- : this . transform ( node . parameters as any , context ) ;
1736+ ? node . parameters . map ( item => this . transform ( item as any , childContext ) )
1737+ : this . transform ( node . parameters as any , childContext ) ;
17371738 }
17381739
17391740 if ( node . returnType !== undefined ) {
@@ -2832,7 +2833,7 @@ export class V13ToV14Transformer {
28322833 private mapTableLikeOption ( pg13Value : number ) : number {
28332834 // Handle specific mappings based on test failures:
28342835
2835- // Handle negative values (bitwise NOT operations)
2836+ // Handle negative values (bitwise NOT operations) - these need special handling
28362837 if ( pg13Value < 0 ) {
28372838 return pg13Value ;
28382839 }
0 commit comments