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 51
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
1714 Cubrid+Struts2+Hibernate의 경우 라이브러리 사용법문의 1 민창연 2015.06.16 4795
1713 1895번 추가 문의 드립니다 1 dgr 2014.07.16 4774
1712 cubridmigration 사용 방법 문의 2 file 종이 2014.10.16 4767
1711 날짜시간 함수를 조건 절에서 어떻게 처리하는지 궁금해서요 1 펌피 2017.11.08 4759
1710 2008R 2.1 버전에 접속할 수 있는 매니저나 쿼리브라우져가 있나요? 1 땡땡이 2014.07.15 4729
1709 솔라리스 사용 가능 버전 1 CUCUCUCU 2015.10.23 4722
1708 JOIN 질의 시 CASE WHEN 구문 관련 문의 2 잉여개발자 2018.04.19 4710
1707 데이터베이스 볼륨 정보 관련 문의드려요 1 먹구2 2015.06.03 4708
1706 replace 함수 질문입니다. 1 님장사드리브큐 2017.06.02 4696
1705 시스템 부팅시 뜨는 팝업창 재질문 1 file 나이젤 2014.10.07 4693
1704 Manager 접속시 JDBC 드라이버 업데이트 문제 1 toy2508 2015.04.30 4683
1703 큐브리드 매니저 사용 중 오류 문의입니다. 1 file HJOW 2015.05.31 4619
1702 ERROR CODE = -51 발생하였습니다. 문의 드립니다. 1 청백-e 2015.07.20 4586
1701 하이버네이트 페이징 처리 관련 재문의 1 질주하는구 2015.02.27 4582
» 소수에대한 업데이트가 오동작합니다. 5 kkndo2 2014.11.18 4552
1699 특정 CAS가 재시작이 되지 않습니다. 1 file 종이 2015.11.03 4506
1698 큐브리드 1.4 2.2 ver 사용중 입니다. 1 오명일 2015.06.26 4497
1697 쿼의 질의 1 하이도라 2014.10.07 4494
1696 shard 관련 질문드립니다 1 익명 2015.01.12 4474
1695 브로커 관련 질문 1 익명 2015.01.13 4473
Board Pagination Prev 1 ... 110 111 112 113 114 115 116 117 118 119 ... 200 Next
/ 200

Contact Cubrid

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