aboutsummaryrefslogtreecommitdiffstats
path: root/sql/serenitas.c
diff options
context:
space:
mode:
Diffstat (limited to 'sql/serenitas.c')
-rw-r--r--sql/serenitas.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sql/serenitas.c b/sql/serenitas.c
index 1a68f957..0cb2d417 100644
--- a/sql/serenitas.c
+++ b/sql/serenitas.c
@@ -304,7 +304,7 @@ update_attach(PG_FUNCTION_ARGS)
return PointerGetDatum(rettuple);
else
orig_detach = DatumGetInt16(SPI_getbinval(rettuple, tupdesc, SPI_fnumber(tupdesc, "orig_detach"), &isnull));
- char* sql_query = "SELECT indexfactor/100, cumulativeloss "
+ char* sql_query = "SELECT indexfactor, cumulativeloss "
"FROM index_factors "
"WHERE redindexcode=$1";
int nargs = 1;
@@ -312,14 +312,14 @@ update_attach(PG_FUNCTION_ARGS)
char nulls[1] = " ";
Datum values[1];
int ret;
- values[0] = SPI_getbinval(rettuple, tupdesc, SPI_fnumber(tupdesc, "security_desc"), &isnull);
+ values[0] = SPI_getbinval(rettuple, tupdesc, SPI_fnumber(tupdesc, "security_id"), &isnull);
if (SPI_connect() == SPI_ERROR_CONNECT) {
elog(ERROR, "something wrong happened");
}
ret = SPI_execute_with_args(sql_query, nargs, argtypes, values, nulls, true, 1);
double factor, cumloss;
- if (ret == SPI_OK_SELECT && SPI_tuptable != NULL) {
+ if (ret == SPI_OK_SELECT && SPI_tuptable != NULL && SPI_processed == 1) {
SPITupleTable *tuptable = SPI_tuptable;
TupleDesc tupdesc = tuptable->tupdesc;
bool isnull;
@@ -328,7 +328,7 @@ update_attach(PG_FUNCTION_ARGS)
cumloss = DatumGetFloat8(SPI_getbinval(tuple, tupdesc, 2, &isnull));
elog(INFO, "%f %f", factor, cumloss);
} else {
- elog(ERROR, "something wrong happened");
+ return PointerGetDatum(rettuple);
}
SPI_finish();
double detach, attach;