본문 바로가기
[Database] -journal 파일의 정체는 뭘까? ( + WAL, temp files ) [Database] -journal 파일의 정체는 뭘까? ( + WAL, temp files ) http://gywn.net/2013/08/let-me-intorduce-sqlite/http://www.sqlite.org/tempfiles.html Journal --journal 은 rollback journal 이다.이는 SQLite 에서 atomic commit & rollback 을 지원하기 위한 임시 파일이다.-journal 의 파일명을 갖는다. rollback journal 은 보통 transaction 이 시작될 때 생성이 되고, 보통 transaction 이 commit 또는 rollback 으로 끝날 때 삭제된다. -보통 이 journal 파일은 SQLite DB 가 open 되었을 때, .. 2019. 1. 15.
[SQLite3] 06. 임베디드 SQLite3 최적화 #2 [SQLite3] 06. 임베디드 SQLite3 최적화 #2 이 글은 "빠르게 활용하는 모바일 데이터베이스 SQLite3” 이란 글을 보며 필요한 내용만 정리한 글입니다.자세한 내용은 책을 구매해서 보세요 5. 엄격한 자료형 검사 -SQLite3 자체는 동적 자료형 형태지만 typeof() 함수와 CHECK 제약조건을 이용해서 정적 자료형처럼 사용할 수 있다. ex)sqlite> CREATE TABLE testTable( name text CHECK(typeof(name)=‘text’), age integer CHECK(typeof(age)=‘integer’)); CHECK 규칙을 위반할 경우 constraint failed error 가 발생한다. 6. DB 갱신과 트랜잭션 -INSERT/UPDATE .. 2018. 5. 23.
[SQLite3] 05. SQLite3 C API 고급 [SQLite3] 05. SQLite3 C API 고급 이 글은 "빠르게 활용하는 모바일 데이터베이스 SQLite3” 이란 글을 보며 필요한 내용만 정리한 글입니다.자세한 내용은 책을 구매해서 보세요 1. 잠금 상태 확인 - sqlite3_busy_handler() -하나의 스레드나 프로세스에서 exclusive lock 을 걸고 있는 상태에서 다른 스레드나 프로세스가 잠금을 획득하려고 하면 에러가 발생한다.이 때 sqlite3_busy_handler() 함수를 이용하면 에러가 발생하지 않고 동기화를 진행할 수 있게 추가적인 처리를 위한 콜백 함수를 등록할 수 있다.int sqlite3_busy_handler(sqlite3*, int(*)(void*, int), void*); lock 을 잡을 수 없을 .. 2018. 5. 21.
[SQLite3] 03. SQL 고급 #2 [SQLite3] 03. SQL 고급 #2 이 글은 "빠르게 활용하는 모바일 데이터베이스 SQLite3” 이란 글을 보며 필요한 내용만 정리한 글입니다.자세한 내용은 책을 구매해서 보세요 9. 트리거 -DB TRIGGER 란 특정 테이블이나 뷰에 INSERT, DELETE, UPDATE 와 같은 데이터 조작 이벤트가 발생했을 때 자동으로 지정된 동작을 수행하게 하는 것이다. 트리거 활용 -syntaxCREATE TRIGGER [triggerName] [triggerTiming] [triggerOperation] ON [tableName]BEGIN [sqlOperations]END; triggerTiming 은 아래와 같다.BEFORE : 대상 테이블의 CUD 동작 직전에 트리거에서 지정한 동작이 수행된다.. 2018. 5. 19.
[ios] Core Data Revert / Rollback / Undo [ios] Core Data Revert / Rollback / Undo -CoreData 의 자료들을 다루다가 rollback 을 하고 싶다면 여러 가지 방법이 있다. -[managedObjectContext rollback]; 이 녀석은 지금까지 반영된 & save 되지 않은 모든 변경사항을 되돌린다. -[managedObjectContext undo]; 이 녀석은 가장 최근에 행해진 작업을 되돌리는 역할을 한다.이 녀석과 페어를 이루는 것은 redo -[managedObjectContext refreshObject:object mergeChanges:NO]; 이 녀석은 해당 managedObject 에 대해 변경사항을 버리고 현재 store 에 있는 자료로 reload 한다.mergeChanges .. 2017. 12. 11.
[Java] JDBC, Database 연결하여 사용하기 자바, JDBC, Database 연결하여 사용하기 JDBC 를 이용하여 Database 를 연결하여 사용하는 방법을 알아본다. Statement Database Query 는 Statement 객체를 이용하는데, 이 객체는 DBConnection 을 통해서 얻을 수 있다. Statement stmt = con.createStatement(); Statement 에는 다음의 2개의 대표함수가 있다. int executeUpdate( String sql ); // db 조작에 관한 어떤 명령을 수행한다. ResultSet executeQuery( String sql ) // db query 에 사용된다. ResultSet ResultSet 은 안드로이드의 Cursor 와 같은 녀석이라고 보면 된다.Resu.. 2013. 10. 11.
반응형