Skip to Main Content
InterSystems Ideas

Have an idea, suggestion, or something that doesn’t work as expected in InterSystems products or services? Share it here on the InterSystems Ideas Portal.

The Ideas Portal is where community members can propose improvements, report bugs, and help influence the product roadmap across InterSystems products and the overall developer experience. 22% of submitted ideas are implemented by InterSystems or members of the Developer Community.

💡 Ideas and bugs are both welcome, no matter how big or small. You can submit feature requests, usability improvements, workflow suggestions, and bug reports. Whether you’re an experienced expert or just getting started, your fresh perspective is valuable.

🛠️ About bugs and fixes. If you have access to InterSystems WRC, please submit bugs there for immediate action. Bug reports submitted through the Ideas Portal are reviewed and tracked, but do not guarantee immediate resolution.

Start by sharing what could be better - the community and our teams will help take it from there.

Status Community Opportunity
Categories InterSystems IRIS
Created by Yuri Marx
Created on Jun 21, 2023

Transient data

When modeling a new table or persistent class, allows to mark the table or persistent class as transient. The transient attribute will set how many time the data will exists in the database.

Transient data is useful to persist temporal data, like data sent by IoT devices, or data frame data for financial operations, etc.

If a class this definition will be on storage section, example:

<Storage name="Default">
<Data name="PersonDefaultData">
<Value name="1">
<Value>%%CLASSNAME</Value>
</Value>
<Value name="2">
<Value>Name</Value>
</Value>
<Value name="3">
<Value>SSN</Value>
</Value>
</Data>
<TransientRule>1h</TransientRule>
<DataLocation>^Sample.PersonD</DataLocation>
<DefaultData>PersonDefaultData</DefaultData>
<ExtentSize>200</ExtentSize>
<IdLocation>^Sample.PersonD</IdLocation>
<IndexLocation>^Sample.PersonI</IndexLocation>
<Property name="%%CLASSNAME">
<Selectivity>50.0000%</Selectivity>
</Property>

Could use h for hour, m for minute, s for second and you can combine, sample: 1h:10m.


For SQL create table:

CREATE TABLE table (column type IDENTITY, ...) TRANSIENTRULE '1h'
  • ADMIN RESPONSE
    Oct 28, 2024

    Thank you for submitting the idea. The status has been changed to "Community Opportunity".

    Stay tuned!

  • Benjamin De Boe
    Oct 28, 2024

    Marking as "community opportunity", as I don't think we'll be adding this to the roadmap in the foreseeable future.

    The proposed functionality would be possible to deliver in a rather lightweight framework with a subclass of %Persistent, using class parameters, and a scheduled task that takes care of dropping older records.

  • Admin
    Vadim Aniskin
    Jan 22, 2024

    @Guest , you have a comment on your idea. Please answer it to help your idea to be promoted.

  • Dmitry Maslennikov
    Jul 4, 2023

    I suppose the closest realizations of this are transient tables in Snowflake (with syntax CREATE TRANSIENT TABLE ...)

    And redis with expire command

    So, if implement, I think should be considered the same SQL syntax as Snowflake with similar behavior with up to 1-day existence of stored data