69 DWORD wildcard_count = 1,
i;
76 TRACE(
"Not enough elements in the list to insert\n");
79 switch( vl->val->
type )
95 ERR(
"Unknown expression type %d\n", vl->val->
type);
114 for (
i = 1;
i <= col_count;
i++)
130 UINT col_count, val_count;
150 for (colidx = 1; colidx <= val_count; colidx++)
156 for (
i = 1;
i <= col_count;
i++)
187 for (
i = 1;
i <= col_count;
i++)
218 TRACE(
"sv execute returned %x\n",
r);
271 TRACE(
"%p %p %p\n", iv, rows, cols );
286 TRACE(
"%p %d %p %p %p %p\n", iv,
n,
name,
type, temporary, table_name );
299 TRACE(
"%p %d %p\n", iv, eModifyMode, rec );
346 for ( ; ci; ci = ci->next )
376 iv =
calloc( 1,
sizeof *iv );
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
void msiobj_addref(MSIOBJECTHDR *info)
int msiobj_release(MSIOBJECTHDR *info)
struct png_info_def *typedef unsigned char **typedef struct png_info_def *typedef struct png_info_def *typedef struct png_info_def *typedef unsigned char ** row
GLuint GLuint GLsizei GLenum type
GLdouble GLdouble GLdouble r
GLboolean GLboolean GLboolean b
GLboolean GLenum GLenum GLvoid * values
GLboolean GLboolean GLboolean GLboolean a
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static UINT INSERT_fetch_int(struct tagMSIVIEW *view, UINT row, UINT col, UINT *val)
static BOOL row_has_null_primary_keys(struct insert_view *iv, MSIRECORD *row)
static UINT arrange_record(struct insert_view *iv, MSIRECORD **values)
static UINT INSERT_close(struct tagMSIVIEW *view)
static UINT INSERT_modify(struct tagMSIVIEW *view, MSIMODIFY eModifyMode, MSIRECORD *rec, UINT row)
static UINT INSERT_get_column_info(struct tagMSIVIEW *view, UINT n, LPCWSTR *name, UINT *type, BOOL *temporary, LPCWSTR *table_name)
static UINT INSERT_delete(struct tagMSIVIEW *view)
UINT INSERT_CreateView(MSIDATABASE *db, MSIVIEW **view, LPCWSTR table, column_info *columns, column_info *values, BOOL temp)
static UINT INSERT_get_dimensions(struct tagMSIVIEW *view, UINT *rows, UINT *cols)
static BOOL columns_in_order(struct insert_view *iv, UINT col_count)
static UINT INSERT_execute(struct tagMSIVIEW *view, MSIRECORD *record)
static UINT count_column_info(const column_info *ci)
static const MSIVIEWOPS insert_ops
MSIRECORD * msi_query_merge_record(UINT fields, const column_info *vl, MSIRECORD *rec)
UINT MSI_RecordSetInteger(MSIRECORD *, UINT, int)
BOOL MSI_RecordIsNull(MSIRECORD *, UINT)
UINT MSI_RecordCopyField(MSIRECORD *, UINT, MSIRECORD *, UINT)
UINT MSI_RecordSetStringW(MSIRECORD *, UINT, LPCWSTR)
MSIRECORD * MSI_CreateRecord(UINT)
UINT MSI_RecordGetFieldCount(const MSIRECORD *rec)
UINT SELECT_CreateView(MSIDATABASE *db, MSIVIEW **view, MSIVIEW *table, const column_info *columns)
UINT TABLE_CreateView(MSIDATABASE *db, LPCWSTR name, MSIVIEW **view)
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
UINT(* insert_row)(struct tagMSIVIEW *view, MSIRECORD *record, UINT row, BOOL temporary)
UINT(* close)(struct tagMSIVIEW *view)
UINT(* get_dimensions)(struct tagMSIVIEW *view, UINT *rows, UINT *cols)
UINT(* execute)(struct tagMSIVIEW *view, MSIRECORD *record)
UINT(* get_column_info)(struct tagMSIVIEW *view, UINT n, LPCWSTR *name, UINT *type, BOOL *temporary, LPCWSTR *table_name)
UINT(* delete)(struct tagMSIVIEW *)
#define ERROR_BAD_QUERY_SYNTAX
#define ERROR_FUNCTION_FAILED