"Unsupported length"

Discussion of open issues, suggestions and bugs regarding IBDAC (InterBase Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
upscene
Posts: 306
Joined: Thu 19 Oct 2006 08:13

"Unsupported length"

Post by upscene » Wed 19 Jan 2011 15:43

A customer is reporting the error in the subject line with IBDac.

I noticed this text being available in ibdac120.bpl

What could cause this?



With regards,

Martijn Tonies
Upscene Productions

AndreyZ

Post by AndreyZ » Thu 20 Jan 2011 16:13

Hello,

Please specify the exact database server (FireBird or InterBase) and its version. Also specify the exact moment when the error occurs.

upscene
Posts: 306
Joined: Thu 19 Oct 2006 08:13

Post by upscene » Thu 20 Jan 2011 16:18

AndreyZ wrote:Hello,

Please specify the exact database server (FireBird or InterBase) and its version. Also specify the exact moment when the error occurs.
I haven't been able to reproduce yet --

Firebird 2.5, ODS 11.2 on querying data from a database.

AndreyZ

Post by AndreyZ » Mon 24 Jan 2011 11:44

Unfortunately I cannot reproduce the problem. Please try executing the following code:

Code: Select all

IBCConnection.Connect;
ShowMessage(IntToStr(IBCConnection.DatabaseInfo.Allocation) +
            IntToStr(IBCConnection.DatabaseInfo.BaseLevel) +
            IntToStr(IBCConnection.DatabaseInfo.NoReserve) +
            IntToStr(IBCConnection.DatabaseInfo.ODSMinorVersion) +
            IntToStr(IBCConnection.DatabaseInfo.ODSMajorVersion) +
            IntToStr(IBCConnection.DatabaseInfo.PageSize) +
            IntToStr(IBCConnection.DatabaseInfo.CurrentMemory) +
            IntToStr(IBCConnection.DatabaseInfo.ForcedWrites) +
            IntToStr(IBCConnection.DatabaseInfo.MaxMemory) +
            IntToStr(IBCConnection.DatabaseInfo.NumBuffers) +
            IntToStr(IBCConnection.DatabaseInfo.SweepInterval) +
            IntToStr(IBCConnection.DatabaseInfo.Fetches) +
            IntToStr(IBCConnection.DatabaseInfo.Marks) +
            IntToStr(IBCConnection.DatabaseInfo.Reads) +
            IntToStr(IBCConnection.DatabaseInfo.Writes) +
            IntToStr(IBCConnection.DatabaseInfo.DBSQLDialect) +
            IntToStr(IBCConnection.DatabaseInfo.LogFile) +
            IntToStr(IBCConnection.DatabaseInfo.CurLogPartitionOffset) +
            IntToStr(IBCConnection.DatabaseInfo.NumWALBuffers) +
            IntToStr(IBCConnection.DatabaseInfo.WALBufferSize) +
            IntToStr(IBCConnection.DatabaseInfo.WALCheckpointLength) +
            IntToStr(IBCConnection.DatabaseInfo.WALPrvCheckpointPartOffset) +
            IntToStr(IBCConnection.DatabaseInfo.WALGroupCommitWaitUSecs) +
            IntToStr(IBCConnection.DatabaseInfo.WALNumIO) +
            IntToStr(IBCConnection.DatabaseInfo.WALAverageIOSize) +
            IntToStr(IBCConnection.DatabaseInfo.WALNumCommits) +
            IntToStr(IBCConnection.DatabaseInfo.WALAverageGroupCommitSize) +
            IntToStr(IBCConnection.DatabaseInfo.AttachmentID) +
            IntToStr(IBCConnection.DatabaseInfo.InfoAttCharset) +
            IntToStr(IBCConnection.DatabaseInfo.InfoDbClass) +
            IntToStr(IBCConnection.DatabaseInfo.InfoOldestTransaction) +
            IntToStr(IBCConnection.DatabaseInfo.InfoOldestActive) +
            IntToStr(IBCConnection.DatabaseInfo.InfoOldestSnapshot) +
            IntToStr(IBCConnection.DatabaseInfo.InfoNextTransaction) +
            IntToStr(IBCConnection.DatabaseInfo.InfoDbProvider) +
            BoolToStr(IBCConnection.DatabaseInfo.ReadOnly) +
            BoolToStr(IBCConnection.DatabaseInfo.IsEncrypted) +
            BoolToStr(IBCConnection.DatabaseInfo.IsEUAActive));
Is the execution successful?

upscene
Posts: 306
Joined: Thu 19 Oct 2006 08:13

Post by upscene » Mon 24 Jan 2011 11:48

I haven't been able to reproduce either, which is why I asked what could cause this problem.

I'll ask the customer to see if I can get a copy of the database.

AndreyZ

Post by AndreyZ » Wed 26 Jan 2011 09:38

This problem can be caused by many reasons. That's why I gave you the list of all functions that can cause this error. We are looking forward to hearing from you.

upscene
Posts: 306
Joined: Thu 19 Oct 2006 08:13

Post by upscene » Thu 27 Jan 2011 14:06

AndreyZ wrote:This problem can be caused by many reasons. That's why I gave you the list of all functions that can cause this error. We are looking forward to hearing from you.
On the restored database, yes, these work fine.

In my application, the queries fail at the customers site.

In my application, I'm using some of the functions listed to gather statement statistics.

Here's what he wrote to me:
Recapping – All activity on the same 2.5 Firebird Server

FB_ITShared + 2 Other Databases returned Unsupported length using DBW4 on All queries even ones just querying system tables
All Other databases OK
DOS Copy of FB_ITShared made following FB Server shut down -> FB_ITSharedBad
FB Server restarted
FB_ITShared Restored (overwritten) from Backup
Queries on FB_ITShared then returned results as expected J
The following day FB_ITShared reverted to returning Unsupported length for all queries.
FB_ITSharedBad returns results as expected – this for me is bizarre

AndreyZ

Post by AndreyZ » Fri 28 Jan 2011 10:09

We will be able to help you with this problem when we have the database that causes such error.

upscene
Posts: 306
Joined: Thu 19 Oct 2006 08:13

Post by upscene » Wed 02 Feb 2011 12:20

AndreyZ wrote:We will be able to help you with this problem when we have the database that causes such error.
Andrey, I'm trying to get to the bottom of this annoying issue, but I cannot reproduce. Can I forward you an e-mail from this customer?

AndreyZ

Post by AndreyZ » Thu 03 Feb 2011 08:47

You can forward the e-mail from your customer to andreyz*devart*com.

upscene
Posts: 306
Joined: Thu 19 Oct 2006 08:13

Post by upscene » Mon 07 Feb 2011 09:26

AndreyZ wrote:You can forward the e-mail from your customer to andreyz*devart*com.
I just got a message from my customer that you were able to reproduce the issue, it had to do with Firebird 2.5 INT64 usage for statistics.

I'm a bit surprised here, as I notified you in March 2010 about this!

See:
http://www.devart.com/forums/viewtopic. ... ght=#54818

:(

AndreyZ

Post by AndreyZ » Mon 07 Feb 2011 15:48

We are investigating this problem. As soon as we solve the problem we will let you know.

upscene
Posts: 306
Joined: Thu 19 Oct 2006 08:13

Post by upscene » Fri 11 Feb 2011 09:49

AndreyZ wrote:We are investigating this problem. As soon as we solve the problem we will let you know.
Is this problem caused by not using INT64?

AndreyZ

Post by AndreyZ » Mon 14 Feb 2011 08:59

Yes, this problem was caused by not using the Int64 type for obtaining the database information. We have fixed this problem. This fix will be included in the next IBDAC build.

upscene
Posts: 306
Joined: Thu 19 Oct 2006 08:13

Post by upscene » Mon 14 Feb 2011 09:31

Why was this not fixed in 2010 then? This problem could have been easily avoided... :(

When will this new build be ready? It is within 2 days? (I also used ODAC and MyDAC, so I'll need them all 3)

Post Reply