On May 3, 2014, at 5:39 PM, Simon Slavin <slav...@bigfraud.org> wrote:

> 
> On 3 May 2014, at 3:47pm, Petite Abeille <petite.abei...@gmail.com> wrote:
> 
>> Let further assume one would like to use only SQLite's build-in mechanism
> 
> There are two kinds of programmers …

Indeed: drunk and not yet drunk :D

Turns out that this group_concat scalar was really not needed at all. D'oh. 

So, all-in-one now:

with
DataSet
as
(
  select  '/subversion/bindings/swig/java/org/tigris/subversion/client/' as path
),
Component( path, leftover, component, component_path, position )
as
(
  select  path,
          substr( path, instr( substr( path, 2 ), '/' ) + 1 ) as leftover,
          substr( path, 2, instr( substr( path, 2 ), '/' ) - 1 ) as component,
          '/' || substr( path, 2, instr( substr( path, 2 ), '/' ) - 1 ) as 
component_path,
          1 as position
  from    DataSet

  union all
  select  Component.path as path,
          substr( Component.leftover, instr( substr( Component.leftover, 2 ), 
'/' ) + 1 ) as leftover,
          substr( Component.leftover, 2, instr( substr( Component.leftover, 2 
), '/' ) - 1 ) as component,
          Component.component_path || '/' || substr( Component.leftover, 2, 
instr( substr( Component.leftover, 2 ), '/' ) - 1 )  as component_path,
          Component.position + 1 as position
  from    Component
  where   Component.leftover != '/'
)
select    position,
          component,
          component_path
from      Component

order by  path, position;


position|component|component_path
1|subversion|/subversion
2|bindings|/subversion/bindings
3|swig|/subversion/bindings/swig
4|java|/subversion/bindings/swig/java
5|org|/subversion/bindings/swig/java/org
6|tigris|/subversion/bindings/swig/java/org/tigris
7|subversion|/subversion/bindings/swig/java/org/tigris/subversion
8|client|/subversion/bindings/swig/java/org/tigris/subversion/client



_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to