Background Image

FORUM

조회 수 4552 추천 수 0 댓글 5
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
windows server 2008 R2 standard
CUBRID Ver.
CUBRID 9.3 (9.3.0.0206) (64bit release build for Windows_NT) (May 14 2014 23:34:10)
CUBRID TOOL Ver.
CUBRID Query Browser 2014.03 빌드 0458  (64bit)
응용 환경(API)
php

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------

작업도중 소수에대한 업데이트가 이상하게 실행되는 것 같아 문의드립니다. 


큐브리드 브라우저로, 아래 쿼리를 차례대로 실행해보면 칼럼 a, b ,c ,d 에대한 값이 의도하지 않은 값이 셀렉트 됩니다.

44.44 를 업데이트 했는데, 444 가 입력된다던지 하는식으로 이상하게 동작합니다

셀렉트가 잘못되는건지.. 아니면 실제로 업데이트가 잘못되는건지는 잘 모르겠습니다..


확인 후 답변좀 부탁드립니다. 


( 또, 이상한게 업데이트 쿼리중에 뒤의 where sp_box_inc=1 이런 조건을 빼고 업데이트하면 정상적으로 업데이트 되는 것 같습니다. )


DROP TABLE dec_test;

-------------------------------------------------


CREATE TABLE dec_test 

(

sp_box_inc INTEGER AUTO_INCREMENT(1, 1)NOT NULL, 

user_inc INTEGER NOT NULL, 

cust_sp_code CHARACTER VARYING(20)NOT NULL, 

customs_type CHARACTER VARYING(15)NOT NULL, 

customs_clearance_no CHARACTER VARYING(20)NOT NULL, 

customs_reg_no CHARACTER VARYING(14)NOT NULL, 

receive_name CHARACTER VARYING(20)NOT NULL, 

receive_zip_code CHARACTER VARYING(7)NOT NULL, 

receive_addr1 CHARACTER VARYING(200)NOT NULL, 

receive_addr2 CHARACTER VARYING(200)NOT NULL, 

receive_phone CHARACTER VARYING(15)NOT NULL, 

receive_cell CHARACTER VARYING(15)NOT NULL, 

send_name CHARACTER VARYING(20)NOT NULL, 

send_zip_code CHARACTER VARYING(7)NOT NULL, 

send_addr1 CHARACTER VARYING(200)NOT NULL, 

send_addr2 CHARACTER VARYING(200)NOT NULL, 

send_phone CHARACTER VARYING(15)NOT NULL, 

cust_order_code CHARACTER VARYING(20)DEFAULT '' NOT NULL, 

cust_order_name CHARACTER VARYING(20)DEFAULT '' NOT NULL, 

cust_order_id CHARACTER VARYING(30)DEFAULT '' NOT NULL, 

cust_order_date8 DATE, 

cust_market_name CHARACTER VARYING(20)DEFAULT '' NOT NULL, 

sp_box_memo CHARACTER VARYING(1000)DEFAULT '' NOT NULL, 

sp_company CHARACTER VARYING(20)DEFAULT '' NOT NULL, 

blno CHARACTER VARYING(50)DEFAULT '' NOT NULL, 

a NUMERIC(6, 2)DEFAULT 0.00 NOT NULL, 

b NUMERIC(6, 2)DEFAULT 0.00 NOT NULL, 

c NUMERIC(6, 2)DEFAULT 0.00 NOT NULL, 

d NUMERIC(6, 2)DEFAULT 0.00 NOT NULL, 

box_qty INTEGER DEFAULT 0 NOT NULL, 

wh_pack_done SMALLINT DEFAULT 0 NOT NULL, 

wh_pack_date8 DATE DEFAULT DATE '11/30/1999' NOT NULL, 

wh_end_done SMALLINT DEFAULT 0 NOT NULL, 

wh_end_date8 DATE DEFAULT DATE '11/30/1999' NOT NULL, 

wh_out_stop SMALLINT DEFAULT 0 NOT NULL, 

out_stop_desc CHARACTER VARYING(1000)DEFAULT '' NOT NULL, 

wh_out_done SMALLINT DEFAULT 0 NOT NULL, 

wh_out_date8 DATE DEFAULT DATE '11/30/1999' NOT NULL, 

out_inc INTEGER DEFAULT 0 NOT NULL, 

mawb_inc INTEGER DEFAULT 0 NOT NULL, 

create_date DATETIME NOT NULL, 

create_oper CHARACTER VARYING(50)NOT NULL, 

modify_date DATETIME NOT NULL, 

modify_oper CHARACTER VARYING(50)NOT NULL, 

CONSTRAINT pk_gn_shipping_box PRIMARY KEY(sp_box_inc)

)

COLLATE utf8_bin;


-------------------------------------------------


INSERT INTO dec_test (sp_box_inc, user_inc, cust_sp_code, customs_type, customs_clearance_no, customs_reg_no, receive_name, receive_zip_code, receive_addr1, receive_addr2, receive_phone, receive_cell, send_name, send_zip_code, send_addr1, send_addr2, send_phone, cust_order_code, cust_order_name, cust_order_id, cust_order_date8, cust_market_name, sp_box_memo, sp_company, blno, a, b, c, d, box_qty, wh_pack_done, wh_pack_date8, wh_end_done, wh_end_date8, wh_out_stop, out_stop_desc, wh_out_done, wh_out_date8, out_inc, mawb_inc, create_date, create_oper, modify_date, modify_oper) VALUES (1, 7, '783', 'clearance_no', '45345', '', '개발자', '143-915', '주소', '501', '024462213', '01099839776', '쇼핑몰', '123-456', '주소1', '주소2', '01093178355', '141114G30F', '개발자', 'cosmos', '08/14/2014', 'pansy', 'fsd', '', '6063039970000', 10.00, 2.00, 2.00, 2.00, 2, 1, '11/14/2014', 1, '11/14/2014', 0, '', 1, '11/14/2014', 1, 1, '2014-11-14 17:38:53.220', '', '2014-11-14 17:41:03.563', 'admin');

-------------------------------------------------



UPDATE dec_test  SET  a=4.4 , b=5.5 , c=6.6 , d=7.7 , box_qty=1 , wh_pack_done=1 , wh_pack_date8=now() , blno='6063039970008' , modify_oper='admin' , modify_date=now() WHERE sp_box_inc=1

SELECT sp_box_inc,a,b,c,d FROM dec_test;

-------------------------------------------------



UPDATE dec_test  SET  a=44.44 , b=55.55 , c=66.66 , d=77.77 , box_qty=1 , wh_pack_done=1 , wh_pack_date8=now() , blno='6063039970008' , modify_oper='admin' , modify_date=now() WHERE sp_box_inc=1

SELECT sp_box_inc,a,b,c,d FROM dec_test;

-------------------------------------------------


UPDATE dec_test  SET  a=4.40 , b=5.5 , c=6.6 , d=7.7 , box_qty=1 , wh_pack_done=1 , wh_pack_date8=now() , blno='6063039970008' , modify_oper='admin' , modify_date=now() WHERE sp_box_inc=1

SELECT sp_box_inc,a,b,c,d FROM dec_test;


  • ?
    성진 2014.11.19 02:39

    내부 테스트 결과 정상 입니다.(csql 결과 및 쿼리 브라우저 결과 동일)


    csql> UPDATE dec_test  SET  a=4.44 , b=5.5 , c=6.6 , d=7.7 , box_qty=1 , wh_pack_done=1 , wh_pack_date8=now() , blno='6063039970008' , modify_oper='admin' , modify_date=now() WHERE sp_box_inc=1

    csql> SELECT sp_box_inc,a,b,c,d FROM dec_test;

    1 row affected. (0.016716 sec) Committed.


    === <Result of SELECT Command in Line 2> ===


       sp_box_inc  a                     b                     c                     d                   

    =====================================================================================================

                1  4.44                  5.50                  6.60                  7.70                


    1 rows selected. (0.786239 sec) Committed.


    2 command(s) successfully processed.


  • ?
    kkndo2 2014.11.20 19:20

    아...

    아직 이상하게 동작하긴 하는데요..


    큐브리드 버전을 다른서버에 최신버전 ( 9.3.1.0005)  을 설치하고 테스트해봐도 똑같이 결과가 나오는데


    쿼리 브라우저 문제인가 싶어서 다른컴퓨터에도 쿼리브라우저를 다시 설치해서 테스트해봐도 아직 이상하게 동작을 합니다..



    조금 더 자세히 말씀드리면,


    위에 올려드린 쿼리에서 테이블 생성 / 인서트 실행한 후에 


    -----------------------------------------

    첫번째 업데이트 

    UPDATE dec_test  SET  a=4.4 , b=5.5 , c=6.6 , d=7.7 , box_qty=1 , wh_pack_done=1 , wh_pack_date8=now() , blno='6063039970008' , modify_oper='admin' , modify_date=now() WHERE sp_box_inc=1

    SELECT sp_box_inc,a,b,c,d FROM dec_test;


    결과

    1 1 4.40 5.50 6.60 7.70


    --------------------------------------------------------------------

    두번째 업데이트 

    UPDATE dec_test  SET  a=44.44 , b=55.55 , c=66.66 , d=77.77 , box_qty=1 , wh_pack_done=1 , wh_pack_date8=now() , blno='6063039970008' , modify_oper='admin' , modify_date=now() WHERE sp_box_inc=1

    SELECT sp_box_inc,a,b,c,d FROM dec_test;


    결과

    1 1 444.40 555.50 666.60 777.70


    ------------------------------------------------------------------

    세번째 업데이트

    UPDATE dec_test  SET  a=4.40 , b=5.5 , c=6.6 , d=7.7 , box_qty=1 , wh_pack_done=1 , wh_pack_date8=now() , blno='6063039970008' , modify_oper='admin' , modify_date=now() WHERE sp_box_inc=1

    SELECT sp_box_inc,a,b,c,d FROM dec_test;


    결과

    1 1 44.00  5.50 6.60 7.70



    ------------------------------------------------

    위와같이 결과가 나옵니다.. 


    혹시 확인이 어려우시면 제가 어떤 부분을 확인해보거나 ..


    어떤 방법으로 테스트를 해보면 될지 알려주시면 해보고 결과를 리턴해드리겠습니다.



  • ?
    cgkang 2014.11.20 19:35

    9.3p1버전의 버그로 보입니다.

    이 문제가 해결될때까지는 9.2 최근 패치버전으로 다운그레이드 해서 사용하는편이 좋을것 같습니다.

  • ?
    이용미 2014.11.22 00:02

    안녕하세요.


    해당 문제는 플랜 캐시의 효율을 높이기 위해 쿼리문의 상수 값들을 자동으로 호스트 변수로 치환하는 auto parameterize 기법을 사용하는데, 자동 생성된 호스트 변수의 데이터 도메인 때문에 발생하는 문제로 확인되었습니다.


    이 문제를 해결하는 방안으로는 아래와 같은 두가지 방법이 있습니다.

    방안 1. 응용에서 질의에 상수값을 사용하지 않고, 직접 호스트 변수를 사용

    방안 2. $CUBRID/conf/cubrid.conf 파일에 hostvar_late_binding 시스템 파라미터를 yes로 설정. 해당 파라미터를 yes로 설정하는 경우, auto parameterize 가 되지 않습니다.


    해당 문제는 CUBRID 9.3 Patch 2에서 수정된다고 하니, 당분간 위 우회방안을 사용해 주시고, CUBRID 9.3 Patch2가 나오면 업그레이드 해주시면 될 것 같습니다.


    사용에 불편을 드려 죄송합니다.

    감사합니다.

  • ?
    kkndo2 2014.11.22 01:55

    답변감사합니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 31
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4457
2013 테이블 복구 문의합니다. 1 찌후맘 2014.12.11 6862
2012 쿼리수행시 Lock 관련 문의 2 nagh 2014.12.11 11167
2011 설치후 오류 메시지 3 moon 2014.12.10 5257
2010 여러개 데이터 한번에 insert 문 수행하는 방법 1 whwpdn 2014.12.10 12330
2009 하나의 노드에 여러개의 db가 있을때, ha 구성을 안한 db는 사용하지 못하는 문제. 1 깜장매2 2014.12.09 5713
2008 PreparedStatement 변수 바인딩 1 접때그넘 2014.12.06 7827
2007 CUBRID HA 구성시 6 깜장매2 2014.12.05 8178
2006 restored db 에러 1 secret 김수민 2014.12.03 8
2005 external Procedure 기능 문의드립니다. 1 secret dwpark 2014.12.03 5
2004 db다운 문제 1 secret chocob 2014.12.01 8
2003 order by 인덱스 관련 1 viny6 2014.11.29 4466
2002 쿼리 에러 1 secret 김수민 2014.11.27 11
2001 odbc접속 에러 확인 요청 1 secret nsp11 2014.11.25 75
2000 서버다운 문의 4 secret chocob 2014.11.24 13
1999 mssql데이터마이그레이션 관련 문의 수하나1 2014.11.21 7306
1998 cmt 이용시 테이블 새로 생성교체 옵션문의 1 chocob 2014.11.21 4858
1997 wp를 큐브리드에서 설치할수 없나요? 2 쿠키 2014.11.20 4043
1996 리눅스에서 cubrid 사용하는데 hosts 파일 권한 문제 1 QA 2014.11.20 9278
1995 replace함수 관련 문의 1 수하나1 2014.11.19 7617
» 소수에대한 업데이트가 오동작합니다. 5 kkndo2 2014.11.18 4552
Board Pagination Prev 1 ... 95 96 97 98 99 100 101 102 103 104 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales