Version Change Log
The following are a list of major changes and bug fixes to Theseus that
have become available over time, for different releases.
- Major enhancements:
- Minor enhancements:
- Connect and read timeout can be specified by user.
- Improved operator-level logging information.
- Bug fixes:
- A couple of logging-related bugs fixed.
- Major enhancements:
- Minor enhancements:
- Added new Xquery operator (temporarily called xquery2)
- Added support for a "time" datatype
- Bug fixes:
- xml2rel error case hangs execution
- Major enhancements:
- Minor enhancements:
- Added updated version of xscan.
- Bug fixes:
- TheseusBox/Theseus API has memory leaks.
- Major enhancements:
- Minor enhancements:
- All exceptions propagate normally up the call chain - no more System.exit() calls are made during fatal execution.
- theseus.api.Theseus handles errors better per exception catching.
plan file.
- Bug fixes:
- Dbquery returns null for some JDBC types.
- Major enhancements:
- Minor enhancements:
- New Theseus property: /system/tools/trcli/use-image allows .plan files to be automatically saved as .pobj (serialized compiled plan files) for potentially faster loading during future executions.
- Relative and full path names can be used when specifying subplans in a .plan file.
- Bug fixes:
- Repetitive subplan references cause never-ending execution.
- Major enhancements:
- New operators added: xscan, antiproject, varunion
- Speculative execution learning component added (BETA).
- dbappend, dbexport, dbquery, and dbupdate interfaces changed.
- New Theseus property: /system/executor/pool/memory/pool_sizes/num_ops controls the default sizes for object pools based on number of operators
- New Theseus property: /system/executor/pool/memory/pool_sizes/num_tuples controls the default sizes for object pools based on number of tuples per operator
- New Theseus property: /system/executor/pool/memory/growth_factor controls the growth of object pools when limits are exceeded
- Minor enhancements:
- New Theseus property: /system/tools/trcli/output/asap to toggle between immediate and delayed output
- New Theseus property: /system/tools/trcli/output/header to toggle between output of data+header vs output of only data
- New Theseus property: /system/tools/trcli/output/stats to toggle between output of data w/o runtime stats vs data w/ runtime stats
- New Theseus property: /system/logger/append_file controls whether Theseus logfiles are recreated each time or simply appended.
- New Theseus property: /operators/dbquery/eos_on_exception controls whether exceptions or EOSes are returned when dbquery recieves an error from the database driver during querying.
- TheseusBox exceptions propagated when runtime exceptions occur.
- Documentation updated for dbappend, dbexport, dbquery, and dbupdate.
- Bug fixes:
- Apply fails when incoming stream consists of only an EOS.
- Internal queue auto-resizing fails when queue maxes out anywhere
except at its natural endpoints.
- Major enhancements:
- Minor enhancements:
- Documentation updated regarding Xquery and the list of libraries used.
- Documentation updated regarding Theseus.properties and Tomcat.
- Bug fixes:
- Calling same subplan more than once in a parent plan fails.
- Major enhancements:
- Speculative execution (BETA, for research purposes only)
- Modified work distribution workflow: active threads access the
ready pool
- Minor enhancements:
- Automatic work queue resizing
- Compiler exceptions show the plan text that lead to the exception
- Rename operator allows duplicate aliases
- Operator changes:
- Apply operator casts java.lang.Float and w3.org.Node/Document
into correct Theseus types.
- API changes:
- Relation.prettyPrint() removed.
- Relation.toString() no longer prints CRs before data.
- Tuple.project() added
- TheseusBox contains several changes designed to make
it easier to load and re-execute a plan multiple times.
- Version change log started
- Bug fixes:
- TheseusBox API not able to run multiple plans.
- Error messages about mistakes in datafile are not helpful.
- Subplans cannot load if line text does not contain at least one
prepending space.