File an issue and a patch and we'll commit it. Seems like a reasonable expectation for a column family name. Thanks Toby, St.Ack
On Wed, Feb 4, 2009 at 9:53 AM, Toby White <[email protected]> wrote: > I quite wanted to use a hyphen in the name (so that it could be a direct > mapping to an HTTP header field name), but hbase wouldn't let me. > Not massively onerous - it's easy to translate; it's just a slight > awkwardness. > > Toby > > On 4 Feb 2009, at 17:49, stack wrote: > > Yeah, the architecture document is starting to showing its age. Needs a >> nip >> and tuck. >> >> No big reasons for family name being 'text'/'printable'. Is it an onerous >> restriction? >> >> St.Ack >> >> >> >> On Wed, Feb 4, 2009 at 8:09 AM, Toby White <[email protected]> wrote: >> >> From the HBase documentation ( >>> http://wiki.apache.org/hadoop/Hbase/HbaseArchitecture) >>> >>> 'A column name has the form "<family>:<label>" where <family> and <label> >>> can be arbitrary byte arrays' >>> >>> yet in HColumnDescriptor.java: >>> >>> for (int i = 0; i < (b.length - 1); i++) { >>> if (Character.isLetterOrDigit(b[i]) || b[i] == '_' || b[i] == '.') { >>> continue; >>> } >>> throw new IllegalArgumentException("Illegal character <" + b[i] + >>> ">. Family names can only contain 'word characters' and must end" >>> + >>> "with a colon: " + Bytes.toString(b)); >>> } >>> >>> Presumably the code is the authoritative source here; but why is there >>> such >>> a restriction on family names? >>> >>> Toby >>> >>> >
