lib/rbhive/connection.rb in rbhive-0.1.4 vs lib/rbhive/connection.rb in rbhive-0.1.5
- old
+ new
@@ -22,10 +22,11 @@
end
end
class Connection
attr_reader :client
+
def initialize(server, port=10_000, logger=StdOutLogger.new)
@socket = Thrift::Socket.new(server, port)
@transport = Thrift::BufferedTransport.new(@socket)
@protocol = Thrift::BinaryProtocol.new(@transport)
@client = ThriftHive::Client.new(@protocol)
@@ -55,9 +56,22 @@
end
def first(query)
execute(query)
ResultSet.new([client.fetchOne])
+ end
+
+ def create_table(schema)
+ execute(schema.create_table_statement)
+ end
+
+ def drop_table(name)
+ name = name.name if name.is_a?(TableSchema)
+ execute("DROP TABLE `#{name}`")
+ end
+
+ def replace_columns(schema)
+ execute(schema.replace_columns_statement)
end
def method_missing(meth, *args)
client.send(meth, *args)
end