/Modules/_sqlite/cursor.h
http://unladen-swallow.googlecode.com/ · C Header · 71 lines · 39 code · 9 blank · 23 comment · 0 complexity · 6d574e121abdc987e68227d9e720cca0 MD5 · raw file
- /* cursor.h - definitions for the cursor type
- *
- * Copyright (C) 2004-2007 Gerhard Häring <gh@ghaering.de>
- *
- * This file is part of pysqlite.
- *
- * This software is provided 'as-is', without any express or implied
- * warranty. In no event will the authors be held liable for any damages
- * arising from the use of this software.
- *
- * Permission is granted to anyone to use this software for any purpose,
- * including commercial applications, and to alter it and redistribute it
- * freely, subject to the following restrictions:
- *
- * 1. The origin of this software must not be misrepresented; you must not
- * claim that you wrote the original software. If you use this software
- * in a product, an acknowledgment in the product documentation would be
- * appreciated but is not required.
- * 2. Altered source versions must be plainly marked as such, and must not be
- * misrepresented as being the original software.
- * 3. This notice may not be removed or altered from any source distribution.
- */
- #ifndef PYSQLITE_CURSOR_H
- #define PYSQLITE_CURSOR_H
- #include "Python.h"
- #include "statement.h"
- #include "connection.h"
- #include "module.h"
- typedef struct
- {
- PyObject_HEAD
- pysqlite_Connection* connection;
- PyObject* description;
- PyObject* row_cast_map;
- int arraysize;
- PyObject* lastrowid;
- long rowcount;
- PyObject* row_factory;
- pysqlite_Statement* statement;
- /* the next row to be returned, NULL if no next row available */
- PyObject* next_row;
- } pysqlite_Cursor;
- typedef enum {
- STATEMENT_INVALID, STATEMENT_INSERT, STATEMENT_DELETE,
- STATEMENT_UPDATE, STATEMENT_REPLACE, STATEMENT_SELECT,
- STATEMENT_OTHER
- } pysqlite_StatementKind;
- extern PyTypeObject pysqlite_CursorType;
- int pysqlite_cursor_init(pysqlite_Cursor* self, PyObject* args, PyObject* kwargs);
- void pysqlite_cursor_dealloc(pysqlite_Cursor* self);
- PyObject* pysqlite_cursor_execute(pysqlite_Cursor* self, PyObject* args);
- PyObject* pysqlite_cursor_executemany(pysqlite_Cursor* self, PyObject* args);
- PyObject* pysqlite_cursor_getiter(pysqlite_Cursor *self);
- PyObject* pysqlite_cursor_iternext(pysqlite_Cursor *self);
- PyObject* pysqlite_cursor_fetchone(pysqlite_Cursor* self, PyObject* args);
- PyObject* pysqlite_cursor_fetchmany(pysqlite_Cursor* self, PyObject* args, PyObject* kwargs);
- PyObject* pysqlite_cursor_fetchall(pysqlite_Cursor* self, PyObject* args);
- PyObject* pysqlite_noop(pysqlite_Connection* self, PyObject* args);
- PyObject* pysqlite_cursor_close(pysqlite_Cursor* self, PyObject* args);
- int pysqlite_cursor_setup_types(void);
- #define UNKNOWN (-1)
- #endif