History log of /hets/Persistence/Utils.hs
Revision Date Author Comments Expand
abdc8c3bcf5b761e9bebf51e6ba2bce659d29512 08-Apr-2018 Eugen Kuksa <kuksa.eugen@gmail.com>

Reasoning with database (#1836) * First step towards saving reasoning results in the database. * Add first steps of SInE premise selection. * Try again with 'flattenComorphism'. * Improve SInE implementation. * Adjust GraphQL resolvers to new action field. * Fix rebasing mistakes. * Fix timeLimit. * moved let variables to where clause with scoped type vars * Fix errors in reasoning. * Fix some more errors in SInE. * fixed typing problems * Debug Reasoning. * Fix compile-time errors. * Mode debugging. * made coercion type safe * Remove commented code. * Re-implement proving for the REST interface. * Cleanup. * Fix SInE selection. * Cleanup. * Fix SInE. * Fix provers command. * Fix column name. * Remove commented out code. * Capture consistency checker output. * Obey Review. * Obey review. * Obey Review. * Refactor buildReasoningCache. * Add name to LogicTranslation and get rid of compiler warnings. * Save all sentences in the database instead of only local ones. * Rename column to make it more compact. * Add name to LogicInclusion. * Save used sentences of a proof attempt.

649fdc0d0502d62d160c150684356fef2c273484 11-Feb-2018 Eugen Kuksa <kuksa.eugen@gmail.com>

1811 provide graphql api (#1829) * Fixme (Remove 'True') - Add GraphQL starting point to the web server. * Add GraphQL Schema. * Experiment with the graphql-api package. * Remove the graphql-api package again. * Respond with GraphQL mimics. * Add types for GraphQL mimicking. * Add example queries. * Add proof of concept database fetching. * Add Signature query resolver. * Add SignatureMorphism query resolver. * Add missing key to result JSON. * Add Serialization resolver. * Split code for conversion and retrieval of data. * Fix indentation. * Add OMS query. * Add DGraph query. * Remove commit and document from example queries. * Remove GraphQLApi constructor again. * Save libenv to database via RESTful interface. * Fix line lengths * as library name, ensure a URL containing, in case of file://, an absolute file path * correction: urls should not be treated as file path * avoid re-reading for xmi and qvt; corrected computation of full filename * strip file:// prefix for OWL parser * strip file:// prefix for QVT parser * introduced utility function tryToStripPrefix * strip file:// when writing files

/hets/CSMOF/ParseXmiAsLibDefn.hs /hets/Common/Utils.hs /hets/Driver/Options.hs /hets/Driver/ReadFn.hs /hets/Driver/ReadLibDefn.hs /hets/Driver/WriteFn.hs /hets/Driver/WriteLibDefn.hs /hets/GUI/GtkProverGUI.hs /hets/Hets.cabal /hets/Interfaces/Utils.hs /hets/OWL2/ParseOWL.hs /hets/OWL2/ParseOWLAsLibDefn.hs /hets/OWL2/Taxonomy.hs /hets/PGIP/GraphQL.hs /hets/PGIP/GraphQL/Resolver.hs /hets/PGIP/GraphQL/Resolver/DGraph.hs /hets/PGIP/GraphQL/Resolver/OMS.hs /hets/PGIP/GraphQL/Resolver/Serialization.hs /hets/PGIP/GraphQL/Resolver/Signature.hs /hets/PGIP/GraphQL/Resolver/SignatureMorphism.hs /hets/PGIP/GraphQL/Resolver/ToResult.hs /hets/PGIP/GraphQL/Result.hs /hets/PGIP/GraphQL/Result/Axiom.hs /hets/PGIP/GraphQL/Result/Conjecture.hs /hets/PGIP/GraphQL/Result/ConservativityStatus.hs /hets/PGIP/GraphQL/Result/DGraph.hs /hets/PGIP/GraphQL/Result/DocumentLink.hs /hets/PGIP/GraphQL/Result/FileRange.hs /hets/PGIP/GraphQL/Result/IdReference.hs /hets/PGIP/GraphQL/Result/Language.hs /hets/PGIP/GraphQL/Result/LanguageMapping.hs /hets/PGIP/GraphQL/Result/Library.hs /hets/PGIP/GraphQL/Result/LocIdReference.hs /hets/PGIP/GraphQL/Result/Logic.hs /hets/PGIP/GraphQL/Result/LogicMapping.hs /hets/PGIP/GraphQL/Result/Mapping.hs /hets/PGIP/GraphQL/Result/NativeDocument.hs /hets/PGIP/GraphQL/Result/OMS.hs /hets/PGIP/GraphQL/Result/OMSSimple.hs /hets/PGIP/GraphQL/Result/PremiseSelection.hs /hets/PGIP/GraphQL/Result/Reasoner.hs /hets/PGIP/GraphQL/Result/ReasonerConfiguration.hs /hets/PGIP/GraphQL/Result/ReasonerOutput.hs /hets/PGIP/GraphQL/Result/ReasoningAttempt.hs /hets/PGIP/GraphQL/Result/Sentence.hs /hets/PGIP/GraphQL/Result/Serialization.hs /hets/PGIP/GraphQL/Result/Signature.hs /hets/PGIP/GraphQL/Result/SignatureMorphism.hs /hets/PGIP/GraphQL/Result/StringReference.hs /hets/PGIP/GraphQL/Result/Symbol.hs /hets/PGIP/GraphQL/Result/SymbolMapping.hs /hets/PGIP/GraphQL/exampleQueries/dgraph.graphql /hets/PGIP/GraphQL/exampleQueries/oms.graphql /hets/PGIP/GraphQL/exampleQueries/serialization.graphql /hets/PGIP/GraphQL/exampleQueries/signature.graphql /hets/PGIP/GraphQL/exampleQueries/signatureMorphism.graphql /hets/PGIP/Server.hs /hets/PGIP/Shared.hs DevGraph.hs Schema.hs Utils.hs /hets/QVTR/ParseQvtAsLibDefn.hs /hets/Static/AnalysisLibrary.hs /hets/stack.yaml
a389e88e0acb83d8489bdc5e55bc5522b152bbec 05-Jan-2018 Eugen Kuksa <kuksa.eugen@gmail.com>

[WIP] 1691 dg calculus on database (#1752) * Add database dependencies. * first experimental version of DB interface - just store DG names * also write dg nodes to db * hints for further programming * Connect to PostgreSQL databases using a Rails database.yml. * Move the schema to an own module. * mapping of Hets datatypes to DB * more explanation on index maps * Save the LogicGraph and Development Graph in the database. * Add config option for DB file. * Move dbConfig into HetcatsOpts, move migrations into onDatabase. * Save errors to the database. * Associate the data with a given file version. * Fix saving independent documents, non-signature symbols and remove debug prints. * Remove theoryMap from DBCache. * Fix names of Loc/Ids. * Drop unneeded database columns. * Save SignatureMorphisms and SymbolMappings. Major refactoring in Persistence.DevGraph. * Handle Library and NativeDocument properly. * Rename Range to FileRange because of constraints in Ontohub. * Use PostgreSQL Enums. * Rename Warning to Warn because of constraints in Ontohub. * Use proper location as Loc/Id. * Include persistent-fork into Hets repository as a git submodule. * Find the FileVersion of an import and save the Document accordingly. * Add advisoryLocked function. * Ignore the _dependencies directory. * Only save a Document if it does not yet exist. * Lock language migration and document saving. * Use mutex, write logic graph in ins own command Write logic graph: Since both commands, DG analysis and LG output need to write Logics to the database, we need the same mutex kex for these two tasks. This splits the LG output into its own command to allow for multiple processes to write analysis data at once. * Get the submodule via https. * Add readme for the persistence layer. * Fix findFileVersion function. * Fix export warning. * Find a FileVersion at the current commit instead of the previous version. * Make the symbolKind part of a symbol's Loc/Id. * Make concatMapM more generic. * Correctly associate symbols along heterogeneous links. * Set evaluationState of FileVersion. * Allow to omit the --database-fileversion-id option. * Simplify the travis configuration. * Add database job to travis. * Find FileVersion of the last change. * Fix dependency relation order. * Add MySQL support. * Add restack target to Makefile. * Add option to disallow migrations That means, PostgreSQL can be used without Ontohub. * Remove unused import. * Update Stack release and use persistent-template of the fork. * Make the existing columns in the schema MySQL compatible. * Work-around migration errors caused by class table inheritance. * Use PostgreSQL and MySQL in travis. * Use better job labels in Travis. * Possibly fix travis. * Add SQLite to Travis. * Add installation instructions. * Add DGVerificationGeneric constructor. * Rename ConsStatus to ConservativityStatus. * Add error handling. * Fix symbol's fullName. * Set Logic name to Language Name when there is no Logic name. * Do not print migrations. * Fix key length for MySQL. * Add namespace to Loc/Ids. * Add option for re-analysis. * Add a testfile. * Improve error messages. * Create the freeness parameter OMS. * Add failing testfiles. * Remove code duplication. * Temporarily remove failing test files - until #1655 and #1597 have been solved. * Try longer locId in MySQL. * Fix mapping type. * Add default implementation of symbolKind. * Add Indexes. * Quiet down PostgreSQL on CREATE INDEX IF NOT EXISTS. * Add PostgreSQL 9.6 to addons. * Allow Hets-database to run without ontohub. * Reduce column size for MySQL. * Move the database-specific dependencies into their own module. * Upgrade persistent (rebase on master). * Minimise the module exports on Database. * Upgrade stack.yml to new stack version. * Fix SQLite module. * WIP: Try System.Plugins. * Remove System.Plugins again. * Deactivate MySQL. * Remove System.Plugins from the dependencies. * Finalise db_mapping.txt * Update readme. * Don't use PostgreSQL for hets-desktop. * Use hets_server in Travis/PostgreSQL job. * Add PostgreSQL as a dependency to the server package. * Update some documentation. * Fix runtime dependencies. * Describe main db options in the UserGuide. * Add libpq5 to debian dependencies. * Clean the database.yml files and link them from the UserGuide.

/hets/.gitignore /hets/.gitmodules /hets/.travis.yml /hets/Common/LibName.hs /hets/Common/Utils.hs /hets/Driver/Options.hs /hets/Driver/ReadFn.hs /hets/Driver/WriteFn.hs /hets/Hets.cabal /hets/Makefile DBConfig.hs Database.hs DatabaseConnection.hs DevGraph.hs DevGraph/Cleaning.hs Diagnosis.hs FileVersion.hs LogicGraph.hs MySQL.hs PostgreSQL.hs Range.hs Readme.md SQLite.hs Schema.hs Schema/ConjectureKindType.hs Schema/Enums.hs Schema/EvaluationStateType.hs Schema/MappingOrigin.hs Schema/MappingType.hs Schema/OMSOrigin.hs Schema/ReasoningStatusOnConjectureType.hs Schema/ReasoningStatusOnReasoningAttemptType.hs Schema/SentenceKindType.hs Utils.hs database_mysql.yml database_postgresql.yml db_mapping.txt /hets/README.md /hets/Static/ToJson.hs /hets/_dependencies/persistent /hets/debian/control /hets/doc/UserGuide.tex /hets/stack.yaml /hets/test/hets-lib-database-check.sh /hets/test/hets-lib-database-reset.sh /hets/test/hets-lib-database-testfiles