Opened 11 years ago

Last modified 11 years ago

#617 closed enhancement

rasql insert within an MDD object — at Version 2

Reported by: Dimitar Misev Owned by: Dimitar Misev
Priority: major Milestone: Future
Component: qlparser Version: development
Keywords: Cc: Piero Campalani, Peter Baumann
Complexity: Medium

Description (last modified by Dimitar Misev)

In the way partial updates are supported we should support insert into an existing MDD object. This would allow to insert time slices in a time-series for example, after some data has already been ingested.

Example

insert into 3Dcube[5,*:*,*:*]
values VALUES

This would insert the VALUES (a 2D object) into the existing 3D objects in 3Dcube at slice t=5. The existing slices at t≥5 will be moved to t+1, i.e. slice 5 becomes 6, etc.

A more general and conceptually more appealing approach would be to implement a 'shift' operator in the update statement, that allows to move slices around.

Example (should be refined)

update 3Dcube as c
set c
assign shift(1, 5, 1)

shift(5, 1, 1) means move slice 5 (arg 1) of dimension 1 (arg 2) for 1 (i.e. to slice 6). The 3rd argument could be -1 for example to shift to slice 4.

Implementation: this could be implemented efficiently without moving any data but just shifting some OIDs in the index.

Change History (2)

comment:1 by Dimitar Misev, 11 years ago

Description: modified (diff)

comment:2 by Dimitar Misev, 11 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.