e36dded9d2WIP: combinations for flattening facets to keys.
Greg Burd
2017-10-22 21:36:10 -0400
63c558581bWIP: time work in a UOW, track total and database time. Begin working on session cache. Also need to finish up merge() logic and consider ttl and writeTime.
Greg Burd
2017-10-20 15:37:13 -0400
9bbb6d2371Neuter the TimeoutException propogation for now.
Greg Burd
2017-10-20 14:30:25 -0400
9d91436cb5Merge branch 'develop' into 2.1.x-SNAPSHOT
Greg Burd
2017-10-20 12:44:17 -0400
2302b958e7Merge branch 'develop' into 2.1.x-SNAPSHOT
Greg Burd
2017-10-12 09:23:18 -0400
3ef4ddd5a0Selections from materialized views my have different entity properties that impact generated queries. Remove noisy/expensive selection of ttl and write time until we need/use it for cache correctness properties (if ever).
Greg Burd
2017-10-12 09:23:00 -0400
237adb40bfMerge branch 'develop' into 2.1.x-SNAPSHOT
Greg Burd
2017-10-11 15:16:15 -0400
4e461c1be0Insert should include both mutated and primary key components (partition keys and clustering columns) otherwise it's invalid CQL.
Greg Burd
2017-10-11 15:15:59 -0400
646b2fa57dMerge branch 'develop' into 2.1.x-SNAPSHOT
Greg Burd
2017-10-11 14:24:27 -0400
605529979dCreate views if they don't already exist.
Greg Burd
2017-10-11 14:24:01 -0400
828c456814Add MaterialziedView entity support and the beginnings of a CoveringIndex (which is another name for MaterializedView).
Greg Burd
2017-10-10 13:39:59 -0400
01102e2299Enabled Helenus.dsl() to return a valid object even when the cluster metadata isn't known in advance and later learn more when it is. Changed the AbstractEntityDraft to have both by-string and by-getter mutation/accessor methods. These two combine to make Draft objects more type safe.
Greg Burd
2017-10-04 15:46:01 -0400
0e9d1086edUse backingMap for the mutated key set (and save some space/overhead).
Greg Burd
2017-09-29 10:48:37 -0400
1c37d817b6Add code formatting standard to project.
Greg Burd
2017-10-06 11:39:56 -0400
306c9e68efMerge branch 'develop' into gburd/wip-facet-cache
Greg Burd
2017-10-05 09:42:32 -0400
25c5c6b969Enabled Helenus.dsl() to return a valid object even when the cluster metadata isn't known in advance and later learn more when it is. Changed the AbstractEntityDraft to have both by-string and by-getter mutation/accessor methods. These two combine to make Draft objects more type safe.
Greg Burd
2017-10-04 15:46:01 -0400
be8d1bf029Use backingMap for the mutated key set (and save some space/overhead).
Greg Burd
2017-09-29 10:48:37 -0400
0c6cda1db6Switching version so that the build number is the third part of the version number
Greg Burd
2017-09-29 10:21:48 -0400
bf1d5f217fFirst fetch from the backingMap.
Greg Burd
2017-09-29 09:47:15 -0400
7e6863fc84Merge branch 'develop' into gburd/wip-facet-cache
Greg Burd
2017-09-28 13:43:03 -0400
389a33c12fremoved SNAPSHOT from version name
2.0.47
pkania
2017-09-26 14:23:09 -0400
265947586cDistinguish this project from 'https://github.com/helenusdriver/helenus' (which is 'helenus.org' where-as we're 'helenus.net'). Both projects aspire to address the same missing pieces from the DataStax Java Cassandra driver, a more friendly POJO mapping layer and domain-specific language/API, and share the same name (naming is hard) but are completely different implementations.
Greg Burd
2017-09-26 11:32:23 -0400
efa87b2d4fWIP: working toward a faceted cache.
Greg Burd
2017-09-26 10:37:08 -0400
16af6ea175When items are reset, they may also be null which would incorrectly return false.
Greg Burd
2017-09-26 10:18:29 -0400
5c8a0360a2Reset of a value in AbstractEntityDraft should update with the current value is either null or not equal to desired value, fixed logic.
Greg Burd
2017-09-26 09:26:06 -0400
d3c24b70bfBe sure to pick up all inherited interfaces and scan those with the @InheritedTable annotation for methods. When doing that, if we encounter the same method name twice prefer the least generic implementation.
Greg Burd
2017-09-25 15:50:29 -0400
9e3fabb2f9Forgot to add type to begin() call in HelenusSession.
Greg Burd
2017-09-13 14:27:08 -0400
90e1aafd94Need to parameterize the exception type.
Greg Burd
2017-09-13 13:27:34 -0400
efca86783cAllow configuration of the exception class used when conflicts arise at UnitOfWork commit time to enable clients to provide custom/advanced/specific exceptions without having to do a bunch of encapsulation.
Greg Burd
2017-09-13 12:28:12 -0400
58b29ad181Caching entity results within the context of a UOW (even nested) seems to be working.
Greg Burd
2017-09-12 10:53:51 -0400
1b46ee0ed1WIP: More work toward entity cache, very broken at this point.
Greg Burd
2017-09-01 15:38:58 -0400
cb09324ac6Commented out the UOW cache (as it's not yet finished/working) and updated the version number.
Greg Burd
2017-08-31 14:10:26 -0400
5089be2c22Adding more support for the Draft/Builder pattern for entity objects. Fixed a number of issues and added more tests.
Greg Burd
2017-08-31 14:06:44 -0400
3cd889ea61WIP: More work toward UOW caching but mainly a lot of work to cleanup the API.
Greg Burd
2017-08-30 13:41:15 -0400
09b06f4ca4WIP: Fixed the ordering of commit.andThen(() -> {}) to match the nesting and fire iff the outter most UOW has committed. Made UnitOfWork Closable which will abort the work iff it has not previously been committed or aborted. Started to add tests to exercise Helenus UnitOfWork (transactions).
Greg Burd
2017-08-29 10:13:29 -0400
c35d6d19d1WIP: toward caching at session and unit of work.
Greg Burd
2017-08-25 16:13:31 -0400
38ca5973a1WIP: Where I stopped when building first a ResultSet cacne then layering an Entity cache. Lot's of tricky bits that were not falling into place.
gburd/entity-cache
Greg Burd
2017-08-18 16:48:01 -0400
933526b05bWIP: still working toward a solid caching scheme, progress but far from done.
Greg Burd
2017-08-18 16:44:30 -0400
28aa3b1baeWIP: Working toward a solution that can cache result sets and/or transformed entity instances when annotated with @Cacheable in the Session cache.
Greg Burd
2017-08-17 16:00:19 -0400
0fd9ff828cUpdate version to 2.0.21
Greg Burd
2017-08-17 12:15:48 -0400
142688a215Funnel all paths to the database through one single method implementation (the 'Executioner') so as to ensure all calls into Cassandra are wrapped in a common way (traced, measured, cached, etc.) in a single place.
Greg Burd
2017-08-17 12:05:50 -0400