You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@openjpa.apache.org by Krzysztof <ya...@gmail.com> on 2013/06/05 17:58:44 UTC

Re: Custom data store implementation guidelines

Hi,
I agree that clear architectural picture and dataflow would help to
understand how to extend and how to deal with its bugs and inefficiencies
(doable=>worth investing time/not-doable).

You might want to check specific HandlerStrategy from
org.apache.openjpa.meta.strats, i.e. HandlerFieldStrategy.insert() which
sets the values for prepared statement
and then Row implementation that actually generates prepared statement's
SQL: org.apache.openjpa.jdbc.sql.RowImpl::getSQL(DBDictionary) 
and actually filling it with data:
org.apache.openjpa.jdbc.sql.RowImpl::flush(..) 

This is called through through flush of suitable UpdateManager
(AbstractUpdateManager usually).

Not seeing the whole picture the architecture does seem quite convoluted
just by looking at the stack depth - I have considered adding some fast-path
capability for inserts for specific DB (COPY interface of Postgres) but not
sure if it's really doable without changing openjpa kernel.

Cheers
Chris

PS. Also changing generated sql for bit more complicated models is not
trivial (look for issues related to  PARALLEL queries in JIRA) - another
place some kind of data flow or functional diagram would be helpful.





--
View this message in context: http://openjpa.208410.n2.nabble.com/Custom-data-store-implementation-guidelines-tp7583851p7584074.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.