Ah, my apologies, I see your problem, I'm a bit slow today.

I don't think there is any way to implement what you want without modifying the H2 source code.
But I don't think that is a problem.
If you want to implement a new BoundingBox index type, then we can include that directly into H2. We would probably need to implement ST_Intersects as a new comparison type inside H2, and make it use the BoundingBox index. I can hook up the parsing and basic infrastructure for you, but I don't know enough to implement a new index type.


On 2013-05-21 14:19, Nicolas Fortin (OrbisGIS) wrote:
Using the h2 table function the sql would be somewhat like this:


    select * from ST_Intersects(spatialTable, 'the_geom' ,
    ST_PolyFromText('POLYGON ((67 13, 67 18, 59 18, 59 13, 67 13))',1));


Here the function is in the FROM , not in the WHERE. Using index must be transparent to users.

Le mardi 21 mai 2013 14:06:08 UTC+2, Noel Grandin a écrit :

    I don't understand the problem?

    What I'm saying is that you can define a function called
    ST_Intersects using CREATE ALIAS,
    and inside that function you can implement the necessary logic.

    From the perspective of a user of your extension, it should look
    like a normal part of the database.

    Or you are asking about something different?

    On 2013-05-21 13:27, Nicolas Fortin (OrbisGIS) wrote:
    I know function table but this lead to modifying the sql request
    and it is not in standard.

    Le mardi 21 mai 2013 11:52:15 UTC+2, Noel Grandin a écrit :

        See the section title "Using a function as a table" here
        http://h2database.com/html/features.html#user_defined_functions
        <http://h2database.com/html/features.html#user_defined_functions>

        On 2013-05-21 10:07, Nicolas Fortin (OrbisGIS) wrote:
        Discussion about user defined index on OTHER type.

        In spatial SQL the following request on an indexed geometry
        column would use spatial index:

            select * from spatialTable where ST_Intersects(the_geom,
            ST_PolyFromText('POLYGON ((67 13, 67 18, 59 18, 59 13,
            67 13))',1));


        Usage of ST_Intersects filter the_geom field by using
        BoundingBox stored index of the spatialTable, then the
        method is applied on filtered rows.

        Can I do this by creating my own TableEngine ? There is an
        easier way without modifying the sql request ? Maybe a way
        to let special kind of function to alter the execution plan ?

        Thanks for your support.

-- You received this message because you are subscribed to the
        Google Groups "H2 Database" group.
        To unsubscribe from this group and stop receiving emails
        from it, send an email to [email protected].
        To post to this group, send email to [email protected].
        Visit this group at
        http://groups.google.com/group/h2-database?hl=en
        <http://groups.google.com/group/h2-database?hl=en>.
        For more options, visit
        https://groups.google.com/groups/opt_out
        <https://groups.google.com/groups/opt_out>.



-- You received this message because you are subscribed to the
    Google Groups "H2 Database" group.
    To unsubscribe from this group and stop receiving emails from it,
    send an email to [email protected] <javascript:>.
    To post to this group, send email to [email protected]
    <javascript:>.
    Visit this group at
    http://groups.google.com/group/h2-database?hl=en
    <http://groups.google.com/group/h2-database?hl=en>.
    For more options, visit https://groups.google.com/groups/opt_out
    <https://groups.google.com/groups/opt_out>.



--
You received this message because you are subscribed to the Google Groups "H2 Database" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.



--
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to