[jifty-devel] tisql branch progress report

Ruslan Zakirov ruz at bestpractical.com
Mon Sep 1 22:51:57 EDT 2008


What is tisql? Here is simple example:

    my $articles = new MyApp::ArticleCollection;
        ".author.name = 'ruz' AND .status = 'published' AND
.tags.value = 'tisql'"

Nice, isn't it?

What's implemented:

* syntax I wanted to implement is documented, except place holders
* syntax is implemented with placeholders

How you can use it at this point:

* you can use it in toy projects to taste syntax and send feedback,
point of the project is to help you write queries with complex
conditions without thinking about joins
* you can branch your real project and try to rewrite the most complex
query using tisql
* you can branch your real project and add tisql based virtual columns
and see much code it can cut
* all tests in t/tisql/ are based on some real models, may be
simplified a little. You can write a new test file or at least suggest
an uncovered model for me to play with. More covered models we have,
much confidence that project will be successful.


* document placeholders (look into
for an example)
* fix failing tests, there is some quite interesting issue with
complex join conditions and joins interdependencies
* implement joins merging, so you can write ".tags.value = 'foo' OR
.tags.value = 'bar'" without performance penalties

Best regards, Ruslan.

More information about the jifty-devel mailing list