TDD Sesión 2: SQL Generator

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
carlescliment's picture

Buenas!

He subido el código que estuvimos haciendo el martes a github: https://github.com/carlescliment/Katas/tree/master/sql_generator

Abro este hilo para agradeceros vuestra asistencia esta semana, convocaros para la próxima sesión el martes 20 a las 20 horas, y tener un espacio donde ir posteando las dudas que hayan surgido sobre la kata de este mes.

Estaría bien que la próxima sesión fuera más interactiva y que todos los asistentes intentásemos resolver la kata por nuestra cuenta. ¡Lo interesante es compartir y contrastar soluciones!

Si alguien quiere apuntarse aún está a tiempo. Quedan plazas libres ;)

Un saludo.

Pruebas de aceptación:

  /*

METADATA:
  fields : foo => varchar, bar => varchar, baz => integer

QUERIES TO SATISFY:

SELECT * FROM table;
SELECT * FROM another_table;
SELECT foo FROM table;
SELECT foo, bar FROM table;
SELECT foo, bar, xyz FROM table; -> Throws exception because xyz does not exist
SELECT foo, bar FROM table LIMIT 1;
SELECT foo, bar FROM table LIMIT 200;
SELECT foo, bar FROM table ORDER BY foo;
SELECT foo, bar FROM table ORDER BY foo, bar;
SELECT foo, bar FROM table ORDER BY foo DESC, bar ASC;
SELECT foo, bar FROM table ORDER BY foo DESC, xyz ASC; -> Throws exception because xyz does not exist
SELECT foo, bar FROM table ORDER BY foo DESC, bar ASC LIMIT 2;
SELECT foo, bar FROM table GROUP BY foo;
SELECT foo, bar FROM table GROUP BY foo, bar;
SELECT foo, bar FROM table GROUP BY foo ASC, bar DESC;
SELECT foo, bar FROM table ORDER BY foo GROUP BY foo ASC, bar DESC LIMIT 5;
SELECT foo, bar FROM table WHERE foo="sample";
SELECT foo, bar FROM table WHERE baz=1;
SELECT foo, bar FROM table WHERE foo="sample" AND baz=1;
SELECT foo, bar FROM table WHERE foo="sample" OR baz=1;
SELECT foo, bar FROM table WHERE foo="1" OR baz=1; => automatically casts an integer to string
SELECT foo, bar FROM table WHERE foo="1" OR baz=1 ORDER BY foo DESC GROUP BY bar LIMIT 1;


DELETE FROM table;
DELETE FROM another_table;
DELETE FROM table ORDER BY foo DESC LIMIT 1;
DELETE FROM table WHERE foo="sample" AND bar="another" ORDER BY bar ASC LIMIT 4;

UPDATE table SET foo="sample";
UPDATE another_table SET foo = 1;
UPDATE table SET foo="sample", baz=1 WHERE baz>1 OR baz<-5 ORDER BY foo DESC GROUP BY bar LIMIT 1;

INSERT INTO table (foo, bar, baz) VALUES ("string value", "another string", 1);
INSERT INTO another_table (foo, bar, baz) VALUES ("string value", "another string", 1);
INSERT INTO table (foo, bar, baz) VALUES ("value1", "value2", 3); => Converts string "3" to integer 3
INSERT INTO table (foo, bar, baz) VALUES ("value1", "value2", "value3"); => Throws exception -> Unable to convert "value3" to integer

CLASS USAGE:
----------------------------------
Queries resulting from $sql->select()->groupBy($fields)->limit(1) and $sql->select()->limit(1)->groupBy($fields) should be equivalent.

Comments

Vídeo

carlescliment's picture

Por cierto, Miguel, puedes subir el vídeo de la sesión anterior donde quieras. ¡Y muchas gracias por grabar!

Ok, lo preparo y miro donde

lgrtm's picture

Ok, lo preparo y miro donde lo subo.

Personalmente, me gustaría interactuar más pero no me veo capacitado todavía para esto. A lo mejor con otro tipo de cata si podría, bueno de todos modos lo intentaré.

Un saludo !

Si tienes problemas de

carlescliment's picture

Si tienes problemas de espacio tengo un servidor dedicado donde podemos alojarlo.

Si no te ves capacitado aún, tranki, podemos seguir como hasta ahora. Pero cuando tengas un rato... ¡inténtalo! Así es como más se aprende ;)

No no ! Seguimos igual, yo

lgrtm's picture

No no ! Seguimos igual, yo estaré atento a las charlas y haciendo huecos para codear !

Estoy intentando hacer la

lgrtm's picture

Estoy intentando hacer la kata de la calculadora tb, a la vez que leo el libro de Carlosble. Sé que es cuestión de tiempo !!!

Gracias Carles !

http://youtu.be/z40TkNP3kzY E

lgrtm's picture

http://youtu.be/z40TkNP3kzY

Esta es la dirección del video de youtube.
Ya está procesándolo.

:)

Me cago en la leche.Youtube

lgrtm's picture

Me cago en la leche.
Youtube no lo ha pillado.

Son 500 mb.

Alguna recomendación?
Gracias y disculpa que nunca he subido un video :O

compresión del vídeo

isleño's picture

Hola, se me ocurre que si comprimes el vídeo quizás te lo acepte Youtube al 'pesar' menos.

Puedes probar con HandBrake o VideoLan que además de gratuitos son magníficos. En mac tengo comprado el compressor de apple, pero handbrake en ciertos asuntos lo supera bastante.

Intentaría primero retranscodificarlo (así le llaman) al formato Webm que es bastante efectivo en cuanto al coste de bytes, y después por eficiencia es el H.256

Saludos

Pruebas de aceptación

carlescliment's picture

Actualizo el post con una lista de pruebas de aceptación.

¡Si se os ocurren más las ponemos!

Video Youtube

lgrtm's picture

Has visto el video de youtube?
Sólo salgo yo en todo el video ! Que ha pasado? XD

De todos modos hice la grabación.
Te vuelvo a pasar el .mov como la otra?

O si alguno quiere que le pase el link para descargar que lo diga aquí.
Y así lo tiene a máxima calidad :P

Estaría genial tener el

jsbalsera's picture

Estaría genial tener el vídeo, sí :-)

Tengo, hasta finales de Enero, inglés los martes a las 20:30, así que dependeré de los vídeos de aquí en adelante :(

Gracias!

Vale, pásamelo, gracias!

carlescliment's picture

Vale, pásamelo, gracias!

Disculpad la tardanza del

lgrtm's picture

Disculpad la tardanza del vídeo, pero no he parado por casa a excepción de empiltrarme... :(

Os voy a mandar según las direcciones que aparecen en el correo de Carles de las katas.

Lastima de la kata del tennis.

Lo realizo a través de wetranfer, así que no dispongo de link ( o eso kreo, lo confirmaré para colocarlo akí).

Saludos.
Empiezo a subir a wetransfer ahora, osea que tardará un par de horas mínimo.

Mandada la primera parte de

lgrtm's picture

Mandada la primera parte de la kata sql1, subiendo el 2 video.

Como vamos ...

lgrtm's picture

Buenas, hablamos de empezar la kata de diciembre y comentar en un nuevo post. Este mes de diciembre estoy de mierdas... como diría franxo !

Contad conmigo a partir de enero y disculpadme

Un saludo a todos!
Nos vemos en la siguiente kata.

Miguel.

Este mes parece que no ha

delineas's picture

Este mes parece que no ha salido kata. Yo he comenzado una ya de hace meses, la string calculator, con un con un colega que programa en .net, para arrancar en serio con una. Tengo pendiente avanzar en la del SQL, pero necesitaba hacer pair programming. La subiré al git en breve

Spain

Group organizers

Group categories

Región geográfica

Group events

Add to calendar

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week