On Wed, 8 Mar 2017 09:19:35 +0000, Pat Bensky wrote:
> Hi Chip,
> The problem with that scenario is that it would preclude the use of 4D
> features such as the report editor, 4DWrite, label editor, etc. - all
> things that our customers use. Or we would have to roll out our own, which
> I'm not inclined to do :)
true!
and that could be a lot of work - depending on what/how you did it.
 
> Also I've realised that there is another fundamental problem with the idea
> of allowing customers to create new fields: when we issue a program update,
> those custom fields - and their data - will be lost! So I think we are
> stuck with our current situation of having lots of spare tables with lots
> of fields. The only real issue with this is that it bloats the database.
> But that isn't such a concern these days - everybody has big storage
> capacity.
if you used a 2 table approach with the definitions and data in object 
field -
updates would not matter!
The data, and the definitions remain the same.

IF you need to update either you could "apply to selection" (though I 
do not know how that would work on an object - so think conceptually 
rather then literally) to add/remove/change the object properties

  
> Pat
> 
> On 8 March 2017 at 05:14, Chip Scheide <[email protected]> wrote:
> 
>> Pat,
>> how about :
>> 1 table - each record contains an object field which holds a table
>> definition, which the user can define.
>> 1 more table - each record has an object field which holds the data for
>> the table defined above
>> 
>> 
>>> I'm revisiting the idea of creating a flexible table structure with v16.
>>> Currently we have lots of user data tables defined, and they are
>>> activated/deactivated as required by each customer. This works OK but it
>>> adds a lot of overhead to the database, as it means we have more than 50
>>> tables, each with over 500 fields of various types. It would be much
>> better
>>> to be able to define tables on the fly.
>>> 
>>> The first obstacle is triggers. We can create a new table using the SQL
>>> CREATE TABLE command, but I can't see a way to programmatically add a
>>> trigger to it. Triggers can be enabled or disabled via the ALTER TABLE
>>> command, but how can a trigger be created? Is there ANY way to create a
>>> trigger?
>>> 
>>> Thanks!
>>> Pat
>> ------------
>> Hell is other people
>>      Jean-Paul Sartre
>> 
> 
> 
> 
> -- 
> *************************************************
> CatBase - The Database Publishing Solution
> tel: +44 (0) 207 118 7889
> w: http://www.catbase.com
> skype: pat.bensky
> *************************************************
---------------
Gas is for washing parts
Alcohol is for drinkin'
Nitromethane is for racing 
**********************************************************************
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:[email protected]
**********************************************************************

Reply via email to