meta data for this page
DSQL bugs
Firebird 2.0: DSQL bugs
SF #1408079 The parser was not validating string literal markers.
fixed by C. Valderrama
~ ~ ~
Not registered The engine would fail to parse the SQL ROLE keyword properly.
fixed by C. Valderrama
~ ~ ~
Not registered EXECUTE PROCEDURE did not check SQL permissions at the prepare stage.
fixed by D. Yemanov
~ ~ ~
SF #217042 Weird SQL constructions are not always properly validated.
Partly fixed by C. Valderrama
~ ~ ~
SF #1108909 View could be created without rights on a table name like a b
fixed by C. Valderrama
~ ~ ~
SF #512975 Clear embedded spaces and CR+LF before DEFAULT clauses when storing them in system tables.
Implemented by C. Valderrama
SF #910423 Anomaly with ALTER TABLE altering a column's type to VARCHAR, when determining valid length of the string.
SQL> CREATE TABLE tab ( i INTEGER ); SQL> INSERT INTO tab VALUES (2000000000); SQL> COMMIT; SQL> ALTER TABLE tab ALTER i TYPE VARCHAR(5); Statement failed, SQLCODE = -607 unsuccessful metadata update -New size specified for column I must be at least 11 characters. i.e., it would need potentially 10 characters for the numerals and one for the negative sign. SQL> ALTER TABLE tab ALTER i TYPE VARCHAR(9);
This command should fail with the same error, but it did not, which could later lead to unreadable data:
SQL> SELECT * FROM tab; I ========= Statement failed, SQLCODE = -413 conversion error from string "2000000000"
fixed by C. Valderrama
~ ~ ~
Not registered There were some rounding problems in date/time arithmetic.
fixed by N. Samofatov
~ ~ ~
Not registered Line numbers in DSQL parser were being miscounted when multi-line literals and identifiers were used.
fixed by N. Samofatov
~ ~ ~
SF #784121 Some expressions in outer join conditions were causing problems.
fixed by C. Valderrama
~ ~ ~
Not registered There were some dialect- specific arithmetic bugs:
Dialect 1
- '1.5' / '0.5' did not work
- avg ('1.5') did not work
- 5 * '1.5' produced an INT result instead of DOUBLE PRECISION
- sum ('1.5') produced a NUMERIC(15, 2) result instead of DOUBLE PRECISION
- - '1.5' did not work
Dialect 3
- '1.5' * '0.5' and '1.5' / '0.5' were not forbidden, but they should have been.
fixed by D. Yemanov
~ ~ ~
SF #1250150 There was a situation where a procedure could not be dropped.
fixed by V. Horsun
~ ~ ~
SF #1238104 Internal sweep report was incorrect.
fixed by C. Valderrama
~ ~ ~
SF #1371274 The infamous Datatype unknown error when attempting some castings has been eliminated. It is now possible to use CAST to advise the engine about the datatype of a parameter.
fixed by D. Yemanov
~ ~ ~
SF #1292106 ORDER BY with FOR UPDATE WITH LOCK would trash the index.
fixed by D. Yemanov
~ ~ ~
SF #1368741 UPPER() was returning wrong results.
fixed by A. dos Santos Fernandes
~ ~ ~