Mike Matrigali wrote:
I'll let someone else summarize.  At this point I have
been convinced by Dan that his proposal is the best way
forward.  And by rick and dan that we should just go
ahead and store column level metadata for the collate
info in the store, as well as in the language level
per column metadata.

The key points that convinced me are:
o Even though we are proposing a "single" collation per
  database, internally we need to support 2 per database to
  do the right thing for system catalogs.  Once there are
  2 we needed support in store to at the very least store
  metadata per conglomerate.

o It looks like dan's proposal makes the runtime creation
  of the collated and non-collated objects easier.  I don't
  understand all the places this affects, but anything that
  makes this easier seems good to me.

I think some design specification or notes would be really useful for collation. As Mike says the places where this has an impact are not well known, starting a list on a wiki page would be good, then others could look and ask if other areas are effected. E.g. I think the path we are heading down is that at create table or alter table add column time the collation for that column will be set in its DataTypeDescriptor, just like its nullability is today. Then at bind time when that column is referenced the collation type will be available through its DTD. But there are a host of other character expressions, it would be good to list these up front and how the collation will be set, rather than discovering them one at time through coding (and missing some). E.g.
What's the defined behaviour for:

      string literal
      cast to character type of a character expression
      trim
      concatenation
      etc.

Then some writeup of how store column collation information is to be stored (along with upgrade issues) would really help cement a good design up front.

Thanks,
Dan.

Reply via email to