id_spreadsheet = par_id;
snprintf(SQLString, SQLBUFSIZE, "
SELECT value
FROM co_sys_spreadsheet_cell AS CELL, co_sys_expression_cell AS REF
WHERE
REF.deleted = 0 AND REF.id_spreadsheet=%d AND
REF.id_column=%d AND REF.id_row=%d AND REF.index_ref = %d AND
CELL.row_id = REF.id_ref_row AND CELL.column_id = REF.id_ref_column AND
CELL.deleted = 0 ;
", id_spreadsheet, id_column, id_row, index);
cou_logError( cnx, CO_LOG_DEBUG, "getReferencedValue(%d,%d,%d,%d)",id_spreadsheet, id_column, id_row, index);
cou_logError( cnx, CO_LOG_DEBUG, "getReferencedValue 1st done");
__SQL_GET_RESULT
nTuple = cor_GetTupleCount(cnx, corec);
cou_logError( cnx, CO_LOG_DEBUG, "getReferencedValue 2nd done, ntuples=%d",
nTuple);
if (nTuple == 0) {
cou_setReturnValue( cnx, ap_pstrdup(p, ""), CO_STRING );
} else if (nTuple == 1) {
cou_setReturnValue( cnx, cor_GetCopyOfValue(cnx, corec,0,0), CO_STRING );
} else {
cou_error( cnx, "ntuples not in 0..1 in getReferencedValue");
}
cou_logError( cnx, CO_LOG_DEBUG, "getReferencedValue 3rd done");