Hi

If i totally miss the point then ignore.

Maybe it is becuse we can sort not only by fields but by any expression.
We can sort by concatenation of strings, numbers and we can even sort by 
subquery like

SELECT
*
FROM
RDB$RELATIONS R
ORDER BY (SELECT COUNT(*) FROM RDB$RELATION_FIELDS RF WHERE 
RF.RDB$RELATION_NAME=R.RDB$RELATION_NAME)

And same when GROUP BY

Regards,
Karol Bieniaszewski

Od: Adriano dos Santos Fernandes
Wysłano: czwartek, 6 stycznia 2022 02:28
Do: For discussion among Firebird Developers
Temat: [Firebird-devel] ExprNode::FLAG_VALUE

Hi!

There is ExprNode::FLAG_VALUE ("Full value area required in impure
space"), inherited from old (2.5) code base nod_value.

It's set by sort subsystem and used only for parameters and variables.

It makes then allocate impure space for impure_value_ex instead of
traditional dsc.

Most nodes allocate space for impure_value. But not all of them.

Literals directly return the descriptor set in compile time.

I see no usage of the expressions impure_value in sort. And if they were
using, we'd certainly have a problem with literals.

I see no need to have this flag.

Do anyone see something I'm not seeing?


Adriano


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to