[x] Validate out of the box behaviour for all protocols: REST, PgWire, ILP. ILP should create VARCHAR columns by default + compatibility flag to revert back to STRING. @jerrinot https://github.com/questdb/questdb/pull/4475
[x] AbstractTextLexer doesn't calculate ASCII flag, so all inserted varchars have us.isAscii() == false. We need to fix that @bluestreak01 in https://github.com/questdb/questdb/pull/4401
[x] varchar update bug @puzpuzpuz #4353
create table xyz as (select rnd_str(2,5,1) a, timestamp_sequence(0, 1000) ts from long_sequence(10000)) timestamp(ts) partition by DAY;
alter table xyz add column b varchar;
update xyz set b = a;
select count(*) from xyz where a is not null;
select count(*) from xyz where b is not null;
[x] introduce single varchar key unordered map; the map can leverage stable pointers infra introduced recently to avoid copying varchars into map memory - instead it'll be storing pointers to mmapped memory @jerrinot https://github.com/questdb/questdb/pull/4435
[x] length(varchar) is dog-slow: we should calculate the raw size - number of continuation bytes instead of doing proper UTF-8 parsing; ideally that should be done with SWAR @mtopolnik #4442
MUST HAVE
NICE TO HAVE
to_uppercase(varchar)
currently produces a string. this is unexpected. not sure if this is a blocker.RndStrRndListFunctionFactory
COMPLETED
alter table alter column type
@ideoma #4413AbstractTextLexer
doesn't calculate ASCII flag, so all inserted varchars haveus.isAscii() == false
. We need to fix that @bluestreak01 in https://github.com/questdb/questdb/pull/4401length(varchar)
is dog-slow: we should calculate the raw size - number of continuation bytes instead of doing proper UTF-8 parsing; ideally that should be done with SWAR @mtopolnik #4442