reversion error
Posted in 2008
A user reverting a 9.40UC7 database to 7.31UC5 hit "Must drop uds feature in database: watch, tabid 39". He found tabid 39 is the system catalog syslangauth, holding four rows. Marco Greco explained that V7 supports only SPL, so all C and Java UDRs must be dropped and execute privileges on the C/Java languages (tracked in syslangauth) revoked, as per chapter 6 of the Migration Guide; others suggested checking sysprocedures for langid=3 and comparing catalog row counts. The poster never confirmed a fix, so no resolution is recorded.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: General Discussion
Trying to revert a 9.4UC7 database to 7.31UC5 and am encountering the following error: "Must drop uds feature in database: watch, tabid 39" Can anyone shed any light on what the message means, how I can fix the problem. The documentation (surprise) is of no help. Randy
On Feb 13, 2:04 pm, rgosho...@comcast.net wrote: > Trying to revert a 9.4UC7 database to 7.31UC5 and am encountering the > following error: > > "Must drop uds feature in database: watch, tabid 39" > > Can anyone shed any light on what the message means, how I can fix the > problem. > > The documentation (surprise) is of no help. > > Randy You are using some sort of data type that is not supported in 7. This type (whether Informix-defined or some application-defined I do not know) is obviously used in the table with id 39. Find which table is 39 and see whether you need that specific data type. If you cannot alter it (or drop the table), you cannot revert. Zachi
rgoshorn3@comcast.net wrote:
> Trying to revert a 9.4UC7 database to 7.31UC5 and am encountering the
> following error:
>
> "Must drop uds feature in database: watch, tabid 39"
>
> Can anyone shed any light on what the message means, how I can fix the
> problem.
>
> The documentation (surprise) is of no help.
>
> Randy
Presumably you reviewed the reversion section in the Migration Guide?
http://publib.boulder.ibm.com/epubs/pdf/25124400.pdf
Do a google search on "determine whether reversion is" and that gives
you the V10 documentation, but I would just do a dbschema -ss of the
watch database, and have a look through whether you have any 9.40
specific stuff not in V7.31. (I think the tabid just refers to the tabid
of the database in sysdatabases).
Yes< I read the documentation. I've done this before, obviously under
different circumstances.
Anyhoo...
I did the following:
dbaccess watch
select * from systables where tabid=39
tabid 39 is syslangauth, a system table
Querying syslandauth yields 4 rows:
Grantor
TBP wrote:
> rgoshorn3@comcast.net wrote:
> > Trying to revert a 9.4UC7 database to 7.31UC5 and am encountering the
> > following error:
> >
> > "Must drop uds feature in database: watch, tabid 39"
> >
> > Can anyone shed any light on what the message means, how I can fix the
> > problem.
> >
> > The documentation (surprise) is of no help.
> >
> > Randy
>
> Presumably you reviewed the reversion section in the Migration Guide?
>
> http://publib.boulder.ibm.com/epubs/pdf/25124400.pdf
>
> Do a google search on "determine whether reversion is" and that gives
> you the V10 documentation, but I would just do a dbschema -ss of the
> watch database, and have a look through whether you have any 9.40
> specific stuff not in V7.31. (I think the tabid just refers to the tabid
> of the database in sysdatabases).
Yes, I have read the documentation. I've even done this before. Tabid in database is syslangauth. Querying syslangauth yields 4 rows: Grantor informix informix informix informix Grantee: DBA DBA DBA Public langid: 1 2 3 3 langauth: u U u u None of this looks, on the surface, unusual to me in any way. Dbschema will not give me the data types, as it is a system table. Randy Zachi wrote: > On Feb 13, 2:04 pm, rgosho...@comcast.net wrote: > > Trying to revert a 9.4UC7 database to 7.31UC5 and am encountering the > > following error: > > > > "Must drop uds feature in database: watch, tabid 39" > > > > Can anyone shed any light on what the message means, how I can fix the > > problem. > > > > The documentation (surprise) is of no help. > > > > Randy > > You are using some sort of data type that is not supported in 7. This > type (whether Informix-defined or some application-defined I do not > know) is obviously used in the table with id 39. Find which table is > 39 and see whether you need that specific data type. If you cannot > alter it (or drop the table), you cannot revert. > > Zachi
On Feb 13, 2:43 pm, rgosho...@comcast.net wrote: > Yes, I have read the documentation. I've even done this before. > > Tabid in database is syslangauth. Querying syslangauth yields 4 rows: > > Grantor informix informix informix > informix > Grantee: DBA DBA DBA > Public > langid: 1 2 > 3 3 > langauth: u U > u u > > None of this looks, on the surface, unusual to me in any way. > Dbschema will not give me the data types, as it is a system table. > > Randy You can do select * from syscolumns where tabid = 39 to get to the column types. So possibly run that and post the results? It does seem odd that the table it is complaining about is a system catalog though. Jacques
rgoshorn3@comcast.net wrote:
> Yes, I have read the documentation. I've even done this before.
>
> Tabid in database is syslangauth. Querying syslangauth yields 4 rows:
>
> Grantor informix informix informix
> informix
> Grantee: DBA DBA DBA
> Public
> langid: 1 2
> 3 3
> langauth: u U
> u u
>
> None of this looks, on the surface, unusual to me in any way.
> Dbschema will not give me the data types, as it is a system table.
>
> Randy
You obviously haven't read the migration guide as suggested by TBP. if you
had, you would have realized that as part of the migration from V9 to V7,
since V7 does not support any procedure language other than SPL, you have to
get rid of any udr written in c and java, and revoke execution rights on c and
java (which are tracked by syslangauth), as clearly documented in chapter 6 of
said manual
as an aside, you can get the column types of system tables from the table info
menu of dbaccess.
--
Ciao,
Marco
______________________________________________________________________________
Marco Greco /UK /IBM Standard disclaimers apply!
Structured Query Scripting Language http://www.4glworks.com/sqsl.htm
4glworks http://www.4glworks.com
Informix on Linux http://www.4glworks.com/ifmxlinux.htm
On Feb 13, 2:43 pm, rgosho...@comcast.net wrote:
> Yes, I have read the documentation. I've even done this before.
>
> Tabid in database is syslangauth. Querying syslangauth yields 4 rows:
>
> Grantor informix informix informix
> informix
> Grantee: DBA DBA DBA
> Public
> langid: 1 2
> 3 3
> langauth: u U
> u u
>
> None of this looks, on the surface, unusual to me in any way.
> Dbschema will not give me the data types, as it is a system table.
>
> Randy
>
> Zachi wrote:
> > On Feb 13, 2:04 pm, rgosho...@comcast.net wrote:
> > > Trying to revert a 9.4UC7 database to 7.31UC5 and am encountering the
> > > following error:
>
> > > "Must drop uds feature in database: watch, tabid 39"
>
> > > Can anyone shed any light on what the message means, how I can fix the
> > > problem.
>
> > > The documentation (surprise) is of no help.
>
> > > Randy
>
> > You are using some sort of data type that is not supported in 7. This
> > type (whether Informix-defined or some application-defined I do not
> > know) is obviously used in the table with id 39. Find which table is
> > 39 and see whether you need that specific data type. If you cannot
> > alter it (or drop the table), you cannot revert.
>
> > Zachi
Actually, looking at the code where this error message is produced we
seem to be doing some comparison to see if some row counts in these
system catalogs is the bare minimum value (which I guess would mean
you aren't using any new feature). Oddly enough for syslangauth the
value we should be looking for is 4, which is the number of rows you
say you have.
So one idea would be we might be reporting the tabid incorrectly, so
try doing a count from the tables with tabids 38 and maybe 40 (in case
we are 1 off in either way) and tabid 38 should have 5 rows and tabid
40 should have 4 rows. See if either of those counts don't match up.
If all those row counts match up, then it could be the rowcount on the
partition page is wrong, so in that case get the partnum using select
hex(partnum) from systables where tabid = 39. Then do an oncheck -pt
{hex value from the previous select} and look at the "Number of rows"
output and see if that value is also 4.
Jacques
rgoshorn3@comcast.net wrote:
> Yes< I read the documentation. I've done this before, obviously under
> different circumstances.
>
> Anyhoo...
>
> I did the following:
>
> dbaccess watch
> select * from systables where tabid=39>
> tabid 39 is syslangauth, a system table
>
> Querying syslandauth yields 4 rows:
>
> Grantor
>
>
> TBP wrote:
>> rgoshorn3@comcast.net wrote:
>>> Trying to revert a 9.4UC7 database to 7.31UC5 and am encountering the
>>> following error:
>>>
>>> "Must drop uds feature in database: watch, tabid 39"
>>>
>>> Can anyone shed any light on what the message means, how I can fix the
>>> problem.
>>>
>>> The documentation (surprise) is of no help.
>>>
>>> Randy
>> Presumably you reviewed the reversion section in the Migration Guide?
>>
>> http://publib.boulder.ibm.com/epubs/pdf/25124400.pdf
>>
>> Do a google search on "determine whether reversion is" and that gives
>> you the V10 documentation, but I would just do a dbschema -ss of the
>> watch database, and have a look through whether you have any 9.40
>> specific stuff not in V7.31. (I think the tabid just refers to the tabid
>> of the database in sysdatabases).
dbaccess watch -
select count(*) from "informix".sysprocedures where langid = 3;
select owner, procname from "informix".sysprocedures where langid = 3;