public CqlType CreateType(TypeParser parser) { string keyspace = parser.ReadNextIdentifier(); parser.SkipBlankAndComma(); string name = parser.ReadNextIdentifier().DecodeHex(); var fieldNames = new List<string>(); var fieldTypes = new List<CqlType>(); while(parser.SkipBlankAndComma()) { if(parser.Peek() == ')') return CreateTypeInternal(keyspace, name, fieldNames, fieldTypes, null); string fieldName = parser.ReadNextIdentifier().DecodeHex(); if(parser.ReadNextChar() != ':') throw new CqlException("Error parsing UserType arguments: ':' expected after fieldName."); CqlType type = parser.ReadCqlType(); fieldNames.Add(fieldName); fieldTypes.Add(type); } throw new CqlException("Error parsing UserType arguments: unexpected end of string."); }
public CqlType CreateType(TypeParser parser) { var keyType = parser.ReadCqlType(); if(parser.ReadNextChar() != ',') throw new CqlException("Expected a ',' during parsing of a map type"); var valueType = parser.ReadCqlType(); return CreateType(keyType, valueType); }
public CqlType CreateType(TypeParser parser) { var types = new List<CqlType>(); parser.SkipBlank(); while(!parser.IsEOS() && parser.Peek() != ')') { types.Add(parser.ReadCqlType()); parser.SkipBlankAndComma(); } return CreateType(types); }
public CqlType CreateType(TypeParser parser) { var innerType = parser.ReadCqlType(); return CreateType(innerType); }
public CqlType CreateType(TypeParser parser) { return UUIDType.Instance; }
public CqlType CreateType(TypeParser parser) { return BytesType.Instance; }
public CqlType CreateType(TypeParser parser) { return DecimalType.Instance; }
public CqlType CreateType(TypeParser parser) { return TimestampType.Instance; }
public CqlType CreateType(TypeParser parser) { return CounterColumnType.Instance; }
public CqlType CreateType(TypeParser parser) { return Int32Type.Instance; }
public CqlType CreateType(TypeParser parser) { return AsciiType.Instance; }
public CqlType CreateType(TypeParser parser) { return FloatType.Instance; }
public CqlType CreateType(TypeParser parser) { return InetAddressType.Instance; }
public CqlType CreateType(TypeParser parser) { return BooleanType.Instance; }
public CqlType CreateType(TypeParser parser) { throw new NotSupportedException("Anonymous types can't be parsed. (As they have no Cassandra counterpart)"); }