qorelanguage / qore

Qore Programming Language
GNU General Public License v2.0
61 stars 10 forks source link

module-oracle: selects with more columns with the same name can lead to data multiplication #1

Closed pvanek closed 9 years ago

pvanek commented 9 years ago
%new-style

# usage:
# qore datasource-dupl-test.q "oracle:h3g_isepl/h3g_isepl@xbox"

Datasource ds(shift ARGV);
on_exit ds.commit();

ds.exec("create table ds_test_01 ( id number, foo char(1) )");
ds.exec("create table ds_test_02 ( id number, bar char(1) )");

ds.exec("insert into ds_test_01 values (1, 'a')");
ds.exec("insert into ds_test_02 values (1, 'b')");

printf("table 1:\n%N\n\n", ds.select("select * from ds_test_01"));
printf("table 2:\n%N\n\n", ds.select("select * from ds_test_02"));

printf("join:\n%N\n", ds.select("select * from ds_test_01 a, ds_test_02 b where a.id = b.id"));

ds.exec("drop table ds_test_01");
ds.exec("drop table ds_test_02");

/*
pvanek@spongebob:~/work> qore datasource-dupl-test.q "oracle:h3g_isepl/h3g_isepl@xbox"
table 1:
hash: (2 members)
  id : list: (1 element)
    [0]=1
  foo : list: (1 element)
    [0]="a"

table 2:
hash: (2 members)
  id : list: (1 element)
    [0]=1
  bar : list: (1 element)
    [0]="b"

join:
hash: (3 members)
  id : list: (2 elements)
    [0]=1
    [1]=1
  foo : list: (1 element)
    [0]="a"
  bar : list: (1 element)
    [0]="b"
*/
pvanek commented 9 years ago

referenced in QoreTechnologies issue 1198

davidnich commented 9 years ago

this is probably in the oracle driver, correct? if so, is it possible to move issues from qore -> module-oracle?

davidnich commented 9 years ago

fixed in commit 051eb6025b171a4de3111cb0e9ceb41deab50d23 in oracle-module