์์ ์ ์ฐฝ์กฐ์์ ๊ฐ์ํ๋ ์ฌ๋์ด ์๋ก ๋ง๋๋ ํํฌ์ ๊ด์ฅ. โ๋๋ฏธ๋ค ๊ณ ์ง๋ก(์ผ๋ณธ ์๊ฐ)
๋ฅ๊ด : 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์ ๋์คํ๋ ์ด ๋ชฉ๋ก์ฒ๋ผ์...) ์ ๊ฐ ์ ๋๋ก ๋ชป ์ฝ์ ๊ฒ์ธ์ง ๊ด๋ จ ๋ด์ฉ์ ์ฐพ์ง ๋ชปํ๊ฒ ๋ค์....ใ
.ใ
๊ทธ์๋ ๋ณ๋๋ก.. ์์ค๋ฅผ ์ข ์ดํด๋ณธ ๊ฒฐ๊ณผ ๋์ถฉ ๋ค์๊ณผ ๊ฐ์ ์ ๋ค์ ์๊ฒ ๋์์ต๋๋ค..
- sqlite_exec()๊ฐ ํธ์ถ๋๋ฉด SQL ์ง์๋ฌธ์ sqliteRunParser()๋ผ๋ ํจ์๋ก ๋๊ฒจ์ง๋ค.
- sqliteRunParser()์์ ์ง์๋ฌธ์ ํ ๋ฌธ์์ฉ ํ์ฑํ๋ฉด์ ํ ํฐ์ ์ฐพ๋๋ค.
- ํ ํฐ์ ์ฐพ์ผ๋ฉด ๊ทธ ํ ํฐ์ sqliteParser()์ ์ ๋ฌ
- sqliteParser()๊ฐ ํ ํฐ์ ํด์ํด์ ์ค์ ์ '์ด๋ค ์์
'์ ์ํ
์ด์จ๋ .. ์ฌ๋ฌ ํจ์๋ค์์ ์ 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
-- redpixel 2005-07-04 16:38:03
์... ๊ทธ๋ฌ์๊ตฐ์..:-) -- Anonymous 2005-07-13 12:01:46








![[http]](/wiki/imgs/http.png)
