IsSpecial() doesn't work

create type Foo {
representation Foo { AsString : String },
special Bar Foo("Bar")

create table Baz in System.Temp {
Foo : Foo

insert table {
row { Foo("Hallo") Foo },
row { FooBar() Foo }
} into Baz;

select Foo("Hallo"); // Hallo
select FooBar(); // Bar
select Foo("Hello").IsSpecial(); // False
select Foo("Bar").IsSpecial(); // True
select Foo("Bar").IsBar(); // True
select FooBar().IsSpecial(); // True
select FooBar().IsBar(); // True
select Baz; // Bar, Hallo
select Baz where Foo = Foo("Bar"); // Bar
select Baz where Foo = FooBar(); // Bar
select Baz where Foo.IsSpecial(); // fail
select Baz where Foo.IsBar(); // fail

/* This works when running in-process, but when running against the service, the last two queries fail with the following error message:

Application:105149 --->
Unable to resolve operator reference ".Test.IsSpecial" with signature "(Test.Foo)".
---- Server Context ----
at Alphora.Dataphor.DAE.Server.ServerBatch.Alphora.Dataphor.DAE.IServerBatch.Execute(DataParams AParams)
at Alphora.Dataphor.DAE.Server.ServerScript.Alphora.Dataphor.DAE.IServerScript.Execute(DataParams AParams)
at Alphora.Dataphor.DAE.Server.LocalExpressionPlan.GetDataType()
Application:106185 --->
Errors occurred while deserializing client cache time stamp (56).
---- Server Context ----
at Alphora.Dataphor.DAE.Server.LocalExpressionPlan.GetDataType()
at Alphora.Dataphor.DAE.Server.LocalExpressionPlan..ctor(LocalProcess AProcess, IRemoteServerExpressionPlan APlan, PlanDescriptor APlanDescriptor, DataParams AParams)
at Alphora.Dataphor.DAE.Server.LocalBatch.PrepareExpression(DataParams AParams)
at Alphora.Dataphor.DAE.Client.ScriptExecutionUtility.ExecuteScript(IServerProcess AProcess, String AScript, ScriptExecuteOption AOptions, ErrorList& AErrors, TimeSpan& ATimeElapsed, ReportScriptProgressHandler AReportScriptProgress)

Defect Reported

Hi Jon,

Thank you for the reproduction. Unfortunately I do not have a workaround for this at this point. The defect has been added to the list, and we will try to get a resolution posted as soon as we can.

Bryn Rhodes
Database Consulting Group LLC