SYSCOLUMNS and SYSCOLUMNS_FULL out of sync

pthomas

New Member
Hi,

I'm trying to use the SYSCOLUMNS_FULL table to identify whether a column is defined as an array.

The query that I'm running is pretty simple :

select tbl, col, width, array_extent from sysprogress.syscolumns_full

The problem that I'm encountering is that although all of the database tables and columns appear in the SYSCOLUMNS table, about 1/3 are missing from SYSCOLUMNS_FULL. (It returns 12,472 rows instead of the expected 16,368 in my case).

Can anybody explain a reason for this, or even better, suggest an 'update systems tables' statement that I could run?

Cheers!

Progress 9.1D on Windows, using Datadirect 5.0 SQL92 Driver
 
Curiouser and Curiouser

Update:

After further investigation, I've found that if I try:

select tbl, col, width, array_extent
from openquery(PROGRESS92, 'select "tbl", "col", "width", "array_extent" from "syscolumns_full" where tbl=''pr''')
order by tbl, col

Then I get 43 rows, one for each column in the table 'pr' (as I would expect). If, however, I try:

select tbl, col, width, array_extent
from openquery(PROGRESS92, 'select "tbl", "col", "width", "array_extent" from "syscolumns_full"')
where tbl='pr'
order by tbl, col

then I get nothing. If I run the query with no criteria at all, it returns 12,000 odd rows, none of which refer to the table 'pr'.

Any ideas, anyone?
 
Back
Top