Merge branch 'master' of yap.dcc.fc.up.pt:yap-6
This commit is contained in:
commit
fae29012a9
@ -567,6 +567,8 @@ a_cmp(Term t1, Term t2)
|
||||
#ifdef USE_GMP
|
||||
} else if (IsBigIntTerm(t1)) {
|
||||
{
|
||||
t2 = Yap_Eval(t2);
|
||||
|
||||
if (IsIntegerTerm(t2)) {
|
||||
return Yap_gmp_cmp_big_int(t1, IntegerOfTerm(t2));
|
||||
} else if (IsFloatTerm(t2)) {
|
||||
|
18
H/rheap.h
18
H/rheap.h
@ -635,19 +635,23 @@ CleanLUIndex(LogUpdIndex *idx, int recurse)
|
||||
static void
|
||||
CleanSIndex(StaticIndex *idx, int recurse)
|
||||
{
|
||||
idx->ClPred = PtoPredAdjust(idx->ClPred);
|
||||
if (idx->SiblingIndex) {
|
||||
idx->SiblingIndex = SIndexAdjust(idx->SiblingIndex);
|
||||
if (recurse)
|
||||
CleanSIndex(idx->SiblingIndex, TRUE);
|
||||
beginning:
|
||||
if (!(idx->ClFlags & SwitchTableMask)) {
|
||||
restore_opcodes(idx->ClCode, NULL);
|
||||
}
|
||||
idx->ClPred = PtoPredAdjust(idx->ClPred);
|
||||
if (idx->ChildIndex) {
|
||||
idx->ChildIndex = SIndexAdjust(idx->ChildIndex);
|
||||
if (recurse)
|
||||
CleanSIndex(idx->ChildIndex, TRUE);
|
||||
}
|
||||
if (!(idx->ClFlags & SwitchTableMask)) {
|
||||
restore_opcodes(idx->ClCode, NULL);
|
||||
if (idx->SiblingIndex) {
|
||||
idx->SiblingIndex = SIndexAdjust(idx->SiblingIndex);
|
||||
/* use loop to avoid recursion with very complex indices */
|
||||
if (recurse) {
|
||||
idx = idx->SiblingIndex;
|
||||
goto beginning;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -652,7 +652,7 @@ c_db_odbc_row(void) {
|
||||
|
||||
if (!strcmp(AtomName(AtomOfTerm(type)),"integer"))
|
||||
{
|
||||
if (!Yap_unify(head, MkIntegerTerm(atoi(bind_value))))
|
||||
if (!Yap_unify(head, MkIntegerTerm(atol(bind_value))))
|
||||
continue;
|
||||
}
|
||||
else if (!strcmp(AtomName(AtomOfTerm(type)),"real"))
|
||||
@ -697,6 +697,11 @@ c_db_odbc_number_of_fields_in_query(void) {
|
||||
return FALSE;
|
||||
|
||||
if (!Yap_unify(arg_fields, MkIntegerTerm(number_cols))){
|
||||
if (!SQLCLOSECURSOR(hstmt,"db_number_of_fields_in_query"))
|
||||
return FALSE;
|
||||
if (!SQLFREESTMT(hstmt,SQL_CLOSE, "db_number_of_fields_in_query"))
|
||||
return FALSE;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user