BLOG main image
분류 전체보기 (49)
제로보드XE 분석 (9)
제로보드XE 스킨 (2)
제로보드XE 프로그램 (6)
한줄정보 (18)
FLEX (14)
????
2011 - Buy Cheap Rift Gold
이제, Flex Builder 2가 없어도..
2011 - guild wars 2 gold
????
2011 - breitling bentley
Adobe FlexBuilder 2는 상용소..
2011 - cartier pasha
소스 코딩할 때, 디버깅할 때,..
2011 - Chanel Handbags
난 잘 이해가 안되 는게, 아래의..
2011 - Dr Dre Beats
난 잘 이해가 안되 는게, 아래의..
2011 - Replica watches
정답: 노르웨이
2011 - billig gucci
난 잘 이해가 안되 는게, 아래의..
2011 - Burberry check
이게 무슨 코드입니다
2011 - Montblanc Ballpoint Pen
134,843 Visitors up to today!
Today 32 hit, Yesterday 48 hit
daisy rss
tistory 티스토리 가입하기!
2007/12/03 16:11

제로보드XE에서 돌아가는 업무에 필요한 모듈하나를 만들던중 테이블 JOIN문에서 에러가 발생하여 확인하니 XML 파서에서 버그를 발견했다. 제로보드님이 바쁜관계로 조금 늦어지는듯 하다. 혹시 필요하신분들은 임시로 수정해서 사용하시기 바랍니다.

        <table name="scm_products" alias="products" />
        <table name="scm_code" alias="unit" />
        <table name="scm_code" alias="car" />

위 내용은 제가 작성한 Queries/XML 파일의 내용중 일부입니다.
join문구가 들어가는 모듈을 작성중 위와 같이하면 에러가 발생하더군요
그래서 추적을 해보니 XmlQueryParser에서 문제의 원인(?)을 찾아볼 수 있었습니다.
$table[$table_name] = $alias;    <== 대략 이런형식으로 되어 있었던것 같습니다.
테이블명을 키값으로 사용해서 alias값을 넣더군요
위의 코드를 보면 테이블명 'scm_code' 이 두개 있습니다.
결국 같은 키값으로 들어가니 alias가 unit인 값은 사라지고 car 하나만 남더군요
테이블명을 키값으로 사용하는것이 원인(?)인듯합니다.

$table[$alias] = $table_name;     <== 이런형식으로 바꾸어야 할것같습니다. 별명은 같은값이 있을수 없으니 말입니다.

아래는 버그 수정방법이다 어디까지나 임시방편입니다.
=============================

일단 저같은 경우 이것때문에 이상한 문제는 발견되어 지지 않았습니다.
제가 MYSQL을 사용기에 mysql을 이용하는 분들만이라도 .....
다른 디비를 사용하시는분들도 classes안의 php파일을 일부 수정하시면 될듯합니다. 아랫것들을 참조하여 한번해보시기 바랍니다.

zbxe v0.2.3 기준
classes/db/DBMysql.class.php
399
                $table_list[] = '`'.$this->prefix.$key.'`';
399수정
                $table_list[] = '`'.$this->prefix.$val.'`';
425
                $table_list[] = '`'.$this->prefix.$key.'` as '.$val;
425수정
                $table_list[] = '`'.$this->prefix.$val.'` as '.$key;
456
                $table_list[] = '`'.$this->prefix.$key.'`';
456수정
                $table_list[] = '`'.$this->prefix.$val.'`';
477
                $table_list[] = '`'.$this->prefix.$key.'` as '.$val;
477수정
                $table_list[] = '`'.$this->prefix.$val.'` as '.$key;

classes/xml/XmlQueryParser.class.php
49
                $output->tables[$table_name] = $alias;
49수정
                $output->tables[$alias] = $table_name;

Trackback Address :: http://zbxe.bluegate.kr/trackback/1 관련글 쓰기
BlogIcon 블루로드 | 2007/12/06 12:05 | PERMALINK | EDIT/DEL | REPLY
제로보드님으로 부터 아래와 같이 쪽지가 왔네요. 곧 수정될 것 같습니다.
======================================================
먼저 쪽지 확인 늦어서 죄송합니다.

말씀하신 문제와 같이 현재 XML Query에는 사소한 문제들이(과연 사소한것들일지.. ㅡ.ㅜ) 있습니다.

올려주신 리포트 스크랩해두고 꼭 수정할 수 있도록 하겠습니다.

감사합니다.
Name
Password
Homepage
Secret