[icf-dev] Server side object retrieval

Posted by LegacyUser on 05-Feb-2003 06:57

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

All Replies

Posted by LegacyUser on 05-Feb-2003 06:59

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

Posted by LegacyUser on 05-Feb-2003 07:07

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

Posted by LegacyUser on 05-Feb-2003 07:08

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

This thread is closed