David
I don't know for certain why you're being prevented from deleting the
surveys.tbl file. Are you on a Unix or Windows system? Maybe InstantDB is
having a filename case problem. could you check to see whether SURVEYS.tbl
actually exists? (As opposed to, say, "surveys.tbl").
Another possibility is that another JVM has the file open. Do you run any
database exploration tools that could have he database open at the same
time?
As a work around, to save you loosing data on the ALTER TABLE, you could
export, do a drop/create and then re-import. Something like this:
drop table tmp;
create table tmp (id int, data1 char(10));
insert into tmp values (1, "111");
insert into tmp values (2, "222");
set export "tmp.cvs" csvdelimited;
select tmp.*,"333" from tmp;
set export "null";
drop table tmp;
create table tmp (id int, data1 char(10), data2 char(10));
import "tmp" from "tmp.cvs";
Regards
Pete
--
Peter Hearty peter.hearty@lutris.com
Lutris Technologies (UK) http://www.lutris.com
----- Original Message -----
From: "David Burnett" <davidb@clairvision.org>
To: <instantdb@enhydra.org>
Sent: Wednesday, September 20, 2000 1:38 PM
Subject: InstantDB: Strange error when adding a column to a table
> When trying to add a column to a table I have got the following errors,
> which seem to leave the table unusable. This has happened several times,
> both on my development machines and on my production server.
>
> This is the log which prints out when I do the table alteration.
>
> AWT-EventQueue-0 ALTER TABLE SURVEYS ADD SURVEY_STATUS int
> AWT-EventQueue-0 DELETE FROM qlt$db$cols WHERE TableId = 1231
> AWT-EventQueue-0 DELETE FROM qlt$db$tables WHERE TableId = 1231
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3946 WHERE ColID =
> 3792
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3947 WHERE ColID =
> 3793
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3948 WHERE ColID =
> 3794
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3949 WHERE ColID =
> 3795
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3950 WHERE ColID =
> 3796
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3951 WHERE ColID =
> 3797
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3952 WHERE ColID =
> 3798
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3953 WHERE ColID =
> 3799
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3954 WHERE ColID =
> 3800
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3955 WHERE ColID =
> 3801
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3956 WHERE ColID =
> 3802
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3957 WHERE ColID =
> 3803
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3958 WHERE ColID =
> 3804
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3959 WHERE ColID =
> 3805
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3960 WHERE ColID =
> 3806
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3961 WHERE ColID =
> 3807
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3962 WHERE ColID =
> 3808
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3963 WHERE ColID =
> 3809
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3964 WHERE ColID =
> 3810
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3965 WHERE ColID =
> 3811
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3966 WHERE ColID =
> 3812
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3967 WHERE ColID =
> 3813
> AWT-EventQueue-0 UPDATE qlt$db$indexes SET ColID = 3968 WHERE ColID =
> 3814
> AWT-EventQueue-0 java.sql.SQLException: Error deleting file:
> Q:\home\davidb\servlets\database\tables\SURVEYS.tbl
> AWT-EventQueue-0 java.sql.SQLException: Error deleting file:
> Q:\home\davidb\servlets\database\tables\SURVEYS.tbl
> java.sql.SQLException: Error deleting file:
> Q:\home\davidb\servlets\database\tables\SURVEYS.tbl
> AWT-EventQueue-0 CREATE TEMPORARY TABLE $$GetTables11 (TABLE_CAT
> CHAR(1),TABLE_SCHEM CHAR(1),TABLE_N
> AME CHAR(64),COLUMN_NAME CHAR(64),DATA_TYPE BYTE,TYPE_NAME
> CHAR(20),COLUMN_SIZE INT,BUFFER_LENGTH CH
> AR(1),DECIMAL_DIGITS INT,NUM_PREC_RADIX INT,NULLABLE INT,REMARKS
> CHAR(1),COLUMN_DEF CHAR(64),SQL_DAT
> A_TYPE INT,SQL_DATETIME_SUB INT,CHAR_OCTET_LENGTH INT,ORDINAL_POSITION
> INT,IS_NULLABLE CHAR(3))
>
> When I subsequently try to access that table I get the following error
> every time.
>
>
>---------------------------------------------------------------------------
-------------
> [DBService] ERROR connectToDatabase SQLException: java.sql.SQLException:
> Internal error header recLength=10001
> Computed record length should be 6315
> Table: SURVEYS
>
> The only solution I have found so far is to drop the table and re-create
> it, losing any data content in then process.
> Does anyone have any ideas what is happening, and how to prevent it, and
> or to recover from it.
>
> regards
> David
> --------------------------------------------------------------------------
---
> To unsubscribe from this mailing list, send email to majordomo@enhydra.org
> with the text "unsubscribe instantdb" in the body of the email.
> If you have other questions regarding this mailing list, send email to
> the list admin at owner-instantdb@enhydra.org.
>
-----------------------------------------------------------------------------
To unsubscribe from this mailing list, send email to majordomo@enhydra.org
with the text "unsubscribe instantdb" in the body of the email.
If you have other questions regarding this mailing list, send email to
the list admin at owner-instantdb@enhydra.org.
|