From 952307c1a3a8351f1402eddfdffafea37b35f70b Mon Sep 17 00:00:00 2001 From: Julien Henry Date: Fri, 10 Mar 2023 05:04:22 -0500 Subject: [PATCH 1/3] fix subsumptive rules --- src/ast2ram/seminaive/UnitTranslator.cpp | 16 ++++++---------- src/ast2ram/utility/Utils.cpp | 2 ++ 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/ast2ram/seminaive/UnitTranslator.cpp b/src/ast2ram/seminaive/UnitTranslator.cpp index 96a1169b19a..27c50bed15b 100644 --- a/src/ast2ram/seminaive/UnitTranslator.cpp +++ b/src/ast2ram/seminaive/UnitTranslator.cpp @@ -308,15 +308,11 @@ Own UnitTranslator::translateSubsumptiveRecursiveClauses( continue; } - const auto& sccAtoms = getSccAtoms(clause, scc); - for (std::size_t version = 0; version < sccAtoms.size(); version++) { - // find dominated tuples in the newR by tuples in newR and store them in rejectR - appendStmt(code, context->translateRecursiveClause(*clause, scc, version, SubsumeRejectNewNew)); - - // find dominated tuples in the newR by tuples in R and store them in rejectR - appendStmt( - code, context->translateRecursiveClause(*clause, scc, version, SubsumeRejectNewCurrent)); - } + const std::size_t version = 0; + // find dominated tuples in the newR by tuples in newR and store them in rejectR + appendStmt(code, context->translateRecursiveClause(*clause, scc, version, SubsumeRejectNewNew)); + // find dominated tuples in the newR by tuples in R and store them in rejectR + appendStmt(code, context->translateRecursiveClause(*clause, scc, version, SubsumeRejectNewCurrent)); } // compute new delta set, i.e., deltaR = newR \ rejectR @@ -335,7 +331,7 @@ Own UnitTranslator::translateSubsumptiveRecursiveClauses( std::size_t sz = sccAtoms.size(); for (std::size_t version = 0; version < sz; version++) { appendStmt(code, context->translateRecursiveClause(*clause, scc, version, - (sz > 1) ? SubsumeDeleteCurrentCurrent : SubsumeDeleteCurrentDelta)); + (version >= 1) ? SubsumeDeleteCurrentCurrent : SubsumeDeleteCurrentDelta)); } appendStmt(code, generateEraseTuples(rel, mainRelation, deleteRelation)); appendStmt(code, mk(deleteRelation)); diff --git a/src/ast2ram/utility/Utils.cpp b/src/ast2ram/utility/Utils.cpp index 6b73e2640bc..7ce90a3786d 100644 --- a/src/ast2ram/utility/Utils.cpp +++ b/src/ast2ram/utility/Utils.cpp @@ -72,6 +72,8 @@ std::string getAtomName(const ast::Clause& clause, const ast::Atom* atom, return getDeltaRelationName(atom->getQualifiedName()); } } + + return getConcreteRelationName(atom->getQualifiedName()); } if (!isRecursive) { From c0ee96eec923150a272c0bb746e59fe1dbacea29 Mon Sep 17 00:00:00 2001 From: Julien Henry Date: Fri, 10 Mar 2023 05:13:21 -0500 Subject: [PATCH 2/3] clang-format --- src/ast2ram/seminaive/UnitTranslator.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ast2ram/seminaive/UnitTranslator.cpp b/src/ast2ram/seminaive/UnitTranslator.cpp index 27c50bed15b..9682f66abef 100644 --- a/src/ast2ram/seminaive/UnitTranslator.cpp +++ b/src/ast2ram/seminaive/UnitTranslator.cpp @@ -330,8 +330,9 @@ Own UnitTranslator::translateSubsumptiveRecursiveClauses( const auto& sccAtoms = getSccAtoms(clause, scc); std::size_t sz = sccAtoms.size(); for (std::size_t version = 0; version < sz; version++) { - appendStmt(code, context->translateRecursiveClause(*clause, scc, version, - (version >= 1) ? SubsumeDeleteCurrentCurrent : SubsumeDeleteCurrentDelta)); + appendStmt( + code, context->translateRecursiveClause(*clause, scc, version, + (version >= 1) ? SubsumeDeleteCurrentCurrent : SubsumeDeleteCurrentDelta)); } appendStmt(code, generateEraseTuples(rel, mainRelation, deleteRelation)); appendStmt(code, mk(deleteRelation)); From 56f4fbfa473c52be6b63f471a8be3f35617d7afc Mon Sep 17 00:00:00 2001 From: Julien Henry Date: Thu, 23 Mar 2023 12:36:10 -0400 Subject: [PATCH 3/3] disable SQLITE on Windows --- .github/workflows/VS-CI-Tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/VS-CI-Tests.yml b/.github/workflows/VS-CI-Tests.yml index 67f367e1ee5..a52354803aa 100644 --- a/.github/workflows/VS-CI-Tests.yml +++ b/.github/workflows/VS-CI-Tests.yml @@ -49,7 +49,7 @@ jobs: $env:ChocolateyInstall = Convert-Path "$((Get-Command choco).Path)\..\.." Import-Module "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1" refreshenv - cmake -S . -B build -G "Visual Studio 16 2019" -A x64 "-DCMAKE_TOOLCHAIN_FILE=${{env.VCPKG_ROOT}}/scripts/buildsystems/vcpkg.cmake" -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS=/bigobj -DSOUFFLE_DOMAIN_64BIT=ON -DCMAKE_FIND_LIBRARY_PREFIXES=";lib" -DCMAKE_FIND_LIBRARY_SUFFIXES=".lib;.dll" -DSOUFFLE_USE_CURSES=OFF -DSOUFFLE_USE_ZLIB=ON -DCMAKE_FIND_DEBUG_MODE=FALSE -DSOUFFLE_BASH_COMPLETION=OFF + cmake -S . -B build -G "Visual Studio 16 2019" -A x64 "-DCMAKE_TOOLCHAIN_FILE=${{env.VCPKG_ROOT}}/scripts/buildsystems/vcpkg.cmake" -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS=/bigobj -DSOUFFLE_DOMAIN_64BIT=ON -DCMAKE_FIND_LIBRARY_PREFIXES=";lib" -DCMAKE_FIND_LIBRARY_SUFFIXES=".lib;.dll" -DSOUFFLE_USE_CURSES=OFF -DSOUFFLE_USE_SQLITE=OFF -DSOUFFLE_USE_ZLIB=ON -DCMAKE_FIND_DEBUG_MODE=FALSE -DSOUFFLE_BASH_COMPLETION=OFF - name: Build working-directory: ${{github.workspace}}