Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Mar 14, 2013
  1. @SineSwiper

    Rework Manual::Intro

    SineSwiper committed
  2. @SineSwiper
Commits on Mar 11, 2013
  1. @ribasushi
Commits on Mar 10, 2013
  1. @ribasushi

    Saner varname

    ribasushi committed
  2. @ribasushi

    EXPERIMENTAL Release v0.08242

    ribasushi committed
  3. @ribasushi
  4. @ribasushi

    Radically rethink complex prefetch - make most useful cases just work…

    ribasushi committed
    … (tm)
    TL;DR: mst - I AM SORRY!!! I will rebase the dq branch for you when this
    pile of eyebleed goes stable.
    The long version - since we now allow arbitrary prefetch, the old
    _prefetch_selector_range mechanism doesn't cut it anymore. Instead we
    recognize prefetch solely based on _related_results_construction.
    Furthermore group_by/limits do not play well with right-side order_by
    (which we now also support, by transforming foreign order criteria into
    Thus a much more powerful introspection is needed to decide what goes on
    the inside and outside of the prefetch subquery. This is mostly done now
    by the augmented _resolve_aliastypes_from_select_args to track
    identifiers it saw (97e130f), and by extra logic considering what
    exactly are we grouping by.
    Everything is done while observing the "group over selection +
    aggregates only" rule, which sould allow us to remain RDBMS agnostic
    (even for pathological cases of "MySQL-ish aggregates").
    As a bonus more cases of "the user knows what they are doing" are now
    correctly recognized and left alone. See a t/prefetch/with_limit.t diff
    for a general idea of the scope of improvements.
    Yes - there is more regexing crap in the codebase now, and it is
    possible we will call _resolve_aliastypes_from_select_args up to 4(!!!)
    times per statement preparation. However this allows us to establish a
    set of test cases towards which to write optimizations/flog the dq
  5. @ribasushi
  6. @ribasushi

    Consider unselected order_by during complex subqueried prefetch

    ribasushi committed
    Augment _resolve_aliastypes_from_select_args to collect the column names
    it sees, allowing it to replace _extract_condition_columns() entirely.
    In the process fix a number of *incorrect* limit_dialect tests
  7. @ribasushi
  8. @ribasushi
  9. @ribasushi

    Still do null-branch pruning when we are using our own inflate_result()

    ribasushi committed
    52864fb was too aggressive in removing stuff - inheritance no longer
    matters, but which method we will be calling does. If we are still using
    our own inflate_result() there is no point of doing the double work of
    blessing and then skipping null branches.
  10. @ribasushi

    Forgotten cruft after 52864fb

    ribasushi committed
  11. @ribasushi

    Rename some private methods/attributes to align with what they do

    ribasushi committed
    No functional changes, just a s///
  12. @ribasushi

    Remove some superfluous expensive try blocks

    ribasushi committed
    We already know that the relationship exists, and ->related_source without
    a schema returns undef anyway
  13. @ribasushi
  14. @ribasushi

    An underdefined root has to use the %cur_row_ids container

    ribasushi committed
    Otherwise we are polluting $cur_row_data with the extra "virtual id column"
    value, and may end up stashing it back on iterative cursor parsing
  15. @ribasushi

    MOAR optimization - tracking is_new_res is double work

    ribasushi committed
    We can get the root node assembler to do that for us instead
    Also remove more of the superfluous ||= assignments
  16. @ribasushi
  17. @ribasushi

    Scale back validation of the 'as' attribute (revert 95e4103)

    ribasushi committed
    It turned out that users employ invalid-but-sensical inflation maps in
    production. Remove the early sanity check of the infmap and move the code
    throwing an exception all the way back to ::Row
    Follow through this thread for more details:
  18. @ribasushi

    Clarify result_class tweaking on active/cached cursors

    ribasushi committed
    We need this to simplify logic of result_class type caching
  19. @ribasushi
  20. @ribasushi
  21. @ribasushi
  22. @ribasushi

    Abraxxa-proof the distbuild (disallow `make manifest dist`)

    ribasushi committed
    This does not work under dmake (there is no $(MAKECMDGOALS)), but it does
    not seem to have adverse effects either
  23. @ribasushi
Commits on Mar 8, 2013
  1. @ribasushi

    Augment 1b6cbed (reverting my moronic use of preamble in EU::MM)

    ribasushi committed
    Instead of whacking things during the MY::distdir override, properly
    override MY::postamble for upload prereq check injection
  2. @haarg

    move the location of the extra upload checks so it isn't the default …

    haarg committed
    This should result in equivalent behavior since it is still before the
    main upload rule.
  3. @ribasushi
Commits on Mar 5, 2013
  1. @wchristian @ribasushi

    Change the rt link from one requiring a login to a publicly accessibl…

    wchristian committed with ribasushi
    …e one
    Also switch to https:// whatever can be reasonably switched
  2. @ribasushi

    Reorganize and freshen up the DocMap

    ribasushi committed
    It accumulated lots of stuff that is confusing / not relevant for beginners
  3. @wchristian @ribasushi

    Move DocMap link to top of DBIx::Class to prevent it being missed

    wchristian committed with ribasushi
    Reorganize the section to be a bit more comprehensive
  4. @ribasushi

    Remove outdated (and kinda offensive) CONTRIBUTING text

    ribasushi committed
    A replacement should come shortly, courtesy of Getty
  5. @ribasushi
  6. @ribasushi
Something went wrong with that request. Please try again.