| DISPLAY "Test invalid DSS - wrong length" |
| startDdm MGRLVLLS |
| endDdm |
| startDdm MGRLVLLS |
| endDdm |
| flush |
| checkerror SYNTAXRM 8 1 0 |
| endTest |
| // |
| DISPLAY "Test invalid DSS - missing D0 " |
| writeScalar2Bytes MGRLVLLS 1 |
| flush |
| checkerror SYNTAXRM 8 3 0 |
| endTest |
| // |
| DISPLAY "Test invalid DSS - REPLY DSS" |
| createDssReply |
| endDss |
| flush |
| checkerror SYNTAXRM 8 4 0 |
| endTest |
| // |
| DISPLAY "First codepoint not EXCSAT" |
| createDssRequest |
| startDdm MGRLVLLS |
| endDdm |
| endDss |
| flush |
| checkerror PRCCNVRM 8 6 |
| endTest |
| // |
| DISPLAY "Test EXTNAM too long" |
| createDssRequest |
| startDdm EXCSAT |
| writeScalarString EXTNAM "testttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt" |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 9 EXTNAM |
| endTest |
| // |
| DISPLAY "Test non null SPVNAM" |
| createDssRequest |
| startDdm EXCSAT |
| writeScalarString SPVNAM"testttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt" |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 11 SPVNAM |
| endTest |
| // |
| DISPLAY "Test too big SRVNAM" |
| createDssRequest |
| startDdm EXCSAT |
| writeScalarString SRVNAM"testttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt" |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 9 SRVNAM |
| endTest |
| // |
| DISPLAY "Test too big SRVRLSLV" |
| createDssRequest |
| startDdm EXCSAT |
| writeScalarString SRVRLSLV"testttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt" |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 9 SRVRLSLV |
| endTest |
| // |
| DISPLAY "Test too big SRVCLSNM" |
| createDssRequest |
| startDdm EXCSAT |
| writeScalarString SRVCLSNM"testttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt" |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 9 SRVCLSNM |
| endTest |
| // |
| DISPLAY "Repeated manager levels with different values" |
| createDssRequest |
| startDdm EXCSAT |
| writeScalarString EXTNAM "test" |
| startDdm MGRLVLLS |
| writeCodePoint4Bytes AGENT 3 |
| writeCodePoint4Bytes AGENT 7 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror MGRLVLRM 8 AGENT 7 |
| endTest |
| // |
| DISPLAY "Missing required SECMEC on ACCSEC" |
| createDssRequest |
| startDdm EXCSAT |
| writeScalarString EXTNAM "test" |
| endDdm |
| endDss |
| createDssRequest |
| startDdm ACCSEC |
| endDdm |
| endDss |
| flush |
| skipDss // don't care about the EXCSATRM so just skip |
| checkerror SYNTAXRM 8 14 SECMEC |
| endTest |
| // |
| DISPLAY "ACCSEC doesn't follow EXCSAT" |
| createDssRequest |
| startDdm EXCSAT |
| writeScalarString EXTNAM "test" |
| endDdm |
| endDss |
| createDssRequest |
| startDdm MGRLVLLS |
| endDdm |
| endDss |
| flush |
| skipDss // don't care about the EXCSATRM so just skip |
| checkerror PRCCNVRM 8 17 |
| endTest |
| // |
| DISPLAY "Test trying security mechanism we don't support" |
| createDssRequest |
| startDdm EXCSAT |
| writeScalarString EXTNAM "test" |
| endDdm |
| endDss |
| createDssRequest |
| startDdm ACCSEC |
| writeScalar2Bytes SECMEC 1 // DCE |
| writeScalarPaddedBytes RDBNAM test 18 |
| endDdm |
| endDss |
| flush |
| skipDss // don't care about the EXCSATRM so just skip |
| readReplyDss |
| readLengthAndCodePoint ACCSECRD // ACCSECRD |
| readSecMecAndSECCHKCD // read secmec values and secchkcd |
| endTest |
| // |
| DISPLAY "Test trying too big on SECMEC" |
| createDssRequest |
| startDdm EXCSAT |
| writeScalarString EXTNAM "test" |
| endDdm |
| endDss |
| createDssRequest |
| startDdm ACCSEC |
| startDdm SECMEC |
| writeInt 2 |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDss // don't care about the EXCSATRM so just skip |
| checkError SYNTAXRM 8 9 SECMEC |
| endTest |
| // |
| DISPLAY "Test trying too small on SECMEC" |
| createDssRequest |
| startDdm EXCSAT |
| writeScalarString EXTNAM "test" |
| endDdm |
| endDss |
| createDssRequest |
| startDdm ACCSEC |
| startDdm SECMEC |
| writeByte 2 |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDss // don't care about the EXCSATRM so just skip |
| checkError SYNTAXRM 8 11 SECMEC |
| endTest |
| // |
| DISPLAY "Test non null SECMGRNM" |
| createDssRequest |
| startDdm EXCSAT |
| writeScalarString EXTNAM "test" |
| endDdm |
| endDss |
| createDssRequest |
| startDdm ACCSEC |
| writeScalarString SECMGRNM "Fred" |
| endDdm |
| endDss |
| flush |
| skipDss // don't care about the EXCSATRM so just skip |
| checkError SYNTAXRM 8 11 SECMGRNM |
| endTest |
| // |
| DISPLAY "Test specifying encrypted security mechanism without a security token" |
| createDssRequest |
| startDdm EXCSAT |
| writeScalarString EXTNAM "test" |
| endDdm |
| endDss |
| createDssRequest |
| startDdm ACCSEC |
| writeScalar2Bytes SECMEC 9 // Encrypted userid password |
| writeScalarPaddedBytes RDBNAM test 18 |
| endDdm |
| endDss |
| flush |
| skipDss // don't care about the EXCSATRM so just skip |
| readReplyDss |
| readLengthAndCodePoint ACCSECRD // ACCSECRD |
| readSecMecAndSECCHKCD |
| endTest |
| // |
| DISPLAY "Test specifying unencrypted security mechanism with a security token" |
| createDssRequest |
| startDdm EXCSAT |
| writeScalarString EXTNAM "test" |
| endDdm |
| endDss |
| createDssRequest |
| startDdm ACCSEC |
| writeScalar2Bytes SECMEC 3 // Encrypted userid password |
| writeScalarPaddedBytes RDBNAM test 18 |
| startDdm SECTKN |
| writeBytes "0x01010101" |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDss // don't care about the EXCSATRM so just skip |
| readReplyDss |
| readLengthAndCodePoint ACCSECRD // ACCSECRD |
| readScalar2Bytes SECMEC 3 // SECMEC encrypted userid password |
| readScalar1Byte SECCHKCD 14 // missing security token |
| endTest |
| // |
| DISPLAY "Test SECCHK not following after ACCSEC" |
| createDssRequest |
| startDdm EXCSAT |
| writeScalarString EXTNAM "test" |
| endDdm |
| endDss |
| createDssRequest |
| startDdm ACCSEC |
| writeScalar2Bytes SECMEC 9 // userid password |
| writeScalarPaddedBytes RDBNAM test 18 |
| endDdm |
| endDss |
| flush |
| skipDss // don't care about the EXCSATRM so just skip |
| skipDss // don't care about the ACCSECRD so just skip |
| createDssRequest |
| startDdm MGRLVLLS |
| endDdm |
| endDss |
| flush |
| checkerror PRCCNVRM 8 17 |
| endTest |
| // |
| DISPLAY "Test doing two tries for security mechanism" |
| createDssRequest |
| startDdm EXCSAT |
| writeScalarString EXTNAM "test" |
| endDdm |
| endDss |
| createDssRequest |
| startDdm ACCSEC |
| writeScalar2Bytes SECMEC 1 // DCE |
| writeScalarPaddedBytes RDBNAM test 18 |
| endDdm |
| endDss |
| flush |
| skipDss // don't care about the EXCSATRM so just skip |
| readReplyDss |
| readLengthAndCodePoint ACCSECRD // ACCSECRD |
| readSecMecAndSECCHKCD |
| // ok send one we support |
| createDssRequest |
| startDdm ACCSEC |
| writeScalar2Bytes SECMEC 3 // userid password |
| writeScalarPaddedBytes RDBNAM test 18 |
| endDdm |
| endDss |
| flush |
| readReplyDss |
| readLengthAndCodePoint ACCSECRD // ACCSECRD |
| readScalar2Bytes SECMEC 3// SECMEC |
| endTest |
| // |
| DISPLAY "Test missing SECMEC on SECCHK" |
| include "excsat_accsecrd1.inc" |
| createDssRequest |
| startDdm SECCHK |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 14 SECMEC |
| endTest |
| // |
| DISPLAY "Test different SECMEC on SECCHK than on ACCSEC" |
| include "excsat_accsecrd1.inc" |
| createDssRequest |
| startDdm SECCHK |
| writeScalar2Bytes SECMEC 4 // userid password |
| endDdm |
| endDss |
| flush |
| //not sure what the error should be here (using invalid value for now) |
| checkerror SYNTAXRM 8 20 SECMEC |
| endTest |
| // |
| DISPLAY "Test invalid length for RDBNAM" |
| createDssRequest |
| startDdm EXCSAT |
| writeScalarString EXTNAM "test" |
| endDdm |
| endDss |
| createDssRequest |
| startDdm ACCSEC |
| writeScalar2Bytes SECMEC 3 // userid password |
| writeScalarPaddedBytes RDBNAM "thisNeedsToBeNoMoreThan1024CharactersLong" 1025 |
| writeScalarString USRID test |
| writeScalarString PASSWORD test |
| endDdm |
| endDss |
| flush |
| skipDss // don't care about the EXCSATRM so just skip |
| checkError SYNTAXRM 8 11 RDBNAM |
| endTest |
| // |
| DISPLAY "Test different RDBNAM on SECCHK than on ACCSEC" |
| include "excsat_accsecrd2.inc" |
| createDssRequest |
| startDdm SECCHK |
| writeScalar2Bytes SECMEC 3 // userid password |
| writeScalarPaddedBytes RDBNAM notthesame 18 |
| endDdm |
| endDss |
| flush |
| checkerror PRCCNVRM 8 18 |
| endTest |
| // |
| DISPLAY "Test security token on SECCHK when not required" |
| include "excsat_accsecrd2.inc" |
| createDssRequest |
| startDdm SECCHK |
| writeScalar2Bytes SECMEC 3 // userid password |
| writeScalarPaddedBytes RDBNAM test 18 |
| startDdm SECTKN |
| writeBytes "0x010101" |
| endDdm |
| endDdm |
| endDss |
| flush |
| readReplyDss |
| readLengthAndCodePoint SECCHKRM |
| readScalar2Bytes SVRCOD 8 |
| readScalar1Byte SECCHKCD 14 |
| endTest |
| // |
| DISPLAY "Test missing USERID on SECCHK" |
| include "excsat_accsecrd2.inc" |
| createDssRequest |
| startDdm SECCHK |
| writeScalar2Bytes SECMEC 3 // userid password |
| writeScalarPaddedBytes RDBNAM test 18 |
| endDdm |
| endDss |
| flush |
| readReplyDss |
| readLengthAndCodePoint SECCHKRM |
| readScalar2Bytes SVRCOD 8 |
| readScalar1Byte SECCHKCD 18 |
| endTest |
| // |
| DISPLAY "Test missing PASSWORD on SECCHK" |
| include "excsat_accsecrd2.inc" |
| createDssRequest |
| startDdm SECCHK |
| writeScalar2Bytes SECMEC 3 // userid password |
| writeScalarPaddedBytes RDBNAM test 18 |
| writeScalarString USRID test |
| endDdm |
| endDss |
| flush |
| readReplyDss |
| readLengthAndCodePoint SECCHKRM |
| readScalar2Bytes SVRCOD 8 |
| readScalar1Byte SECCHKCD 16 |
| endTest |
| // |
| DISPLAY "Test ACCRDB not following SECCHK" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm MGRLVLLS |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 14 MGRLVLLS |
| endTest |
| // |
| DISPLAY "Test missing RDBACCCL from ACCRDB" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 14 RDBACCCL |
| endTest |
| // |
| DISPLAY "Test missing CRRTKN" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 14 CRRTKN |
| endTest |
| // |
| DISPLAY "Test no RDBNAM on ACCSEC. Sent with SECCHK" |
| include "excsat_secchk_nordbonaccsec.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM QTDSQLJVM |
| startDdm TYPDEFOVR |
| writeScalar2Bytes CCSIDSBC 1208 |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| skipDss // don't care about ACCRDBRM |
| endTest |
| DISPLAY "Test missing RDBNAM on SECCHK" |
| include "excsat_accsecrd_nordb.inc" |
| createDssRequest |
| startDdm SECCHK |
| writeScalar2Bytes SECMEC 3 // userid password |
| writeScalarString USRID test |
| writeScalarString PASSWORD test |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 14 RDBNAM |
| endTest |
| // |
| DISPLAY "Test too small value for RDBACCCL" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar1Byte RDBACCCL 1 |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 11 RDBACCCL |
| endTest |
| // |
| DISPLAY "Test too large value for RDBACCCL" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| startDdm RDBACCCL |
| writeInt 1 |
| writeInt 2 |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 9 RDBACCCL |
| endTest |
| // |
| DISPLAY "Test invalid value for RDBACCCL" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SECMEC |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 20 RDBACCCL |
| endTest |
| // |
| DISPLAY "Test missing PRDID" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 14 PRDID |
| endTest |
| // |
| DISPLAY "Test missing TYPDEFNAM" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 14 TYPDEFNAM |
| endTest |
| // |
| DISPLAY "Test missing TYPDEFOVR" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM QTDSQLASC |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 14 TYPDEFOVR |
| endTest |
| // |
| DISPLAY "Test bad TYPDEFNAM" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM UNKNOWN |
| startDdm TYPDEFOVR |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 20 TYPDEFNAM |
| endTest |
| // |
| DISPLAY "Test codepoint not allowed in TYPDEFOVR" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM QTDSQLASC |
| startDdm TYPDEFOVR |
| writeScalar2Bytes MGRLVLLS 2 |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 29 MGRLVLLS |
| endTest |
| // |
| DISPLAY "Test too small value for CCSIDSBC" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM QTDSQLJVM |
| startDdm TYPDEFOVR |
| startDdm CCSIDSBC |
| writeByte 1 |
| endDdm |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 11 CCSIDSBC |
| endTest |
| // |
| DISPLAY "Test too large value for CCSIDSBC" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM QTDSQLJVM |
| startDdm TYPDEFOVR |
| startDdm CCSIDSBC |
| writeInt 1 |
| writeInt 2 |
| writeInt 3 |
| endDdm |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 9 CCSIDSBC |
| endTest |
| // |
| DISPLAY "Test too small value for CCSIDMBC" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM QTDSQLJVM |
| startDdm TYPDEFOVR |
| startDdm CCSIDMBC |
| writeByte 1 |
| endDdm |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 11 CCSIDMBC |
| endTest |
| // |
| DISPLAY "Test too large value for CCSIDMBC" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM QTDSQLJVM |
| startDdm TYPDEFOVR |
| startDdm CCSIDMBC |
| writeInt 1 |
| writeInt 2 |
| writeInt 3 |
| endDdm |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 9 CCSIDMBC |
| endTest |
| // |
| DISPLAY "Test too small value for CCSIDDBC" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM QTDSQLJVM |
| startDdm TYPDEFOVR |
| startDdm CCSIDDBC |
| writeByte 1 |
| endDdm |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 11 CCSIDDBC |
| endTest |
| // |
| DISPLAY "Test too large value for CCSIDDBC" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM QTDSQLJVM |
| startDdm TYPDEFOVR |
| startDdm CCSIDDBC |
| writeInt 1 |
| writeInt 2 |
| writeInt 3 |
| endDdm |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 9 CCSIDDBC |
| endTest |
| // |
| DISPLAY "Test unsupported single byte code page" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM QTDSQLJVM |
| startDdm TYPDEFOVR |
| writeScalar2Bytes CCSIDSBC 5 |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError VALNSPRM 8 |
| endTest |
| // |
| DISPLAY "Test unsupported mixed byte code page" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM QTDSQLJVM |
| startDdm TYPDEFOVR |
| writeScalar2Bytes CCSIDMBC 5 |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| readReplyDss |
| readLengthAndCodePoint ACCRDBRM |
| readScalar2Bytes SVRCOD 4 //check that we get a warning for unsupported CCSID |
| skipDdm // don't care about the rest of the Ddm |
| endTest |
| // |
| DISPLAY "Test unsupported double byte code page" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM QTDSQLJVM |
| startDdm TYPDEFOVR |
| writeScalar2Bytes CCSIDDBC 5 |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| readReplyDss |
| readLengthAndCodePoint ACCRDBRM |
| readScalar2Bytes SVRCOD 4 //check that we get a warning for unsupported CCSID |
| skipDdm // don't care about the rest of the Ddm |
| endTest |
| // |
| DISPLAY "Test sending second EXCSAT" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM QTDSQLJVM |
| startDdm TYPDEFOVR |
| writeScalar2Bytes CCSIDSBC 1208 |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| skipDss // don't care about ACCRDBRM |
| createDssRequest |
| startDdm EXCSAT |
| startDdm MGRLVLLS |
| writeCodePoint4Bytes SQLAM 7 |
| endDdm |
| endDdm |
| endDss |
| flush |
| readReplyDss |
| readLengthAndCodePoint EXCSATRD // check we get an EXSATRD back |
| readLengthAndCodePoint EXTNAM |
| skipBytes |
| readLengthAndCodePoint MGRLVLLS |
| readNetworkShort SQLAM |
| readNetworkShort 7 // check we report SQLAM 7 and nothing more |
| readLengthAndCodePoint SRVCLSNM |
| skipBytes |
| readLengthAndCodePoint SRVNAM |
| skipBytes |
| readLengthAndCodePoint SRVRLSLV |
| skipBytes |
| endTest |
| // |
| DISPLAY "Test sending second EXCSAT with same manager but different level" |
| createDssRequest |
| startDdm EXCSAT |
| writeScalarString EXTNAM "test" |
| startDdm MGRLVLLS |
| writeCodePoint4Bytes SQLAM 6 |
| endDdm |
| endDdm |
| endDss |
| createDssRequest |
| startDdm ACCSEC |
| writeScalar2Bytes SECMEC 3 // userid password |
| writeScalarString RDBNAM "wombat;create=true " |
| endDdm |
| endDss |
| flush |
| skipDss // don't care about the EXCSATRM so just skip |
| skipDss // don't care about the ACCSECRD so just skip |
| createDssRequest |
| startDdm SECCHK |
| writeScalar2Bytes SECMEC 3 // userid password |
| writeScalarString RDBNAM "wombat;create=true " |
| writeScalarString USRID test |
| writeScalarString PASSWORD test |
| endDdm |
| endDss |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM QTDSQLJVM |
| startDdm TYPDEFOVR |
| writeScalar2Bytes CCSIDSBC 1208 |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| skipDss // don't care about ACCRDBRM |
| createDssRequest |
| startDdm EXCSAT |
| startDdm MGRLVLLS |
| writeCodePoint4Bytes SQLAM 7 |
| endDdm |
| endDdm |
| flush |
| checkError MGRLVLRM 8 SQLAM 7 |
| endTest |
| // |
| DISPLAY "Test invalid CRRTKN" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM QTDSQLJVM |
| startDdm TYPDEFOVR |
| writeScalar2Bytes CCSIDSBC 1208 |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 20 CRRTKN |
| endTest |
| // |
| DISPLAY "Test too big PRDID" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000toobig" |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 9 PRDID |
| endTest |
| // |
| DISPLAY "Test too big TYPDEFNAM" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000toobig" |
| writeScalarString TYPDEFNAM "testttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt" |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 9 PRDID |
| endTest |
| // |
| DISPLAY "Test invalid TYPDEFNAM" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000toobig" |
| writeScalarString TYPDEFNAM "THISISNOTRIGHT" |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 9 PRDID |
| endTest |
| // |
| DISPLAY "Test too big RDBALWUPD" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM "QTDSQLASC" |
| startDdm TYPDEFOVR |
| writeScalar2Bytes CCSIDSBC 1208 |
| endDdm |
| writeScalar2Bytes RDBALWUPD 28 |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 9 RDBALWUPD |
| endTest |
| // |
| DISPLAY "Test invalid RDBALWUPD" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM "QTDSQLASC" |
| startDdm TYPDEFOVR |
| writeScalar2Bytes CCSIDSBC 1208 |
| endDdm |
| writeScalar1Byte RDBALWUPD 1 |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 20 RDBALWUPD |
| endTest |
| // |
| DISPLAY "Test valid RDBALWUPD" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM "QTDSQLASC" |
| startDdm TYPDEFOVR |
| writeScalar2Bytes CCSIDSBC 1208 |
| endDdm |
| writeScalar1Byte RDBALWUPD -16 |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| readReplyDss |
| readLengthAndCodePoint ACCRDBRM |
| endTest |
| // |
| DISPLAY "Test second valid RDBALWUPD" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM "QTDSQLASC" |
| startDdm TYPDEFOVR |
| writeScalar2Bytes CCSIDSBC 1208 |
| endDdm |
| writeScalar1Byte RDBALWUPD -15 |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| readReplyDss |
| readLengthAndCodePoint ACCRDBRM |
| endTest |
| // |
| DISPLAY "Test too big PRTDTA" |
| include "excsat_secchk.inc" |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM "QTDSQLASC" |
| startDdm TYPDEFOVR |
| writeScalar2Bytes CCSIDSBC 1208 |
| endDdm |
| writeScalarString PRDDTA "testttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt" |
| endDdm |
| endDss |
| flush |
| skipDdm // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 9 PRDDTA |
| endTest |
| // |
| DISPLAY "Test for bad length for RDBNAM in PKGNAMCSN" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLIMM |
| startDdm PKGNAMCSN |
| writeShort 4 |
| writeString "wombat" |
| writeShort 18 |
| writeString "rdbcolid" 18 |
| writeShort 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "create table abc (a int)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss "0x40" |
| createDssRequest // send commit |
| startDdm RDBCMM |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 11 RDBNAM |
| endTest |
| // |
| // |
| DISPLAY "Test for bad RDBNAM in PKGNAMCSN" |
| // Requires newer client to test DERBY-1434 fix |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLIMM |
| startDdm PKGNAMCSN |
| writePaddedString "nonexisting" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "create table abc (a int)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss "0x40" |
| createDssRequest // send commit |
| startDdm RDBCMM |
| endDdm |
| endDss |
| flush |
| checkError PRCCNVRM 8 18 |
| endTest |
| // |
| DISPLAY "Test for bad length for PKGID in PKGNAMCSN" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLIMM |
| startDdm PKGNAMCSN |
| writeShort 18 |
| writePaddedString "wombat" 18 |
| writeShort 8 |
| writePaddedString "rdbcolid" 8 |
| writeShort 5 |
| writePaddedString "pkgid" 5 |
| //DERBY-5565 Need to make sure PRDID starts with DNC (hex) |
| writeBytes "0x444E430101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "create table abc (a int)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss "0x40" |
| createDssRequest // send commit |
| startDdm RDBCMM |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 11 PKGID |
| endTest |
| // |
| DISPLAY "Test for invalid codepoint on EXCSQLIMM" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLIMM |
| startDdm MGRLVLLS |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "create table abc (a int)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss "0x40" |
| createDssRequest // send commit |
| startDdm RDBCMM |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 29 MGRLVLLS |
| endTest |
| // |
| DISPLAY "Test for invalid TypDefNam in EXCSQLIMM objects" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLIMM |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| writeScalarString TYPDEFNAM "unknown" |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "create table abc (a int)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss "0x40" |
| createDssRequest // send commit |
| startDdm RDBCMM |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 20 TYPDEFNAM |
| endTest |
| // |
| DISPLAY "Test for a changed TYPDEF in EXCSQLIMM objects" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLIMM |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| writeScalarString TYPDEFNAM "QTDSQLJVM" |
| startDdm TYPDEFOVR |
| writeScalar2Bytes CCSIDMBC 1200 // UnicodeBigUnmarked aka "UTF-16BE" |
| endDdm |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "create table utf16be (a int)" "UTF-16BE" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss "0x40" |
| createDssRequest // send commit |
| startDdm RDBCMM |
| endDdm |
| endDss |
| flush |
| skipDss //RDBUPDRM |
| checkSQLCard 0 " " |
| skipDss //ENDUOWRM |
| skipDss //SQLCARD for commit |
| // use default encoding for drop statement |
| createDssRequest |
| startDdm EXCSQLIMM |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "drop table utf16be" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss "0x40" |
| createDssRequest // send commit |
| startDdm RDBCMM |
| endDdm |
| endDss |
| flush |
| skipDss // RDBUPDRM |
| checkSQLCard 0 " " |
| skipDss // ENDUOWRM |
| skipDss //SQLCARD for commit |
| endTest |
| // |
| DISPLAY "Test for missing CCSID in TYPDEFOVR in EXCSQLIMM objects" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLIMM |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| writeScalarString TYPDEFNAM "QTDSQLJVM" |
| startDdm TYPDEFOVR |
| endDdm |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "create table utf16be (a int)" "UTF-16BE" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss "0x40" |
| createDssRequest // send commit |
| startDdm RDBCMM |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 14 CCSIDSBC |
| endTest |
| // |
| DISPLAY "Test for invalid value for RDBCMTOK in EXCSQLIMM" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLIMM |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| writeScalar1Byte RDBCMTOK 2 |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "create table a (a int)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss "0x40" |
| createDssRequest // send commit |
| startDdm RDBCMM |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 20 RDBCMTOK |
| endTest |
| // |
| DISPLAY "Test for valid value for RDBCMTOK in EXCSQLIMM" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLIMM |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| writeScalar1Byte RDBCMTOK "0xf1" |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "create table rdbcmtoktrue(a int)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss "0x40" |
| createDssRequest // send commit |
| startDdm RDBCMM |
| endDdm |
| endDss |
| flush |
| skipDss // RDBUPDRM |
| checkSQLCard 0 " " |
| skipDss // ENDUOWRM |
| skipDss // SQLCARD for commit |
| // use default encoding for drop statement |
| createDssRequest |
| startDdm EXCSQLIMM |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "drop table rdbcmtoktrue" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss "0x40" |
| createDssRequest // send commit |
| startDdm RDBCMM |
| endDdm |
| endDss |
| flush |
| skipDss // RDBUPDRM |
| checkSQLCard 0 " " |
| skipDss // ENDUOWRM |
| skipDss //SQLCARD for commit |
| endTest |
| // |
| DISPLAY "Test for valid false value for RDBCMTOK in EXCSQLIMM" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLIMM |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| writeScalar1Byte RDBCMTOK "0xf0" |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "create table rdbcmtokfalse(a int)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss "0x40" |
| createDssRequest // send commit |
| startDdm RDBCMM |
| endDdm |
| endDss |
| flush |
| skipDss // RDBUPDRM |
| checkSQLCard 0 " " |
| skipDss // ENDUOWRM |
| skipDss // SQLCARD for commit |
| // use default encoding for drop statement |
| createDssRequest |
| startDdm EXCSQLIMM |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "drop table rdbcmtokfalse" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss "0x40" |
| createDssRequest // send commit |
| startDdm RDBCMM |
| endDdm |
| endDss |
| flush |
| skipDss // RDBUPDRM |
| checkSQLCard 0 " " |
| skipDss // ENDUOWRM |
| skipDss //SQLCARD for commit |
| endTest |
| // |
| DISPLAY "Test that we only send one RDBUPRM per transaction" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLIMM |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "create table onerdbupdrm(a int)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss |
| flush |
| readReplyDss |
| readLengthAndCodePoint RDBUPDRM |
| readScalar2Bytes SVRCOD 0 |
| skipDdm //RDBNAM |
| checkSQLCard 0 " " |
| // drop the table |
| createDssRequest |
| startDdm EXCSQLIMM |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "drop table onerdbupdrm" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss "0x40" |
| createDssRequest // send commit |
| startDdm RDBCMM |
| endDdm |
| endDss |
| flush |
| checkSQLCard 0 " " //SQLCARD for drop |
| readReplyDss |
| readLengthAndCodePoint ENDUOWRM |
| readScalar2Bytes SVRCOD 4 |
| readScalar1Byte UOWDSP 1 |
| checkSQLCard 0 " " //SQLCARD for commit - no RDBUPDRM |
| moreData false |
| endTest |
| // |
| DISPLAY "Test for missing PKGNAMCSN on OPNQRY" |
| DISPLAY "Also test QRYCLSRLS and MONITOR codepoints which are ignored currently" |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "values(1)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss |
| flush |
| checkSQLCard 0 " " |
| createDssRequest |
| startDdm OPNQRY |
| startDdm QRYCLSRLS |
| writeBytes "0x00" |
| endDdm |
| startDdm MONITOR |
| writeBytes "00000000" |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 14 PKGNAMCSN |
| endTest |
| // |
| DISPLAY "Test for missing QRYBLKSZ on OPNQRY" |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "values(1)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss |
| flush |
| checkSQLCard 0 " " |
| createDssRequest |
| startDdm OPNQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 14 QRYBLKSZ |
| endTest |
| // |
| DISPLAY "Test for wrong PKGNAMCSN on OPNQRY" |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "values(1)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss |
| flush |
| checkSQLCard 0 " " |
| createDssRequest |
| startDdm OPNQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "wrongpkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYBLKSZ |
| writeInt 32767 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 20 PKGNAMCSN |
| endTest |
| // |
| DISPLAY "Test for too small size for QRYBLKSZ on OPNQRY" |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "values(1)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss |
| flush |
| checkSQLCard 0 " " |
| createDssRequest |
| startDdm OPNQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYBLKSZ |
| writeByte 1 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 11 QRYBLKSZ |
| endTest |
| // |
| DISPLAY "Test for too large size for QRYBLKSZ on OPNQRY" |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "values(1)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss |
| flush |
| checkSQLCard 0 " " |
| createDssRequest |
| startDdm OPNQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYBLKSZ |
| writeInt 1 |
| writeInt 1 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 9 QRYBLKSZ |
| endTest |
| // |
| DISPLAY "Test for too small value for QRYBLKSZ on OPNQRY" |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "values(1)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss |
| flush |
| checkSQLCard 0 " " |
| createDssRequest |
| startDdm OPNQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYBLKSZ |
| writeInt 1 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 20 QRYBLKSZ |
| endTest |
| // |
| DISPLAY "Test for too large value for QRYBLKSZ on OPNQRY" |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "values(1)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss |
| flush |
| checkSQLCard 0 " " |
| createDssRequest |
| startDdm OPNQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYBLKSZ |
| writeInt 10486784 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 20 QRYBLKSZ |
| endTest |
| // |
| DISPLAY "Test invalid value for QRYBLKCTL on OPNQRY" |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "values(1)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss |
| flush |
| checkSQLCard 0 " " |
| createDssRequest |
| startDdm OPNQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYBLKSZ |
| writeInt 32767 |
| endDdm |
| writeScalar2Bytes QRYBLKCTL 1 |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 29 1 |
| endTest |
| // |
| DISPLAY "Test invalid codepoint for OPNQRY" |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "values(1)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss |
| flush |
| checkSQLCard 0 " " |
| createDssRequest |
| startDdm OPNQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYBLKSZ |
| writeInt 32767 |
| endDdm |
| startDdm PRPSQLSTT // this is wrong |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 29 PRPSQLSTT |
| endTest |
| // |
| DISPLAY "Test too small value for QRYROWSET codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYROWSET |
| writeByte 1 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 11 QRYROWSET |
| endTest |
| // |
| DISPLAY "Test too large value for QRYROWSET codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYROWSET |
| writeInt 1 |
| writeInt 2 |
| writeInt 3 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 9 QRYROWSET |
| endTest |
| // |
| DISPLAY "Test invalid value for QRYROWSET on OPNQRY" |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "values(1)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss |
| flush |
| checkSQLCard 0 " " |
| createDssRequest |
| startDdm OPNQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYBLKSZ |
| writeInt 32767 |
| endDdm |
| startDdm QRYROWSET |
| writeInt 70000 // this is too big |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 20 QRYROWSET |
| endTest |
| // |
| DISPLAY "Test QRYROWSET=0 on OPNQRY with scrollable cursor" |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLATTR |
| writeByte 0 // null indicator |
| writeEncodedLDString "SCROLL INSENSITIVE WITH HOLD" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "values(1)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss |
| flush |
| checkSQLCard 0 " " |
| createDssRequest |
| startDdm OPNQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYBLKSZ |
| writeInt 32767 |
| endDdm |
| startDdm QRYROWSET |
| writeInt 0 |
| endDdm |
| endDdm |
| endDss |
| flush |
| readReplyDss |
| readLengthAndCodepoint OPNQRYRM |
| skipBytes |
| readReplyDss |
| readLengthAndCodepoint QRYDSC |
| skipBytes |
| // DERBY-1468: QRYDTA was incorrectly sent here. |
| // Send an invalid CNTQRY and check that the next |
| // response is an error instead of QRYDTA. |
| createDssRequest |
| startDdm CNTQRY |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 14 PKGNAMCSN |
| endTest |
| // |
| DISPLAY "Test to see OPNQRY returns PRCCNVRM if non-existent RDBNAM specified" |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "values(1)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss |
| flush |
| checkSQLCard 0 " " |
| createDssRequest |
| startDdm OPNQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYBLKSZ |
| writeInt 32767 |
| endDdm |
| startDdm QRYROWSET |
| writeInt 1 |
| endDdm |
| startDdm RDBNAM //this is optional |
| writeScalarString RDBNAM "non-existent-db " |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror PRCCNVRM 8 18 |
| endTest |
| // |
| DISPLAY "Test too large value for QRYRFRTBL codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYRFRTBL |
| writeInt 1 |
| writeInt 2 |
| writeInt 3 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 9 QRYRFRTBL |
| endTest |
| // |
| DISPLAY "Test invalid value for QRYRFRTBL codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYRFRTBL |
| writeByte 4 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 20 QRYRFRTBL |
| endTest |
| // |
| DISPLAY "Test missing PKGNAMCSN on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 14 PKGNAMCSN |
| endTest |
| // |
| DISPLAY "Test missing QRYBLKSZ on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 14 QRYBLKSZ |
| endTest |
| // |
| DISPLAY "Test missing QRYINSID on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYBLKSZ |
| writeInt 32767 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 14 QRYINSID |
| endTest |
| // |
| DISPLAY "Test too small value for QRYINSID codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYINSID |
| writeInt 1 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 11 QRYINSID |
| endTest |
| // |
| DISPLAY "Test too large value for QRYINSID codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYINSID |
| writeInt 1 |
| writeInt 2 |
| writeInt 3 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 9 QRYINSID |
| endTest |
| // |
| DISPLAY "Test too small value for QRYROWNBR codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| writeScalar1Byte QRYROWNBR 0 |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 11 QRYROWNBR |
| endTest |
| // |
| DISPLAY "Test too large value for QRYROWNBR codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYROWNBR |
| writeInt 1 |
| writeInt 2 |
| writeInt 3 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 9 QRYROWNBR |
| endTest |
| // |
| // |
| DISPLAY "Test invalid value for QRYROWSET on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYBLKSZ |
| writeInt 32767 |
| endDdm |
| startDdm QRYINSID |
| writeInt 0 |
| writeInt 1 |
| endDdm |
| startDdm QRYROWSET |
| writeInt 70000 // too big |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 20 QRYROWSET |
| endTest |
| // |
| DISPLAY "Test too large value for QRYSCRORN codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYSCRORN |
| writeInt 1 |
| writeInt 2 |
| writeInt 3 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 9 QRYSCRORN |
| endTest |
| // |
| DISPLAY "Test invalid value for QRYSCRORN on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYBLKSZ |
| writeInt 32767 |
| endDdm |
| startDdm QRYINSID |
| writeInt 0 |
| writeInt 1 |
| endDdm |
| startDdm QRYSCRORN |
| writeByte 10 // invalid value |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 20 QRYSCRORN |
| endTest |
| // |
| DISPLAY "Test invalid codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYBLKSZ |
| writeInt 32767 |
| endDdm |
| startDdm QRYINSID |
| writeInt 0 |
| writeInt 1 |
| endDdm |
| startDdm OPNQRY |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 29 OPNQRY |
| endTest |
| // |
| DISPLAY "Test invalid object codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYBLKSZ |
| writeInt 32767 |
| endDdm |
| startDdm QRYINSID |
| writeInt 0 |
| writeInt 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm PKGNAMCSN //invalid object |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 29 PKGNAMCSN |
| endTest |
| // |
| DISPLAY "Test OUTOVR codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYBLKSZ |
| writeInt 32767 |
| endDdm |
| startDdm QRYINSID |
| writeInt 0 |
| writeInt 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm OUTOVR |
| writeBytes "0x0676D0" // length 6, trip type NGDA, SQLDTAGRPLID |
| writeBytes "0x300001" // output type char, length 1 |
| writeBytes "0x0971E0540001D00001" //SQLCADTA_RLO |
| writeBytes "0x0671F0E00000" //SQLCADTA_RLO |
| endDdm |
| endDss |
| flush |
| readReplyDss |
| readLengthAndCodepoint QRYDTA // just check that we get to QRYDTA for now |
| skipBytes |
| endTest |
| // |
| DISPLAY "Test too large value for QRYRELSCR codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYRELSCR |
| writeInt 1 |
| writeInt 2 |
| writeInt 3 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 9 QRYRELSCR |
| endTest |
| // |
| DISPLAY "Test invalid value for QRYRELSCR codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| writeScalar1Byte QRYRELSCR 0 |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 20 QRYRELSCR |
| endTest |
| // |
| DISPLAY "Test too large value for QRYROWSNS codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYROWSNS |
| writeInt 1 |
| writeInt 2 |
| writeInt 3 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 9 QRYROWSNS |
| endTest |
| // |
| DISPLAY "Test invalid value for QRYROWSNS codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| writeScalar1Byte QRYROWSNS 0 |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 20 QRYROWSNS |
| endTest |
| // |
| DISPLAY "Test too large value for QRYBLKRST codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYBLKRST |
| writeInt 1 |
| writeInt 2 |
| writeInt 3 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 9 QRYBLKRST |
| endTest |
| // |
| DISPLAY "Test invalid value for QRYBLKRST codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| writeScalar1Byte QRYBLKRST 0 |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 20 QRYBLKRST |
| endTest |
| // |
| DISPLAY "Test too large value for QRYRTNDTA codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYRTNDTA |
| writeInt 1 |
| writeInt 2 |
| writeInt 3 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 9 QRYRTNDTA |
| endTest |
| // |
| DISPLAY "Test invalid value for QRYRTNDTA codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| writeScalar1Byte QRYRTNDTA 0 |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 20 QRYRTNDTA |
| endTest |
| // |
| DISPLAY "Test invalid value for QRYRFRTBL codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| writeScalar1Byte QRYRFRTBL 0 |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 20 QRYRFRTBL |
| endTest |
| // |
| DISPLAY "Test too small value for NBRROW codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm NBRROW |
| writeByte 4 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 11 NBRROW |
| endTest |
| // |
| DISPLAY "Test too large value for NBRROW codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm NBRROW |
| writeInt 1 |
| writeInt 2 |
| writeInt 3 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 9 NBRROW |
| endTest |
| // |
| DISPLAY "Test too small value for MAXBLKEXT codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm MAXBLKEXT |
| writeByte 1 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 11 MAXBLKEXT |
| endTest |
| // |
| DISPLAY "Test too large value for MAXBLKEXT codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm MAXBLKEXT |
| writeInt 1 |
| writeInt 2 |
| writeInt 3 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 9 MAXBLKEXT |
| endTest |
| // |
| DISPLAY "Test too large value for RTNEXTDTA codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm RTNEXTDTA |
| writeInt 1 |
| writeInt 2 |
| writeInt 3 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 9 RTNEXTDTA |
| endTest |
| // |
| DISPLAY "Test invalid value for RTNEXTDTA codepoint on CNTQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| writeScalar1Byte RTNEXTDTA 0 |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 20 RTNEXTDTA |
| endTest |
| // |
| DISPLAY "Test missing QRYINSID from CLSQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CLSQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 14 QRYINSID |
| endTest |
| // |
| DISPLAY "Test invalid PKGNAMCSN on CLSQRY" |
| include values1.inc |
| createDssRequest |
| startDdm CLSQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "wrongpkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYINSID |
| writeInt 0 |
| writeInt 1 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 20 PKGNAMCSN |
| endTest |
| // |
| // Remove this test for now until JCC issue with JCC sending close twice |
| // resolved |
| DISPLAY "Test closing an already closed statement" |
| include values1.inc |
| createDssRequest |
| startDdm CLSQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYINSID |
| writeInt 0 |
| writeInt 1 |
| endDdm |
| endDdm |
| endDss |
| DISPLAY "Removing second close until JCC issue with sending double close is resolve" |
| // second close should fail |
| //createDssRequest |
| //startDdm CLSQRY |
| //startDdm PKGNAMCSN |
| //writePaddedString "wombat" 18 |
| //writePaddedString "rdbcolid" 18 |
| //writePaddedString "pkgid" 18 |
| //writeBytes "0x0101010101010101" |
| //writeShort 1 |
| //endDdm |
| //startDdm QRYINSID |
| //writeInt 0 |
| //writeInt 1 |
| //endDdm |
| //endDdm |
| //endDss |
| //flush |
| //skipDss // skip SQLCARD from first close |
| //readReplyDss |
| //readLengthAndCodepoint QRYNOPRM |
| endTest |
| // |
| // DERBY-1425: Perform a VALUES 1 statement without reading the final DSS |
| // with a QRYDTA. Stopping in the middle of a DSS chain used to get DDMReader |
| // into a bad state that reinitialization didn't get it out of, and it made |
| // the next test case hang. |
| DISPLAY "Execute VALUES 1 without reading final QRYDTA" |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "values(1)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss |
| flush |
| checkSQLCard 0 " " |
| createDssRequest |
| startDdm OPNQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYBLKSZ |
| writeInt 32767 |
| endDdm |
| endDdm |
| endDss |
| flush |
| readReplyDss |
| readLengthAndCodepoint OPNQRYRM |
| skipBytes |
| readReplyDss |
| readLengthAndCodepoint QRYDSC |
| skipBytes |
| // Don't read QRYDTA, instead just end test. This used to make the next |
| // test case hang because DDMReader got into a bad state. |
| //readReplyDss |
| //readLengthAndCodepoint QRYDTA |
| //skipBytes |
| endTest |
| // |
| DISPLAY "Test for too large value for OUTEXP in EXCSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLSTT |
| startDdm OUTEXP |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 9 OUTEXP |
| endTest |
| // |
| DISPLAY "Test for invalid OUTEXP in EXCSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLSTT |
| startDdm OUTEXP |
| writeByte 10 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 20 OUTEXP |
| endTest |
| // |
| DISPLAY "Test for too small value for NBRROW in EXCSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLSTT |
| startDdm NBRROW |
| writeByte 1 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 11 NBRROW |
| endTest |
| // |
| DISPLAY "Test for too large value for NBRROW in EXCSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLSTT |
| startDdm NBRROW |
| writeInt 1 |
| writeInt 2 |
| writeInt 3 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 9 NBRROW |
| endTest |
| // |
| DISPLAY "Test for invalid QRYBLKSZ in EXCSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLSTT |
| startDdm QRYBLKSZ |
| writeInt 10486784 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 20 QRYBLKSZ |
| endTest |
| // |
| DISPLAY "Test for too small value for MAXRSLCNT in EXCSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLSTT |
| startDdm MAXRSLCNT |
| writeByte 1 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 11 MAXRSLCNT |
| endTest |
| // |
| DISPLAY "Test for too large value for MAXRSLCNT in EXCSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLSTT |
| startDdm MAXRSLCNT |
| writeInt 1 |
| writeInt 2 |
| writeInt 3 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 9 MAXRSLCNT |
| endTest |
| // |
| DISPLAY "Test for too small value for MAXBLKEXT in EXCSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLSTT |
| startDdm MAXBLKEXT |
| writeByte 1 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 11 MAXBLKEXT |
| endTest |
| // |
| DISPLAY "Test for too large value for MAXBLKEXT in EXCSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLSTT |
| startDdm MAXBLKEXT |
| writeInt 1 |
| writeInt 2 |
| writeInt 3 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 9 MAXBLKEXT |
| endTest |
| // |
| DISPLAY "Test for invalid value for RDBCMTOK in EXCSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| writeScalar1Byte RDBCMTOK 2 |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 20 RDBCMTOK |
| endTest |
| // |
| DISPLAY "Test for too large value for OUTOVROPT in EXCSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm OUTOVROPT |
| writeInt 4 // valid values are 1 and 2 |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 9 OUTOVROPT |
| endTest |
| // |
| DISPLAY "Test for invalid value for OUTOVROPT in EXCSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm OUTOVROPT |
| writeByte 4 // valid values are 1 and 2 |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 20 OUTOVROPT |
| endTest |
| // |
| DISPLAY "Test for invalid value for QRYROWSET in EXCSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYROWSET |
| writeInt 40000 // maximum is 32767 |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 20 QRYROWSET |
| endTest |
| // |
| DISPLAY "Test for invalid codepoint in EXCSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLSTT |
| startDdm MGRLVLLS |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 29 MGRLVLLS |
| endTest |
| // |
| DISPLAY "Test for missing PKGNAMCSN in EXCSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLSTT |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 14 PKGNAMCSN |
| endTest |
| // |
| DISPLAY "Test for too large value for RTNSQLDA in PRPSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm RTNSQLDA |
| writeInt 1 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 9 RTNSQLDA |
| endTest |
| // |
| DISPLAY "Test for invalid value for RTNSQLDA in PRPSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm RTNSQLDA |
| writeByte 4 // invalid value |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 20 RTNSQLDA |
| endTest |
| // |
| DISPLAY "Test for too large value for TYPSQLDA in PRPSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm TYPSQLDA |
| writeInt 1 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 9 TYPSQLDA |
| endTest |
| // |
| DISPLAY "Test for invalid value for TYPSQLDA in PRPSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm TYPSQLDA |
| writeByte 10 // invalid value |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 20 TYPSQLDA |
| endTest |
| // |
| DISPLAY "Test for invalid codepoint in PRPSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm MGRLVLLS |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 29 MGRLVLLS |
| endTest |
| // |
| DISPLAY "Test for missing required SQLSTT in PRPSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm TYPDEFNAM |
| writeString "QTDSQLASC" |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 14 SQLSTT |
| endTest |
| // |
| DISPLAY "Test for invalid SQLATTR in PRPSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "values(1)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| startDdm SQLATTR |
| writeByte 0 // null indicator |
| writeEncodedLDString "not an attribute" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 20 SQLATTR |
| endTest |
| // |
| DISPLAY "Test for missing PKGNAMCSN in DSCSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm DSCSQLSTT |
| endDdm |
| endDss |
| flush |
| checkerror SYNTAXRM 8 14 PKGNAMCSN |
| endTest |
| // |
| DISPLAY "Test for too large value for TYPSQLDA in DSCSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "values(1)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss |
| flush |
| checkSQLCard 0 " " |
| createDssRequest |
| startDdm DSCSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm TYPSQLDA |
| writeInt 1 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 9 TYPSQLDA |
| endTest |
| // |
| DISPLAY "Test for invalid value for TYPSQLDA in DSCSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "values(1)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss |
| flush |
| checkSQLCard 0 " " |
| createDssRequest |
| startDdm DSCSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm TYPSQLDA |
| writeByte 10 // invalid value |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 20 TYPSQLDA |
| endTest |
| // |
| DISPLAY "Test for invalid codepoint in DSCSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm DSCSQLSTT |
| startDdm MGRLVLLS |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 29 MGRLVLLS |
| endTest |
| // |
| DISPLAY "Test for non-existant prepared statement in DSCSQLSTT" |
| include connect.inc |
| createDssRequest |
| startDdm DSCSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 20 PKGNAMCSN |
| endTest |
| // |
| DISPLAY "Test exception is thrown when specifying non-null indicator for both MBCS and SBCS in SQLSTT" |
| //This covers DRDAConnThread.agentError method |
| include connect.inc |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // non-null indicator |
| writeEncodedLDString "values(1)" "UTF-8" 4 |
| writeByte 0 // non-null indicator |
| endDdm |
| endDss |
| flush |
| //Network server throws a DRDAProtocolException |
| //It does not send back anything |
| endTest |
| // |
| DISPLAY "Test for missing SQLSTT in EXCSQLSET - PKGNAMCT is ignored" |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLSET |
| startDdm PKGNAMCT |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| writeScalarString TYPDEFNAM QTDSQLASC |
| startDdm TYPDEFOVR |
| writeScalar2Bytes CCSIDSBC 1208 |
| writeScalar2Bytes CCSIDMBC 1208 |
| endDdm |
| endDdm |
| endDss |
| flush |
| checkError SYNTAXRM 8 29 TYPDEFNAM |
| endTest |
| // |
| include connect.inc |
| createDssRequest |
| startDdm EXCSQLIMM |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x444E430101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "drop schema test restrict" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss "0x40" |
| createDssRequest // send commit |
| startDdm RDBCMM |
| endDdm |
| endDss |
| flush |
| skipDss // RDBUPDRM |
| checkSQLCard 0 " " |
| skipDss // ENDUOWRM |
| skipDss //SQLCARD for commit |
| endTest |
| // |
| DISPLAY "Test explicitly closing implicitly closed cursor" |
| include connect.inc |
| // prepare statement |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "values(1)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss |
| flush |
| checkSQLCard 0 " " |
| // execute query |
| createDssRequest |
| startDdm OPNQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| writeScalar1Byte QRYCLSIMP 1 |
| startDdm QRYBLKSZ |
| writeInt 32767 |
| endDdm |
| writeScalar2Bytes QRYBLKCTL FRCFIXROW |
| endDdm |
| endDss |
| flush |
| readReplyDss |
| readLengthAndCodepoint OPNQRYRM |
| skipBytes |
| readReplyDss |
| readLengthAndCodepoint QRYDSC |
| skipBytes |
| // fetch data |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYBLKSZ |
| writeInt 32767 |
| endDdm |
| startDdm QRYINSID |
| writeInt 0 |
| writeInt 1 |
| endDdm |
| endDdm |
| endDss |
| flush |
| readReplyDss |
| readLengthAndCodepoint QRYDTA |
| skipBytes |
| // all rows are fetched, cursor is implicitly closed on server |
| // close result set explicitly |
| createDssRequest |
| startDdm CLSQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYINSID |
| writeInt 0 |
| writeInt 1 |
| endDdm |
| endDdm |
| endDss |
| flush |
| // DRDA says QRYNOPRM is to be expected here |
| //readReplyDss |
| //readLengthAndCodepoint QRYNOPRM |
| // but JCC expects SQLCARD and we're nice guys... |
| checkSQLCard 0 " " |
| endTest |
| // |
| DISPLAY "Test with 65535 query block size QRYBLKSZ - DERBY-959" |
| include values64kblksz.inc |
| endTest |
| // |
| DISPLAY "Test 2 with 65535 query block size QRYBLKSZ - DERBY-959" |
| include connect.inc |
| // prepare statement |
| createDssRequest |
| startDdm PRPSQLSTT |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| endDdm |
| endDss |
| createDssObject |
| startDdm SQLSTT |
| writeByte 0 // null indicator |
| writeEncodedLDString "values(1)" "UTF-8" 4 |
| writeByte 255 // null indicator |
| endDdm |
| endDss |
| flush |
| checkSQLCard 0 " " |
| // execute query |
| createDssRequest |
| startDdm OPNQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| writeScalar1Byte QRYCLSIMP 1 |
| startDdm QRYBLKSZ |
| writeInt 65535 |
| endDdm |
| endDdm |
| endDss |
| flush |
| readReplyDss |
| readLengthAndCodepoint OPNQRYRM |
| skipBytes |
| readReplyDss |
| readLengthAndCodepoint QRYDSC |
| skipBytes |
| // fetch data |
| createDssRequest |
| startDdm CNTQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYBLKSZ |
| writeInt 65535 |
| endDdm |
| startDdm QRYINSID |
| writeInt 0 |
| writeInt 1 |
| endDdm |
| endDdm |
| endDss |
| flush |
| readReplyDss |
| readLengthAndCodepoint QRYDTA |
| skipBytes |
| // all rows are fetched, cursor is implicitly closed on server |
| // close result set explicitly |
| createDssRequest |
| startDdm CLSQRY |
| startDdm PKGNAMCSN |
| writePaddedString "wombat" 18 |
| writePaddedString "rdbcolid" 18 |
| writePaddedString "pkgid" 18 |
| writeBytes "0x0101010101010101" |
| writeShort 1 |
| endDdm |
| startDdm QRYINSID |
| writeInt 0 |
| writeInt 1 |
| endDdm |
| endDdm |
| endDss |
| flush |
| // DRDA says QRYNOPRM is to be expected here |
| //readReplyDss |
| //readLengthAndCodepoint QRYNOPRM |
| // but JCC expects SQLCARD and we're nice guys... |
| checkSQLCard 0 " " |
| endTest |
| // -- |
| DISPLAY "Test UNICODEMGR at level 1208 while sending UTF8 characters in RDBNAM" |
| // this include file has all the protocol needed to make a connection |
| // to the wombat database at sqlam 7 |
| createDssRequest |
| startDdm EXCSAT |
| writeScalarString EXTNAM "test" |
| startDdm MGRLVLLS |
| writeCodePoint4Bytes SQLAM 7 |
| writeCodePoint4Bytes UNICODEMGR 1208 |
| endDdm |
| endDdm |
| endDss |
| flush |
| switchToUtf8CcsidManager // tell ProtocolTest.java to switch DDMReader/Writer to UTF8 |
| createDssRequest |
| startDdm ACCSEC |
| writeScalar2Bytes SECMEC 4 // userid password |
| endDdm |
| endDss |
| flush |
| skipDss // don't care about the EXCSATRM so just skip |
| skipDss // don't care about the ACCSECRD so just skip |
| createDssRequest |
| startDdm SECCHK |
| writeScalar2Bytes SECMEC 4 // userid password |
| // %UTF8TestString% will be replaced on runtime by ProtocolTest.java/getString() |
| writeScalarString RDBNAM "%UTF8TestString%;create=true" |
| writeScalarString USRID test |
| endDdm |
| endDss |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM "QTDSQLASC" |
| startDdm TYPDEFOVR |
| writeScalar2Bytes CCSIDSBC 1208 |
| writeScalar2Bytes CCSIDMBC 1208 |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDss // don't care about SECCHKRM so just skip |
| skipDss // don't care about ACCRDBRM so just skip |
| deleteDatabase "%UTF8TestString%" // clean up the UTF8 database |
| endTest |
| // -- |
| DISPLAY "Test UNICODEMGR at level 1208 while sending UTF8 characters in USRID and PASSWORD" |
| // this include file has all the protocol needed to make a connection |
| // to the wombat database at sqlam 7 |
| createDssRequest |
| startDdm EXCSAT |
| writeScalarString EXTNAM "test" |
| startDdm MGRLVLLS |
| writeCodePoint4Bytes SQLAM 7 |
| writeCodePoint4Bytes UNICODEMGR 1208 |
| endDdm |
| endDdm |
| endDss |
| flush |
| switchToUtf8CcsidManager // tell ProtocolTest.java to switch DDMReader/Writer to UTF8 |
| createDssRequest |
| startDdm ACCSEC |
| writeScalar2Bytes SECMEC 3 // userid password |
| endDdm |
| endDss |
| flush |
| skipDss // don't care about the EXCSATRM so just skip |
| skipDss // don't care about the ACCSECRD so just skip |
| createDssRequest |
| startDdm SECCHK |
| writeScalar2Bytes SECMEC 3 // userid password |
| // %UTF8TestString% will be replaced on runtime by ProtocolTest.java/getString() |
| writeScalarString RDBNAM "%UTF8TestString%;create=true" |
| writeScalarString USRID "%UTF8TestString%" |
| writeScalarString PASSWORD "%UTF8TestString%" |
| endDdm |
| endDss |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM "QTDSQLASC" |
| startDdm TYPDEFOVR |
| writeScalar2Bytes CCSIDSBC 1208 |
| writeScalar2Bytes CCSIDMBC 1208 |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDss // don't care about SECCHKRM so just skip |
| skipDss // don't care about ACCRDBRM so just skip |
| deleteDatabase "%UTF8TestString%" // clean up the UTF8 database |
| endTest |
| // -- |
| DISPLAY "Test setting RDBNAM at ACCSEC **and** at SECCHK" |
| // this include file has all the protocol needed to make a connection |
| // to the wombat database at sqlam 7 |
| createDssRequest |
| startDdm EXCSAT |
| writeScalarString EXTNAM "test" |
| startDdm MGRLVLLS |
| writeCodePoint4Bytes SQLAM 7 |
| endDdm |
| endDdm |
| endDss |
| flush |
| createDssRequest |
| startDdm ACCSEC |
| writeScalar2Bytes SECMEC 4 // userid password |
| // the string below will be replaced on runtime by ProtocolTest.java/getString() |
| writeScalarString RDBNAM "newname;create=true" |
| endDdm |
| endDss |
| flush |
| skipDss // don't care about the EXCSATRM so just skip |
| skipDss // don't care about the ACCSECRD so just skip |
| createDssRequest |
| startDdm SECCHK |
| writeScalar2Bytes SECMEC 4 // userid password |
| writeScalarString RDBNAM "newname;create=true" |
| writeScalarString USRID test |
| endDdm |
| endDss |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "DNC01000" |
| writeScalarString TYPDEFNAM "QTDSQLASC" |
| startDdm TYPDEFOVR |
| writeScalar2Bytes CCSIDSBC 1208 |
| writeScalar2Bytes CCSIDMBC 1208 |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDss // don't care about SECCHKRM so just skip |
| skipDss // don't care about ACCRDBRM so just skip |
| deleteDatabase "newname" // delete database created outside ProtocolTest.java |
| endTest |
| // Try connect with SQL PRDID. Should reject. DERBY-5565 |
| createDssRequest |
| startDdm EXCSAT |
| writeScalarString EXTNAM "test" |
| startDdm MGRLVLLS |
| writeCodePoint4Bytes SQLAM 7 |
| endDdm |
| endDdm |
| endDss |
| flush |
| createDssRequest |
| startDdm ACCSEC |
| writeScalar2Bytes SECMEC 3 // userid password |
| writeScalarString RDBNAM "wombat " |
| endDdm |
| endDss |
| flush |
| skipDss // don't care about the EXCSATRM so just skip |
| skipDss // don't care about the ACCSECRD so just skip |
| createDssRequest |
| startDdm SECCHK |
| writeScalar2Bytes SECMEC 3 // userid password |
| writeScalarString RDBNAM "wombat " |
| writeScalarString USRID test |
| writeScalarString PASSWORD test |
| endDdm |
| endDss |
| createDssRequest |
| startDdm ACCRDB |
| writeScalar2Bytes RDBACCCL SQLAM |
| writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e" |
| writeScalarString PRDID "SQL01000" |
| writeScalarString TYPDEFNAM "QTDSQLASC" |
| startDdm TYPDEFOVR |
| writeScalar2Bytes CCSIDSBC 1208 |
| writeScalar2Bytes CCSIDMBC 1208 |
| endDdm |
| endDdm |
| endDss |
| flush |
| skipDss // don't care about SECCHKRM so just skip |
| checkError SYNTAXRM 8 20 PRDID |
| endTest |
| // |
| // |
| // |
| completeTest |
| // |
| |
| // |
| // |
| // |
| completeTest |
| // |