ah very nice client you had :)

Thank you Mariano very much will take a deep look into it and I am sure
will be back with more questions, its fascinating.

On Mon, Nov 30, 2015 at 7:54 PM Mariano Martinez Peck <marianop...@gmail.com>
wrote:

> On Mon, Nov 30, 2015 at 2:42 PM, Dimitris Chloupis <kilon.al...@gmail.com>
> wrote:
>
>> ah this is very good news for me thanks. I really like Fuel, well done
>> guys, looks very well designed.
>>
>> Yeah feature wise I dont care about something advanced, If I need
>> something much more advanced I will use a proper database.
>>
>> I am slightly surprised that none or at least AFAIK has not create a
>> lightweight database API based on Fuel . Something similar to SQLite.
>>
>> https://www.sqlite.org/
>>
>>
> Well, we did and my client agree to open source it:
> http://smalltalkhub.com/#!/~Debris/DebrisDB
> So...you could either try that or SimplePersistentcy.
>
> About scale, I guess I can brake things to multiple files.
>>
>
> That's what we do in our application. Not necessary as for performance but
> also as for domain logic. We have advisorDB, clientsDB, securitiesDB, etc,
> which are all logic app-dependent databases. And then all these logic
> databases are stored (somehow) into real databases.
>
>
>> On other thread someone mention that STON is a good choice for version
>> control but that is not a problem for me either since Git can handle binary
>> files like fuel files too.
>>
>> On Mon, Nov 30, 2015 at 4:49 PM Mariano Martinez Peck <
>> marianop...@gmail.com> wrote:
>>
>>> On Mon, Nov 30, 2015 at 11:40 AM, Dimitris Chloupis <
>>> kilon.al...@gmail.com> wrote:
>>>
>>>> Yes I have read the docs on how to use Fuel on how to use it and how to
>>>> exclude things I dont want to be stored in fuel file, I was just curious.
>>>> As a matter of fact I like deep copies.
>>>>
>>>> Is it ok to use Fuel to make my own , super light, database ? Just a
>>>> way to manage and port my objects between images. Nothing very
>>>> sophisticated.
>>>>
>>>
>>> Yes, we did this for Quuve application when it runs (for development)
>>> under Pharo. Of course, it will only work up to certain scale (since every
>>> commit will serialize the whole database) and you do not have ACID, nor DB
>>> users, no security, nor any other features of a real DB.
>>>
>>> You may want to take a look to simple persistence to save some of your
>>> development time since it has a Fuel backend:
>>> http://smalltalkhub.com/#!/~TorstenBergmann/SimplePersistence
>>>
>>>
>>>> On Mon, Nov 30, 2015 at 3:08 PM Mariano Martinez Peck <
>>>> marianop...@gmail.com> wrote:
>>>>
>>>>> On Mon, Nov 30, 2015 at 8:41 AM, Dimitris Chloupis <
>>>>> kilon.al...@gmail.com> wrote:
>>>>>
>>>>>> I have a class A that has an instance variable the references an
>>>>>> instance of Class B , but also Class B has an instance variable the
>>>>>> references an instance of Class A. Basically its a GUI that references 
>>>>>> its
>>>>>> model and the same model referencing the same instance of GUI.
>>>>>>
>>>>>>
>>>>> Dimitris,
>>>>>
>>>>> Fuel solves the circular references in the traditional way, that is,
>>>>> while traversing the graph, after processing each objects it stores it in 
>>>>> a
>>>>> IdentityDictionary. Then, for each object to be processed, it first checks
>>>>> if the dictionary already includes that object. If true, then it has
>>>>> already been processed. If not, then lets process/traverse.
>>>>>
>>>>>
>>>>>
>>>>>> How Fuel deals with such scenario because I saw that it created an
>>>>>> output of 1.5 mbs for several instances of my model class ? Is there any
>>>>>> danger of having such circular references or it does not matter because
>>>>>> afterall they are just pointers ?
>>>>>>
>>>>>
>>>>> As Sven said, you need to be careful because you cannot be sure
>>>>> exactly all what Fuel can reach from a certain graph. If the graph was
>>>>> serialized into a 1.5mb then it has nothing to do to the fact of having
>>>>> circular references. It's simply the fact of the graph that ended up
>>>>> traversed.
>>>>>
>>>>> There are some tools inside Fuel to know what has been
>>>>> "traversed/processed" and that will next be serialized. This may help you
>>>>> realize that you are including in the graph things you don't want. We have
>>>>> http://rmod.inria.fr/web/software/Fuel/Version1.9/Documentation/Debugging
>>>>> but I am not sure if that's a bit outdated. Give it a try and if not ask.
>>>>> The ideally is to at least get the list of classes and instances that are
>>>>> being serialized. That's quite a help in a first place.
>>>>>
>>>>> Finally, if you found parts of the graph that you didn't want to
>>>>> serialize, then you can use different Fuel hooks to solve that
>>>>> (substitutions, ignoring certain intsVars, etc etc).
>>>>>
>>>>> Best,
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Mariano
>>>>> http://marianopeck.wordpress.com
>>>>>
>>>>
>>>
>>>
>>> --
>>> Mariano
>>> http://marianopeck.wordpress.com
>>>
>>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>

Reply via email to