[icf-dev] Server side object retrieval - Forum - OpenEdge Development - Progress Community

[icf-dev] Server side object retrieval

 Forum

[icf-dev] Server side object retrieval

  • Hi,

    I am about to implement a routine that retrieves container information in

    dynamics 2 from outside the dynamics managers. the repositorymanager

    (serverFetchObject) uses the routine ry/app/ryretrobjp.p. I would like to

    call the same api.

    I need to do the same as the repository manager before calling the .p:

    /** We empty these temp-tables because we only want to return to the

    caller

    • the tables representing the requested object.

    **/

    EMPTY TEMP-TABLE cache_Object.

    EMPTY TEMP-TABLE cache_ObjectPage.

    EMPTY TEMP-TABLE cache_ObjectPageInstance.

    EMPTY TEMP-TABLE cache_ObjectLink.

    EMPTY TEMP-TABLE cache_ObjectUiEvent.

    /* Empty cache_ temp-tables from

    outside the repository manager? I fear the procedure clearClientCache in the

    repository manager does too much which would cost extra performance (even I

    am not sure if it is designed to run on the server).

    Any help appreciated,

    Mike

    mike fechner it consulting

    Breite Str. 116

    50667 Köln

    Germany

    Tel.: +49 (0) 221 / 27 609-40

    Fax.: +49 (0) 221 / 27 609-41

    Mobil: +49 (0) 160 / 700 82 29

    mike.fechner@fechner.de

    www.fechner.de

    To unsubscribe, e-mail: dev-unsubscribe@icf.possenet.org

    For additional commands, e-mail: dev-help@icf.possenet.org

  • Hi Mike,

    You can get the handle of the ttClass temp-table using the getCacheClassBuffer() API in the Repository Manager. There is a field on that TT ( classBufferHandle I think ) which is a pointer to the c_(dynamic) temp-table.

    HTH,

    Peter

    |-Original Message-

    |From: Mike Fechner

    |Sent: Wednesday, February 05, 2003 1:57 PM

    |To: dev@icf.possenet.org

    |Subject: Server side object retrieval

    |

    |

    |Hi,

    |

    |I am about to implement a routine that retrieves container

    |information in dynamics 2 from outside the dynamics managers.

    |the repositorymanager

    |(serverFetchObject) uses the routine ry/app/ryretrobjp.p. I

    |would like to call the same api.

    |

    |I need to do the same as the repository manager before calling the .p:

    |

    | /** We empty these temp-tables because we only want to

    |return to the caller

    | * the tables representing the requested object.

    |

    |

    | *

    |

    |**/

    | EMPTY TEMP-TABLE cache_Object.

    | EMPTY TEMP-TABLE cache_ObjectPage.

    | EMPTY TEMP-TABLE cache_ObjectPageInstance.

    | EMPTY TEMP-TABLE cache_ObjectLink.

    | EMPTY TEMP-TABLE cache_ObjectUiEvent.

    |

    | /* Empty cache_temp tables */

    | FOR EACH ttClass:

    | ttClass.classBufferHandle:EMPTY-TEMP-TABLE().

    | END. /* each class */

    |

    |There are apis in the repository manager that would help

    |getting handles for the cache_Object, cache_ObjectPage ...

    |temp-tables so I could help myself with the first part. how

    |can I empty all the cache_temp-tables from outside the

    |repository manager? I fear the procedure clearClientCache in

    |the repository manager does too much which would cost extra

    |performance (even I am not sure if it is designed to run on

    |the server).

    |

    |Any help appreciated,

    |Mike

    |

    |

    |

    |mike fechner it consulting

    |Breite Str. 116

    |50667 Köln

    |Germany

    |

    |Tel.: +49 (0) 221 / 27 609-40

    |Fax.: +49 (0) 221 / 27 609-41

    |Mobil: +49 (0) 160 / 700 82 29

    |

    |mike.fechner@fechner.de

    |www.fechner.de

    To unsubscribe, e-mail: dev-unsubscribe@icf.possenet.org

    For additional commands, e-mail: dev-help@icf.possenet.org

  • Hi Mike,

    If you do something like the pseudo-code below you should be OK:

    hClass = getCacheClassBuffer() in Rep Man.

    hQuery:query-prepare(' for each ' + hClass:name).

    Do while hClass:avail:

    hClass:buffer-field('classbufferhandle'):buffer-value:empty-temp-table().

    End.

    That is basically the same as:

    /* Empty cache_temp tables */

    FOR EACH ttClass:

    ttClass.classBufferHandle:EMPTY-TEMP-TABLE().

    END. /* each class */

    You can delete the TT objects for the class TT's but then you get the performance hit of having to construct the cached class attriute tables again.

    HTH,

    Peter

    |-Original Message-

    |From: Mike Fechner

    |Sent: Wednesday, February 05, 2003 2:08 PM

    |To: dev@icf.possenet.org

    |Subject: AW: Server side object retrieval

    |

    |

    |Hi Peter,

    |

    |shall I do something like:

    |

    |FOR EACH gsc_object_type:

    | h =

    |getCacheClassBuffer(gsc_object_type.object_type_code) .

    |

    | |END.

    |

    |Or can I check which temp-tables are allready cached? A

    |comma-delimited list?

    |

    |Thanks,

    |Mike

    To unsubscribe, e-mail: dev-unsubscribe@icf.possenet.org

    For additional commands, e-mail: dev-help@icf.possenet.org

  • Hi Peter,

    shall I do something like:

    FOR EACH gsc_object_type:

    h = getCacheClassBuffer(gsc_object_type.object_type_code) .

    END.

    Or can I check which temp-tables are allready cached? A comma-delimited

    list?

    Thanks,

    Mike

    -Ursprüngliche Nachricht-

    Von: Peter Judge

    Gesendet: Mittwoch, 5. Februar 2003 13:59

    An: dev@icf.possenet.org

    Betreff: RE: Server side object retrieval

    Hi Mike,

    You can get the handle of the ttClass temp-table using the

    getCacheClassBuffer() API in the Repository Manager. There is a field on

    that TT ( classBufferHandle I think ) which is a pointer to the c_(dynamic) temp-table.

    HTH,

    Peter

    |-Original Message-

    |From: Mike Fechner

    |Sent: Wednesday, February 05, 2003 1:57 PM

    |To: dev@icf.possenet.org

    |Subject: Server side object retrieval

    |

    |

    |Hi,

    |

    |I am about to implement a routine that retrieves container

    |information in dynamics 2 from outside the dynamics managers.

    |the repositorymanager

    |(serverFetchObject) uses the routine ry/app/ryretrobjp.p. I

    |would like to call the same api.

    |

    |I need to do the same as the repository manager before calling the .p:

    |

    | /** We empty these temp-tables because we only want to

    |return to the caller

    | * the tables representing the requested object.

    |

    |

    | *

    |

    |**/

    | EMPTY TEMP-TABLE cache_Object.

    | EMPTY TEMP-TABLE cache_ObjectPage.

    | EMPTY TEMP-TABLE cache_ObjectPageInstance.

    | EMPTY TEMP-TABLE cache_ObjectLink.

    | EMPTY TEMP-TABLE cache_ObjectUiEvent.

    |

    | /* Empty cache_temp tables */

    | FOR EACH ttClass:

    | ttClass.classBufferHandle:EMPTY-TEMP-TABLE().

    | END. /* each class */

    |

    |There are apis in the repository manager that would help

    |getting handles for the cache_Object, cache_ObjectPage ...

    |temp-tables so I could help myself with the first part. how

    |can I empty all the cache_temp-tables from outside the

    |repository manager? I fear the procedure clearClientCache in

    |the repository manager does too much which would cost extra

    |performance (even I am not sure if it is designed to run on

    |the server).

    |

    |Any help appreciated,

    |Mike

    |

    |

    |

    |mike fechner it consulting

    |Breite Str. 116

    |50667 Köln

    |Germany

    |

    |Tel.: +49 (0) 221 / 27 609-40

    |Fax.: +49 (0) 221 / 27 609-41

    |Mobil: +49 (0) 160 / 700 82 29

    |

    |mike.fechner@fechner.de

    |www.fechner.de

    To unsubscribe, e-mail: dev-unsubscribe@icf.possenet.org

    For additional commands, e-mail: dev-help@icf.possenet.org

    To unsubscribe, e-mail: dev-unsubscribe@icf.possenet.org

    For additional commands, e-mail: dev-help@icf.possenet.org