#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "winerror.h"
#include "wine/debug.h"
#include "msi.h"
#include "msiquery.h"
#include "objbase.h"
#include "objidl.h"
#include "msipriv.h"
#include "winnls.h"
#include "query.h"
Go to the source code of this file.
|
| WINE_DEFAULT_DEBUG_CHANNEL (msidb) |
|
static struct distinct_set ** | distinct_insert (struct distinct_set **x, UINT val, UINT row) |
|
static void | distinct_free (struct distinct_set *x) |
|
static UINT | DISTINCT_fetch_int (struct tagMSIVIEW *view, UINT row, UINT col, UINT *val) |
|
static UINT | DISTINCT_execute (struct tagMSIVIEW *view, MSIRECORD *record) |
|
static UINT | DISTINCT_close (struct tagMSIVIEW *view) |
|
static UINT | DISTINCT_get_dimensions (struct tagMSIVIEW *view, UINT *rows, UINT *cols) |
|
static UINT | DISTINCT_get_column_info (struct tagMSIVIEW *view, UINT n, LPCWSTR *name, UINT *type, BOOL *temporary, LPCWSTR *table_name) |
|
static UINT | DISTINCT_modify (struct tagMSIVIEW *view, MSIMODIFY eModifyMode, MSIRECORD *rec, UINT row) |
|
static UINT | DISTINCT_delete (struct tagMSIVIEW *view) |
|
UINT | DISTINCT_CreateView (MSIDATABASE *db, MSIVIEW **view, MSIVIEW *table) |
|
◆ DISTINCT_close()
Definition at line 172 of file distinct.c.
173{
175
177
180
184
186}
UINT(* close)(struct tagMSIVIEW *view)
#define ERROR_FUNCTION_FAILED
◆ DISTINCT_CreateView()
Definition at line 273 of file distinct.c.
274{
277
279
282 {
283 ERR(
"can't get table dimensions\n");
285 }
286
287 dv =
calloc( 1,
sizeof *dv );
288 if( !dv )
290
291
299
301}
static const MSIVIEWOPS distinct_ops
void msiobj_addref(MSIOBJECTHDR *info)
GLuint GLuint GLsizei count
GLdouble GLdouble GLdouble r
◆ DISTINCT_delete()
Definition at line 234 of file distinct.c.
235{
237
239
242
246
248}
int msiobj_release(MSIOBJECTHDR *info)
UINT(* delete)(struct tagMSIVIEW *)
◆ DISTINCT_execute()
Definition at line 110 of file distinct.c.
111{
113 UINT r,
i,
j, r_count, c_count;
115
117
120
124
128
132
133
134 for(
i=0;
i<r_count;
i++ )
135 {
137
138 for(
j=1;
j<=c_count;
j++ )
139 {
143 {
144 ERR(
"Failed to fetch int at %d %d\n",
i,
j );
147 }
150 {
151 ERR(
"Failed to insert at %d %d\n",
i,
j );
154 }
157 }
158
159
161 {
164 }
165 }
166
168
170}
static struct distinct_set ** distinct_insert(struct distinct_set **x, UINT val, UINT row)
static void distinct_free(struct distinct_set *x)
GLint GLint GLint GLint GLint x
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
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 GLint GLint j
UINT(* fetch_int)(struct tagMSIVIEW *view, UINT row, UINT col, UINT *val)
UINT(* get_dimensions)(struct tagMSIVIEW *view, UINT *rows, UINT *cols)
UINT(* execute)(struct tagMSIVIEW *view, MSIRECORD *record)
◆ DISTINCT_fetch_int()
Definition at line 93 of file distinct.c.
94{
96
98
101
104
106
108}
#define ERROR_INVALID_PARAMETER
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
◆ distinct_free()
◆ DISTINCT_get_column_info()
Definition at line 207 of file distinct.c.
209{
211
212 TRACE(
"%p %d %p %p %p %p\n", dv,
n,
name,
type, temporary, table_name );
213
216
218 type, temporary, table_name );
219}
GLuint GLuint GLsizei GLenum type
UINT(* get_column_info)(struct tagMSIVIEW *view, UINT n, LPCWSTR *name, UINT *type, BOOL *temporary, LPCWSTR *table_name)
◆ DISTINCT_get_dimensions()
Definition at line 188 of file distinct.c.
189{
191
192 TRACE(
"%p %p %p\n", dv, rows, cols );
193
196
197 if( rows )
198 {
202 }
203
205}
◆ distinct_insert()
Definition at line 56 of file distinct.c.
57{
58
60 {
61 if( (*x)->val ==
val )
62 {
63 (*x)->count++;
65 }
67 }
68
69
72 {
74 (*x)->count = 1;
78 }
80}
Referenced by DISTINCT_execute().
◆ DISTINCT_modify()
Definition at line 221 of file distinct.c.
223{
225
226 TRACE(
"%p %d %p\n", dv, eModifyMode, rec );
227
230
232}
UINT(* modify)(struct tagMSIVIEW *view, MSIMODIFY eModifyMode, MSIRECORD *record, UINT row)
◆ WINE_DEFAULT_DEBUG_CHANNEL()
WINE_DEFAULT_DEBUG_CHANNEL |
( |
msidb |
| ) |
|
◆ distinct_ops
Initial value:=
{
}
static UINT DISTINCT_execute(struct tagMSIVIEW *view, MSIRECORD *record)
static UINT DISTINCT_close(struct tagMSIVIEW *view)
static UINT DISTINCT_fetch_int(struct tagMSIVIEW *view, UINT row, UINT col, UINT *val)
static UINT DISTINCT_get_column_info(struct tagMSIVIEW *view, UINT n, LPCWSTR *name, UINT *type, BOOL *temporary, LPCWSTR *table_name)
static UINT DISTINCT_delete(struct tagMSIVIEW *view)
static UINT DISTINCT_modify(struct tagMSIVIEW *view, MSIMODIFY eModifyMode, MSIRECORD *rec, UINT row)
static UINT DISTINCT_get_dimensions(struct tagMSIVIEW *view, UINT *rows, UINT *cols)
Definition at line 250 of file distinct.c.
Referenced by DISTINCT_CreateView().