Assertion (m_format->fmt_length == m_data.getCount()) failure
-------------------------------------------------------------
Key: CORE-4902
URL: http://tracker.firebirdsql.org/browse/CORE-4902
Project: Firebird Core
Issue Type: Bug
Components: UDF
Affects Versions: 3.0 RC 1
Environment: linux-4.1.4 amd64 gcc-5.2.0
git commit f5a35a35e5e642c485a12b729993b5c17079ab3f
Reporter: Treeve Jelbert
Assert occurs while running migration scripts from old Paradox db.
ISQL Version: LI-V3.0.0.31981-dev Firebird 3.0 Release Candidate 1
Use CONNECT or CREATE DATABASE to specify a database
SQL> input build;
Unable to open build
SQL> input build.sql;
DB = /var/db/firebird/accounts.fdb
Host = Horos
Assertion (m_format->fmt_length == m_data.getCount()) failure:
/usr/src/firebird3-git/src/src/jrd/../jrd/../jrd/Record.h 121
/home/treeve/bin/fbsql: line 9: 5320 Aborted $FB -ch utf8
-fetch stdin
-user ${ME} -z
The problem statement is:
-select count(*) from expitem where doc_id =0;
COUNT
=====================
5391
- link expitem to expense
update expitem a
set a.DOC_ID =
( select b.ID from expense b where a.expyr = b.yr and a.expnr = b.nr );
commit;
select count(*) from expitem where doc_id =0;
CRASH!!
Any access to expitem crashes after this.
SQL> show database;
Database: accounts
Owner: TREEVE
DB = /var/db/firebird/accounts.fdb
Host = Horos
PAGE_SIZE 4096
Number of DB pages allocated = 1117
Sweep interval = 20000
Forced Writes are ON
Transaction - oldest = 209
Transaction - oldest active = 224
Transaction - oldest snapshot = 224
Transaction - Next = 228
ODS = 12.0
Default Character set: UTF8
The tables are:
SQL> show table expense;
ID SMALLINT Not Null Identity (by default)
YR (D_ID) SMALLINT Not Null default 0
NR (D_ID) SMALLINT Not Null default 0
TDATE DATE Nullable
SUP (D_ID) SMALLINT Not Null default 0
COUNTRY CHAR(2) Nullable
NET (D_MONEY) DECIMAL(10, 2) Not Null default 0
VAT (D_MONEY) DECIMAL(10, 2) Not Null default 0
PRIVATE SMALLINT Nullable
CURR (D_CURR) CHAR(3) Not Null default 'EUR'
ORGID SMALLINT Nullable
QTR SMALLINT Nullable
CONSTRAINT PK_EXPENSE:
Primary key (ID)
CONSTRAINT U_EXPENSE:
Unique key (YR, NR) uses explicit ascending index IX_EXPENSE
SQL> show table expitem;
ID SMALLINT Not Null Identity (by default)
EXPYR (D_ID) SMALLINT Not Null default 0
EXPNR (D_ID) SMALLINT Not Null default 0
LINE (D_ID) SMALLINT Not Null default 0
CATEGORY INTEGER Not Null default 41110
AMOUNT (D_MONEY) DECIMAL(10, 2) Not Null default 0
DESC CHAR(40) Nullable
CURR (D_CURR) CHAR(3) Not Null default 'EUR'
DOC_ID (D_ID) SMALLINT Not Null default 0
CONSTRAINT FK_EXPI_CATEGORY:
Foreign key (CATEGORY) References EXPLAIN (ID)
CONSTRAINT PK_EXPITEM:
Primary key (ID)
CONSTRAINT U_EXPITEM:
Unique key (EXPYR, EXPNR, LINE) uses explicit ascending index IX_EXPITEM
SQL> select curr, count(*) from expense group by curr;
CURR COUNT
====== =====================
BEF 1187
EUR 1210
GBP 5
USD 4
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel