GsQuery and message sends ...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

GsQuery and message sends ...

GLASS mailing list

... and yes, it would be nice to have the possiblity to have message sends in the query string also ... that would be REALLY nice !


Marten


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: GsQuery and message sends ...

GLASS mailing list
Marten,

We do have selector-based path terms that can be used in a query:

  'each.#foo < 1'

where #foo indicates that a message should be sent instead of directly accessing an instance variable. The drawback of a selector-based path term is that GemStone cannot do automatic index maintenance.

With that said it is possible to use the GemStone modification tracking api to manage the btrees for selector-based path terms. In GemStone 3.3, we included example code for using modification tracking and selector-based path terms ($GEMSTONE/examples/smalltalk/SelectorPathTermExample.gs). The example is in GemStone 3.3 because there are some bugs in the modification tracking code for 3.2 that are needed to make modification tracking work ...

If you are not using the query against an index, you should be able to use selector-based path terms in 3.2.

Dale


On 05/24/2016 01:52 AM, Marten Feldtmann via Glass wrote:

... and yes, it would be nice to have the possiblity to have message sends in the query string also ... that would be REALLY nice !


Marten



_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: GsQuery and message sends ...

GLASS mailing list

Thats fine ! Is this anywhere documented (at least in the Programming Guide ?).

Marten

Dale Henrichs via Glass <[hidden email]> hat am 24. Mai 2016 um 20:15 geschrieben:

Marten,

We do have selector-based path terms that can be used in a query:

  'each.#foo < 1'

where #foo indicates that a message should be sent instead of directly accessing an instance variable. The drawback of a selector-based path term is that GemStone cannot do automatic index maintenance.



_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: GsQuery and message sends ...

GLASS mailing list
No documentation for the selector pathterm and no docs for modification tracking.

We are planning to improve the modification tracking support so that it isn't necessary to build a custom tracker as is done in the example ... and then write documentation.

I think that for simple dependencies as illustrated in the example you can manage the updates, but if the selector is is subject to complex calculations it can be a challenge to to ensure that the index is updated correctly ..

Dale

On 05/24/2016 01:21 PM, Marten Feldtmann wrote:

Thats fine ! Is this anywhere documented (at least in the Programming Guide ?).

Marten

Dale Henrichs via Glass [hidden email] hat am 24. Mai 2016 um 20:15 geschrieben:

Marten,

We do have selector-based path terms that can be used in a query:

  'each.#foo < 1'

where #foo indicates that a message should be sent instead of directly accessing an instance variable. The drawback of a selector-based path term is that GemStone cannot do automatic index maintenance.




_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass