RHEL4 / Conquest 1.4.1.3beta and PostgreSQL

  • I've compiled, mv'd dicom.ini.postgres to dicom.ini and edited to reflect my database name, and I get the following behavior:


    kokomk@halliday conquest]% ./dgate -v -o
    Attempting to open database; test #1 of 10
    Creating test table
    Adding a record
    Dropping test table
    Closing database
    Attempting to open database; test #2 of 10
    Creating test table
    Adding a record
    Dropping test table
    Closing database
    Attempting to open database; test #3 of 10
    Creating test table
    Adding a record
    Dropping test table
    Closing database
    Attempting to open database; test #4 of 10
    Creating test table
    Adding a record
    Dropping test table
    Closing database
    Attempting to open database; test #5 of 10
    Creating test table
    Adding a record
    Dropping test table
    Closing database
    Attempting to open database; test #6 of 10
    Creating test table
    Adding a record
    Dropping test table
    Closing database
    Attempting to open database; test #7 of 10
    Creating test table
    Adding a record
    Dropping test table
    Closing database
    Attempting to open database; test #8 of 10
    Creating test table
    Adding a record
    Dropping test table
    Closing database
    Attempting to open database; test #9 of 10
    Creating test table
    Adding a record
    Dropping test table
    Closing database
    Attempting to open database; test #10 of 10
    Creating test table
    Adding a record
    Dropping test table
    Closing database
    ---------- Succesful end of test -----------
    [kokomk@halliday conquest]% ./dgate -v -i
    Initializing Tables


    At this point it hangs forever. No tables are created - database is still empty.


    What am I missing?! Any insight appreciated.

  • SO - I've gotten much futher along:


    Looking at the postgresql logs, it appears that the creation of the database (dgate -v -i) hangs on when dropping the old tables, so if I create dummy tables in the database and then run 'dgate -v -i' it completes successfully.


    NOW - I've been trying to import images into the database and I get an error on insertion into the 'dicomstudies' table. The 'patientbir' column definition is char(8) and my data, which has evidently passed through someones anonymization routine, is trying to pass 'anonymous' into that field in the query. I've tried to alter the schema in 'dicom.sql' to change the column width, but that isn't working - upon recreation I still get a dicomstudies.patientbir field that is char(8). Should I be able to change this? How?


    Thanks in advance,
    Kris

  • Hi,


    There should be no need (and it is dangerous) to change the field width: the data should be truncated while producing an error message. Apparantly there is something wrong with the postgres error message handling that locks up dgate.exe - dgate -v -r definitively worked before. Please compare the 1.4.13alpha and the previous version to see if that fixes it. Postgress was working correctly in older versions (but not recently tested).


    Note: this is a linux only problem.


    Marcel

  • I'll test it if I can find the older version - can you tell me where I can get it?


    Question: have you been testing on PostgreSQL releases prior to 7.3? Apparently behavior changed with 7.3 such that insertion of an oversized string will fail rather than truncate...


    I'm running 8.1.5 and insertion of a 9 char string in an 8 car field fails miserably on a test database...


    Kris

  • Hi,


    I was on vacation therefore I am late.


    I used postgres 8.1. But the string should be truncated by the server before it goes into postgres. You did knot by any change edit dicom.sql after creating the database?


    All olders versions are in the same FTP directory.


    Marcel

  • Hi,
    No, I edited the config file in response to an PostgreSQL error indicating that the insert failed as a result of the 9 character date field. (Recall date field contained 'anonymous'. Don't know why the server didn't truncate - is that something that I may have affected in a different configuration file?


    For the purpose of demonstration I moved on to the dbaseIII backend, but this wouldn't be acceptable for larger scale use of the product going forward.


    I've considered that if I couldn't find any other way around this problem I could always develop a BEFORE INSERT trigger to take care of it...but I really don't want to do this unless I have to.


    Where might truncation be invoked (or not) in the server? I'll go back and have another look at the code...

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!