Skip to content

TPCDS queries #34, #73 doesn't work with block channels #7719

@abyss7

Description

@abyss7

TPCDS queries #34, #73 doesn't work with block channels
Sample problem report: https://proxy.sandbox.yandex-team.ru/6854476973/index.html#suites/efe4970bacd9e1454955dc0317c12f5e/21b6d1b5165606bc/

Initially problem log looks like:

yql_provider_gateway.cpp:21: <main>: Fatal: ydb/library/yql/minikql/mkql_program_builder.cpp:5836: ScalarApply(): requirement !args.empty() failed. Required at least one argument, code: 1

I assume this expression causes problem, because the callable Nothing (which is NULL) has no arguments:

        (case when household_demographics.hd_vehicle_count > 0
	then household_demographics.hd_dep_count/ household_demographics.hd_vehicle_count
	else null
	end)

Intermediate AST looks like:

  (let $7 (Bool 'false))
  (let $8 (Member $5 '"hd_vehicle_count"))
  (let $9 (Coalesce (> $8 (Int32 '0)) $7))
  (let $10 (If $9 (/ (Member $5 '"hd_dep_count") $8) (Nothing (OptionalType (DataType 'Int64)))))

Full AST (at some point): https://paste.yandex-team.ru/285f7141-a0ea-4412-9aaf-197d50760a2d

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions