Skip to Content (Press Enter)
OutSystems.com
Personal Edition
Community
Support
Training
Training
Online Training
Developer Schools
Boot Camps
Certifications
Tech Talks
Documentation
Documentation
Overview
ODC
O11
Forums
Forge
Get Involved
Get Involved
Jobs
Ideas
Members
Mentorship
User Groups
Platform
Platform
ODC
O11
Search in OutSystems
Log in
Get Started
Back to Forums
enigma
0
Views
6
Comments
Platform DB & Entities
Question
ive just been having a look at the outsystems databse catalog
and found that, if i create a entity attribute and then delete/rename it,
it remains in the actual DB, eventhough its not visible in service studio
and for every attribute that was ever created or renamed,
a record is created in a further table, even if it was deleted in the meantime
is this a normal behaviour?
and why isnt it all cleaned up a little?
afterall this will affect performance
João Rosado
Staff
Hi enigma,
That is the normal behavior. We never delete data, so it is possible to rollback the operation by publishing a previous version of the eSpace.
But you will get a warning message saying the column exist, and after doing necessary data upgrades (if needed) you should delete it directly on the database.
Regards,
João Rosado
Justin James
MVP
It really doesn't affect performance, only the needed columns get retreived. There are a lot of database "performance ideas" out there which were either never true, or used to be true but no longer aren't... this is one of them. Another is binary data in the DB. It used to be a problem. It isn't anymore.
J.Ja
1 reply
15 Jul 2012
Show thread
Hide thread
enigma
not even if the development server has been running for a few years?
i mean there must be a noticeable difference, between selecting from 1million or just 50 records
and if a new record is created, for every time a field/column is renamed, the 1million can be reached quite fast
the rollback possibility seems plausible
although the older a version gets, the lower the interest/need for a rollback will get
ie. you dont keep the daily backups for ten years ago either
im getting one of those warning/info messages
but if i try delete the column in the DB, i get an error because a index egsists
when i delete the index and then the column, i cant publish the espace anymore
because it tries accessing the deleted index
João Rosado
Staff
Hi,
There shouldn't be any indexes over old attributes. So I'm guessing it was a default value contraint. Are you sure you deleted the correct column/index/contraint?
Even if you had deleted a needed index, the platform would just recreate it. What error are you getting?
Regards,
João Rosado
1 reply
15 Jul 2012
Show thread
Hide thread
enigma
pretty sure yes, when i try deleting the field in the DB i get:
"the index LOCALEID is dependent of column LOCALEID. ALTER TABLE DROP COLUMN LOCALEID failed because one or more objects access this column."
then i delete the index, which workes without errors
after that i try deleting the field again, which works now
but if i try publishing the espace again (without the deleted field in the entity) i get:
Publishing Error
Unable to upgrade database schema. Error trying to create index on database table 'OSUSR_9x6_UoM1' over fields '"LOCALEID"'.
Exception: Column name 'LOCALEID' does not exist in the target table or view.
if i now try creating the field in the entity and publish again, it works
but if i now delete the field from the entity again, the initial warning/info message appears again =)
Justin James
MVP
Enigma -
Yes, you would be right that adding additional *rows* would cause a performance slowdown. But the system isn't adding additional *rows*, it is adding additional *tables* and additional *collumns*, neither of which cause a slowdown.
If this is a development server and it truly concerns you, delete the eSpace then redeploy it, and it gets a fresh set of tables with no data in them.
J.Ja
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting.
See the full guidelines
Loading...