@@ -15,15 +15,13 @@ import (
1515
1616// schema metadata for a keyspace
1717type KeyspaceMetadata struct {
18- Name string
19- DurableWrites bool
20- StrategyClass string
21- StrategyOptions map [string ]interface {}
22- Tables map [string ]* TableMetadata
23- Functions map [string ]* FunctionMetadata
24- Aggregates map [string ]* AggregateMetadata
25- // Deprecated: use the MaterializedViews field for views and UserTypes field for udts instead.
26- Views map [string ]* ViewMetadata
18+ Name string
19+ DurableWrites bool
20+ StrategyClass string
21+ StrategyOptions map [string ]interface {}
22+ Tables map [string ]* TableMetadata
23+ Functions map [string ]* FunctionMetadata
24+ Aggregates map [string ]* AggregateMetadata
2725 MaterializedViews map [string ]* MaterializedViewMetadata
2826 UserTypes map [string ]* UserTypeMetadata
2927}
@@ -85,15 +83,6 @@ type AggregateMetadata struct {
8583 finalFunc string
8684}
8785
88- // ViewMetadata holds the metadata for views.
89- // Deprecated: this is kept for backwards compatibility issues. Use MaterializedViewMetadata.
90- type ViewMetadata struct {
91- Keyspace string
92- Name string
93- FieldNames []string
94- FieldTypes []TypeInfo
95- }
96-
9786// MaterializedViewMetadata holds the metadata for materialized views.
9887type MaterializedViewMetadata struct {
9988 Keyspace string
@@ -280,7 +269,7 @@ func (s *schemaDescriber) refreshSchema(keyspaceName string) error {
280269 if err != nil {
281270 return err
282271 }
283- views , err := getViewsMetadata (s .session , keyspaceName )
272+ userTypes , err := getUserTypeMetadata (s .session , keyspaceName )
284273 if err != nil {
285274 return err
286275 }
@@ -290,7 +279,7 @@ func (s *schemaDescriber) refreshSchema(keyspaceName string) error {
290279 }
291280
292281 // organize the schema data
293- compileMetadata (s .session .cfg .ProtoVersion , keyspace , tables , columns , functions , aggregates , views ,
282+ compileMetadata (s .session .cfg .ProtoVersion , keyspace , tables , columns , functions , aggregates , userTypes ,
294283 materializedViews , s .session .logger )
295284
296285 // update the cache
@@ -311,7 +300,7 @@ func compileMetadata(
311300 columns []ColumnMetadata ,
312301 functions []FunctionMetadata ,
313302 aggregates []AggregateMetadata ,
314- views []ViewMetadata ,
303+ uTypes []UserTypeMetadata ,
315304 materializedViews []MaterializedViewMetadata ,
316305 logger StdLogger ,
317306) {
@@ -331,22 +320,9 @@ func compileMetadata(
331320 aggregates [i ].StateFunc = * keyspace .Functions [aggregates [i ].stateFunc ]
332321 keyspace .Aggregates [aggregates [i ].Name ] = & aggregates [i ]
333322 }
334- keyspace .Views = make (map [string ]* ViewMetadata , len (views ))
335- for i := range views {
336- keyspace .Views [views [i ].Name ] = & views [i ]
337- }
338- // Views currently holds the types and hasn't been deleted for backward compatibility issues.
339- // That's why it's ok to copy Views into Types in this case. For the real Views use MaterializedViews.
340- types := make ([]UserTypeMetadata , len (views ))
341- for i := range views {
342- types [i ].Keyspace = views [i ].Keyspace
343- types [i ].Name = views [i ].Name
344- types [i ].FieldNames = views [i ].FieldNames
345- types [i ].FieldTypes = views [i ].FieldTypes
346- }
347- keyspace .UserTypes = make (map [string ]* UserTypeMetadata , len (views ))
348- for i := range types {
349- keyspace .UserTypes [types [i ].Name ] = & types [i ]
323+ keyspace .UserTypes = make (map [string ]* UserTypeMetadata , len (uTypes ))
324+ for i := range uTypes {
325+ keyspace .UserTypes [uTypes [i ].Name ] = & uTypes [i ]
350326 }
351327 keyspace .MaterializedViews = make (map [string ]* MaterializedViewMetadata , len (materializedViews ))
352328 for i , _ := range materializedViews {
@@ -930,7 +906,7 @@ func getTypeInfo(t string, logger StdLogger) TypeInfo {
930906 return getCassandraType (t , logger )
931907}
932908
933- func getViewsMetadata (session * Session , keyspaceName string ) ([]ViewMetadata , error ) {
909+ func getUserTypeMetadata (session * Session , keyspaceName string ) ([]UserTypeMetadata , error ) {
934910 if session .cfg .ProtoVersion == protoVersion1 {
935911 return nil , nil
936912 }
@@ -948,31 +924,31 @@ func getViewsMetadata(session *Session, keyspaceName string) ([]ViewMetadata, er
948924 FROM %s
949925 WHERE keyspace_name = ?` , tableName )
950926
951- var views []ViewMetadata
927+ var uTypes []UserTypeMetadata
952928
953929 rows := session .control .query (stmt , keyspaceName ).Scanner ()
954930 for rows .Next () {
955- view := ViewMetadata {Keyspace : keyspaceName }
931+ uType := UserTypeMetadata {Keyspace : keyspaceName }
956932 var argumentTypes []string
957- err := rows .Scan (& view .Name ,
958- & view .FieldNames ,
933+ err := rows .Scan (& uType .Name ,
934+ & uType .FieldNames ,
959935 & argumentTypes ,
960936 )
961937 if err != nil {
962938 return nil , err
963939 }
964- view .FieldTypes = make ([]TypeInfo , len (argumentTypes ))
940+ uType .FieldTypes = make ([]TypeInfo , len (argumentTypes ))
965941 for i , argumentType := range argumentTypes {
966- view .FieldTypes [i ] = getTypeInfo (argumentType , session .logger )
942+ uType .FieldTypes [i ] = getTypeInfo (argumentType , session .logger )
967943 }
968- views = append (views , view )
944+ uTypes = append (uTypes , uType )
969945 }
970946
971947 if err := rows .Err (); err != nil {
972948 return nil , err
973949 }
974950
975- return views , nil
951+ return uTypes , nil
976952}
977953
978954func getMaterializedViewsMetadata (session * Session , keyspaceName string ) ([]MaterializedViewMetadata , error ) {
0 commit comments