Comments (2)
There is nothing in cassanity currently. I think the reason is that when I initially wrote it, cass was changing the cql query for getting schema so I avoided it (column names and such).
from cassanity.
Thanks for replying. It shouldn't be too difficult to knock up something basic (experiments below). If I feel the need for it in Cassanity in future I'll open a PR.
# columns and types
> Hash[ sc.select(where: {keyspace_name: :keyspace, columnfamily_name: :colfam} ).
map{|col| [col['column_name'], Cassanity::Column::Types[col['validator']]]} ]
{:where=>{:keyspace_name=>:keyspace, :columnfamily_name=>:colfam}, :column_family_name=>:schema_columns, :keyspace_name=>:system}
SELECT * FROM system.schema_columns WHERE "keyspace_name" = ? AND "columnfamily_name" = ?
keyspace
colfam
=> {"col1"=>:text,
"col2"=>:float,
"col3"=>:float,
"col4"=>:timeuuid,
"col5"=>:float}
# partition key (order by component index to handle compound keys)
# also try col['type'] == 'clustering_column'
> sc.select(where: {keyspace_name: :keyspace, columnfamily_name: :colfam} ).
select{|col| col['type'] == 'partition_key' }.
sort_by{|col| col['component_index']}.
map{|col| col['column_name']}
{:where=>{:keyspace_name=>:keyspace, :columnfamily_name=>:colfam}, :column_family_name=>:schema_columns, :keyspace_name=>:system}
SELECT * FROM system.schema_columns WHERE "keyspace_name" = ? AND "columnfamily_name" = ?
keyspace
colfam
=> ["col1"]
from cassanity.
Related Issues (13)
- Keyspace#column_families HOT 1
- Fails with stock cassandra 1.2.1 HOT 2
- Ensure columns is always array when performing column family delete
- LogSubscriber does not seem to receive events in Rails/ActiveSupport 4.x
- Add 2.0 to travis matrix
- Support for altering a column family HOT 1
- Allow passing logger through so you can see all the cql calls HOT 1
- Update migration docs to recommend date over incrementing number HOT 2
- Allow for easy instrumentation HOT 5
- Add column family #select that creates query and returns array of hashes HOT 1
- Add Cassanity::Range and Cassanity.range for consistency with other operators
- Support WITH COMPACT STORAGE HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cassanity.