@@ -31,6 +31,11 @@ func resolveCatalogRefs(c *catalog.Catalog, qc *QueryCatalog, rvs []*ast.RangeVa
3131 return defaultName
3232 }
3333
34+ isNamedParam := func (n int ) bool {
35+ _ , ok := names [n ]
36+ return ok
37+ }
38+
3439 typeMap := map [string ]map [string ]map [string ]* catalog.Column {}
3540 indexTable := func (table catalog.Table ) error {
3641 tables = append (tables , table .Rel )
@@ -88,19 +93,21 @@ func resolveCatalogRefs(c *catalog.Catalog, qc *QueryCatalog, rvs []*ast.RangeVa
8893 a = append (a , Parameter {
8994 Number : ref .ref .Number ,
9095 Column : & Column {
91- Name : parameterName (ref .ref .Number , "offset" ),
92- DataType : "integer" ,
93- NotNull : true ,
96+ Name : parameterName (ref .ref .Number , "offset" ),
97+ DataType : "integer" ,
98+ NotNull : true ,
99+ IsNamedParam : isNamedParam (ref .ref .Number ),
94100 },
95101 })
96102
97103 case * limitCount :
98104 a = append (a , Parameter {
99105 Number : ref .ref .Number ,
100106 Column : & Column {
101- Name : parameterName (ref .ref .Number , "limit" ),
102- DataType : "integer" ,
103- NotNull : true ,
107+ Name : parameterName (ref .ref .Number , "limit" ),
108+ DataType : "integer" ,
109+ NotNull : true ,
110+ IsNamedParam : isNamedParam (ref .ref .Number ),
104111 },
105112 })
106113
@@ -121,8 +128,9 @@ func resolveCatalogRefs(c *catalog.Catalog, qc *QueryCatalog, rvs []*ast.RangeVa
121128 a = append (a , Parameter {
122129 Number : ref .ref .Number ,
123130 Column : & Column {
124- Name : parameterName (ref .ref .Number , "" ),
125- DataType : dataType ,
131+ Name : parameterName (ref .ref .Number , "" ),
132+ DataType : dataType ,
133+ IsNamedParam : isNamedParam (ref .ref .Number ),
126134 },
127135 })
128136 continue
@@ -178,12 +186,13 @@ func resolveCatalogRefs(c *catalog.Catalog, qc *QueryCatalog, rvs []*ast.RangeVa
178186 a = append (a , Parameter {
179187 Number : ref .ref .Number ,
180188 Column : & Column {
181- Name : parameterName (ref .ref .Number , key ),
182- DataType : dataType (& c .Type ),
183- NotNull : c .IsNotNull ,
184- IsArray : c .IsArray ,
185- Length : c .Length ,
186- Table : table ,
189+ Name : parameterName (ref .ref .Number , key ),
190+ DataType : dataType (& c .Type ),
191+ NotNull : c .IsNotNull ,
192+ IsArray : c .IsArray ,
193+ Length : c .Length ,
194+ Table : table ,
195+ IsNamedParam : isNamedParam (ref .ref .Number ),
187196 },
188197 })
189198 }
@@ -234,11 +243,12 @@ func resolveCatalogRefs(c *catalog.Catalog, qc *QueryCatalog, rvs []*ast.RangeVa
234243 a = append (a , Parameter {
235244 Number : number ,
236245 Column : & Column {
237- Name : parameterName (ref .ref .Number , key ),
238- DataType : dataType (& c .Type ),
239- NotNull : c .IsNotNull ,
240- IsArray : c .IsArray ,
241- Table : table ,
246+ Name : parameterName (ref .ref .Number , key ),
247+ DataType : dataType (& c .Type ),
248+ NotNull : c .IsNotNull ,
249+ IsArray : c .IsArray ,
250+ Table : table ,
251+ IsNamedParam : isNamedParam (ref .ref .Number ),
242252 },
243253 })
244254 }
@@ -300,8 +310,9 @@ func resolveCatalogRefs(c *catalog.Catalog, qc *QueryCatalog, rvs []*ast.RangeVa
300310 a = append (a , Parameter {
301311 Number : ref .ref .Number ,
302312 Column : & Column {
303- Name : parameterName (ref .ref .Number , defaultName ),
304- DataType : "any" ,
313+ Name : parameterName (ref .ref .Number , defaultName ),
314+ DataType : "any" ,
315+ IsNamedParam : isNamedParam (ref .ref .Number ),
305316 },
306317 })
307318 continue
@@ -330,9 +341,10 @@ func resolveCatalogRefs(c *catalog.Catalog, qc *QueryCatalog, rvs []*ast.RangeVa
330341 a = append (a , Parameter {
331342 Number : ref .ref .Number ,
332343 Column : & Column {
333- Name : parameterName (ref .ref .Number , paramName ),
334- DataType : dataType (paramType ),
335- NotNull : true ,
344+ Name : parameterName (ref .ref .Number , paramName ),
345+ DataType : dataType (paramType ),
346+ NotNull : true ,
347+ IsNamedParam : isNamedParam (ref .ref .Number ),
336348 },
337349 })
338350 }
@@ -388,12 +400,13 @@ func resolveCatalogRefs(c *catalog.Catalog, qc *QueryCatalog, rvs []*ast.RangeVa
388400 a = append (a , Parameter {
389401 Number : ref .ref .Number ,
390402 Column : & Column {
391- Name : parameterName (ref .ref .Number , key ),
392- DataType : dataType (& c .Type ),
393- NotNull : c .IsNotNull ,
394- IsArray : c .IsArray ,
395- Table : & ast.TableName {Schema : schema , Name : rel },
396- Length : c .Length ,
403+ Name : parameterName (ref .ref .Number , key ),
404+ DataType : dataType (& c .Type ),
405+ NotNull : c .IsNotNull ,
406+ IsArray : c .IsArray ,
407+ Table : & ast.TableName {Schema : schema , Name : rel },
408+ Length : c .Length ,
409+ IsNamedParam : isNamedParam (ref .ref .Number ),
397410 },
398411 })
399412 } else {
@@ -488,11 +501,12 @@ func resolveCatalogRefs(c *catalog.Catalog, qc *QueryCatalog, rvs []*ast.RangeVa
488501 a = append (a , Parameter {
489502 Number : number ,
490503 Column : & Column {
491- Name : parameterName (ref .ref .Number , key ),
492- DataType : dataType (& c .Type ),
493- NotNull : c .IsNotNull ,
494- IsArray : c .IsArray ,
495- Table : table ,
504+ Name : parameterName (ref .ref .Number , key ),
505+ DataType : dataType (& c .Type ),
506+ NotNull : c .IsNotNull ,
507+ IsArray : c .IsArray ,
508+ Table : table ,
509+ IsNamedParam : isNamedParam (ref .ref .Number ),
496510 },
497511 })
498512 }
0 commit comments