ORDA and Blobs: Will it be a feature?

I’m trying to do some longer-range planning for my database development.
If 4D will NOT be supporting Blobs within ORDA in the near future: then I need to start the migration of some fields. (I would really rather not!)

So: My question to the decision makers in 4D: is it anywhere in the plans to add support for BLOB fields in ORDA? and if so: any forecast as to when?

4 Likes

I have had times where it would have been useful to have had blobs. But I have started to switch my code to use text fields to hold the blobs. What I would do is just try to avoid strict binary objects. Some places you just must use a blob like storing printer settings. But otherwise I use either a text field and stuff JSON data in it or use a picture field to hold photos etc. I have a feeling that blobs may do the way of the dodo except in rare circumstances. Wakanda did not use blobs much in its code and I am seeing much of the work done in Wakanda returning back to the 4D fold. Look at the current Wakanda lists and you will see many of the patterns that 4D has taken on its recent path. Looking at the future plans revealed at the 4D conference videos you see that model going on much stronger forward. But little to no mention of blobs. This path is for V19 which is supposed to be in two years.

It would be technically possible to transfer blobs as base64 encoded strings.
Then to allow you to decode from an object attribute, to assign to a local variable to access the blob content.
Coding would be no fun and it would not fit to the concept, but could be possible.

As we have low requests for that feature (some, but not many), we currently focus on other parts, like expanding OOP features as shown in 4D Summit presentations.

So answer: no plans for now, nothing to expect in near future.

Sure, that 4D does not store content as binary in objects? I guess it is already implemented. Even 4D uses BLOBs in objects: POP3_transporter.getMIMEAsBlob()

I also had this request long time ago (v14). For me it is an essential feature. ORDA is (for me) incomplete regarding blobs.

no, this is a class with a member function returning a blob. You can do that with your own code as well…

Again: i guess, 4D stores internally binary data because 4D can handle also pictures in ORDA.

To answer with documentation.

4D’s object type does not support blobs. Here the list of support variable types:

ORDA does only supports those types, as explained here:


(1) Note that ORDA handles database fields through objects (entities) and thus, only supports data types available to these objects.

That’s why I wrote it would be technically possible to transfer blobs, but it would be no fun to use them, as the language does not handle blobs in objects.
It is a possible, but “expensive” (=time consuming) feature and that’s why we currently focus on other features with higher requests, such as classes and more.

I don’t know about the internal implementation, but maybe “lazy loading” can solve the problem - same with pictures. But why pictures are supported and no blobs? What is the reason?

I agree, classes have a higher priority.

1 Like