dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #35111
Re: Last hibernate sequence value
Hi,
You guys are all correct when saying that it's best to use the
standard tools and/or the web api - the problem is that DHIS2
processing is rather opaque and/or the interface simply do not allow
updating things (try accessing the OrgUnitLevel table if it's empty).
Example: the other day I exported the OrganisationUnit data using the
standard meta-data export, made some updates directly in the xml file,
and imported it again. The system indicates that import is OK and that
x records were updated - but when I look at the database table itself
there's no change. I tried again, this time importing updates via CSV
- same thing, import summary indicates all OK and x records updated,
but no actual changes in the database. (Sent the files to Lars for a
check, but no response so I guess he's just too busy). That
documentation tend to be brief, very techie and outdated .....
I spend a lot of time working on pulling in data from a variety of
formats and sources. Using the web api etc means (a) lots of
complicated formatting and many steps; (b) painstakingly having to
cross-verify that the result of every single step has actually done
what it's supposed to, because the summary feedback tend to be limited
or - as shown above - unreliable.
I cannot get "preparing things in Excel" to work either - with the
example above I tried to open the exported OU xml file in Excel. It
opens, but with somewhat strange formatting because the metaexport.xml
file do not have a scheme (at least that excel understand). So excel
creates a schema - but when trying to export as xml again after
modifications, it don't work... It's possible I'm doing something
wrong, of course - but export xml file, edit it in Excel, save xml
file, import it, that SHOULD be straightforward ...
Anyway - the bottom line is that building up a database partially
using direct dbms access make the whole process a lot faster and less
painful.
Regards from Windhoek
Calle
On 16/01/2015, Greg Rowles <greg.rowles@xxxxxxxxx> wrote:
> Thank you Everyone, that leaves our db managers with 3 options then!
>
> On Fri, Jan 16, 2015 at 11:29 AM, Knut Staring <knutst@xxxxxxxxx> wrote:
>
>> Yeah, that was my key question - and I thing it could work ok that way.
>> But I would think you could achieve most of what you want through
>> preparing
>> things in Excel and then using the Metadata import instead (so you don't
>> have to worry about the internal database IDs)
>>
>> On Fri, Jan 16, 2015 at 9:25 AM, Greg Rowles <greg.rowles@xxxxxxxxx>
>> wrote:
>>
>>> Let me not forget to mention that this type of work would be preparatory
>>> and not after roll out...
>>>
>>> On Fri, Jan 16, 2015 at 11:20 AM, Greg Rowles <greg.rowles@xxxxxxxxx>
>>> wrote:
>>>
>>>> Thanks Bob, Jason & Others
>>>>
>>>> I agree and understand but we have a DHIS2 implementors who prefer to
>>>> work directly inside the DBMS who are still new to this complex
>>>> environment. If they need to insert records directly into tables this
>>>> gives
>>>> them the opportunity to do the work they're used to (coming from
>>>> version
>>>> 1.4)...
>>>>
>>>> Regards,
>>>> Greg
>>>>
>>>>
>>>> On Fri, Jan 16, 2015 at 11:17 AM, Bob Jolliffe <bobjolliffe@xxxxxxxxx>
>>>> wrote:
>>>>
>>>>> Jason is right. You should only need the hibernate sequence number if
>>>>> you are dealing with the database through sql. And if you are, then
>>>>> the
>>>>> only safe way to use it is to get the sequence during the execution of
>>>>> the
>>>>> statement.
>>>>>
>>>>> Getting the next sequence number and storing it to some variable with
>>>>> the aim of using it at some time in the future is inherently fragile.
>>>>>
>>>>> On 16 January 2015 at 09:10, Jason Pickering <
>>>>> jason.p.pickering@xxxxxxxxx> wrote:
>>>>>
>>>>>> Hi Greg,
>>>>>> I would tend to agree with Lars that this should really not ever be
>>>>>> required, but it would be good to know what the use case actually is.
>>>>>>
>>>>>> The easiest way to do this would be to create an SQL view in DHIS2 as
>>>>>>
>>>>>> SELECT currval('hibernate_sequence')
>>>>>>
>>>>>>
>>>>>> In a multi-user database environment, this value is of course
>>>>>> volatile, so you can never be sure what the actual current value is.
>>>>>>
>>>>>> If you really need to inject SQL into your database, then using
>>>>>> something like 'nextval('hibernate_sequence'::regclass)'in your SQL,
>>>>>> which will provide the next value of the sequence.
>>>>>>
>>>>>> Regards,
>>>>>> Jason
>>>>>>
>>>>>> On Fri, Jan 16, 2015 at 9:49 AM, Lars Helge Øverland <
>>>>>> larshelge@xxxxxxxxx> wrote:
>>>>>>
>>>>>>> Hi Greg,
>>>>>>>
>>>>>>> that would be easy to implement, but the idea is that it should
>>>>>>> never
>>>>>>> be necessary to expose database details and instead work with the
>>>>>>> API. Do
>>>>>>> you think you could elaborate a bit on the use-case?
>>>>>>>
>>>>>>> Lars
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Jan 16, 2015 at 8:35 AM, Greg Rowles <greg.rowles@xxxxxxxxx>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi Devs
>>>>>>>>
>>>>>>>> Is there an easy way to expose the last hibernate sequence value
>>>>>>>> through the web API?
>>>>>>>>
>>>>>>>> Greg
>>>>>>>>
>>>>>>>> --
>>>>>>>> *Health Information Systems Program - South Africa*
>>>>>>>> *- - - - - - - **- - - - - - - **- - - - - - - **- - - - - - - **-
>>>>>>>> - - - - *
>>>>>>>> Mobile : 073 246 2992
>>>>>>>> Landline: 021 554 3130
>>>>>>>> Fax: 086 733 8432
>>>>>>>> Skype: gregory_rowles
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Mailing list: https://launchpad.net/~dhis2-devs
>>>>>>>> Post to : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>>>>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>>>>>>> More help : https://help.launchpad.net/ListHelp
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Mailing list: https://launchpad.net/~dhis2-devs
>>>>>>> Post to : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>>>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>>>>>> More help : https://help.launchpad.net/ListHelp
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Jason P. Pickering
>>>>>> email: jason.p.pickering@xxxxxxxxx
>>>>>> tel:+46764147049
>>>>>>
>>>>>> _______________________________________________
>>>>>> Mailing list: https://launchpad.net/~dhis2-devs
>>>>>> Post to : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>>>>> More help : https://help.launchpad.net/ListHelp
>>>>>>
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Mailing list: https://launchpad.net/~dhis2-devs
>>>>> Post to : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>>>> More help : https://help.launchpad.net/ListHelp
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Health Information Systems Program - South Africa*
>>>> *- - - - - - - **- - - - - - - **- - - - - - - **- - - - - - - **- - -
>>>> - - *
>>>> Mobile : 073 246 2992
>>>> Landline: 021 554 3130
>>>> Fax: 086 733 8432
>>>> Skype: gregory_rowles
>>>>
>>>
>>>
>>>
>>> --
>>> *Health Information Systems Program - South Africa*
>>> *- - - - - - - **- - - - - - - **- - - - - - - **- - - - - - - **- - - -
>>> - *
>>> Mobile : 073 246 2992
>>> Landline: 021 554 3130
>>> Fax: 086 733 8432
>>> Skype: gregory_rowles
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~dhis2-devs
>>> Post to : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>> More help : https://help.launchpad.net/ListHelp
>>>
>>>
>>
>>
>> --
>> Knut Staring
>> Dept. of Informatics, University of Oslo
>> Liberia: +231 770 496 123 or +231 886 146 381
>> Norway: +4791880522
>> Skype: knutstar
>> http://dhis2.org
>>
>
>
>
> --
> *Health Information Systems Program - South Africa*
> *- - - - - - - **- - - - - - - **- - - - - - - **- - - - - - - **- - - - -
> *
> Mobile : 073 246 2992
> Landline: 021 554 3130
> Fax: 086 733 8432
> Skype: gregory_rowles
>
--
*******************************************
Calle Hedberg
46D Alma Road, 7700 Rosebank, SOUTH AFRICA
Tel/fax (home): +27-21-685-6472
Cell: +27-82-853-5352
Iridium SatPhone: +8816-315-19274
Email: calle.hedberg@xxxxxxxxx
Skype: calle_hedberg
*******************************************
Follow ups
References