Skip to content

Commit 6b2037e

Browse files
authored
fix: remove support for the fronzen indices param (#161)
Partially revert #151, removing the support for the "index_include_frozen". Close #159
1 parent cabfcd0 commit 6b2037e

File tree

8 files changed

+11
-48
lines changed

8 files changed

+11
-48
lines changed

driver/connect.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1311,10 +1311,6 @@ SQLRETURN config_dbc(esodbc_dbc_st *dbc, esodbc_dsn_attrs_st *attrs)
13111311
dbc->mfield_lenient = wstr2bool(&attrs->mfield_lenient);
13121312
INFOH(dbc, "multifield lenient: %s.",
13131313
dbc->mfield_lenient ? "true" : "false");
1314-
/* "index include frozen" param */
1315-
dbc->idx_inc_frozen = wstr2bool(&attrs->idx_inc_frozen);
1316-
INFOH(dbc, "index include frozen: %s.",
1317-
dbc->idx_inc_frozen ? "true" : "false");
13181314
/* auto escape pattern value argument */
13191315
dbc->auto_esc_pva = wstr2bool(&attrs->auto_esc_pva);
13201316
INFOH(dbc, "auto escape PVA: %s.", dbc->auto_esc_pva ? "true" : "false");

driver/defs.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,6 @@
178178
#define ESODBC_DEF_VERSION_CHECKING ESODBC_DSN_VC_STRICT
179179
#define ESODBC_DEF_MFIELD_LENIENT "true"
180180
#define ESODBC_DEF_ESC_PVA "true"
181-
#define ESODBC_DEF_IDX_INC_FROZEN "false"
182181

183182
/*
184183
*

driver/dsn.c

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ int assign_dsn_attr(esodbc_dsn_attrs_st *attrs,
7979
{&MK_WSTR(ESODBC_DSN_VERSION_CHECKING), &attrs->version_checking},
8080
{&MK_WSTR(ESODBC_DSN_MFIELD_LENIENT), &attrs->mfield_lenient},
8181
{&MK_WSTR(ESODBC_DSN_ESC_PVA), &attrs->auto_esc_pva},
82-
{&MK_WSTR(ESODBC_DSN_IDX_INC_FROZEN), &attrs->idx_inc_frozen},
8382
{&MK_WSTR(ESODBC_DSN_TRACE_ENABLED), &attrs->trace_enabled},
8483
{&MK_WSTR(ESODBC_DSN_TRACE_FILE), &attrs->trace_file},
8584
{&MK_WSTR(ESODBC_DSN_TRACE_LEVEL), &attrs->trace_level},
@@ -413,7 +412,6 @@ long TEST_API write_00_list(esodbc_dsn_attrs_st *attrs,
413412
{&MK_WSTR(ESODBC_DSN_VERSION_CHECKING), &attrs->version_checking},
414413
{&MK_WSTR(ESODBC_DSN_MFIELD_LENIENT), &attrs->mfield_lenient},
415414
{&MK_WSTR(ESODBC_DSN_ESC_PVA), &attrs->auto_esc_pva},
416-
{&MK_WSTR(ESODBC_DSN_IDX_INC_FROZEN), &attrs->idx_inc_frozen},
417415
{&MK_WSTR(ESODBC_DSN_TRACE_ENABLED), &attrs->trace_enabled},
418416
{&MK_WSTR(ESODBC_DSN_TRACE_FILE), &attrs->trace_file},
419417
{&MK_WSTR(ESODBC_DSN_TRACE_LEVEL), &attrs->trace_level},
@@ -688,11 +686,6 @@ BOOL write_system_dsn(esodbc_dsn_attrs_st *new_attrs,
688686
&new_attrs->auto_esc_pva,
689687
old_attrs ? &old_attrs->auto_esc_pva : NULL
690688
},
691-
{
692-
&MK_WSTR(ESODBC_DSN_IDX_INC_FROZEN),
693-
&new_attrs->idx_inc_frozen,
694-
old_attrs ? &old_attrs->idx_inc_frozen : NULL
695-
},
696689
{
697690
&MK_WSTR(ESODBC_DSN_TRACE_ENABLED), &new_attrs->trace_enabled,
698691
old_attrs ? &old_attrs->trace_enabled : NULL
@@ -783,7 +776,6 @@ long TEST_API write_connection_string(esodbc_dsn_attrs_st *attrs,
783776
{&attrs->version_checking, &MK_WSTR(ESODBC_DSN_VERSION_CHECKING)},
784777
{&attrs->mfield_lenient, &MK_WSTR(ESODBC_DSN_MFIELD_LENIENT)},
785778
{&attrs->auto_esc_pva, &MK_WSTR(ESODBC_DSN_ESC_PVA)},
786-
{&attrs->idx_inc_frozen, &MK_WSTR(ESODBC_DSN_IDX_INC_FROZEN)},
787779
{&attrs->trace_enabled, &MK_WSTR(ESODBC_DSN_TRACE_ENABLED)},
788780
{&attrs->trace_file, &MK_WSTR(ESODBC_DSN_TRACE_FILE)},
789781
{&attrs->trace_level, &MK_WSTR(ESODBC_DSN_TRACE_LEVEL)},
@@ -880,9 +872,6 @@ void assign_dsn_defaults(esodbc_dsn_attrs_st *attrs)
880872
res |= assign_dsn_attr(attrs,
881873
&MK_WSTR(ESODBC_DSN_ESC_PVA),
882874
&MK_WSTR(ESODBC_DEF_ESC_PVA), /*overwrite?*/FALSE);
883-
res |= assign_dsn_attr(attrs,
884-
&MK_WSTR(ESODBC_DSN_IDX_INC_FROZEN),
885-
&MK_WSTR(ESODBC_DEF_IDX_INC_FROZEN), /*overwrite?*/FALSE);
886875

887876
/* default: no trace file */
888877
res |= assign_dsn_attr(attrs,

driver/dsn.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
#define ESODBC_DSN_VERSION_CHECKING "VersionChecking"
3939
#define ESODBC_DSN_MFIELD_LENIENT "MultiFieldLenient"
4040
#define ESODBC_DSN_ESC_PVA "AutoEscapePVA"
41-
#define ESODBC_DSN_IDX_INC_FROZEN "IndexIncludeFrozen"
4241
#define ESODBC_DSN_TRACE_ENABLED "TraceEnabled"
4342
#define ESODBC_DSN_TRACE_FILE "TraceFile"
4443
#define ESODBC_DSN_TRACE_LEVEL "TraceLevel"
@@ -80,11 +79,10 @@ typedef struct {
8079
wstr_st version_checking;
8180
wstr_st mfield_lenient;
8281
wstr_st auto_esc_pva;
83-
wstr_st idx_inc_frozen;
8482
wstr_st trace_enabled;
8583
wstr_st trace_file;
8684
wstr_st trace_level;
87-
#define ESODBC_DSN_ATTRS_COUNT 27
85+
#define ESODBC_DSN_ATTRS_COUNT 26
8886
SQLWCHAR buff[ESODBC_DSN_ATTRS_COUNT * ESODBC_DSN_MAX_ATTR_LEN];
8987
/* DSN reading/writing functions are passed a SQLSMALLINT lenght param */
9088
#if SHRT_MAX < ESODBC_DSN_ATTRS_COUNT * ESODBC_DSN_MAX_ATTR_LEN

driver/handles.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,6 @@ typedef struct struct_dbc {
163163
ESODBC_FLTS_AUTO,
164164
} sci_floats; /* floats printing on conversion */
165165
BOOL mfield_lenient; /* 'field_multi_value_leniency' request param */
166-
BOOL idx_inc_frozen; /* 'field_multi_value_leniency' request param */
167166
BOOL auto_esc_pva; /* auto-escape PVA args in catalog functions */
168167

169168
esodbc_estype_st *es_types; /* array with ES types */

driver/queries.c

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2048,17 +2048,6 @@ static SQLRETURN serialize_params(esodbc_stmt_st *stmt, char *dest,
20482048
# undef JSON_KEY_VALUE
20492049
}
20502050

2051-
static inline size_t copy_bool_val(char *dest, BOOL val)
2052-
{
2053-
if (val) {
2054-
memcpy(dest, "true", sizeof("true") - 1);
2055-
return sizeof("true") - 1;
2056-
} else {
2057-
memcpy(dest, "false", sizeof("false") - 1);
2058-
return sizeof("false") - 1;
2059-
}
2060-
}
2061-
20622051
/*
20632052
* Build a serialized JSON object out of the statement.
20642053
* If resulting string fits into the given buff, the result is copied in it;
@@ -2120,9 +2109,6 @@ SQLRETURN TEST_API serialize_statement(esodbc_stmt_st *stmt, cstr_st *buff)
21202109
/* "field_multi_value_leniency": true/false */
21212110
bodylen += sizeof(JSON_KEY_MULTIVAL) - 1;
21222111
bodylen += /*false*/5;
2123-
/* "index_include_frozen": true/false */
2124-
bodylen += sizeof(JSON_KEY_IDX_FROZEN) - 1;
2125-
bodylen += /*false*/5;
21262112
/* "time_zone": "-05:45" */
21272113
bodylen += sizeof(JSON_KEY_TIMEZONE) - 1;
21282114
bodylen += tz_param.cnt;
@@ -2200,22 +2186,22 @@ SQLRETURN TEST_API serialize_statement(esodbc_stmt_st *stmt, cstr_st *buff)
22002186
/* "field_multi_value_leniency": true/false */
22012187
memcpy(body + pos, JSON_KEY_MULTIVAL, sizeof(JSON_KEY_MULTIVAL) - 1);
22022188
pos += sizeof(JSON_KEY_MULTIVAL) - 1;
2203-
pos += copy_bool_val(body + pos, dbc->mfield_lenient);
2204-
/* "index_include_frozen": true/false */
2205-
memcpy(body + pos, JSON_KEY_IDX_FROZEN,
2206-
sizeof(JSON_KEY_IDX_FROZEN) - 1);
2207-
pos += sizeof(JSON_KEY_IDX_FROZEN) - 1;
2208-
pos += copy_bool_val(body + pos, dbc->idx_inc_frozen);
2189+
if (dbc->mfield_lenient) {
2190+
memcpy(body + pos, "true", sizeof("true") - 1);
2191+
pos += sizeof("true") - 1;
2192+
} else {
2193+
memcpy(body + pos, "false", sizeof("false") - 1);
2194+
pos += sizeof("false") - 1;
2195+
}
22092196
/* "time_zone": "-05:45" */
22102197
memcpy(body + pos, JSON_KEY_TIMEZONE, sizeof(JSON_KEY_TIMEZONE) - 1);
22112198
pos += sizeof(JSON_KEY_TIMEZONE) - 1;
22122199
if (dbc->apply_tz) {
22132200
memcpy(body + pos, tz_param.str, tz_param.cnt);
22142201
pos += tz_param.cnt;
22152202
} else {
2216-
memcpy(body + pos, JSON_VAL_TIMEZONE_Z,
2217-
sizeof(JSON_VAL_TIMEZONE_Z) - 1);
2218-
pos += sizeof(JSON_VAL_TIMEZONE_Z) - 1;
2203+
memcpy(body + pos, "\"Z\"", sizeof("\"Z\"") - 1);
2204+
pos += sizeof("\"Z\"") - 1;
22192205
}
22202206

22212207
/* reset the page counter when the params change */

driver/queries.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -140,10 +140,7 @@ SQLRETURN EsSQLRowCount(_In_ SQLHSTMT StatementHandle, _Out_ SQLLEN *RowCount);
140140
# define JSON_KEY_CLT_ID ", \"client_id\": \"odbc32\"" /* n-th k. */
141141
#endif /* _WIN64 */
142142
#define JSON_KEY_MULTIVAL ", \"field_multi_value_leniency\": " /* n-th */
143-
#define JSON_KEY_IDX_FROZEN ", \"index_include_frozen\": " /* n-th */
144143
#define JSON_KEY_TIMEZONE ", \"time_zone\": " /* n-th key */
145144

146-
#define JSON_VAL_TIMEZONE_Z "\"Z\""
147-
148145

149146
#endif /* __QUERIES_H__ */

test/connected_dbc.cc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,6 @@ void ConnectedDBC::assertRequest(const char *params, const char *tz)
169169
JSON_KEY_QUERY "\"%s\""
170170
JSON_KEY_PARAMS "%s"
171171
JSON_KEY_MULTIVAL ESODBC_DEF_MFIELD_LENIENT
172-
JSON_KEY_IDX_FROZEN ESODBC_DEF_IDX_INC_FROZEN
173172
JSON_KEY_TIMEZONE "%s%s%s"
174173
JSON_KEY_VAL_MODE
175174
JSON_KEY_CLT_ID
@@ -186,7 +185,7 @@ void ConnectedDBC::assertRequest(const char *params, const char *tz)
186185
"\"", tz, "\"");
187186
} else {
188187
n = snprintf(expect, sizeof(expect), answ_templ, test_name, params,
189-
"", JSON_VAL_TIMEZONE_Z, "");
188+
"", "\"Z\"", "");
190189
}
191190
ASSERT_LT(actual.cnt, sizeof(expect));
192191
ASSERT_EQ(n, actual.cnt);

0 commit comments

Comments
 (0)