473,378 Members | 1,468 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,378 software developers and data experts.

Bug of function-based index

Hi, Folks,
I am really frustrated by a bug of function-based index. Is there
anyone has any idea on this? Please drop some line, thanks first.

DETAILS:

I have a table called Point_tab. I generated a spatial index on this
table by using function-based index.

Function is called get_point_geom(ppf_id, playerid) return
mdsys.sdo_geometry.

table is defined by:

create table point_tab(
pf_id number,
layerid number,
lon number,
lat number,
constraint pk_pid primary key(pf_id, layerid)
)

Index is generated by:

Create index on point_tab(get_point_geom(pf_id, layerid)) indextype is
mdsys.spatial_index.

So far, everything seems fine. Spatial index works perfectly.

However, when I am trying to delete any row from this table, I got:
ORA-04091 table string.string is mutating, trigger/function may not
see it.

It sounds like if I generate a function-based spatial index, then no
updates are allowed any more since while I dropped the index, I can
delete and insert. It is really annoyed. Is there anyone has similar
problems before? Can you share your solutions here? (The same problem
applies on insert but not on update).

The following is the function definition:

FUNCTION GET_POINT_GEOM(PPF_ID IN NUMBER, PLAYERID IN NUMBER)
RETURN MDSYS.SDO_GEOMETRY DETERMINISTIC IS

PSRID NUMBER :=NULL;
PLON NUMBER := NULL;
PLAT NUMBER := NULL;

CURSOR get_lonlat(ppf_id IN NUMBER, playerid IN NUMBER) IS SELECT
LON,LAT
FROM POINT_TAB
WHERE playerid = layerid AND ppf_id = pf_id;

BEGIN

PSRID := 8265; --GET_SRID(PTOP_ID);

IF PSRID = NULL THEN
RAISE_APPLICATION_ERROR(-20001,' No topological layer found ! ');
RETURN NULL;
END IF;

OPEN get_lonlat(PPF_ID,PLAYERID);
FETCH get_lonlat INTO PLON, PLAT;

IF PLON = NULL OR PLAT = NULL THEN
RAISE_APPLICATION_ERROR(-20002,'No specified point found!Check
PF_ID...');
RETURN NULL;
END IF;

RETURN MDSYS.SDO_GEOMETRY(2001,PSRID,MDSYS.SDO_POINT_TYPE (PLON,PLAT,NULL),NULL
,NULL);
END GET_POINT_GEOM;
Many thanks,
Qiang
Jun 27 '08 #1
0 1047

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: | last post by:
OK: Purpose: Using user's input and 3 recursive functions, construct an hour glass figure. Main can only have user input, loops and function calls. Recursive function 1 takes input and displays...
2
by: joe | last post by:
hi, after reading some articles and faq, i want to clarify myself what's correct(conform to standard) and what's not? or what should be correct but it isn't simply because compilers don't...
5
by: phil_gg04 | last post by:
Dear Javascript Experts, Opera seems to have different ideas about the visibility of Javascript functions than other browsers. For example, if I have this code: if (1==2) { function...
2
by: sushil | last post by:
+1 #include<stdio.h> +2 #include <stdlib.h> +3 typedef struct +4 { +5 unsigned int PID; +6 unsigned int CID; +7 } T_ID; +8 +9 typedef unsigned int (*T_HANDLER)(void); +10
8
by: Olov Johansson | last post by:
I just found out that JavaScript 1.5 (I tested this with Firefox 1.0.7 and Konqueror 3.5) has support not only for standard function definitions, function expressions (lambdas) and Function...
28
by: Larax | last post by:
Best explanation of my question will be an example, look below at this simple function: function SetEventHandler(element) { // some operations on element element.onclick = function(event) {
4
by: alex | last post by:
I am so confused with these three concept,who can explained it?thanks so much? e.g. var f= new Function("x", "y", "return x * y"); function f(x,y){ return x*y } var f=function(x,y){
7
by: VK | last post by:
I was getting this effect N times but each time I was in rush to just make it work, and later I coudn't recall anymore what was the original state I was working around. This time I nailed the...
3
pbmods
by: pbmods | last post by:
AN INTRODUCTION TO FUNCTION OBJECTS LEVEL: INTERMEDIATE PREREQS: OBJECTS You've seen it before. You're setting up an XMLHttpRequest call, and you need to execute a function when it returns, so...
6
by: RandomElle | last post by:
Hi there I'm hoping someone can help me out with the use of the Eval function. I am using Access2003 under WinXP Pro. I can successfully use the Eval function and get it to call any function with...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.