Comments (4)
Fixed. This has also been included in CQEngine 1.1.0, now released which should
sync to Maven central in the next few hours.
Original comment by [email protected]
on 16 Aug 2013 at 10:39
- Changed state: Fixed
from cqengine.
great :)
Original comment by [email protected]
on 17 Aug 2013 at 1:40
from cqengine.
I am not quite sure why you opted for the approach of only using
getDeclaredFields if an Exception is thrown.
The only reason that I can come up with is that getDeclaredFields does not
iterate up the Class hierarchy.
You will find that most models in java have private members, so using an
exception to handle this is very expensive.
If you want to make sure that you can access all members even up the class
hierarchy I would do this manually, I have included a patch that includes a
utility class witch will handle this.
Original comment by [email protected]
on 17 Aug 2013 at 2:37
Attachments:
from cqengine.
Yes the approach was to not break existing support for inherited fields,
limited as it was.
I've re-implemented it, released as CQEngine 1.1.1. It should support private
fields in superclasses now too.
BTW this code has no bearing on query performance, it's just initialization of
the attribute. The field is cached thereafter. I think there are fewer object
allocations via the getField + catch exception approach, than via getFields()
so I stuck with that approach, although I haven't benchmarked it.
Hopefully this will accommodate most use cases.
Original comment by [email protected]
on 18 Aug 2013 at 9:57
from cqengine.
Related Issues (20)
- Auto-generate attributes HOT 2
- FilteringIterator.hasNext advances iterator every time it is called. HOT 6
- Recommendation on ID indexes HOT 1
- And.calcHashCode being performance Bottlneck HOT 11
- Set.add semantics is not perfect. HOT 4
- Set remove() and removeAll() doesn't follow substitutability principle. HOT 4
- Add listeners (observers) to IndexedCollection HOT 5
- Add support for query "dialects" like SQL HOT 2
- Documentation for selective READ_COMMITTED transaction isolation using RW lock HOT 2
- Support lock-free READ_COMMITTED transaction isolation via multiple buffering HOT 2
- DeduplicationStrategy.MATERIALIZE broken in 1.2.4 HOT 1
- Modify Or/And to allow only one child. HOT 2
- Comparing two objects? HOT 1
- ObjectLockingIndexedCollection's StripedLock does not handle negative hashcodes HOT 1
- Multiversion concurrency control(MVCC) should be implemented for transaction isolation HOT 2
- Query CONSISTENTLY slower with the addition of NavigableIndex HOT 1
- Provide the way to determine how much memory used by index HOT 2
- Attribute#getValues to return Iterable HOT 1
- deduplication not return duplicate objects from the collection HOT 3
- IllegalArgumentException when ResultSet.getMergeCost() changes during query HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cqengine.