Changeset 1028

Show
Ignore:
Timestamp:
2008-05-29 13:36:04 (7 months ago)
Author:
gaspard
Message:

Added new test site 'complex' to test complex joins in query_builder.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/parser/test/parser/zazen.yml

    r1016 r1028  
    142142  res: "<p>I love [make_link id:|20| title:||].</p>" 
    143143 
     144link_in_par: 
     145  src: 'blah ("hello":45)' 
     146  res: "<p>blah ([make_link id:|45| title:|hello|])</p>" 
     147 
    144148complex_link_with_commas: 
    145149  src: "download: \"small\":30_std.data, \"full\":30.data." 
  • trunk/lib/query_builder/lib/query_builder.rb

    r1027 r1028  
    6666      parse_part(elements[i], i == 0) # yes, is_last is first (parsing reverse) 
    6767    end 
    68      
     68    @distinct ||= elements.size > 1 
    6969    @select << "#{table}.*" 
    7070    @limit         = parse_limit_clause(opts[:limit] || limit) 
  • trunk/lib/query_builder/test/query_builder/joins.yml

    r1027 r1028  
    11 
    22icons_from_recipients: 
    3   res: "SELECT ob1.* FROM objects,links,objects AS ob1,links AS li1 WHERE ob1.id = li1.source_id AND li1.relation_id = 5 AND li1.target_id = objects.id AND objects.id = links.target_id AND links.relation_id = 4 AND links.source_id = ID
     3  res: "SELECT ob1.* FROM objects,links,objects AS ob1,links AS li1 WHERE ob1.id = li1.source_id AND li1.relation_id = 5 AND li1.target_id = objects.id AND objects.id = links.target_id AND links.relation_id = 4 AND links.source_id = ID GROUP BY ob1.id
    44 
    55letters_from_recipients: 
    6   res: "SELECT ob1.* FROM objects,links,objects AS ob1 WHERE ob1.kpath LIKE 'NNL%' AND ob1.parent_id = objects.id AND objects.id = links.target_id AND links.relation_id = 4 AND links.source_id = ID
     6  res: "SELECT ob1.* FROM objects,links,objects AS ob1 WHERE ob1.kpath LIKE 'NNL%' AND ob1.parent_id = objects.id AND objects.id = links.target_id AND links.relation_id = 4 AND links.source_id = ID GROUP BY ob1.id
    77 
    88objects_from_recipients: 
    9   res: "SELECT ob1.* FROM objects,links,objects AS ob1 WHERE ob1.parent_id = objects.id AND objects.id = links.target_id AND links.relation_id = 4 AND links.source_id = ID
     9  res: "SELECT ob1.* FROM objects,links,objects AS ob1 WHERE ob1.parent_id = objects.id AND objects.id = links.target_id AND links.relation_id = 4 AND links.source_id = ID GROUP BY ob1.id
    1010 
    1111parent_from_parent: 
    12   res: "SELECT ob1.* FROM objects,objects AS ob1 WHERE ob1.id = objects.parent_id AND objects.id = PARENT_ID
     12  res: "SELECT ob1.* FROM objects,objects AS ob1 WHERE ob1.id = objects.parent_id AND objects.id = PARENT_ID GROUP BY ob1.id
    1313 
    1414children_from_objects_in_project: 
    15   res: "SELECT ob1.* FROM objects,objects AS ob1 WHERE ob1.parent_id = objects.id AND objects.project_id = PROJECT_ID
     15  res: "SELECT ob1.* FROM objects,objects AS ob1 WHERE ob1.parent_id = objects.id AND objects.project_id = PROJECT_ID GROUP BY ob1.id
    1616   
    1717tags: 
     
    1919 
    2020letters_in_project_from_letters: 
    21   res: "SELECT ob1.* FROM objects,objects AS ob1 WHERE ob1.kpath LIKE 'NNL%' AND ob1.project_id = objects.id AND objects.kpath LIKE 'NNL%' AND objects.parent_id = ID
     21  res: "SELECT ob1.* FROM objects,objects AS ob1 WHERE ob1.kpath LIKE 'NNL%' AND ob1.project_id = objects.id AND objects.kpath LIKE 'NNL%' AND objects.parent_id = ID GROUP BY ob1.id
  • trunk/lib/tasks/zena.rake

    r1026 r1028  
    191191        definitions.each do |l| 
    192192          if l =~ /^\s+([\w\_]+):\s*([^\s].*)$/ 
    193             unless ignore_key?($1) 
    194               out_pair($1,$2) 
     193            k, v = $1, $2 
     194            v = nil if v =~ /^\s*$/ 
     195            unless ignore_key?(k) 
     196              out_pair(k,v) 
    195197            end 
    196198          else 
     
    203205      def insert_headers 
    204206        out "" 
     207        element = elements[name] 
     208         
    205209        if ZenaTest::multi_site_tables.include?(table) 
    206210          out "#{name}:" 
     
    211215        if column_names.include?('id') 
    212216          if ZenaTest::multi_site_tables.include?(table) 
    213             out_pair('id', ZenaTest::multi_site_id(name)
     217            element['id'] = ZenaTest::multi_site_id(name
    214218          else 
    215             out_pair('id', ZenaTest::id(site,name)) 
    216           end 
     219            element['id'] = ZenaTest::id(site, name) 
     220          end   
     221          out_pair('id', element['id']) 
    217222        end 
    218223         
     
    227232        end 
    228233         
    229         element = elements[name] 
    230234        element[:defaults_keys].each do |k| 
    231235          next if ignore_key?(k) 
     
    442446       
    443447      def out_pair(k,v) 
    444         return if v.nil? 
    445448        if k.to_s =~ /^v_(.+)/ 
    446449          # add key to default version 
     
    536539            file.puts "\n# ========== #{site} (generated from 'nodes.yml') ===========" 
    537540            file.puts "" 
    538          
     541            columns = klass.column_names 
    539542            contents.each do |name, content| 
    540543              file.puts "" 
    541544              node = content.delete(:node) 
    542545              content['id'] = ZenaTest::id(site, "#{name}_#{node['v_lang'] || node['ref_lang']}") 
    543               content['version_id'] = content['id'] 
     546              content['version_id'] = content['id'] if columns.include?('version_id') 
     547              content['node_id'] = node['id'] if columns.include?('node_id') 
    544548              file.puts "#{site}_#{name}:" 
    545549              content.each do |k,v| 
  • trunk/test/helpers/node_query/relations.yml

    r1016 r1028  
    88   
    99nodes_from_nodes_in_section: 
    10   sql: "SELECT no1.* FROM nodes,nodes AS no1 WHERE no1.parent_id = nodes.id AND nodes.section_id = #{@node.get_section_id} AND (#{@node.secure_scope('no1')}) ORDER BY no1.position ASC, no1.name ASC" 
     10  sql: "SELECT no1.* FROM nodes,nodes AS no1 WHERE no1.parent_id = nodes.id AND nodes.section_id = #{@node.get_section_id} AND (#{@node.secure_scope('no1')}) GROUP BY no1.id ORDER BY no1.position ASC, no1.name ASC" 
    1111   
    1212bad_relation: 
  • trunk/test/sites/ocean/participations.yml

    r1016 r1028  
    33  status:          moderated 
    44 
    5 other_su_in_other: 
    6   user:            other_su 
     5ocean_su_in_other: 
     6  user:            ocean_su 
    77  status:          su 
    88   
  • trunk/test/sites/ocean/sites.yml

    r1016 r1028  
    22  host:            ocean.host 
    33  root:            ocean 
    4   su:              other_su 
     4  su:              ocean_su 
    55  anon:            incognito 
    66  public_group:    public 
  • trunk/test/sites/ocean/users.yml

    r1016 r1028  
    88  lang:            en 
    99 
    10 other_su: 
     10ocean_su: 
    1111  first_name:      Hyper 
    1212  name:            Super 
    13   login:           other_su 
    14   password:        <%= User.hash_password('other_su') %> 
     13  login:           ocean_su 
     14  password:        <%= User.hash_password('ocean_su') %> 
    1515  lang:            en 
    1616   
  • trunk/test/unit/site_test.rb

    r1016 r1028  
    141141    assert_kind_of User, su 
    142142    assert_equal 'Hyper', su.first_name 
    143     assert_equal users_id(:other_su), su[:id] 
     143    assert_equal users_id(:ocean_su), su[:id] 
    144144    su.site = site 
    145145    assert su.is_su? 
  • trunk/vendor/TextMate/Zena.tmbundle/Support/RubyMate/run_script.rb

    r1009 r1028  
    99    super 
    1010    @cmd = "ruby #{ARGV.join(' ')}" 
    11     File.open("/Users/gaspard/svk/zena/test/log.txt", 'wb') {|f| f.puts @cmd.inspect } 
    1211    @display_name = ARGV.last 
    1312    @lang         = "Ruby"