Relational Algebra

Post on 10-May-2015

744 views 3 download

Tags:

description

My presentation about Relational Algebra and Relation Library

Transcript of Relational Algebra

RELATIONAL ALGEBRA

@tomas_stefanohttps://github.com/tomas-stefano

PRIMEIRO ...

VISITORS PATTERN

“TOMAS ... NÃO ENTENDI NADA!!”

SHOW ME THE CODE!

users = Arel::Table.new(:users)

users.project('*').to_sql=> “SELECT * FROM users”

THE VISITOR DISPATCH

# Quando você escreve:users.project('*')

# Então por “baixo dos panos” dentro do Visitor:{ Arel::Nodes::SelectStatement =>"visit_Arel_Nodes_SelectStatement", Arel:SqlLiteral => "visit_Arel_SqlLiteral", Arel::Table => "visit_Arel_Table"}

MIXED CASE

QUERIA CRIAR ALGO EM C

CRIAR ALGO QUE PRECISA SER RÁPIDO!

RELATION! EM C! E WRAPPER EM RUBY!

CURRENT STATUS!

MAS ESTÁ PROGREDINDO!products = Relation::Table.new(:products)

products.select('*').to_sql"SELECT * FROM products"

products.where("company = 'SuccesSoft'").to_sql=>"SELECT * FROM products WHERE company = 'SuccesSoft'"

products.limit(1).to_sql=> "SELECT * FROM products LIMIT 1"

# E Ainda Tem muito mais!!

BENCHMARK PREMATURO! MAS TÁ MUITO RÁPIDO! =P

C É DIFÍCIL!

O COMEÇO É DÍFICIL!

MAS O TDD AJUDA!

E NO FINAL DO PLACAR:C vs TOMAS

CREIO QUE GANHEI! K.O!

COMING SOON!

OBRIGADO! ;)

@tomas_stefanohttps://github.com/tomas-stefano