Mapping operations examples

This page lists several use cases that helps understand how Add, Update, Initialize, Remove and Clear operations behave.


 

Mono-valued members

ADD operation

Use case Values in the storage Operation Resulting storage
A
|  [--A------[
|
|------------------------->
|  t1        t2      t3
ADD
  value=A
  validTime=[t2, t3[
|  [--A------[--A-----[
|
|------------------------->
|  t1        t2       t3
B
|  [--A------[--A-----[
|
|------------------------->
|  t1        t2      t3
ADD
  value=A
  validTime=[t2, t3[
|  [--A------[--A-----[
|
|------------------------->
|  t1        t2       t3
C
|  [--A------[--A-----[
|
|------------------------->
|  t1        t2      t3
ADD
  value=A
  validTime=[t2, UNTIL_CHANGED[
|  [--A------[--A-----[
|
|------------------------->
|  t1        t2       t3
D
|  [--A---------[--A---[
|
|--------------------------->
|  t1     t2    t3     t4
ADD
  value=A
  validTime=[t2, UNTIL_CHANGED[
|  [--A---[--A--[--A---[
|
|--------------------------->
|  t1     t2    t3     t4
E
|  [--A------[--B--------[--A-----[
|
|------------------------------------>
|  t1        t2    t3    t4       t5
ADD
  value=A
  validTime=[t3, UNTIL_CHANGED[
|  [--A------[--B--[--A-[--A-----[
|
|------------------------------------>
|  t1        t2    t3    t4       t5

UPDATE operation

Use case Values in the storage Operation Resulting storage
A
|  [--A------[
|
|------------------------->
|  t1        t2      t3
UPDATE
  value=A
  validTime=[t2, t3[
|  [--A---------------[
|
|------------------------->
|  t1        t2       t3
B
|  [--A------[--A-----[
|
|------------------------->
|  t1        t2      t3
UPDATE
  value=A
  validTime=[t1, t3[
|  [--A---------------[
|
|------------------------->
|  t1        t2       t3
C
|  [--A------[--A-----[
|
|------------------------->
|  t1        t2      t3
UPDATE
  value=A
  validTime=[t1, UNTIL_CHANGED[
|  [--A------[--A-----[
|
|------------------------->
|  t1        t2       t3
D
|  [--A---------[--A---[
|
|--------------------------->
|  t1     t2    t3     t4
UPDATE
  value=A
  validTime=[t2, UNTIL_CHANGED[
|  [--A---------[--A---[
|
|--------------------------->
|  t1     t2    t3     t4
E
|  [--A------[--B--------[--A-----[
|
|------------------------------------>
|  t1        t2    t3    t4       t5
UPDATE
  value=A
  validTime=[t3, UNTIL_CHANGED[
|  [--A------[--B--[--A-----------[
|
|------------------------------------>
|  t1        t2    t3    t4       t5
F
|  [--A------[--B--------[--A--[--A--[
|
|--------------------------------------->
|  t1        t2    t3    t4    t5    t6
UPDATE
  value=A
  validTime=[t3, UNTIL_CHANGED[
|  [--A------[--B--[--A--------[--A--[
|
|--------------------------------------->
|  t1        t2    t3    t4    t5    t6
G
|  [--A--[        [--A--[
|
|------------------------->
|  t1 t2 t3       t4 t5 t6
UPDATE
  value=A
  validTime=[t2, t5[
|  [---------A--------[
|
|------------------------->
|  t1                 t6
H
|  [--A--[        [--A--[
|
|------------------------->
|  t1    t2       t3    t4
UPDATE
  value=A
  validTime=[t2, t3[
|  [--A---------------[
|
|------------------------->
|  t1                 t4

INITIALIZE operation

Use case Values in the storage Operation Resulting storage
A

The instance does not yet exist and is created

 

INIT
  value=*
  validTime=[*, *[

Behaves as the ADD operation in its various use-cases.

B

The instance already exists and is extended.

 

INIT
  value=*
  validTime=[*, *[

Behaves as the UPDATE operation in its various use-cases.

C

The instance already exists and is NOT extended.

INIT
  value=*
  validTime=[*, *[

This operation is skipped.

REMOVE operation

Use case Values in the storage Operation Resulting storage
A
|  [--A------[
|
|------------------------->
|  t1        t2      t3
REMOVE
  value=A
  validTime=[t1, t2[
|                      
|
|------------------------->
|  t1        t2       t3
B
|  [--A------[
|
|------------------------->
|  t1        t2      t3
REMOVE
  value=B
  validTime=[t1, t2[
|  [--A------[
|
|------------------------->
|  t1        t2       t3
C
|  [--A---------------[
|
|------------------------->
|  t1        t2      t3
REMOVE
  value=A
  validTime=[t2, UNTIL_END[
|  [--A------[           
|
|------------------------->
|  t1        t2       t3
D
|  [--A----------------[
|
|--------------------------->
|  t1     t2    t3     t4
REMOVE
  value=A
  validTime=[t2, t3[
|  [--A---[     [--A---[
|
|--------------------------->
|  t1     t2    t3     t4
E
|  [--A------[--B--------[--A-----[
|
|------------------------------------>
|  t1        t2    t3    t4       t5
REMOVE
  value=B
  validTime=[t1, t5[
|  [--A------[          [--A-----[
|
|------------------------------------>
|  t1        t2    t3    t4       t5

CLEAR operation

Use case Values in the storage Operation Resulting storage
A
|  [--A------[
|
|------------------------->
|  t1        t2      t3
CLEAR
  validTime=[t1, t2[
|                      
|
|------------------------->
|  t1        t2       t3
B
|  [--A------[
|
|------------------------->
|  t1        t2      t3
CLEAR
  validTime=[t2, UNTIL_END[
|  [--A------[
|
|------------------------->
|  t1        t2       t3
C
|  [--A---------------[
|
|------------------------->
|  t1        t2      t3
CLEAR
  validTime=[t2, UNTIL_END[
|  [--A------[           
|
|------------------------->
|  t1        t2       t3
D
|  [--A----------------[
|
|--------------------------->
|  t1     t2    t3     t4
CLEAR
  validTime=[t2, t3[
|  [--A---[     [--A---[
|
|--------------------------->
|  t1     t2    t3     t4
E
|  [--A------[--B--[--A-----------[
|
|------------------------------------>
|  t1        t2    t3    t4       t5
CLEAR
  validTime=[t2, t4[
|  [--A------[          [--A-----[
|
|------------------------------------>
|  t1        t2    t3    t4       t5

Multi-valued members

ADD operation

Use case Values in the storage Operation Resulting storage
A
|  [--A------[
|
|------------------------->
|  t1        t2      t3
ADD
  value=B
  validTime=[t1, t3[
|  [--A------[         
|  [--B---------------[
|
|------------------------->
|  t1        t2       t3
B
|  [--A------[
|
|------------------------->
|  t1        t2      t3
ADD
  value=A
  validTime=[t2, t3[
|  [--A------[--A-----[
|
|------------------------->
|  t1        t2       t3
C
|  [--A------[--A-----[
|
|------------------------->
|  t1        t2      t3
ADD
  value=A
  validTime=[t2, t3[
|  [--A------[--A-----[
|
|------------------------->
|  t1        t2       t3
D
|  [--A------[--A-----[
|
|------------------------->
|  t1        t2      t3
ADD
  value=A
  validTime=[t2, UNTIL_CHANGED[
|  [--A------[--A-----[
|
|------------------------->
|  t1        t2       t3
E
|  [--A---------[--A---[
|
|--------------------------->
|  t1     t2    t3     t4
ADD
  value=A
  validTime=[t2, UNTIL_CHANGED[
|  [--A---[--A--[--A---[
|
|--------------------------->
|  t1     t2    t3     t4
F
|  [--A---------------------------[
|                        [--B-----[
|
|------------------------------------>
|  t1        t2    t3    t4       t5
ADD
  value=A
  validTime=[t3, UNTIL_CHANGED[
|  [--A------------[--A----------[
|                       [--B-----[
|
|------------------------------------>
|  t1        t2    t3    t4       t5

UPDATE operation

Use case Values in the storage Operation Resulting storage
A
|  [--A------[
|
|------------------------->
|  t1        t2      t3
UPDATE
  value=A
  validTime=[t2, t3[
|  [--A---------------[
|
|------------------------->
|  t1        t2       t3
B
|  [--A------[
|
|------------------------->
|  t1        t2      t3
UPDATE
  value=B
  validTime=[t2, t3[
|  [--A---------------[
|            [--B-----[
|
|------------------------->
|  t1        t2       t3
C
|  [--A------[--A-----[
|
|------------------------->
|  t1        t2      t3
UPDATE
  value=A
  validTime=[t1, t3[
|  [--A---------------[
|
|------------------------->
|  t1        t2       t3
D
|  [--A--[        [--A--[
|
|------------------------->
|  t1 t2 t3       t4 t5 t6
UPDATE
  value=A
  validTime=[t2, t5[
|  [---------A--------[
|
|------------------------->
|  t1                 t6
E
|  [--A--[        [--A--[
|
|------------------------->
|  t1    t2       t3    t4
UPDATE
  value=A
  validTime=[t2, t3[
|  [--A---------------[
|
|------------------------->
|  t1                 t4
F
|  [--A------[--A-----[
|
|------------------------->
|  t1        t2      t3
UPDATE
  value=A
  validTime=[t1, UNTIL_CHANGED[
|  [--A---------------[
|
|------------------------->
|  t1        t2       t3
G
|  [--A---------[--A---[
|
|--------------------------->
|  t1     t2    t3     t4
UPDATE
  value=A
  validTime=[t2, UNTIL_CHANGED[
|  [--A----------------[
|
|--------------------------->
|  t1     t2    t3     t4
H
|  [--A------[           [--A-----[
|            [--B--------[          
|
|------------------------------------>
|  t1        t2    t3    t4       t5
UPDATE
  value=A
  validTime=[t3, UNTIL_CHANGED[
|  [--A------[     [--A-----------[
|            [--B--------[         
|
|------------------------------------>
|  t1        t2    t3    t4       t5
I
|  [--A------[           [--A--[--A--[
|  [--B------------------[            
|
|--------------------------------------->
|  t1        t2    t3    t4    t5    t6
UPDATE
  value=A
  validTime=[t3, UNTIL_CHANGED[
|  [--A------[     [--A--------[--A--[
|  [--B------------------[            
|
|--------------------------------------->
|  t1        t2    t3    t4    t5    t6

INITIALIZE operation

Use case Values in the storage Operation Resulting storage
A

The instance does not yet exist and is created

INIT
  value=*
  validTime=[*, *[

Behaves as the ADD operation in its various use-cases.

B

The instance already exists and is extended.

 

INIT
  value=*
  validTime=[*, *[

Behaves as the UPDATE operation in its various use-cases.

C

The instance already exists and is NOT extended.

INIT
  value=*
  validTime=[*, *[

This operation is skipped.

REMOVE operation

Use case Values in the storage Operation Resulting storage
A
|  [--A------[
|  [--B------[
|
|------------------------->
|  t1        t2      t3
REMOVE
  value=A
  validTime=[t1, t2[
|  [--B------[
| 
|
|------------------------->
|  t1        t2       t3
B
|  [--A------[
|  [--B---------------[
|
|------------------------->
|  t1        t2       t3
REMOVE
  value=C
  validTime=[t1, t2[
|  [--A------[
|  [--B---------------[
|
|------------------------->
|  t1        t2       t3
C
|  [--A---------------[
|  [--B---------------[
|
|------------------------->
|  t1        t2      t3
REMOVE
  value=A
  validTime=[t2, UNTIL_END[
|  [--A------[
|  [--B---------------[           
|
|------------------------->
|  t1        t2       t3
D
|  [--A----------------[
|  [--B----------------[
|
|--------------------------->
|  t1     t2    t3     t4
REMOVE
  value=A
  validTime=[t2, t3[
|  [--A---[     [--A---[
|  [--B----------------[
|
|--------------------------->
|  t1     t2    t3     t4

CLEAR operation

Use case Values in the storage Operation Resulting storage
A
|  [--A------[
|  [--B------[
|
|------------------------->
|  t1        t2      t3
CLEAR
  validTime=[t1, t2[
|
|
|
|------------------------->
|  t1        t2       t3
B
|  [--A------[
|  [--B---------------[
|
|------------------------->
|  t1        t2       t3
CLEAR
  validTime=[t1, t2[
|            [--B-----[
|                      
|
|------------------------->
|  t1        t2       t3
C
|  [--A----------------[
|  [--B----------------[
|
|--------------------------->
|  t1     t2    t3     t4
CLEAR 
  value=A
  validTime=[t2, t3[
|  [--A---[     [--A---[
|  [--B---[     [--B---[
|
|--------------------------->
|  t1     t2    t3     t4

Related Links