PostgreSQL Source Code: src/interfaces/ecpg/preproc/descriptor.c Source File (original) (raw)

1

2

3

4

5

6

7

8

9

11

13

14

15

16

17

19

20void

22{

24

27 new->value = value;

29}

30

31static void

33{

35 {

37

40 free(old_head);

41 }

42}

43

44static void

46{

48

49 switch (v->type->type)

50 {

61 break;

62 default:

64 break;

65 }

66}

67

68

69

70

71

73

74void

76{

78

79 if (name[0] != '"')

80 return;

81

83

88 else

89 new->connection = NULL;

91}

92

93void

95{

98

99 if (name[0] != '"')

100 return;

101

103 {

104 if (strcmp(name, i->name) == 0)

105 {

108 && strcmp(connection, i->connection) == 0))

109 {

110 *lastptr = i->next;

111 free(i->connection);

114 return;

115 }

116 }

117 }

120 else

122}

123

126{

128

129 if (name[0] != '"')

130 return NULL;

131

133 {

134 if (strcmp(name, i->name) == 0)

135 {

138 && strcmp(connection, i->connection) == 0))

139 return i;

141 {

142

144 return i;

145 }

146 }

147 }

150 else

152 return NULL;

153}

154

155void

157{

159

160 fprintf(base_yyout, "{ ECPGget_desc_header(__LINE__, %s, &(", desc_name);

161 for (results = assignments; results != NULL; results = results->next)

162 {

165 else

167 }

168

172}

173

174void

176{

178

180 for (results = assignments; results != NULL; results = results->next)

181 {

184

185 switch (results->value)

186 {

189 break;

192 break;

193 default:

194 break;

195 }

198 NULL, NULL, -1, NULL, NULL, str_zero, NULL, NULL);

199 free(str_zero);

200 }

203

205}

206

207void

209{

211

212 fprintf(base_yyout, "{ ECPGset_desc_header(__LINE__, %s, (int)(", desc_name);

213 for (results = assignments; results != NULL; results = results->next)

214 {

217 else

219 }

220

224}

225

226static const char *

228{

229 switch (itemcode)

230 {

232 return "CARDINALITY";

234 return "COUNT";

236 return "DATA";

238 return "DATETIME_INTERVAL_CODE";

240 return "DATETIME_INTERVAL_PRECISION";

242 return "INDICATOR";

244 return "KEY_MEMBER";

246 return "LENGTH";

248 return "NAME";

250 return "NULLABLE";

252 return "OCTET_LENGTH";

254 return "PRECISION";

256 return "RETURNED_LENGTH";

258 return "RETURNED_OCTET_LENGTH";

260 return "SCALE";

262 return "TYPE";

263 default:

264 return NULL;

265 }

266}

267

268void

270{

272

274 for (results = assignments; results != NULL; results = results->next)

275 {

277

278 switch (results->value)

279 {

287 break;

288

297 break;

298

303 {

305

308 NULL, NULL, -1, NULL, NULL, str_zero, NULL, NULL);

309 free(str_zero);

310 }

311 break;

312

313 default:

314 ;

315 }

316 }

319

321}

322

323

324

325

326

327

328

329#define MAX_DESCRIPTOR_NAMELEN 128

332{

335 static struct variable varspace[2] = {

336 {descriptor_names[0], &descriptor_type, 0, NULL},

337 {descriptor_names[1], &descriptor_type, 0, NULL}

338 };

339

341 return &varspace[input];

342}

343

346{

347

348

349

350

351

353

357 p->type->type_name = NULL;

358 p->type->size = NULL;

359 p->type->struct_sizeof = NULL;

360 p->type->u.element = NULL;

361 p->type->counter = 0;

363 p->next = NULL;

364

365 return p;

366}

#define fprintf(file, fmt, msg)

@ ECPGt_unsigned_long_long

void whenever_action(int mode)

size_t strlcpy(char *dst, const char *src, size_t siz)

struct descriptor * lookup_descriptor(const char *name, const char *connection)

static const char * descriptor_item_name(enum ECPGdtype itemcode)

struct variable * sqlda_variable(const char *name)

void output_set_descr(const char *desc_name, const char *index)

void add_descriptor(const char *name, const char *connection)

static struct descriptor * descriptors

static struct assignment * assignments

void push_assignment(const char *var, enum ECPGdtype value)

void output_get_descr_header(const char *desc_name)

static void ECPGnumeric_lvalue(char *name)

void drop_descriptor(const char *name, const char *connection)

void output_get_descr(const char *desc_name, const char *index)

struct variable * descriptor_variable(const char *name, int input)

void output_set_descr_header(const char *desc_name)

static void drop_assignments(void)

#define MAX_DESCRIPTOR_NAMELEN

void * loc_alloc(size_t size)

char * mm_strdup(const char *string)

void pg_noreturn void mmfatal(int error_code, const char *error,...) pg_attribute_printf(2

const char * get_dtype(enum ECPGdtype)

void mmerror(int error_code, enum errortype type, const char *error,...) pg_attribute_printf(3

void * mm_alloc(size_t size)

struct variable * find_variable(const char *name)

char * loc_strdup(const char *string)

void ECPGdump_a_type(FILE *o, const char *name, struct ECPGtype *type, const int brace_level, const char *ind_name, struct ECPGtype *ind_type, const int ind_brace_level, const char *prefix, const char *ind_prefix, char *arr_str_size, const char *struct_sizeof, const char *ind_struct_sizeof)