IP banned from forum
by Gunnar Morling
Hi,
Is anyone banning users from the forum? I am getting "A ban has been
issued on your IP address."
I don't think banning by IP is a good strategy as many users will have
dynamic IPs from their hoster's shared pool, so it's a random game to
hit an IP previously banned due to some other user's spam.
Thanks,
--Gunnar
6 days, 10 hours
New CI machine preview
by Sanne Grinovero
You're all welcome to play with http://54.225.162.168/
however please keep these in mind:
- it's not the final machine: don't put too much effort in creating
nice build scripts as we'll reset it to clean state soon. We *might*
be able to store jobs defined so far, but we might choose not to.
- domain name should be coming: ci.hibernate.org ..not sure when, got
no replies so far from.
- authentication: just click on login, it will use OAuth2 to request
your identity via your GitHub account. Permissions to create new jobs,
edit existing jobs, run a build manually depend on your github account
be part of the Hibernate organization (or not, in which case you have
read only status)
At this stage I'd like to get a feeling if the hardware is powerful
enough, and also we need to select which other plugins we want to use,
I'm looking especially to:
- static analysis reports
- pull requests integration
both are relatively undefined, we can of course start simple and
improve later.. just checking this fits basic needs now.
Sanne
2 months, 3 weeks
HHH-10162 Inheritance and L2 cache
by Christian Beikov
Hey guys,
Steve said I should start a discussion about the possible solution for
HHH-10162 <https://hibernate.atlassian.net/browse/HHH-10162> so here we go.
While debugging the issue, I found out that the proxy is created at
DefaultLoadEventListener.createProxyIfNecessary() where it IMO should
consult the 2L cache first by calling existing =
loadFromSecondLevelCache( event, persister, keyToLoad );. The fix looks
easy, but I am not sure of the implications. Obviously this will affect
performance a little since it has to consult the L2 cache now.
I tried to start a discussion in the Dev room, but so far only Andrea,
Vlad and Chris have commented this. Has anyone a different idea for
implementing this?
--
Mit freundlichen Grüßen,
------------------------------------------------------------------------
*Christian Beikov*
8 years, 1 month
6.0 proposal - CollectionTuplizer
by Steve Ebersole
As part of removing most Type sub-types we are left with the question of
how to handle the role served by CollectionType. Andrea and I came up with
a proposal that not only serves that purpose but also allows a level of
customization we have so far not supported but which has been asked for a
few times (mostly as part of framework/language integration into Hibernate;
Ceylon, etc).
Here is the proposal:
/**
* Encapsulates collection type specific behavior/information
* <p/>
* NOTE : the name "tuplizer" was chosen as this really serves
* same logical purpose as the entity and component tuplizers
* do entities and components respectively.
*/
interface CollectionTuplizer<C> {
/**
* Access to the type of the collection. This
* is expected to be an interface. Used to create
* a registry against which we can resolve the
* reflected attribute type. E.g. an attribute
* defined as `List` would be resolved to the
* CollectionTuplizer that deals with lists
*/
Class<C> getCollectionJavaType();
/**
* Create an empty instance of the collection wrapper
*/
PersistentCollection<C> create(int anticipatedSize);
/**
* Wrap an existing "raw" view of the collection
*/
PersistentCollection<C> wrap(Object rawCollection);
/**
* Creates the representation of this plural attribute
* according to the runtime domain model view.
*/
<O> PluralPersistentAttribute<O,C,?> generatePluralAttribute();
// anytihng else? element comparator, etc?
}
Thoughts? Suggestions?
8 years, 7 months
SQM and cast targets
by Steve Ebersole
Currently casting in HQL is under-defined and open-ended (and therefore
pretty inconsistent). What does that mean? Well, what is a valid cast
target in HQL? There really is not a defined
answer to that.
I'd like to start formalizing the answer to this.
Specifically, I am thinking this should be defined around
JavaTypeDescriptor. So that we'd understand any Java type registered with
with JavaTypeDescriptorRegistry, and specifically any that properly
implements `#getJdbcRecommendedSqlType` (using the Dialect to resolve the
cast target in the generated SQL).
Anyone have objections to this? Thoughts?
8 years, 7 months
6.0 - formalized standard functions
by Steve Ebersole
Hibernate has always defined a set of functions that should always be
available on every Dialect/database. JPA formalized some of these, but
Hibernate still had a superset. So I wanted to formalize the complete set
of supported functions. Here is the formalized list of what Hibernate has
always considered the "supported list":
- those defined by JPA
- abs
- avg
- concat
- count
- current_date
- current_time
- current_timestamp
- length
- locate
- lower
- max
- min
- mod
- sqrt
- substring
- sum
- trim
- upper
- Hibernate extensions
- bit_length
- coalesce - not technically a function, but supported as such to
allow overriding
- cast
- day - generally defined as `extract(day from ?1)`
- extract
- hour - generally defined as `extract(hour from ?1)`
- minute - generally defined as `extract(minute from ?1)`
- month - generally defined as `extract(month from ?1)`
- nullif - not technically a function, but supported as such to allow
overriding
- second - generally defined as `extract(second from ?1)`
- str - generally defined as `cast(?1 as CHAR )`
- year - generally defined as `extract(year from ?1)`
Additions/subtractions anyone would like to discuss?
One question I has was in regards to str being defined as `cast(?1 as CHAR
)` by default - specifically using CHAR instead of VARCHAR. Some databases
apply padding for the size of the datatype when casting a numeric to a CHAR
which is not an unreasonable thing to do.
8 years, 7 months