Sdo_relate on 3D r-tree

Is that possible to perform SDO_RELATE on 3D R-tree index created by oracle?
I just upgrade oracle from 9.0.1 to 9.2. I was able to do SDO_RELATE on 3D R-tree, but not any more. I get error message:
ORA-13243: speciifed operator is not supported for n-d R-tree: []
I checked the document "Oracle 9i Spatial User's Guide and Reference" for 9.2, but can't find any change about SDO_RELATE.
Is there any way to solve this?
Just curious, why oracle disable this function?

If you create a 3d r-tree index, Oracle disables all operators except SDO_FILTER. This is documented under the create index statement, the text is with the sdo_indx_dims parameter. It was this way in the first release of 9i as well as 9i Release 2 (exact same error message).
The reason for this is because SDO_RELATE, SDO_NN, and SDO_WITHIN_DISTANCE are always guaranteed to return correct answers. However, none of these operators works in 3 dimensions. Rather than let users think they are getting correct 3D results, the operators were disabled. SDO_FILTER does return approximate answers correct in three dimensions.
Hope this helps.

Similar Messages

  • SDO_FILTER and SDO_RELATE combined in the same query

    Is it possible to combine these two operations?
    I have a query that ideally should use SDO_RELATE for polygon data (some 25 million records). However it takes too long to run.
    For curiosity's sake I tried using SDO_FILTER and again this takes hours. Again for curiosity's sake I combined the two and records are returned in about 2 mins. Please see the query below (to simplify matters I have used point data).
    SELECT
    FROM
    table t
    WHERE
    MDSYS.SDO_RELATE(
    t.geometry,
    MDSYS.SDO_GEOMETRY( 2001,
    null,
    MDSYS.SDO_POINT_TYPE( 501900, 308000, null ),
    null,
    null
    'mask=anyinteract querytype=WINDOW'
    ) = 'TRUE'
    AND MDSYS.SDO_FILTER(
    t.geometry,
    MDSYS.SDO_GEOMETRY( 2001,
    null,
    MDSYS.SDO_POINT_TYPE( 501900, 308000, null ),
    null,
    null
    'mask=anyinteract querytype=WINDOW'
    ) = 'TRUE'
    As I see it, in this case SDO_FILTER is doing the primary filtering part. SDO_RELATE is doing primary filtering again followed by secondary filtering the resulting data which is why it is quicker. The data does appear to be correct.
    Now am I barking up the wrong tree? Whether I am or not, why is this combination faster than individual use? I would appreciate any thoughts on this please.
    Cheers guys
    James

    something else is going on, although without seeing the real query it is hard to know.
    SDO_RELATE is a supoerset of SDO_FILTER. With SDO_FILTER and index query is done, with SDO_RELATE an index query is done, then the relate is done on the geometries returned by the filter query.
    What kind of index are you using?
    What version of spatial are you using?
    Can you post the query window?
    Are your geometries valid?

  • Internal error in R-tree processing: [Recursive fetch error]

    Hello,
    I seem to be getting an error when using any type of SDO function (SDO_RELATE, SDO_FILTER, SDO_ NN, ... ) on my spatially indexed data. The error I'm getting is this:
    ERROR at line 1:
    ORA-29903: error in executing ODCIIndexFetch() routine
    ORA-13236: internal error in R-tree processing: []
    ORA-13236: internal error in R-tree processing: [Recursive fetch error]
    The interesting part of this is that I only get this error if I insert more than 31 entries into the table. All the relevant code is posted below, what I do is create the table, then create the metadata from the sqlplus interface. After that I run a java program that does Clear() then Insert() then Create_Indices(). All these run just fine (at least run without telling me about any errors). But as soon as that is all done and I do an SDO query on the data, for example:
    SELECT location stop_range_poly_area
    FROM stops
    WHERE SDO_FILTER
    location,
    SDO_GEOMETRY
    2003, null, null,
    SDO_ELEM_INFO_ARRAY(1,1003,1),
    SDO_ORDINATE_ARRAY(300,300, 600,300, 600,600, 300,600, 300,300)
    ) = 'TRUE';
    I get the above mentioned error. But if I change my data so that it doesn't have more than 31 entries (doesn't matter which 31 entries, just so long as it doesn't exceed that number) that query (and all of my other SDO test queries on the stops table) seems to work just fine.
    Thanks for looking at this,
    Brad
    ---- SQLPLUS Code -----------------------------------------------------------------------------------------------------------
    CREATE TABLE stops
    stop_id VARCHAR2(4) PRIMARY KEY,
    address VARCHAR2(256),
    location sdo_geometry
    INSERT INTO user_sdo_geom_metadata VALUES
    'stops',
    'location',
    MDSYS.SDO_DIM_ARRAY
    MDSYS.SDO_DIM_ELEMENT('X', 0, 600, 0.005),
    MDSYS.SDO_DIM_ELEMENT('Y', 0, 800, 0.005)
    null
    ----- Java Code -----------------------------------------------------------------------------------------------------------------
    // Clear
    // Description:
    // This function clears all the data in the stop tables in the database
    // given in the connection.
    public static void Clear (Connection connection)
    Statement statement;
    try
    statement = connection.createStatement();
    statement.executeUpdate("DROP INDEX stops_index");
    statement.executeUpdate("DELETE stops");
    statement.close();
    catch (SQLException e)
    System.err.println("SQLExcpetion (Stop.Clear()): " + e.getMessage());
    // Create_Indices
    // Description:
    // Create indices for stops table
    public static void Create_Indices (Connection connection)
    Statement statement;
    String sql_query;
    sql_query = "CREATE INDEX stops_index ON stops(location) " +
    "INDEXTYPE IS MDSYS.SPATIAL_INDEX";
    try
    statement = connection.createStatement();
    statement.executeUpdate(sql_query);
    statement.close();
    catch (SQLException e)
    System.err.println("SQLExcpetion (Stop.Create_Indices()): " + e.getMessage());
    // Insert
    // Description:
    // This function inserts this object into the stops table in the database
    // given in the connection.
    public void Insert (Connection connection)
    Statement statement;
    String sql_query;
    sql_query = "INSERT INTO stops VALUES ('" +
    stop_id + "', '" +
    address + "', " +
    "sdo_geometry(2001, null, sdo_point_type(" +
    location.x + "," +
    location.y + ",null), null, null)" +
    try
    statement = connection.createStatement();
    statement.executeUpdate(sql_query);
    statement.close();
    catch (SQLException e)
    System.err.println("SQLException (Stop.Insert()):" + e.getMessage());
    Message was edited by: loos to include the changes proposed by the second poster.

    Hi,
    Thanks for trying but changing those items for the specific failing queries didn't seem to help. Though you do seem to be right about the internal/external polygon problem, so I changed it all my other queries to see if they would fail (that way things would at least be consistent), but it doesn't seem to make a difference. All my old failing quries still fail and my working ones still work. I also changed the co-ordinates as you specified and still have no changes (unless of course the results changed, but right now I'm just looking for queries that compile and run, the results don't matter yet).
    Maybe this will help, I'll give you guys both sets of data, one that works and one that doesn't and maybe you can see a problem in the data that I'm just missing or too ignorant to see. The data is simply comma seperated values that I parse into the required fields in the order (id, description, x, y).
    So far, the only reason I've been able to find that the non-working data doesn't work is because there are more than 31 rows. I started taking records out of the stops table in a binary search sort of pattern. If I take out stops 100-115 (resulting 29 records) all the queries work, if I take out stops 100-107 (resulting in 36 records) it doesn't work. If I take out 109-115 (resulting in 35 records) it doesn't work. If I take out 1-11 (resulting in 32 records) it doesn't work. If I take out 1-12 (resulting in 31 records) it does work. Here's a table
    Take out Stops ---- records left -- Works?
    s1-s11 ------------ 32 ------------ No
    s1-s12 ------------ 31 ------------ Yes
    s100-s115 --------- 29 ------------ Yes
    s100-s107 --------- 36 ------------ No
    s109-s115 --------- 35 ------------ No
    Thanks again for checking this out,
    Brad
    ------- Working Data ---------------------------------------------------------------------------------------
    (Student_id, Department, x, y)
    Student_1,Computer Science ,296,131
    Student_2,Social Science,130 ,279
    Student_3,Mechanical Engineering ,392,180
    Student_4,Electrical Engineering ,342,322
    Student_5,Computer Science ,165,490
    Student_6,Scicology ,393,533
    Student_7,Physical Therapy ,590,616
    Student_8,Civil Engineering ,165,640
    Student_9,English ,360,412
    Student_10,Economy ,89,32
    Student_11,Computer Science ,26,117
    Student_12,Social Science,430 ,291
    Student_13,Mechanical Engineering ,382,80
    Student_14,Electrical Engineering ,542,222
    Student_15,Computer Science ,154,290
    Student_16,Scicology ,493,323
    Student_17,Physical Therapy ,290,426
    Student_18,Civil Engineering ,65,230
    Student_19,English ,300,412
    Student_20,Economy ,44,292
    Student_21,Computer Science ,146,431
    Student_22,Social Science,405 ,179
    Student_23,Mechanical Engineering ,192,480
    Student_24,Electrical Engineering ,412,202
    Student_25,Computer Science ,265,49
    Student_26,Scicology ,33,273
    Student_27,Physical Therapy ,186,216
    Student_28,Civil Engineering ,365,600
    Student_29,English ,309,42
    Student_30,Economy ,415,392
    ------- Non Working Data ---------------------------------------------------------------------------------
    (Stop_id, Address, x, y)
    s1, 2341 Portland,377,64
    s2, 24th St. / Hoover St.,308,22
    s3, 2620 Monmouth Ave.,272,138
    s4, 2632 Ellendale Pl.,128,110
    s5, 2726 Menlo Ave.,85,231
    s6, 2758 Menlo Ave.,84,124
    s7, 28th St. / Orchard Ave.,183,236
    s8, 28th St. / University Ave.,414,308
    s9, 30th St. / University Ave.,391,352
    s11, 34th St. / McClintock St.,180,458
    s12, 36th Pl. / Watt Way,176,622
    s13, Adams Blvd. / Magnolia Ave.,218,87
    s14, BG Mills Apts.,23,637
    s15, Cardinal Gardens Apts.,156,389
    s16, Centennial Apts.,373,126
    s17, Chez Ronee Apts.,446,414
    s18, City Park Apts.,70,323
    s19, Dental School,219,478
    s96, Founders Apts.,373,192
    s97, Hillview Apts.,412,214
    s98, House of Public Life,531,303
    s99, JEP,304,523
    s100, Kerchoff Apts.,473,272
    s101, Leavey Library,370,559
    s103, McClintock St. / Childs Way,129,553
    s104, Mt. St. Marys College,565,127
    s105, Pacific Apts.,398,240
    s107, Parking Center,525,652
    s109, Parkside,78,651
    s110, Severance St. / Adams Blvd.,435,202
    s111, Research Annex,492,776
    s112, Sierra Apts.,352,230
    s113, Sunset Apts.,267,278
    s114, Terrace Apts.,156,280
    s115, Troy East Apts.,402,397
    s116, University Regents Apts.,182,181
    s117, Watt Way / 36th Pl.,176,622
    s119, Watt Way / Bloom Walk,158,653
    s120, Windsor Apts.,257,236
    s121, Zemeckis Center,476,474
    s137, Gate #2,321,715
    s138, 24th St. / Toberman St.,377,64

  • Inconsistent results with SDO_RELATE and boundary conditions

    Hello,
    I am using SDO_RELATE to find all points in one table with any interaction with a polygon selected from a second table. Pretty basic stuff. I noticed one point which exactly matches a vertex on the query polygon was not getting selected as expected. Experimenting a bit I found if I embedded the polygon geometry in the query (rather than selecting it from its table) the query selected the point in question! Experimenting further I found if I changed the query relation from ANYINTERACT to TOUCH the point in question was not selected. So my 2 questions are:
    1) What would cause this to fail when the query polygon is being selected from the table?
    2) How can ANYINTERACT be true but TOUCH be false?
    Here is the first query that fails:
    SELECT a.point_id
    FROM point_table a, poly_table b
    WHERE a.point_id = <point which matches poly vertex>
    AND b.poly_id = <poly_id>
    AND SDO_RELATE (a.geom, b.geom, 'mask=ANYINTERACT querytype=WINDOW') = 'TRUE';
    Here is the query that works:
    SELECT a.point_id
    FROM point_table a, poly_table b
    WHERE a.point_id = <point which matches poly vertex>
    AND SDO_RELATE (a.geom,
    MDSYS.SDO_GEOMETRY(2003, 8265, NULL,
    MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 1),
    MDSYS.SDO_ORDINATE_ARRAY(-82.414884, 28.0094323,
    -82.387158, 28.0116258, -82.378891, 28.0131216,
    -82.377988, 28.0133894, -82.37555, 28.0143994,
    -82.329352, 28.0661089, -82.313207, 28.1006725,
    -82.362246, 28.1261981, -82.445319, 28.1139363,
    -82.428389, 28.0245891, -82.422103, 28.0117697,
    -82.421382, 28.0109085, -82.419096, 28.0099741,
    -82.414884, 28.0094323)),
    'mask=ANYINTERACT querytype=WINDOW') = 'TRUE';
    Here is the second query that fails (ANYINTERACT -> TOUCH):
    SELECT a.point_id
    FROM point_table a, poly_table b
    WHERE a.point_id = <point which matches poly vertex>
    AND SDO_RELATE (a.geom,
    MDSYS.SDO_GEOMETRY(1003, 8265, NULL,
    MDSYS.SDO_ELEM_INFO_ARRAY(1, 2003, 1),
    MDSYS.SDO_ORDINATE_ARRAY(-82.414884, 28.0094323,
    -82.387158, 28.0116258, -82.378891, 28.0131216,
    -82.377988, 28.0133894, -82.37555, 28.0143994,
    -82.329352, 28.0661089, -82.313207, 28.1006725,
    -82.362246, 28.1261981, -82.445319, 28.1139363,
    -82.428389, 28.0245891, -82.422103, 28.0117697,
    -82.421382, 28.0109085, -82.419096, 28.0099741,
    -82.414884, 28.0094323)),
    'mask=TOUCH querytype=WINDOW') = 'TRUE';
    The point geometry being selected from the point_table looks like this:
    MDSYS.SDO_GEOMETRY(2001, 8265, NULL,
    MDSYS.SDO_ELEM_INFO_ARRAY(1, 1, 1),
    MDSYS.SDO_ORDINATE_ARRAY(-82.445319, 28.1139363))
    The metadata for these 2 tables looks like this:
    POINT_TABLE
    GEOM
    SDO_DIM_ARRAY(SDO_DIM_ELEMENT('X', -180, 180, .05),
    SDO_DIM_ELEMENT('Y', -90, 90, .05))
    8265
    POLY_TABLE
    GEOM
    SDO_DIM_ARRAY(SDO_DIM_ELEMENT('X', -180, 180, .05),
    SDO_DIM_ELEMENT('Y', -90, 90, .05))
    8265
    Both tables have R-tree indexes built.
    System is Oracle9i Enterprise Edition Release 9.2.0.5.0 with sdo_version = 9.2.0.5.0
    Is it a problem that my points are stored as SDO_ORDINATES? Is the tolerance a factor? Is geodetic data a factor?
    Let me know if any other information would be useful and thank you for your help!
    James

    I am continuing to struggle with this one. I gave up on the SDO_RELATE function under the assumption the tolerance does not come into play for this function (is this true?).
    Now I am trying to use the SDO_GEOM.RELATE function with a tolerance to make this work and it is not working as I would expect.
    The following 2 queries show the distance between this point and this polygon is 0 yet they are disjoint. How can this be??
    Thanks, James
    SQL> SELECT SDO_GEOM.SDO_DISTANCE(
    2 MDSYS.SDO_GEOMETRY(2001, 8265, NULL,
    3 MDSYS.SDO_ELEM_INFO_ARRAY(1, 1, 1),
    4 MDSYS.SDO_ORDINATE_ARRAY(-82.445319, 28.1139363)),
    5 MDSYS.SDO_GEOMETRY(2003, 8265, NULL,
    6 MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 1),
    7 MDSYS.SDO_ORDINATE_ARRAY(-82.414884, 28.0094323, -82.387158, 28.0116258,
    8 -82.378891, 28.0131216, -82.377988, 28.0133894, -82.37555, 28.0143994,
    9 -82.329352, 28.0661089, -82.313207, 28.1006725, -82.362246, 28.1261981,
    10 -82.4453185022412,28.1139363297581, -82.428389, 28.0245891, -82.422103, 28.0117697,
    11 -82.421382, 28.0109085, -82.419096, 28.0099741, -82.414884, 28.0094323)),
    12 10)
    13 FROM DUAL;
    SDO_GEOM.SDO_DISTANCE(MDSYS.SDO_GEOMETRY(2001,8265,NULL,MDSYS.SDO_ELEM_INFO_ARRA
    .00000000000000000000
    SQL>
    SQL> SELECT SDO_GEOM.RELATE(
    2 MDSYS.SDO_GEOMETRY(2001, 8265, NULL,
    3 MDSYS.SDO_ELEM_INFO_ARRAY(1, 1, 1),
    4 MDSYS.SDO_ORDINATE_ARRAY(-82.445319, 28.1139363)),
    5 'determine',
    6 MDSYS.SDO_GEOMETRY(2003, 8265, NULL,
    7 MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 1),
    8 MDSYS.SDO_ORDINATE_ARRAY(-82.414884, 28.0094323, -82.387158, 28.0116258,
    9 -82.378891, 28.0131216,-82.377988, 28.0133894, -82.37555, 28.0143994,
    10 -82.329352, 28.0661089, -82.313207, 28.1006725,
    11 -82.362246, 28.1261981, -82.4453185022412, 28.1139363297581,
    12 -82.428389, 28.0245891, -82.422103, 28.0117697,
    13 -82.421382, 28.0109085, -82.419096, 28.0099741, -82.414884, 28.0094323)),
    14 10)
    15 FROM DUAL;
    SDO_GEOM.RELATE(MDSYS.SDO_GEOMETRY(2001,8265,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1,
    DISJOINT

  • SDO_RELATE - EQUAL MASK - Different results on the same query

    Hello.
    I'm trying to find all spatial duplication in the point layer (using certain tolerance). That layer has q-tree spatial index and appropriate tolerance in the user_sdo_geom_metadata table (let's say 1 meter). I have SDO_VERSION=9.2.0.5.0.
    To perform that I use SDO_RELATE operator with EQUAL mask (I know that actually I can use other operators but lets consider EQUAL):
    SELECT /*+ ordered */t1.OBJECTID, /*+ ordered */t2.OBJECTID from points_table t1, points_table t2 WHERE t1.OBJECTID < t2.OBJECTID
    AND sdo_relate (t2.shape, t1.shape, 'mask=EQUAL querytype = JOIN') = 'TRUE'
    The problem is:
    If I create Q-tree index using SDO_LEVEL=8 query takes 10 minutes and returns lets say 1000 dup events
    If I create Q-tree index using SDO_LEVEL=10 query takes 20 seconds and returns lets say 996 dup events
    I'm confusing about that - Why the results are depend from SDO_LEVEL? For me it is more important then performanse.
    Those missed duplication events are really duplication events (point closer to each other than 1 meter) and SDO_DISTANSE for those particlar poins returns 0. It is correct, but SDO_RELATE monitors that those points are not equal.
    So how can I rely on the SDO_RELATE function? What SDO_LEVEL need I use to get correct results? I choosed Q-tree indexes because of performance I didn't get success to get result using R-tree indexes on big datasets at all.
    Regarding polylines:
    I suppose that I can get similar problem and for polylines (I’m also using same query to find dups polylines).
    Sometimes SDO_RELATE finds polylines which ones are not really equal in the specified tolerance (1 meter). All cases that I saw – it was simple segments which ones share only one vertex but the other ends are spatially disjoint more that 3 meters. Why SDO_RELATE finds such cases as EQUAL?
    Thank you very much in advance.

    Thank you Siva for advice.
    I've tried R-tree indexes and got reasonable performance on the tables with ~20k rows.
    But when I try to ran that query on the table (points) with 250k rows it takes forever :(.
    1) Create index:
    Create index nodes_idx on nodes(SHAPE) indextype is mdsys.spatial_index parameters ('LAYER_GTYPE=POINT initial=10m next=5m sdo_rtr_pctfree=10 pctincrease=0');
    /* actually 'initial=10m next=5m sdo_rtr_pctfree=10 pctincrease=0' options only decreased slightly performance */
    2) Execute query:
    SELECT /*+ ordered */t1.OBJECTID, /*+ ordered */t2.OBJECTID
    from nodes t1, nodes t2 WHERE t1.OBJECTID < t2.OBJECTID AND
    sdo_relate (t2.shape, t1.shape, 'mask=EQUAL querytype = WINDOW') = 'TRUE'
    Plan Explanation:
    | Id | Operation | Name | Rows | Bytes | Cost |
    | 0 | SELECT STATEMENT | | 150M | 1095G| 505M|
    | 1 | NESTED LOOPS | | 150M| 1095G| 505M |
    | 2 | TABLE ACCESS FULL | NODES | 548K | 2043M| 411 |
    | 3 | TABLE ACCESS BY INDEX ROWID| NODES | 274 | 1047K| 505M|
    | 4 | DOMAIN INDEX | NODES_IDX | 27416 | | |
    As far as I understand, oracle reserved for that query 1095G of memory?! Is it really necessary for that simple query and how can it be possible?
    Regards, Denis.
    Message was edited by:
    Tenek

  • R-tree indexing: really 3d now?

    Dear all,
    after studying the Spatial Reference guide for 11g I am left wondering what the story is with the R-tree index. Does it really consider all three dimensions now? And all you have to do is set the sdo_indx_dims to 3. Does anyone know another reference about this index apart from the spatial reference guide?
    Thanks,
    B.

    Check this link for a similar discussion
    Re: SDO_RELATE with 3D geometry
    The second edition of Pro Oracle Spatial has a good bit of detail on 11g 3d:
    http://www.amazon.co.uk/Oracle-Spatial-Database-Experts-Voice/dp/1590598997/ref=sr_1_1?ie=UTF8&s=books&qid=1225907677&sr=8-1

  • How to create spatial query (sdo_relate) on 2 views

    Hi, I want to create a spatial query in the form of:
    select /*+ORDERED*/ column1,column2
    from view1,view2
    where sdo_relate(view2.geometry,view1.geometry,'mask= ... ')Both views are very fast and return a smal number of rows out of a large dataset. I would expect that running the spatial query on this selection should be fast but when performing the above query it takes quite some time.
    It seems that the spatial query is performed on the underlying tables before the views make their selection.
    What is a good way to handle this kind of problem? How to make the spatial query to be executed on the resultset of the views?
    thanks Rene

    Hi Udo,
    Let me tell you a bit more about the requirements of the application.
    We have a table with geometries. Some geometries are buildings, others are roads, trees, parking areas, etc.
    We let users specify what geometries they are interested in. This can be the type (tree, building) or a list of types, plus some other selection such as type of tree, name of road etc. Based on the specifications the application creates a view that returns exactly the geometries the user is interested in.
    Users may not only be interested in just a tree but may be looking for a tree located inside a building, or a building within a certain distance from a road. This then would be the query I am talking about in this post. Two views and a spatial relationship between them.
    Depending on the definition of the views and the data currently loaded the number of rows returned by the views will vary. I can't be there all the time making sure that the correct table is queried first and the correct hints are given. This is why we have the CBO. But it seems to do a poor job when it comes to spatial queries.
    Rene

  • Mdsys.sdo_relate Problem

    Hi!
    I'va got two Tables, one of them ("kante") has a Geometry - Column in it and a Quad - Tree Index is
    Created, the other one ("kabelabschnitt") is linked to "kante" via a foreign key.
    This Query is very fast:
    SELECT k.* FROM kante k
    where sdo_relate(geom, mdsys.sdo_geometry(2003,NULL,NULL, mdsys.sdo_elem_info_array(1,1003,3), mdsys.sdo_ordinate_array(34520, 253535, 34621, 253606)), 'mask=ANYINTERACT querytype=window') = 'TRUE';
    But this takes about 20 s:
    SELECT k.*, ka.* FROM kante k, kabelabschnitt ka
    where ka.id_ka = k.id_kante
    and sdo_relate(geom, mdsys.sdo_geometry(2003,NULL,NULL, mdsys.sdo_elem_info_array(1,1003,3), mdsys.sdo_ordinate_array(34520, 253535, 34621, 253606)), 'mask=ANYINTERACT querytype=window') = 'TRUE';
    Can anynone tell me why??
    Thanx in advance,
    J

    Hi,
    It could be slower because the optimizer is choosing to use an index associated
    with the join key between the tables instead of the spatial index.
    Try adding the /*+ no_index (, index_name) */ hint, i.e.
    SELECT /*+ no_index (K name_of_id_kante_index) k.*, ka.*
    FROM kante k, kabelabschnitt ka
    where ka.id_ka = k.id_kante
    and sdo_relate(geom, mdsys.sdo_geometry(2003,NULL,NULL,
    mdsys.sdo_elem_info_array(1,1003,3),
    mdsys.sdo_ordinate_array(34520, 253535, 34621, 253606)),
    'mask=ANYINTERACT querytype=window') = 'TRUE';
    Hope this helps,
    Dan

  • Problem with trees and memory handling.

    Hi there, I just want to know if, when I create a large binary tree, and I re-"pointed" the root pointer to another node somewhere below in that same tree (say, a terminal node), will the "upper" parts of the tree (starting from the new root node) be removed/deleted from memory? Please explain your answers.
    Thank you.

    f I changed the root to B, will A and its children be
    deleted from memory?If you do root = B, AND if nothing else is referring to A or C or anything else beneath them, then A, C, and all of C's children will become eligible for garbage collection.
    Whether the memory actually gets cleaned up is something you can't really predict or control, but it doesn't really matter. If it's needed, it will get cleaned up. If it's not needed, it may or may not get cleaned up, but your program won't care.
    So, in short, yes, for all intents and purposes, A's, C's, and C's descendants' memory is released when you re-root to B.

  • How to blick tree view few specific nodes

    here i got a code which show how to blink tree view node but i am confuse that how to blink few node.
    Answered by:
    Avatar of Tamer Oz
    20,185
    Points
    Top 0.5
    Tamer Oz
    Partner Joined Sep 2009
    2
    8
    17
    Tamer Oz's threads
    Show activity
    Treeview control - How to make a node blink?
    Visual Studio Languages
    .NET Framework
    >
    Visual C#
    Question
    Alert me
    Question
    Vote as helpful
    0
    Vote
    Hi,
    Is there a "elegant" way to make blink a treeview node?
    I am thinking to use a timer with the collection of nodes that I want to make the blink effect, and update the icon ...
    Friday, November 06, 2009 6:19 PM
    Reply
    |
    Quote
    |
    Report as abuse
    Avatar of Kikeman
    Kikeman
    R. BOSCH
    105 Points
    All replies
    Question
    Vote as helpful
    0
    Vote
    Hi,
    You can develop your custom control for this purpose. The logic you mentioned was correct. Here is a sample control that I developed by the logic you mentioned.
    public class BlinkingTreeView : TreeView
    private Timer t = new Timer();
    private List<TreeNode> blinkingNodes = new List<TreeNode>();
    public BlinkingTreeView()
    t.Interval = 1000;
    t.Tick += new EventHandler(t_Tick);
    bool isNodeBlinked = false;
    void t_Tick(object sender, EventArgs e)
    foreach (TreeNode tn in blinkingNodes)
    if (isNodeBlinked)
    //update Icon
    tn.Text = tn.Text.Substring(0, tn.Text.Length - 1);//to test
    isNodeBlinked = false;
    else
    //update Icon
    tn.Text = tn.Text + "*";//to test
    isNodeBlinked = true;
    public void AddBlinkNode(TreeNode n)
    blinkingNodes.Add(n);
    public void RemoveBlinkNode(TreeNode n)
    blinkingNodes.Remove(n);
    public void ClearBlinkNodes()
    blinkingNodes.Clear();
    public List<TreeNode> BlinkingNodes
    get { return blinkingNodes; }
    public int BlinkInterval
    get { return t.Interval; }
    set { t.Interval = value; }
    public void StartBlinking()
    isNodeBlinked = false;
    t.Enabled = true;
    public void StopBlinking()
    t.Enabled = false;
    just show me how to use BlinkingTreeView class. i will have tree view which will have few node and few nodes may have few child nodes. now how to achieve by this class BlinkingTreeView and show me how to blink few specific node not all. thanks

    better to come with code. first populate tree view with some dummy node this way
    Root
           Child1
                    Child1-sub1
                    Child1-sub2
           Child2
                    Child2-sub1
                    Child2-sub2
    now blink Child1-sub2 & Child2-sub1. please come with code. thanks

  • Follow up Tree Question

    Hey,
    Using the arrows, when I open one tree node, I want other
    tree nodes to close. I saw a sample that sepiroth had done, but I
    don't want to click on the whole bar. I just want to use the arrows
    to expand and contract. Any help would be great. I have attached
    the code

    If you just wish to make a duplicate of one hard drive to another hard drive in the same G5, then do this:
    Clone using Restore Option of Disk Utility
    Open Disk Utility from the Utilities folder.
    Select the destination volume from the left side list.
    Click on the Restore tab in the DU main window.
    Check the box labeled Erase destination.
    Select the destination volume from the left side list and drag it to the Destination entry field.
    Select the source volume from the left side list and drag it to the Source entry field.
    Double-check you got it right, then click on the Restore button.
    Destination means the second internal drive. Source means the internal startup drive.

  • How can I display and change built-in symbols of a tree control programmatically?

    I want to set the built-in symbols of a tree control during runtime.
    I only found an example to assign custom pictures but not how to select one of the 40 built-in symbol.
    Many Thanks 
    Solved!
    Go to Solution.

    The ActiveItem.SymbolIndex will allow you to select the symbol for the active item. You can use the ListBox Symbol Ring Constant (Dialog and User Interface palette) to select a symbol (or you can just enter the number directly if you know what it is).
    Message Edited by smercurio_fc on 07-10-2008 09:36 AM
    Attachments:
    Example_VI_BD6.png ‏2 KB

  • How can I create a Tree with Color Picker icons?

    I'm a newbie to Flex. I want to create a tree which has color
    picker icons.
    As an analogy for the Mac users out there, I envision a
    control like the Calendars section in iCal, where you can specify
    the color for each individual node. These colors are then used in
    other parts of the application.
    The Flex 3 documentation specifies four methods for setting
    node icons on a Tree control, none of which seems to suit my needs:
    -The folderOpenIcon, folderClosedIcon, and defaultLeafIcon
    properties
    -Data provider node icon fields
    -The setItemIcon() method
    -The iconFunction property
    In other words, I want to "setItemIcon" to an mx:ColorPicker,
    if that makes any sense.
    Is there a standard way of doing this? If not, how can I go
    about implementing such a control? Thanks in advance!

    well, Network UI should be used.

  • To get  node value in a tree

    I have a tree with 3 level and it is working fine.. In view mode I need the First child value of the 3rd level with out clicking / Selecting from teh Tree node..
    for eg;
    A -- ist level
    Ap -- 2nd level
    Apple -- 3rd level
    So What I need is that I should get a message 'Apple' While landing teh Form itself without clicking on teh Tree
    Thanks in Advance...

    To my knowledge it is not possible to get the value of a node which is not selected.
    What you have to do is to build up a memory structure similar to your tree, then you can access any node at any time.
    Peter

  • A tree-view in HTML page with nodes generated with java script in run time is not visible in the UI Automation Tree. Need Help

    I have a HTML page with an IFrame. Inside the Iframe there is a table with a tree view
    <iframe>
    <table>
    <tr>
    <td>
    <treeview id="tv1"></treeview>
    </td>
    </tr>
    </table>
    </iframe>
    In UIA, i am able to traverse till the tree view but not able to see it.
    I have used the TreeWalker.RawViewWalker Field to traverse the node from the desktop Automation.RootElement. 
    I tried to use AutomationElement.FromPoint method to check whether i am able to get that element. Fortunately i was able to get the automation element. 
    i tried to get the path to root element from the node element using the TreeWalker.RawViewWalker. I was able to get the parent path to the root element.
    But trying the reverse way like navigating from root element to tree node, was not getting the element for me. 
    Please help me with suggestions or inputs to resolve this issue. 

    Thanks Bernard,
    It works fine with JInitiator but not working with
    the JPI. For JPI what settings I need to do ??hi TKARIM and Bernard, i am having similar problem even with the Bernard's recommended setup. could you post the webutiljini.htm (i presume you are using config=test) ?
    i am actually using jinitiator 1.3.1.28 with Oracle HTTP Server of OAS 10gR2) calling Forms Server 6i (f60cgi). After setting up according to Bernard's recommended setup steps, the java console showed that it loaded the icon jar file when it could not read the form, but it skipped the loading of the icon jar file once it read and started the form. How do we specify in the form to pick up the icon from the jar file instead from a directory ? Or do we need to specify ? Any ideas ?
    Thx and Regards
    dkklau

Maybe you are looking for

  • Ipad 1 and iOS5 find my iPad no longer working

    Since upgrading to iOS5 my iPad 1 can't be found using "Find my iPad" via iCloud. The find option is switched on in the settings panel, and location services are also on. There's no problem with finding my location on the map though, so I don't think

  • Use Export PDF to Convert WordPerfect

    I subscribe to Export PDF.  It converts virtually any format to PDF except for WordPerfect Corel ".wpd" format.  I can do the conversion from within WordPerfect.  Except my 160-page document, containing a couple of pages of .gif text will not convert

  • Datapump for 8i to 10g upgrade

    Is there any way to use the oracle 10g datapump to take an export of oracle 8i database and import it in 10g database.

  • [svn:osmf:] 15515: Extend unit tests for NetStreamSwitchManager.

    Revision: 15515 Revision: 15515 Author:   [email protected] Date:     2010-04-16 12:36:02 -0700 (Fri, 16 Apr 2010) Log Message: Extend unit tests for NetStreamSwitchManager.  Remove unreachable code. Modified Paths:     osmf/trunk/framework/OSMF/org/

  • Using X,Y coordinates from file to draw in Illustrator

    Hello, I am doing some clothes pattern making and I am interested in using a list of X,Y coordinates to create and label a set of points on the artboard.  I then wish to adjust for size changing only my XY list and get a changed shape?  Right now I h