*Stew

version 3.0

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

ڎ
(TOC)

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

** StewƂ͉łH

SteẃA...
TvɂẮAREADME_ja.txtB


** gp̒

*** pX[h̕ۑ
pX[h́AftHgł͂̂܂ܕۑ܂B̃pX[hۑȂꍇ́AÍ𗘗pł܂B
ڂ́A[#howtoconfigureconnectors:g-ڑݒ]QƂĂB

*** RlNVؒfrollbackȂ
ftHgł́AdisconnectR}hɂRlNVؒfƂArollback𔭍s܂BDBMSɂẮAgUNVIɃR~bgĂ܂Ƃ܂̂ŒӂKvłB
uؒfɎ[obNvݒ肷ƁAdisconnect̍ۂɎIrollback𔭍s܂Bڍׂ́AڑݒQƂĂB

*** ̑

vWFNgTCgɂĒǉsĂ܂̂ŁA킹ĂpB
[http://stew.sourceforge.jp/]


** CXg[

JRE(Javas)1.5ȏオCXg[ĂKv܂B
܂Apf[^x[XJDBChCoKvłB

[XpbP[WCӂ̃fBNgɓWJ܂B
CXg[TCYŏɂꍇ̓[XpbP[WɊ܂܂Ă"stew.jar"WJĂB

NR}h̐ݒ́A̋N@QƂĂB


** N@

GUI[hŋNꍇ́Aȉ̃R}hs܂B
	
> java -jar stew.jar --gui

CUI[hŋNꍇ́Aȉ̃R}hs܂B
	
> java -jar stew.jar --cui


NXNvg쐬Ăƕ֗łBUNIXnOS̏ꍇ"stew.sh"AWindows̏ꍇ"stew.bat"QƂĂB

StewsƁA".stew"fBNg쐬Aݒ̕ۑɎgp܂B".stew"fBNǵAftHgł̓JgfBNgɍ쐬܂B


** ACXg[

CXg[t@C".stew"t@C폜ĂB


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

** g @howtouse@

Stewgpɂ́AJDBCڑ\ȃf[^x[XƁAJDBChCoKvłBJDBChCô̏ڍׂɂẮAef[^x[X̐ȂǂQƂĂB


*** ڑݒ @howtoconfigureconnectors@

CUȈꍇ́AN--editIvVw肷ƁAҏWvON܂B
GUȈꍇ́Aj["ڑݒ"sƁAҏW_CAOJ܂B

ꂼ̐ݒ荀ڂ͎̐̂ƂłB
:RlN^ID:connectR}hȂǂɓnIDłBp̂ݎwł܂B
:RlN^:vvgɕ\ڑłB͓ɂ܂B
:NXpX:JDBChCõNXpXw肵܂BJava-CLASSPATHIvVƓ`Ŏw肵܂B
:hCo:JDBChCoDriverNXw肵܂BGUȈꍇANXpXw肳Ă΁A"hCǒ"Ił܂B
:ڑURL:JDBCURL(DriverManager.getConnection(url)Ɏw肷urlƓ)w肵܂B
:[U:JDBCURLƓɎw肷郆[UIDw肵܂B
:pX[h:[UID̃pX[hw肵܂B
:Í:pX[h̕ۑ@I܂B"pX[h̕ۑɂ"QƂĂB
:ǎp:RlNVREADONLYɐݒ肵AXV̗LR}hsłȂ悤ɂ܂BiR}hReadOnlyɋBj
:[obN:ݒ肷ƁAؒfɎŃ[obN܂B
̏́A".stew/connectors.properties"ɕۑ܂B蓮ŕҏW邱Ƃł܂A̍ۂ͒ӂčsĂB


*** pX[h̕ۑɂ

pX[h͐ݒt@Cɕۑ邽߁Â܂ܕۑƓsꍇ܂BpX[h̕ۑ@́AÍI邱Ƃł܂B
:PlainTextPassword:iftHgjpX[ĥ܂ܕۑ܂B
:PbePassword:PBEÍgpăpX[hۑ܂B[#menuencryptionkey:j[-Íݒ]ňÍݒ肵AڑݒŃpX[h͂ĕۑƁAÍꂽԂŕۑ܂BNAēxÍݒ肵Ȃ΁ApX[hłȂȂ܂B

Ǝ̃pX[hÍǉ邱Ƃł܂BiڍׁFPasswordC^tF[X̎NXǉ܂Bj

*** Θb[h

ʏ̋Nł́AΘb[hł̑ƂȂ܂B
Θb[hł́AR}h͑҂ԂɂȂɃR}h͂AIƍĂуR}h͑҂ɂȂ܂B
FTPR}ĥ悤ȃvȎɎĂ邩܂B


*** s[h(One-Liner)

Stew̏s̓͂Ŋ܂B"stew"R}hݒ肵ĂƉ肷ƁÂ悤Ȍ`Ŏs܂B

        
$ stew <connector-id> <command>

sƁA<connector-id>̐ڑݒŐڑJnA̐ڑgpăR}hs܂BR}hsAڑؒfďI܂B
̃[hł́Apshell̐iႦ΁AChJ[h,_CNg Ȃǁj󂯂܂̂łӂB


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

** R}h(StewR}h)

gݍ݃R}h́AStew؂藣ƂłȂR}hłBiڍׁFCommandNX̃TuNXł͂ȂACommand.invoke\bhɒڏĂ鏈łBj
ȊÓAǉR}hƂĎĂ܂BiڍׁFCommandNX̃TuNXɂ鏈łBj
R}hłȂw肳ꂽꍇ́ASQLƂĎs܂BoChϐ̂SQLgꍇ́AŌ";"(Z~R)Aȍ~ɃJ}؂Ńp[^wł܂B

*** connect - f[^x[Xɐڑ (gݍ݃R}h)
> connect <connector-id>
> -c <connector-id>
\ߗpӂڑݒgpāAf[^x[Xɐڑ܂BΘb[hł́Adisconnect܂͋Iɐؒf܂ŁAڑێ܂B
łɐڑ̏ꍇ́A̐ڑؒfĂڑs܂B

*** disconnect - f[^x[XƂ̐ڑؒf (gݍ݃R}h)
> disconnect
> -d
f[^x[XƂ̐ڑؒf܂B
ڑݒrollbackw肵Ăꍇ́Arollback݂܂B

*** commit - gUNṼR~bg (gݍ݃R}h)
݂̃gUNVł̕ύXR~bg܂B
!R~bgۂ́AĕKvȃf[^폜Ȃ悤ӂĂB

*** rollback - gUNṼ[obN (gݍ݃R}h)
݂̃gUNVł̕ύX[obN܂B

*** -e - R}h̕] (gݍ݃R}h)
> -e <command> -e <command> ...
R}hAĎs܂BexportȂǂ𓯎ɎsꍇAR}hC̎s̏ꍇɎg܂B

*** -f - t@CeR}hƂĎs (gݍ݃R}h)
> -f <file>
t@C̓eR}hƂĎs܂BċAIɎwł܂A[v͌młȂ̂ŒӂĂB

*** @ - ꏊ̕\ (gݍ݃R}h)
> @
JgfBNgƃVXefBNg̏ꏊ\܂B

*** exit - I (gݍ݃R}h)
> exit
StewI܂BmF҂͍s܂B


*** load - t@Cs
> load [<SQLt@C> | <f[^t@C> <e[u> [ HEADER ]]
w肳ꂽt@CǂݍŁArpks܂B
p[^1̏ꍇ́At@CSQLƌȂĎs܂B
p[^2ȏ̏ꍇ́At@Cf[^t@CƌȂāAC|[gs܂Bt@C̊gqɂāAt@C`IɑI܂B
-.csv : CSV`
-.xml : XML`i`Fsrc/net/argius/stew/io/stew-table.dtdj
-LȊO : TAB؂eLXg`

*** import - t@C̃C|[g
> import [<f[^t@C> <e[u> [ HEADER ]]
t@Cf[^t@CƌȂāAC|[gs܂Bt@C̊gqɂāAt@C`IɑI܂B
-.csv : CSV`
-.xml : XML`i`Fsrc/net/argius/stew/io/stew-table.dtdj
-LȊO : TAB؂eLXg`

ꊇŏ錏[#property.Import.batch.limit:vpeB]Őݒ肷邱Ƃł܂B
iڍׁF{Iɂ́Aload̃p[^2ȏw肵ƓłAStatement.addBatch()gp܂Bj

*** export - ʂ̃GNX|[g
> export <t@C> [ HEADER ] [command(select|find|report)]
w肵t@CɁAR}ȟʂo͂܂Bt@C̊gqɂāAt@C`IɑI܂B
-.htm,.html : HTML`
-.csv : CSV`
-.xml : XML`i`Fsrc/net/argius/stew/io/stew-table.dtdj
-LȊO : TAB؂eLXg`

*** time - sԌv
> time [<>] <SQL>
w肵SQLsA̎sԂvĕ\܂B񐔂w肳ꂽꍇ́A񐔕SQLJԂsāAuvvuρvuővuŏvWv܂B񐔂w肵Ȃꍇ́A1̎sԂ\܂B

        
> time select * from test
  s : 0.050 b
> time 100 select * from test
  v : 1.870 b
   : 0.018 b
  ő : 0.160 b
  ŏ : 0.000 b
>

*** find - e[u
> find <e[up^[> [<e[uʃp^[> [<XL[}p^[> [<J^Op^[> [ FULL ]]]]
QƉ\ȃe[üꗗ\܂B"p^["ƂL[[h܂ރp[^́AChJ[hi*,?jwł܂B

*** report - f[^x[X\
> report - | <e[u> [ PK | INDEX ]
ڑ̃RlNVɊւ\܂B
 -inCtjw肳ꂽꍇ́AcaJDBChCô̖ƃo[WAڑ[UƃAhX\܂B
e[û݂w肳ꂽꍇ́Ae[u̗񂪕\܂B
e[uƃIvVw肳ꂽꍇ́APKw肷ƃvC}L[̈ꗗAINDEXw肷ƃCfbNXL[̈ꗗAꂼ\܂B

*** wait - ҋ@
> wait b()
w肳ꂽbAҋ@܂BAR}hsꍇȂǂɎg邩܂B


** GUI[hEj[

GUI[h̃j[ɂĂ̐łB

*** t@C(F) - VEBhE(N) Ctrl-N
VEBhEJ܂BVEBhÉÃEBhEƂ͓Ɨڑŏs܂B

*** t@C(F) - (C) Ctrl-W
EBhE܂BRlNVڑ̏ꍇ́AmF_CAO\܂B
JĂEBhE1̏ꍇ́AI(X)ƓƂȂ܂B

*** t@C(F) - I(X) Ctrl-Q
AvP[VI܂BmF_CAO\A"͂"IƏI܂B

*** ҏW(E) - ؂(T) Ctrl-X
I͈͂Nbv{[hɃRs[āAIꂽ폜܂Bi{IɁAʓIȃAvP[VƓłBj

*** ҏW(E) - Rs[(C) Ctrl-C
I͈͂Nbv{[hɃRs[܂Bi{IɁAʓIȃAvP[VƓłBj

*** ҏW(E) - \t(P) Ctrl-V
J[\ʒuɃNbv{[h̓e\t܂Bi{IɁAʓIȃAvP[VƓłBj

*** ҏW(E) - ׂđI(A) Ctrl-A
IĂ̈ie[u܂͓o͗jSIԂɂ܂B

*** ҏW(E) - (F) Ctrl-F
IĂ̈ie[u܂͓o͗j̕܂B
e[u̓ZPʂŌ܂Bo͗́AvnCCg܂B
IvVŁAuK\gpvu啶ƏʂȂvwł܂B

*** ҏW(E) - tH[JXؑ(G) Ctrl-G
ʃGAƓ͗̃tH[JXւ܂(toggle)B

*** ҏW(E) - bZ[W̃NA
o͗̃bZ[WNA܂B

*** \(V) - Xe[^X o[(B)
IꂽꍇAEBhẺɃXe[^Xo[\܂B
ݒ͕ۑ܂B

*** \(V) - ԍ\(C)
IꂽꍇAʂ̗񖼂ɔԍt܂B

*** \(V) - c[yC\(I)
IꂽꍇAc[yC\܂B

*** \(V) - ɎOɕ\(T)
IꂽꍇAEBhEɎOɕ\悤ɂ܂B

*** \(V) - ŐVԂɍXV(R) F5
ʂ\ۂ̃NGĔsāAŐVԂ\܂B

*** \(V) - 񕝂g(W) Ctrl-.(period)
ʂ̗񕝂ꂼ1.5{Ɋg債܂B

*** \(V) - 񕝂k(N) Ctrl-,(comma)
ʂ̗񕝂ꂼ2/3ɏk܂B

*** \(V) - 񕝂𒲐(A) Ctrl-/(slash)
ʂ̗񕝂܂B́u񕝎vőIꂽ[hŒ܂B

*** \(V) - 񕝎(M)
ʕ\ɁAʂ̗񕝂郂[hI܂B
-Ȃ(N) : s܂B
-wb_(H) : wb_̃TCYɁAe񕝂܂B
-l(V) : ̒ōłl̃TCYɁAe񕝂܂B
-wb_ƒl(A) : wb_܂߂āA̒ōłl̃TCYɁAe񕝂܂B

*** R}h(M) - ڑ̎s(C) Ctrl-SPACE
ڑXg\܂BڑXgŐڑڑIDI""ƁAconnectƓs܂B

*** R}h(M) - ؒf(D) Ctrl-D
ڑؒf܂BdisconnectR}hƓłB

*** R}h(M) - Íݒ(K) @menuencryptionkey@
ڑݒ̃pX[hÍɎgp閧ݒ肵܂B

*** R}h(M) - ڑݒ(E)
ڑݒ_CAO\܂B

*** R}h(M) - s(X) Ctrl-M
R}hs܂Bo͗ŃG^[L[̂Ɠʂ܂B

*** R}h(M) - O̗(P) Ctrl-
R}h1k܂B

*** R}h(M) - ̗(N) Ctrl-
R}h1i݂܂B

*** f[^(D) - ёւ(S) Alt-S
ʂt@Cɏo͂܂BexportR}hƂ͓ƗłBʂ\Ăꍇ̂ݗLłB

*** f[^(D) - C|[g(I)
ʂ̃e[uɃt@CC|[g܂BimportR}hƂ͓ƗłBʂ\Ăꍇ̂ݗLłB

*** f[^(D) - GNX|[g(E) Ctrl-Shift-S
ʂt@Cɏo͂܂BexportR}hƂ͓ƗłBʂ\Ăꍇ̂ݗLłB

*** wv(H) - wv\(H)
wv\܂B݂͖łB

*** wv(H) - Stew ɂ(A)
o[W_CAO\܂B


** GUI[hȆ

*** ʃe[u
R}hsƂɁAʂ\܂Bō͍sԍ\܂B񕝎ݒ肳Ă΁A񕝂Iɒ܂B
ZҏWƁAe[uɔf(UPDATE)܂B
sԍ"*"ɂȂĂs͕ۗsłBۗsɂẮAReLXgj[QƁB

*** o͗
R}h̓͂ƃbZ[W̏o͂AR}hĈ悤ȃC^[tFCXłB
G^[L[ƁAvvg疖܂łR}hƂĉ߂s܂BJ[\ɂȂꍇ́AJ[\Ɉړ܂BvvgO͕̕ҏWsƂȂĂ܂B
AhD@\܂B

*** Xe[^Xo[
ÕR}hƂ̎sԂ\܂BsԂ́AtimeR}hƂ͈قȂAR}h̊JnI܂ł̏vԂƂȂ܂B

*** ReLXgj[
}EX̉ENbNɂÃRg[ɑ@\̃j[\܂B\郁j[éA͕ƂɈقȂ܂B
ȃj[͈ȉ̂ƂłB
:̗\[g(S): NbNiIĂł͖j\[g܂B𑱂ă\[gƁAtŃ\[g܂B
:IZ̒lRs[(C): IĂZA^u؂eLXg`ŃNbv{[hɑ܂B^usGXP[v܂B
:IZGXP[vtŃRs[(E): IĂZAGXP[vt̃^u؂eLXg`ŃNbv{[hɑ܂Blɉs܂܂ĂꍇłAڃXvbhV[gȂǂɓ\t邱Ƃł܂B
:񖼂Rs[(Y): ݕ\Ăwb_̒lA^u؂eLXg`ŃNbv{[hɑ܂Bi2.3Œǉj
:IZɒl\t(P): IZɁANbv{[h̃f[^\t(UPDATE)܂BI͈͊Õf[^͖܂Bf[^I͈͂傫ꍇłA\t͌JԂ܂B
:IZNullݒ(V): f[^^ɂ炸AIZNullݒ(UPDATE)܂B
:sVKǉ(N): \̍ŌɐVsǉ܂B̎_ł́Af[^x[Xւ̔f͍s܂iۗsjBl͂Łu}mvsƁAf[^x[X֔f܂B
:IsRs[}(I): \̍ŌɑIs̃Rs[ǉ܂B̎_ł́Af[^x[Xւ̔f͍s܂iۗsjBl͂Łu}mvsƁAf[^x[X֔f܂B
:Nbv{[hf[^}(O): Nbv{[h̃^u؂eLXgAf[^x[XɘAđ}(INSERT)܂BG[̏ꍇ́AۗsƂȂ܂Bf͋IȊOł܂̂ŒӁB
:}m(F): ۗsf[^x[X֔f(INSERT)܂B
:Is폜(D): Is폜(DELETE)܂BsIĂĂsł܂Bۗs̏ꍇDELETE͍s܂B
COMMIT,ROLLBACK͎蓮łB


*** ݒۑ
ȉ̐ݒ肪AEBhEƂ(IƂł͂Ȃ)ɕۑAȍ~̃EBhE̐ݒƂĎgp܂B
-EBhËʒu
-EBhẼTCY
-o[̈ʒu
-Xe[^Xo[\/\

*** j[̃L[蓖
VXefBNg"keybind.conf"ƂÕt@C쐬Aeɂ"j[̃ANV=KeyStroke̕\"ݒ肷ƁAj[̃L[蓖ĂύXł܂B
	
# 
HISTORY_BACK = ctrl K


** vpeB
Nɒlłp[^łBJavãVXevpeBiJava-DIvVjŎw肷邩Astew.propertiest@CɋLq܂B
"ݒl"́Aݒ肷lɂĂ̐łBݒl̃JbR̒l͊lłBJbRȂ̂͊l܂B

*** net.argius.stew.properties - vpeBt@C̏ꏊ
ݒlFt@C܂̓fBNg̃pX
stew.propertiest@CDIɌꏊw肵܂B
w肳ꂽpXt@C̏ꍇ́Ãt@Cstew.properties̑ɃvpeBt@CƂēǂݍ݂܂Bw肳ꂽpXfBNg̏ꍇ́Astew.propertieŝƂ݂Ȃ܂B
w肳Ȃꍇ́ANXpXAVXefBNg̏Ɍ܂Bꍇ̓vpeBt@ĈƂ݂Ȃ܂B

*** net.argius.stew.directory - ƃfBNg
ݒlFfBNgpX(JgfBNg)
R}hŎgpfBNg̊JñpXw肵܂BftHgVXefBNgƂ͈قȂ܂B

*** net.argius.stew.ui.Launcher.class - Launcher̎w
ݒlFSCNX(net.argius.stew.ui.console.ConsoleLauncher)
!net.argius.Stewsꍇ̂ݗLłB
LauncheŕAAvP[V̋NÁAR}hsAo͂̊Ǘs@\łBł͂̃NXiڍׁFnet.argius.stew.ui.LauncherC^tF[XĂKv܂Bjw肵܂BftHǵAWoLauncherłB

*** net.argius.stew.ui.OutputProcessor.class - OutputProcessor
ݒlFSCNX(net.argius.stew.ui.console.ConsoleOutputProcessor)
!net.argius.Stewsꍇ̂ݗLłB
OutputProcessoŕAo͐s@\łBł͂̃NXiڍׁFnet.argius.stew.ui.OutputProcessorC^tF[XĂKv܂jw肵܂BftHǵAWo͐łB

*** net.argius.stew.query.timeout - NG̃^CAEgl
ݒlFb(0)
R}h̃NGsɐݒ肷^CAEglw肵܂B0ȉ̓^CAEgwƂ݂Ȃ܂B
iڍׁFjava.sql.Statement#setQueryTimeoutɐݒ肷lBj

*** net.argius.stew.command.Import.batch.limit - Import̃ob`̏l @property.Import.batch.limit@
ݒlFl(10000)
ImportR}hňxɎs錏̏l肵܂B

*** net.argius.stew.ui.window.resident - Window̏풓
ݒlF
!Iȋ@\łB
w肵Ƃɉʂ̍ĕ`sAAvP[VXbvAEgȂ悤ɂ܂B


*** Loggerp
fobOpLoggerɊւvpeBłBvpeBt@Cɒڂ͎wł܂(-DIvVŎw\)B
-net.argius.logging true/false(false) Loggergp邩ǂw肵܂B
-net.argius.logging.class FQCN(StandardErrorOutputLogger) Logger̎NXw肵܂B
-net.argius.logging.level INFO/DEBUG/TRACE(INFO) Logger̃xw肵܂B

WLoggingAPI(java.util.logging)gpꍇ́Aȉ̃VXevpeBݒ肵ĂBLoggingAPÎ̐ݒ́AAPIhLgQƂĂB
        
 -Dnet.argius.logging=true
 -Dnet.argius.logging.class=net.argius.logging.LoggingApiWrapper

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