[Pharo-users] OmniBase for Pharo 6

Matias Maretto mgmaretto at hotmail.com
Sun Jun 24 18:33:19 EDT 2018


Thank you for the info Peter ; I have been working storing and retrieving data , everything works fine. I have an ODBPErsistDictionary with almost 20.000 objects on it, I really get sorprised of how fast can resolve "select:[] commands"; I know it is not related with the subjet we are working, but well 😊




________________________________
De: Pharo-users <pharo-users-bounces at lists.pharo.org> en nombre de PBKResearch <peter at pbkresearch.co.uk>
Enviado: domingo, 24 de junio de 2018 05:54 p. m.
Para: 'Any question about pharo is welcome'
Asunto: Re: [Pharo-users] OmniBase for Pharo 6


Hi Matias (and EstebanLM)



I have explained the problem with storing and retrieving Date. Looking through the OmniBase code in the repository, I see that there is a whole series of extensions for many of the standard classes, which provide methods for serializing and deserializing instances of those classes. The extension for Date class ignores the start time, and simply saves the day number; the retrieval method can only use the days, and so cannot take account of the offset for the time zone. If it is necessary to save and restore dates in a way which is time-zone sensitive, it will be necessary to modify the code for serializing dates to store day and offset. I have not yet worked out how the methods are structured, so I have not tried to recode, but all the methods I have looked at are only one or two lines, so it should not be difficult.



Looking through the classes with extensions, I realise that we may need to check rather more examples to be sure that everything is handled correctly. I did one little test with String. The standard test in TestEquality just stores and retrieves ‘Hello World’. To check that it could handle other encodings, I tried the test with a German string encoded in utf8. This worked OK. So thus far everything is fine, but it would be a good idea to check correct retrieval each time we persist a new class of object.



Best wishes



Peter Kenny



From: Pharo-users <pharo-users-bounces at lists.pharo.org> On Behalf Of Matias Maretto
Sent: 23 June 2018 19:40
To: Any question about pharo is welcome <pharo-users at lists.pharo.org>
Subject: Re: [Pharo-users] OmniBase for Pharo 6



Hi Peter, thanks for the news. I have been doing some tests, persisting diferent kind of objects and until now everythings works fine.

If you find anything else, please let me now.



Thanks.

Matias.





________________________________

De: Pharo-users <pharo-users-bounces at lists.pharo.org<mailto:pharo-users-bounces at lists.pharo.org>> en nombre de PBKResearch <peter at pbkresearch.co.uk<mailto:peter at pbkresearch.co.uk>>
Enviado: sábado, 23 de junio de 2018 05:18 p. m.
Para: 'Any question about pharo is welcome'
Asunto: Re: [Pharo-users] OmniBase for Pharo 6



Hi Matias



A further report. I have worked through the test suite in OmniBaseTests, running each test individually. I now have all green except two – testEquality, which fails on the storage and retrieval of ‘Date today’, and testGC, which fails for reasons I have not yet found.



The worrying thing is the apparent change in the instance variables of Date – see my exchange with Alistair Grant in another thread. I shall try to work through the way OmniBase saves and resets the instvars, just in case it might be a general problem.



I shall let you know of anything else I find.



Peter Kenny



From: Pharo-users <pharo-users-bounces at lists.pharo.org<mailto:pharo-users-bounces at lists.pharo.org>> On Behalf Of PBKResearch
Sent: 23 June 2018 09:18
To: 'Any question about pharo is welcome' <pharo-users at lists.pharo.org<mailto:pharo-users at lists.pharo.org>>
Subject: Re: [Pharo-users] OmniBase for Pharo 6



Matias



Thanks. I have made this change, but it does not affect the tests I have run.



I have focused on getting the test suite in OmniBaseTests to run. So far I still have 5 greens, 7 reds and one orange. The greens are all the first five test methods in the browser list; it seems it half fails on the sixth one (TestEquality), hence the orange, and then red for all the rest.



One problem is that the test database is created at the start of the test suite, and then not removed at the end. This seems to mess up the next attempt to run the tests. I tried to run the OmniBaseTests>>#tearDown manually, but it fails, so I have to exit Pharo and delete the test database in Windows.



I intend to continue running the test suite, but I shall run the tests individually, and put breakpoints in those that fail. I shall report here if I make any progress.



Best wishes



Peter Kenny



From: Pharo-users <pharo-users-bounces at lists.pharo.org<mailto:pharo-users-bounces at lists.pharo.org>> On Behalf Of Matias Maretto
Sent: 23 June 2018 01:37
To: Any question about pharo is welcome <pharo-users at lists.pharo.org<mailto:pharo-users at lists.pharo.org>>
Subject: Re: [Pharo-users] OmniBase for Pharo 6



Peter: I think I found the problem. On ODBFileStream class >> accessModeReadOnly the "o" on "only" is not capital. It is  ^#accessModeReadonly  when should be ^#accessModeReadOnly ; so on the ODBWin32FileStream >> createOn:  createMode:  accessMode:  shareMode:  cacheMode:  this part fails:

accessMode = #accessModeReadOnly ifTrue: [acMode := 2147483648 "GENERIC_READ"].

So it cant open the users file for read.  I have fix it and at least for now I didn't get any "block" error.







________________________________

De: Pharo-users <pharo-users-bounces at lists.pharo.org<mailto:pharo-users-bounces at lists.pharo.org>> en nombre de PBKResearch <peter at pbkresearch.co.uk<mailto:peter at pbkresearch.co.uk>>
Enviado: viernes, 22 de junio de 2018 10:39 p. m.
Para: 'Any question about pharo is welcome'
Asunto: Re: [Pharo-users] OmniBase for Pharo 6



Matias



Thanks for the hints. I now have 5 greens, but all the rest are red. I am still getting the ‘File cannot be locked’ message. Are you doing better than that? I may try a few trials using it for real, rather than the test suite.



Thanks again



Peter Kenny



From: Pharo-users <pharo-users-bounces at lists.pharo.org<mailto:pharo-users-bounces at lists.pharo.org>> On Behalf Of Matias Maretto
Sent: 22 June 2018 22:54
To: Any question about pharo is welcome <pharo-users at lists.pharo.org<mailto:pharo-users at lists.pharo.org>>
Subject: Re: [Pharo-users] OmniBase for Pharo 6



Hi Peter, yes I had the same error at the beginning. I have done 2 minor  changes. Now it seems to be working fine (Although I am still running more tests). Here:



ODBWin32FileStream >>

closeHandle: aHandle

"Close an open Win32 object handle, freeing any resources held by it.

Once closed a handle is no longer valid. Answer whether the function

succeeds.

See Win32 SDK help for more information.



BOOL CloseHandle(

HANDLE  hObject

// handle of object to close

);"



"<apicall: ulong 'CloseHandle' (long) module:'kernel32.dll'>"

^ self ffiCall: #(ulong CloseHandle(long aHandle))







ODBWin32FileStream >>

lockFile: aHandle offsetLow: loPos offsetHigh: hiPos lengthLow: loLength lengthHigh: hiLength

"<apicall: long 'LockFile' (long ulong ulong ulong ulong) module: 'kernel32.dll'>"



^ self

ffiCall: #(long LockFile #(long aHandle , ulong loPos , ulong hiPos , ulong loLength , ulong hiLength))







________________________________

De: Pharo-users <pharo-users-bounces at lists.pharo.org<mailto:pharo-users-bounces at lists.pharo.org>> en nombre de PBKResearch <peter at pbkresearch.co.uk<mailto:peter at pbkresearch.co.uk>>
Enviado: viernes, 22 de junio de 2018 09:45 p. m.
Para: 'Any question about pharo is welcome'
Asunto: Re: [Pharo-users] OmniBase for Pharo 6



Matias



I have just loaded Esteban’s package in a new Pharo 6.1 under Windows 10. I get an error message saying ‘File cannot be locked. Try again?’. When I select ‘no’, all tests are run and give red. Are you still running on win 7? If so, I must be doing something wrong. Can you give more details of the FFI corrections you made, please?



Many thanks



Peter Kenny



From: Pharo-users <pharo-users-bounces at lists.pharo.org<mailto:pharo-users-bounces at lists.pharo.org>> On Behalf Of Matias Maretto
Sent: 22 June 2018 21:07
To: Any question about pharo is welcome <pharo-users at lists.pharo.org<mailto:pharo-users at lists.pharo.org>>
Subject: Re: [Pharo-users] OmniBase for Pharo 6



Esteban: it's working fine, I had to made a minor corrections on 2 FFI calls and now everithing seems to be working fine.

For What I saw with Voyage-UnqLite only String Objects can be used to searilize; Omnibase allow to persist almost any kind of objects, thats the part I like about it.







________________________________

De: Pharo-users <pharo-users-bounces at lists.pharo.org<mailto:pharo-users-bounces at lists.pharo.org>> en nombre de Esteban Lorenzano <estebanlm at gmail.com<mailto:estebanlm at gmail.com>>
Enviado: jueves, 21 de junio de 2018 08:19 p. m.
Para: Any question about pharo is welcome
Asunto: Re: [Pharo-users] OmniBase for Pharo 6



I did it manually and I took like 5 min :P
but this was really easy, just a bunch of FFI calls.

Esteban

> On 21 Jun 2018, at 15:31, Sean P. DeNigris <sean at clipperadams.com<mailto:sean at clipperadams.com>> wrote:
>
> EstebanLM wrote
>> I just made a “blind port”… migrated the old FFI to new UFFI
>
> Did you do this manually or use some migration tool? How long did it take?
>
>
>
> -----
> Cheers,
> Sean
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html

Smalltalk - Pharo Smalltalk Users | Mailing List Archive<http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html>

forum.world.st

Pharo Smalltalk Users forum and mailing list archive. Pharo User Forum



>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-users_lists.pharo.org/attachments/20180624/de66316e/attachment-0001.html>


More information about the Pharo-users mailing list