From 32007480c64b3ce0d0485df1ea524bbebbac6388 Mon Sep 17 00:00:00 2001 From: Hein Date: Wed, 3 Dec 2025 12:18:33 +0200 Subject: [PATCH] Handle cql columns as text by default --- pkg/restheadspec/handler.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pkg/restheadspec/handler.go b/pkg/restheadspec/handler.go index 5917b01..d111b0a 100644 --- a/pkg/restheadspec/handler.go +++ b/pkg/restheadspec/handler.go @@ -333,7 +333,12 @@ func (h *Handler) handleRead(ctx context.Context, w common.ResponseWriter, id st if len(options.ComputedQL) > 0 { for colName, colExpr := range options.ComputedQL { logger.Debug("Applying computed column: %s", colName) - query = query.ColumnExpr(fmt.Sprintf("(%s) AS %s", colExpr, colName)) + if strings.Contains(colName, "cql") { + query = query.ColumnExpr(fmt.Sprintf("(%s)::text AS %s", colExpr, colName)) + } else { + query = query.ColumnExpr(fmt.Sprintf("(%s)AS %s", colExpr, colName)) + } + for colIndex := range options.Columns { if options.Columns[colIndex] == colName { // Remove the computed column from the selected columns to avoid duplication @@ -347,7 +352,12 @@ func (h *Handler) handleRead(ctx context.Context, w common.ResponseWriter, id st if len(options.ComputedColumns) > 0 { for _, cu := range options.ComputedColumns { logger.Debug("Applying computed column: %s", cu.Name) - query = query.ColumnExpr(fmt.Sprintf("(%s) AS %s", cu.Expression, cu.Name)) + if strings.Contains(cu.Name, "cql") { + query = query.ColumnExpr(fmt.Sprintf("(%s)::text AS %s", cu.Expression, cu.Name)) + } else { + query = query.ColumnExpr(fmt.Sprintf("(%s) AS %s", cu.Expression, cu.Name)) + } + for colIndex := range options.Columns { if options.Columns[colIndex] == cu.Name { // Remove the computed column from the selected columns to avoid duplication