Can anyone explain where the psml id field comes from for the db psml
service?  There is a constraint that this be unique.  I'm getting a
violation here:

[22 Oct 2002 20:10:08  INFO] - Forced id retrieval - no available vector
[22 Oct 2002 20:10:08  WARN] -
DatabasePsmlManagerService.createOrSaveDocument: profile:
BaseProfile[group/educ504/html/default.psml] tableName:
JETSPEED_GROUP_PROFILE
java.sql.SQLException: ORA-00001: unique constraint
(CHEF_TEST.JETSPEED_GROUP_PROFILE_PK) violated
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
        at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
        at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
        at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
        at
oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1093)
        at
oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2047
)
        at
oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1940)
        at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java
:2709)
        at
oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedState
ment.java:589)
        at com.workingdogs.village.Record.saveWithInsert(Unknown Source)
        at com.workingdogs.village.Record.save(Unknown Source)
        at com.workingdogs.village.Record.save(Unknown Source)
        at
org.apache.torque.util.BasePeer.insertOrUpdateRecord(BasePeer.java:1050)
        at org.apache.torque.util.BasePeer.doInsert(BasePeer.java:897)
        at
org.apache.jetspeed.om.dbpsml.BaseJetspeedGroupProfilePeer.doInsert(BaseJets
peedGroupProfilePeer.java:189)
        at
org.apache.jetspeed.om.dbpsml.BaseJetspeedGroupProfilePeer.doInsert(BaseJets
peedGroupProfilePeer.java:484)
        at
org.apache.jetspeed.om.dbpsml.JetspeedGroupProfilePeer.doInsertOrUpdate(Jets
peedGroupProfilePeer.java:98)
        at
org.apache.jetspeed.om.dbpsml.JetspeedGroupProfilePeer.insert(JetspeedGroupP
rofilePeer.java:58)
        at
org.apache.jetspeed.services.psmlmanager.db.DatabasePsmlManagerService.creat
eOrSaveDocument(DatabasePsmlManagerService.java:671)
        at
org.apache.jetspeed.services.psmlmanager.db.DatabasePsmlManagerService.creat
eDocument(DatabasePsmlManagerService.java:607)
        at
org.apache.jetspeed.services.PsmlManager.createDocument(PsmlManager.java:161
)
        at
org.apache.jetspeed.services.profiler.JetspeedProfilerService.createProfile(
JetspeedProfilerService.java:1061)
        at
org.apache.jetspeed.services.profiler.JetspeedProfilerService.createProfile(
JetspeedProfilerService.java:237)
        at
org.apache.jetspeed.services.Profiler.createProfile(Profiler.java:166)



When creating a new group's psml page.  The basic flow is that
1) I create the database from the script
2) I import a few psml documents into the database (this is done on a
development machine using ant)
3) I move the .war to a server, create one group (works) create the second
group (fails this way).

I don't see where the psml_id field is set or what mechanism is used to
create the value and make it unique:

CREATE TABLE JETSPEED_GROUP_PROFILE
(
    PSML_ID NUMBER NOT NULL,
    GROUP_NAME VARCHAR2 (99) NOT NULL,
    MEDIA_TYPE VARCHAR2 (99),
    LANGUAGE VARCHAR2 (2),
    COUNTRY VARCHAR2 (2),
    PAGE VARCHAR2 (99),
    PROFILE LONG RAW,
    CONSTRAINT JETSPEED_GROUP_PROFILE_UNIQUE UNIQUE (GROUP_NAME, MEDIA_TYPE,
LANGUAGE, COUNTRY, PAGE)
);

ALTER TABLE JETSPEED_GROUP_PROFILE
    ADD CONSTRAINT JETSPEED_GROUP_PROFILE_PK
PRIMARY KEY (PSML_ID);



Any pointers?

I'm still using code from around 10-8 before the update to new jars...

Thanks.

- Glenn

--------------------------------------------
Glenn R. Golden, Systems Research Programmer 
University of Michigan School of Information
[EMAIL PROTECTED]               734-615-1419
--------------------------------------------

--
To unsubscribe, e-mail:   <mailto:jetspeed-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:jetspeed-dev-help@;jakarta.apache.org>

Reply via email to