E D R S I H C RSS
ID
Password
Join
์˜ˆ์ˆ ์€ ์ฐฝ์กฐ์ž์™€ ๊ฐ์ƒํ•˜๋Š” ์‚ฌ๋žŒ์ด ์„œ๋กœ ๋งŒ๋‚˜๋Š” ํ™˜ํฌ์˜ ๊ด‘์žฅ. โ€•๋„๋ฏธ๋‹ค ๊ณ ์ง€๋กœ(์ผ๋ณธ ์ž‘๊ฐ€)

๋ฅ˜๊ด‘ : SQLite์— ๋ฐ”๋ผ๋Š” ์ ... #

redpixel๋‹˜๊ป˜ ๋ถ€ํƒ..

์ž„๋ฒ ๋”ฉ ํ™˜๊ฒฝ์—์„œ์š”. DB๋ฅผ ์—ด๋ฉด DB ํŒŒ์ผ์„ ๋ฉ”๋ชจ๋ฆฌ์— ๋ชฝ๋•… ๋ถˆ๋Ÿฌ์˜ค๊ณ , ๊ทธ ์ดํ›„์˜ ๊ฐฑ์‹ ์€ ๋ชจ๋‘ ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์—์„œ ์ผ์–ด๋‚˜๊ณ , DB๋ฅผ ๋‹ซ์„ ๋•Œ ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ฒƒ์„ ๋‹ค์‹œ ํŒŒ์ผ์— ์ €์žฅํ•˜๋Š” ์‹์œผ๋กœ ํ™œ์šฉ(๋˜๋Š” ์†Œ์Šค ์ˆ˜์ •)์ด ๊ฐ€๋Šฅํ• ๊นŒ์š”??
์ œ๊ฐ€ PHP๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž๋ฃŒ ๊ด€๋ฆฌ์—์„œ SQL์ด ์–ผ๋งˆ๋‚˜ ํŽธํ•œ์ง€ ์•Œ๊ณ  ์žˆ๊ฑฐ๋“ ์š”.. ์†๋„๋งŒ ๋ฐ›์ณ์ค€๋‹ค๋ฉด ๊ฒŒ์ž„ ๋‚ด ์ž์›์˜ ๋งŽ์€ ๋ถ€๋ถ„์„ DB ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์€๋ฐ์š”.

๋ฉ”๋ชจ๋ฆฌ ๋งต๋“œ ํŒŒ์ผ์ด ๋จธ๋ฆฌ์— ๋– ์˜ค๋ฅด๊ธด ํ–ˆ์œผ๋‚˜ ํ”„๋กœ์„ธ์Šค๊ฐ„ ๊ณต์œ ์˜ ํ•„์š”๋Š” ๊ฑฐ์˜ ์—†์„ ๊ฒƒ์ด๋ฏ€๋กœ ๊ทธ๋ƒฅ ํŒŒ์ผ ์ ‘๊ทผ์„ ๋ฉ”๋ชจ๋ฆฌ ์กฐ์ž‘์— ์—ฐ๊ฒฐ์‹œํ‚ค๋Š” ์‹์œผ๋กœ ์ถฉ๋ถ„ํ•  ๊ฒƒ ๊ฐ™์€๋ฐ์š”...

์Œ ํ˜น์‹œ SQLite๋ฅผ ๋ณธ๊ฒฉ์ ์œผ๋กœ ํŒŒ์‹ค ์ƒ๊ฐ์ด๋ผ๋ฉด ๋ถˆ์Œํ•œ ์ค‘์ƒ์„ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ DB ์ง€์›์„ ์ถ”๊ฐ€ํ•ด ์ฃผ์„ธ์š”... ^^

redpixel : ํ—ˆ๊ฑฑ~ ์ƒ๊ฐ๋งŒ ํ•ด๋ณธ๋‹ค๋ฉด ๋ง์ด์ฃ ... #

ํ์Œ. ์ข‹์€ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค. ํŠธ๋žœ์ ์…˜ ๊ธฐ๋Šฅ์„ ๋นผ๊ณ  ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ์ •๋ง ์ข‹์„ ๋“ฏ ํ•˜๋„ค์š”. (๋‹ค๋งŒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ƒ๋‹นํžˆ ์žก์•„๋จน์ง€ ์•Š์„๊นŒ์š”? ์•ฝ 1M์ •๋„๋Š” ๊ธฐ๋ณธ์ด์ง€ ์•Š์„๊นŒ... sqlite๋Š” ๋ช‡๋ช‡ SQL๋ฌธ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ž„์‹œํ™”์ผ์„ ์•ˆ๋ณด์ด๊ฒŒ ์ƒ์„ฑํ•˜๋‹ˆ๊นŒ ์ž„์‹œ์šฉ๋Ÿ‰๊นŒ์ง€ ์ƒ๊ฐํ•œ๋‹ค๋ฉด ๋ง์ด์ฃ ) ์ €๋Š” ์ฃผ๋กœ ๊ฒŒ์ž„์„ค์ •๋ฐ์ดํƒ€ ์ €์žฅ์šฉ์œผ๋กœ ์ƒ๊ฐํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ง€๊ธˆ์€ ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ ์ถ”๊ฐ€์— ์ฃผ๋ ฅํ•˜๊ณ  ์žˆ๋Š” ์ค‘์ž…๋‹ˆ๋‹ค. ^^; (๊ทธ๋ƒฅ ์—๋””ํ„ฐ๋กœ ๋ณด๋ฉด rawํ˜•ํƒœ๋กœ ๋“ค์–ด์žˆ๋”๊ตฐ์š”.)

๋ฌด์—‡๋ณด๋‹ค๋„ ์‹ค๋ ฅ์ด ๋ ๊นŒํ•˜๋Š” ์ƒ๊ฐ... ์–ด์จŒ๋“  ์ข‹์€ ์ƒ๊ฐ์ด์‹œ๋„ค์š”. ์งฌ์งฌํžˆ ์‹œ๋„ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

redpixel : ํ—›... ์†Œ์Šค๋ฅผ ์•ฝ๊ฐ„ ํ›‘์–ด๋ดค๋Š”๋ฐ... #

os.h์™€ os.c์— ์œˆ๋„์šฐ์™€ ์œ ๋‹‰์Šค์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ํ™”์ผ ์ž…์ถœ๋ ฅํ•ฉ์ˆ˜๋ฅผ ์ผ๋ฐ˜ํ™”์‹œ์ผœ๋†“์•˜๋”๊ตฐ์š”. ์ด ๋ถ€๋ถ„์„ ๋งŒ์ผ OS_MEM์ด๋ผ๋Š” ๊ฐ€์ƒ์˜ ํ”Œ๋ž˜๊ทธ๋ฅผ ๋งŒ๋“ค๊ณ  ๋ชจ๋‘ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๊บผ๋‚ด์“ฐ๋„๋ก ๊ณ ์น˜๊ณ (ํ•จ์ˆ˜ ์„ ์–ธ๋ถ€๋ถ„์€ ๊ทธ๋Œ€๋กœ ๋†”๋‘๊ณ ์š”) ์ถ”๊ฐ€์˜ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ์ฒญํฌ๋ฅผ ๊ทธ๋Œ€๋กœ ํ™”์ผ๋กœ ๋คํ”„ํ•˜๋„๋ก ํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. _ ์•ฝ๊ฐ„๋” ๋ถ„์„์„ ํ•ด๋ด์•ผ๊ฒ ์ง€๋งŒ ์ฆ‰ํฅ์ ์ธ ๋ฐฉ๋ฒ•์€ ์ด๊ฒŒ ์ข‹์„ ๋“ฏ ํ•˜๋„ค์š”. ์ด๋ฒˆ ์ฃผ๋ง์— ํ•œ๋ฒˆ ์‹œ๋„๋ฅผ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. (๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. :( )

๋ฅ˜๊ด‘ : ํ•œ ๊ฐ€์ง€ ๋”์š”^^ #

redpixel๋‹˜์ด ์‹ ๊ฒฝ์„ ์จ ์ฃผ์‹ ๋‹ค๋‹ˆ ๊ธฐ์ฉ๋‹ˆ๋‹ค...

ํ•œ ๊ฐ€์ง€ ๋” ์ถ”๊ฐ€ํ•˜์ž๋ฉด MS SQL ๋“ฑ์˜ ์ €์žฅ ํ”„๋กœ์‹œ์ €๋ผ๊ณ  ํ•˜๋Š” ๊ฐœ๋… ์žˆ์ž–์•„์š”.. ๊ทธ๊ฒƒ๋„ ๋œ๋‹ค๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ถ€์—ฐ์„ค๋ช…์„ ํ•œ๋‹ค๋ฉด... ์˜ˆ๋ฅผ ๋“ค์–ด์„œ
char* sqlcommand = "select * from users where userId = %1"; 

HSP hSp1 = sqlite_compile_sp(sqlcommand); 

sqlite_run_sp(hSp1, 100); // -- (1) 
... 
sqlite_run_sp(hSp1, 200); // -- (2) 
... 
(1)์—์„œ๋Š” select * from users where userId = 100 ์ด ์ˆ˜ํ–‰๋˜๊ณ  (2)์—์„œ๋Š” select * from users where userId = 200 ์ด ์ˆ˜ํ–‰๋˜๋Š”๋ฐ, select * from users where userId = ์ž์ฒด์˜ ํŒŒ์‹ฑ์€ sqlite_compile_sp()๋ฅผํ˜ธ์ถœํ–ˆ์„ ๋•Œ ๋‹จ ํ•œ๋ฒˆ๋งŒ ์ผ์–ด๋‚˜๊ฒŒ ํ•˜๊ณ  ๊ทธ ์ดํ›„๋Š” ํŒŒ์‹ฑ๋œ ๊ฒฐ๊ณผ(์•„๋งˆ ์–ด๋– ํ•œ ํŠธ๋ฆฌ๋ผ๋˜๊ฐ€ ๊ทธ๋Ÿฐ ๊ตฌ์กฐ๋กœ ๋“ค์–ด ์žˆ๊ฒ ์ฃ )์— ํŠน์ • ๊ฐ’๋งŒ ๋ฐ”๊ฟ”์ณ์„œ ์งˆ์˜๊ฐ€ ์ผ์–ด๋‚˜๊ฒŒ ํ•˜์ž๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค...

๋ฉ”๋ชจ๋ฆฌ DB+์ €์žฅ ํ”„๋กœ์‹œ์ €๋ผ๋ฉด ์†๋„๋ฅผ ์ƒ๋‹นํžˆ ๋†’์ผ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค...

๊ฐ€๋Šฅ์„ฑ์„ ๋”ฐ์ ธ๋ณด๊ณ (์ œ ์‹ค๋ ฅ์œผ๋กœ ๋  ๊ฒƒ์ธ๊ฐ€.. ๋ฌธ์ œ) ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ์ €๋„ ํ•œ ๋ฒˆ ์†์„ ๋Œ€๋ณด๋ ค๊ตฌ์š”.... ์šฐ์„  ์†Œ์Šค๋ฅผ ์ฐพ์•„๋ณด๊ธฐ ์‰ฝ๋„๋ก Doxygen์œผ๋กœ ๋ฌธ์„œํ™”๋ถ€ํ„ฐ ์‹œ์ผœ์•ผ ๊ฒ ๋„ค์š”....

redpixel : ์ด๋ฏธ ์žˆ์Šต๋‹ˆ๋‹ค. ^^ #



์ฝ์–ด๋ณด์‹œ๋ฉด ๋น„์Šทํ•œ ๋‚ด์šฉ์ด ๋‚˜์˜ฌ๊ฒ๋‹ˆ๋‹ค. "Adding New SQL Functions"๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์š”. ์ฆ‰, ๋ฉ”๋ชจ๋ฆฌ์— ๋„์šฐ๊ธฐ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค๋Š” ๋œป์ด ๋˜๊ฒ ์ฃ .

๋ฅ˜๊ด‘ : ์ž˜ ๋ชจ๋ฅด๊ฒ ๋Š”๊ฑธ์š” -.- #


์ œ๊ฐ€ ์›ํ•˜๋Š” ๊ฑด ์ƒˆ๋กœ์šด SQL ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ.. (๊ธฐ์กด)SQL ๋ช…๋ น๋“ค์„ ์‹คํ–‰์€ ํ•˜์ง€ ์•Š๊ณ  ํŒŒ์‹ฑ(์ปดํŒŒ์ผ?)๋งŒ ํ•ด ๋‘์—ˆ๋‹ค๊ฐ€ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฐ˜๋ณตํ•ด์„œ ์“ฐ๋Š” ๊ฑด๋ฐ์š”.... (๊ตณ์ด ๋น„์œ ํ•˜์ž๋ฉด OpenGL์˜ ๋””์Šคํ”Œ๋ ˆ์ด ๋ชฉ๋ก์ฒ˜๋Ÿผ์š”...) ์ œ๊ฐ€ ์ œ๋Œ€๋กœ ๋ชป ์ฝ์€ ๊ฒƒ์ธ์ง€ ๊ด€๋ จ ๋‚ด์šฉ์„ ์ฐพ์ง€ ๋ชปํ•˜๊ฒ ๋„ค์š”....ใ… .ใ… 

๊ทธ์™€๋Š” ๋ณ„๋„๋กœ.. ์†Œ์Šค๋ฅผ ์ข€ ์‚ดํŽด๋ณธ ๊ฒฐ๊ณผ ๋Œ€์ถฉ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ ๋“ค์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค..

  1. sqlite_exec()๊ฐ€ ํ˜ธ์ถœ๋˜๋ฉด SQL ์งˆ์˜๋ฌธ์€ sqliteRunParser()๋ผ๋Š” ํ•จ์ˆ˜๋กœ ๋„˜๊ฒจ์ง„๋‹ค.
  2. sqliteRunParser()์—์„œ ์งˆ์˜๋ฌธ์„ ํ•œ ๋ฌธ์ž์”ฉ ํŒŒ์‹ฑํ•˜๋ฉด์„œ ํ† ํฐ์„ ์ฐพ๋Š”๋‹ค.
  3. ํ† ํฐ์„ ์ฐพ์œผ๋ฉด ๊ทธ ํ† ํฐ์„ sqliteParser()์— ์ „๋‹ฌ
  4. sqliteParser()๊ฐ€ ํ† ํฐ์„ ํ•ด์„ํ•ด์„œ ์‹ค์ œ์˜ '์–ด๋–ค ์ž‘์—…'์„ ์ˆ˜ํ–‰

4๋ฒˆ์—์„œ๋ถ€ํ„ฐ๋Š” Yacc๋กœ ๋งŒ๋“ค์–ด์ง„ ์†Œ์Šค๋ผ์„œ ์ฝ๊ธฐ๊ฐ€ ์ƒ๋‹นํžˆ ํž˜๋“œ๋„ค์š”... ์•„์ง ํ™•์‹คํ•˜์ง€ ์•Š์€ ๊ฒƒ์€ ๊ทธ '์–ด๋–ค ์ž‘์—…'์ด ์‹ค์ œ๋กœ DB๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ์ž‘์—…์ธ์ง€ ์•„๋‹ˆ๋ฉด ์–ด๋–ค ํŒŒ์‹ฑ ํŠธ๋ฆฌ(๋˜๋Š” ์ค‘๊ฐ„ ์ฝ”๋“œ)๋ฅผ ๋งŒ๋“œ๋Š” ์ž‘์—…์ธ์ง€์ธ๋ฐ, ํ›„์ž๋ผ๋ฉด ์ œ๊ฐ€ ์›ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์ข€ ์žˆ๊ณ , ์ „์ž๋ผ๋ฉด ์ œ ์‹ค๋ ฅ์œผ๋กœ๋Š” ๊ฑฐ์˜ ๋ถˆ๊ฐ€๋Šฅํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค....

์–ด์จŒ๋“ .. ์—ฌ๋Ÿฌ ํ•จ์ˆ˜๋“ค์—์„œ ์‹œ Parse๋ผ๋Š” ๊ตฌ์กฐ์ฒด์˜ ํฌ์ธํ„ฐ๊ฐ€ ๊ณ„์† ๋“œ๋‚˜๋“œ๋Š”๋ฐ ๊ฑฐ๊ธฐ์— Vbde๋ผ๋Š” ๊ตฌ์กฐ์ฒด๊ฐ€ ์žˆ๊ตฌ์š”.. ์ด ๋„˜์ด ํŒŒ์‹ฑ ํŠธ๋ฆฌ๋‚˜ ์ค‘๊ฐ„ ์ฝ”๋“œ์™€ ๊ด€๋ จ์ด ์žˆ์„ ๊ฒƒ ๊ฐ™์€ ๋ƒ„์ƒˆ๊ฐ€....

์–ด์จŒ๊ฑฐ๋‚˜ Doxygen์œผ๋กœ ๋ฌธ์„œํ™”ํ–ˆ๋”๋‹ˆ ์ฝ”๋“œ ํ๋ฆ„ ๋”ฐ๋ผ๊ฐ€๊ธฐ๊ฐ€ ํ•œ๊ฒฐ ํŽธํ•˜๊ตฐ์š”.

์˜ค๋Š˜์€ ์—ฌ๊ธฐ๊นŒ์ง€ ^^;;;;

์›ํ•˜์‹œ๋Š” ๊ฒƒ๊ณผ ์ข€ ๋‹ค๋ฅผ์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ... db๋ฅผ ์—ฌ์‹ค ๋•Œ :memory: ๋กœ ์ด๋ฆ„์„ ์ฃผ์‹œ๋ฉด in memory database ๊ฐ€ ๋œ๋‹ค๋Š” ๋‚ด์šฉ์ด... ์ฐธ์กฐ: http://www.sqlite.org/cvstrac/wiki?p=InMemoryDatabase -- Anonymous 2005-07-02 12:47:24

์œ„ ํ† ์˜๊ฐ€ ์žˆ์—ˆ์„ ๋•Œ์—๋Š” ๊ทธ ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์ง€ ์•Š์•˜์—ˆ์Šต๋‹ˆ๋‹ค. :) -- redpixel 2005-07-04 16:38:03

์•„... ๊ทธ๋žฌ์—ˆ๊ตฐ์š”..:-) -- Anonymous 2005-07-13 12:01:46

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2010-10-28 12:42:54
Processing time 0.3361 sec