Wagner wrote:

> The maximum recordlength of a table in SAPDB is 8088 Byte.
> Its no Problem to create 4 Varchar(2000) attributes.
> And its also normal that if I create one more varchar(2000), 
> there happen 
> an exception "row to long".
> 
> The problem is now:
> After the exception the table has an internal error or 
> something else...
> You can drop all 4 varchar(2000) attributes. After that you 
> should be able 
> to create varchar(100 or more) again. But some how the DB is 
> thinking that 
> the maximum recordlength is still reached.
> => Perhaps a flag is already still set??
> => I had to drop the hole table an create a new.
> 
> Knows somebody more details? Is it a bug or have I made 
> something wrong?

As the reference manual tells us (chapter alter table drop definition):

<drop_definition> ::= DROP <column_name>,... [<cascade_option>] [RELEASE SPACE]
| DROP (<column_name>,...) [<cascade_option>] [RELEASE SPACE]
| DROP CONSTRAINT <constraint_name> | DROP PRIMARY KEY 


The columns are marked as dropped in the metadata of the table. A DROP definition does 
not automatically reduce the memory requirements of the underlying table. RELEASE 
SPACE forces the column values of the dropped columns to be dropped in every row in 
the table. With large tables, in particular, this may take more time, since extensive 
copy operations have to be carried out.

--> in your table the columns seem to be marked as 'dropped', but the space is not 
released because
you did not specify RELEASE SPACE.

Elke
SAP Labs Berlin
_______________________________________________
sapdb.general mailing list
[EMAIL PROTECTED]
http://listserv.sap.com/mailman/listinfo/sapdb.general

Reply via email to