/[eiffelstudio]/trunk/Src/framework/sqlite3/sqlite_statement_iteration_cursor.e
ViewVC logotype

Diff of /trunk/Src/framework/sqlite3/sqlite_statement_iteration_cursor.e

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 85922 by jfiat, Wed May 26 13:28:07 2010 UTC revision 85923 by jfiat, Fri Mar 18 15:53:01 2011 UTC
# Line 1  Line 1 
1  note  note
2          description: "[          description: "[
3                    Cursor to iterate over SQLITE_STATEMENT execution result
4          ]"          ]"
5          legal: "See notice at end of class."          legal: "See notice at end of class."
6          status: "See notice at end of class."          status: "See notice at end of class."
# Line 19  inherit Line 19  inherit
19                          start, forth, after                          start, forth, after
20                  end                  end
21    
         ITERABLE [SQLITE_RESULT_ROW]  
   
22          SQLITE_SHARED_API          SQLITE_SHARED_API
23                  export                  export
24                          {NONE} all                          {NONE} all
# Line 50  create Line 48  create
48          make,          make,
49          make_with_bindings          make_with_bindings
50    
51  feature {NONE} -- Iniitalization  feature {NONE} -- Initalization
52    
53          make (a_statement: SQLITE_STATEMENT)          make (a_statement: SQLITE_STATEMENT)
54                          --                          -- Initialize the cursor for `a_statement'.
55                  require                  require
56                          a_statement_attached: attached a_statement                          a_statement_attached: attached a_statement
57                          a_statement_is_accessible: a_statement.is_accessible                          a_statement_is_accessible: a_statement.is_accessible
58                          a_statement_is_connected: a_statement.is_connected                          a_statement_is_connected: a_statement.is_connected
59                  do                  do
60                          statement := a_statement                          statement := a_statement
61                                    --| Create a dummy attached `target' to satisfy void-safety
62                                    --| This dummy value will be overwritten by `iteration_make'
63                            target := dummy_target
64                          iteration_make (Current)                          iteration_make (Current)
65                          last_result := {SQLITE_RESULT_CODE}.ok                          last_result := {SQLITE_RESULT_CODE}.ok
66                  ensure                  ensure
# Line 68  feature {NONE} -- Iniitalization Line 69  feature {NONE} -- Iniitalization
69                  end                  end
70    
71          make_with_bindings (a_statement: SQLITE_STATEMENT; a_bindings: ARRAY [SQLITE_BIND_ARG [ANY]])          make_with_bindings (a_statement: SQLITE_STATEMENT; a_bindings: ARRAY [SQLITE_BIND_ARG [ANY]])
72                          --                          -- Initialize the cursor for `a_statement' using `a_binding'.
73                  require                  require
74                          a_statement_attached: attached a_statement                          a_statement_attached: attached a_statement
75                          a_statement_is_accessible: a_statement.is_accessible                          a_statement_is_accessible: a_statement.is_accessible
# Line 267  feature {NONE} -- Implementation: Intern Line 268  feature {NONE} -- Implementation: Intern
268                          -- Cached version of `item'.                          -- Cached version of `item'.
269                          -- Note: Do not use directly!                          -- Note: Do not use directly!
270    
271    feature {NONE} -- Implementation: void-safety helper
272    
273            dummy_target: ITERABLE [SQLITE_RESULT_ROW]
274                            -- Dummy object used to initialize `target' with attached value
275                    once
276                            create {SPECIAL [SQLITE_RESULT_ROW]} Result .make_empty (0)
277                    end
278    
279  ;note  ;note
280          copyright: "Copyright (c) 1984-2010, Eiffel Software"          copyright: "Copyright (c) 1984-2011, Eiffel Software"
281          license: "GPL version 2 (see http://www.eiffel.com/licensing/gpl.txt)"          license: "GPL version 2 (see http://www.eiffel.com/licensing/gpl.txt)"
282          licensing_options: "http://www.eiffel.com/licensing"          licensing_options: "http://www.eiffel.com/licensing"
283          copying: "[          copying: "[

Legend:
Removed from v.85922  
changed lines
  Added in v.85923

  ViewVC Help
Powered by ViewVC 1.1.23