0
I Use This!
Very Low Activity

Commits : Listings

Analyzed 1 day ago. based on code collected 1 day ago.
Oct 09, 2024 — Oct 09, 2025
Commit Message Contributor Files Modified Lines Added Lines Removed Code Location Date
added table layout documentation/example (diagram from MySQL Workbench)
eja
More... 4 days ago
api documentation for release 8.0beta
eja
More... 5 days ago
- documentation for release 8.0beta.1 - it's 8.0beta.1
eja
More... 7 days ago
added missing SQLite.Interop.dll(s) (so that the persistent graph is working in a binary release at least under Windows)
eja
More... 7 days ago
- documentation for release 8.0beta - it's 8.0beta
eja
More... 7 days ago
- rebuild all for release 8.0beta - added GGrShell.exe - added libGrPersistenceProviderSQLite.dll - added libConsoleAndOS.dll and libConsoleAndOSWindowsForms.dll
eja
More... 8 days ago
- set icon for GGrShell - added GGrShell to editbin.bat - increased shell version to 8.0beta
eja
More... 8 days ago
added System.Data.SQLite.dll to the binaries
eja
More... 8 days ago
- changed file headers to the upcoming 8.0 release, and assembly info to the directly upcoming 8.0beta release - added the www.grgen.de website address to the file header - added file header where missing
eja
More... 9 days ago
- introduced a Persistent Storage chapter, explaining the persistent graph/the persistence provider, also moved the Graph Input and Output as well as the Graph Change Recording and Replaying sections from the GrShell chapter into it - split a Components and Applications chapter out of the Overview chapter, explaining the software system components in detail, while only a short introduction is given in the overview anymore - added an explanation of persistence provider transactions to the Advanced Control with Backtracking chapter - added a section on the GGrShell to the new Components and Applications chapter - some smaller user manual adaptations and improvements
eja
More... 9 days ago
- extended the sequences language by persistence provider (/database) transaction angles <: seq :>, when a persistent graph is used, the database changes resulting from the graph changes caused by the execution of the sequence seq are wrapped into a database transaction that is committed at the end (or rolled back in case of an exception leaving the construct) - extended the sequences language also by a persistence provider (/database) commit-and-restart command >:<, resulting in a commit before the closing :> of enclosing persistence provider transaction angles is reached, and a restart of the database transaction (by these language constructs, the granularity of durability can be controlled, and weighted against performance) (added them to the interpreted as well as the compiled sequences, and added support in the sequence printer as well as the sequence renderer) - introduced an IPersistenceProviderTransactionManager, and added a PersistenceProviderTransactionManager property of this type to the graph processing environment (the sequences implement their persistence provider transactions utilizing it) - added transaction support to the SQLite persistence provider transactions encompassing multiple changes allow to achieve much better performance than the default of wrapping the execution of each and every SQL statement into an own transaction they are used when persistence provider transaction angles are employed, and internally in graph cleaning as well as reading - renamed the IPersistentGraphStatistics interface to the better fitting IPersistenceProviderStatistics - introduced an IPersistenceInterfacesProvider interface, which gets implemented by the LGSPPersistentNamedGraph, and gives access to the IPersistenceProviderStatistics and the IPersistenceProviderTransactionManager (the IPersistenceProvider inherits from these interfaces) - added semantic tests that check the persistence provider transaction angles and the commit-and-restart command, esp. allowing to compare the performance of the persistent graph with and without them (and with the non-persistent graph)
eja
More... 17 days ago
disallowed sequence spawning for parallel execution when the persistence provider/persistent graph is used (due to missing synchronization) (by throwing an exception with an error message in the persistence provider)
eja
More... 17 days ago
fixed the text representation of the loops in the sequences (the Symbol used in error messages)
eja
More... 17 days ago
fixed a crash bug in the persistence provider that showed when a container attribute was null
eja
More... 17 days ago
added the printing of statistics about reading in the persistent graph as well as cleaning it (some results and durations)
eja
More... 23 days ago
implemented container compactification optimization: only purge and re-write changed containers
eja
More... 23 days ago
removed the database id to zombie node/edge mapping, and the mapping in the opposite direction (a check of the containing graph being null is sufficient to tell zombies from non-zombies apart)
eja
More... 24 days ago
- added further tests that allow to check dangling reference reporting (checking only in the form of a smoke test) (extending the basic test by retyping, nested/transitive dangling, i.e. dangling references being contained in zombies, dangling references in other graphs than the host graph and also pointing to elements originally from other graphs) - fixed a bug in printing out dangling references
eja
More... 24 days ago
fixed container change event generation for the eval part of the rule language - the expressions yielding the container command arguments were evaluated and used twice (for the change event and the container change itself), which caused issues when e.g. a graph or object creation was involved - replaced them by a single evaluation assigned to a temporary variable used twice - a basic test will be included in the next commit
eja
More... 24 days ago
dangling references are now reported to the user when the persistent graph is loaded (i.e. references to the original node/edge after a delete or retype, which becomes a zombie by the operation that should not be used anywhere anymore) - changed the (database mapping) semantics so that when a node/edge is deleted, only its topology table entry is deleted, while the by-type-entry remains the according zombie is read when the graph is loaded, and remains available until garbage collection removes it because no reference exists anymore (the latter case should be the default by now, a reference to a zombie is until now a programming error) - disabled the reuse optimization (which is recycling zombies) when a persistent graph is utilized - added an according semantic test (and adapted an existing one to the changed garbage collection behaviour)
eja
More... 26 days ago
made names in the container element references tests of the persistent graph more uniform so that the test results can be compared more easily
eja
More... 29 days ago
- added array and deque versions of container element references test - fixed copy'n'paste bug in the implementation of the deque.peek function method from the compiled sequence expressions
eja
More... 29 days ago
moved condition out of loop (performance optimization and because of the scheme of the surrounding code even a small readability improvement due to increased consistency)
eja
More... 29 days ago
fixed smaller bug (missing early error message)
eja
More... 29 days ago
minor code/name cleaning/improvements in attribute type handling
eja
More... 29 days ago
implemented a cleanup pass that removes unused graphs and objects from the database and compactifies container change histories: - it employs a mark and sweep like garbage collector, that visits all entities (nodes, edges, graphs, and internal class objects) that are contained in or reachable from the host graph (via attributes), marking them during this in-memory depth-first-search run (which is implemented utilizing an explicit stack of special-purpose iterators), and then deletes the graphs and objects from the database that are not referenced anymore (they may be referenced by other elements not reachable from the host graph) - it compactifies the container change history insofar as it overwrites it by the current container state (purging the old history, then writing a series of additions comprising the new content) - the cleanup pass is executed directly after the initial graph reading (consequence of this design: writing changes while the graph rewrite system is running is fast, initial loading is slow) - added an according semantic test, or better: a series of tests, each test of the series (besides the first one) depends on the resulting database file of the previous test (covering the cleaning of unreachable graphs/objects upon graph loading during creation)
eja
More... 29 days ago
- fixed a crash when a graph element reference is (getting assigned) null (introducing a helper function with a null check) - fixed a crash when container operations are carried out with an argument of a graph/object not yet known (by moving code that was only executed upon a full container assignment up till now) - tests failing without the fixes will follow in the upcoming commit - turned methods that are used as functions into static methods
eja
More... 30 days ago
- introduced a "show num from database" shell command, printing the number of nodes/edges/graphs/objects in the database it can only be applied on a persistent graph, and is to be used for/when testing/debugging - added an IPersistentGraphStatistics interface, it is implemented by graphs offering persistent storage (this way, persistent graphs can be distinguished from non-persistent graphs, which is not possible on interface level otherwise) - adapted shell help to the new command, also added a description of the "new graph" "persist with" command (option)
eja
More... 30 days ago
- the SQLite persistence provider now also supports the deque container (i.e. attributes of deque type appearing in nodes/edges/objects) - implemented by container tables storing a change history log (as already used for the other containers, esp. the array container) - milestone reached, all targeted types are now supported - added semantic tests checking deque persisting
eja
More... about 1 month ago
- the SQLite persistence provider now also supports the map container (i.e. attributes of map type appearing in nodes/edges/objects) - implemented by container tables storing a change history log (as already used for the other containers, here storing real key-value pairs) - a few minor improvements - added semantic tests checking map persisting
eja
More... about 1 month ago