-- requiressl, krbsrvname and gsslib are omitted because they depend on
-- configure options
ALTER SERVER testserver1 OPTIONS (
- use_remote_explain 'false',
+ use_remote_estimate 'false',
fdw_startup_cost '123.456',
fdw_tuple_cost '0.123',
service 'value',
-- Now we should be able to run ANALYZE.
-- To exercise multiple code paths, we use local stats on ft1
--- and remote_explain mode on ft2.
+-- and remote-estimate mode on ft2.
ANALYZE ft1;
-ALTER FOREIGN TABLE ft2 OPTIONS (use_remote_explain 'true');
+ALTER FOREIGN TABLE ft2 OPTIONS (use_remote_estimate 'true');
-- ===================================================================
-- simple queries
-- ===================================================================
/*
* Validate option value, when we can do so without any context.
*/
- if (strcmp(def->defname, "use_remote_explain") == 0)
+ if (strcmp(def->defname, "use_remote_estimate") == 0)
{
- /* use_remote_explain accepts only boolean values */
+ /* use_remote_estimate accepts only boolean values */
(void) defGetBoolean(def);
}
else if (strcmp(def->defname, "fdw_startup_cost") == 0 ||
{"schema_name", ForeignTableRelationId, false},
{"table_name", ForeignTableRelationId, false},
{"column_name", AttributeRelationId, false},
- /* use_remote_explain is available on both server and table */
- {"use_remote_explain", ForeignServerRelationId, false},
- {"use_remote_explain", ForeignTableRelationId, false},
+ /* use_remote_estimate is available on both server and table */
+ {"use_remote_estimate", ForeignServerRelationId, false},
+ {"use_remote_estimate", ForeignTableRelationId, false},
/* cost factors */
{"fdw_startup_cost", ForeignServerRelationId, false},
{"fdw_tuple_cost", ForeignServerRelationId, false},
RelOptInfo *baserel,
Oid foreigntableid)
{
- bool use_remote_explain = false;
+ bool use_remote_estimate = false;
ListCell *lc;
PgFdwRelationInfo *fpinfo;
StringInfo sql;
{
DefElem *def = (DefElem *) lfirst(lc);
- if (strcmp(def->defname, "use_remote_explain") == 0)
+ if (strcmp(def->defname, "use_remote_estimate") == 0)
{
- use_remote_explain = defGetBoolean(def);
+ use_remote_estimate = defGetBoolean(def);
break;
}
}
{
DefElem *def = (DefElem *) lfirst(lc);
- if (strcmp(def->defname, "use_remote_explain") == 0)
+ if (strcmp(def->defname, "use_remote_estimate") == 0)
{
- use_remote_explain = defGetBoolean(def);
+ use_remote_estimate = defGetBoolean(def);
break;
}
}
appendWhereClause(sql, true, remote_conds, root);
/*
- * If the table or the server is configured to use remote EXPLAIN, connect
- * to the foreign server and execute EXPLAIN with the quals that don't
- * contain any Param nodes. Otherwise, estimate rows using whatever
+ * If the table or the server is configured to use remote estimates,
+ * connect to the foreign server and execute EXPLAIN with the quals that
+ * don't contain any Param nodes. Otherwise, estimate rows using whatever
* statistics we have locally, in a way similar to ordinary tables.
*/
- if (use_remote_explain)
+ if (use_remote_estimate)
{
RangeTblEntry *rte;
Oid userid;
-- requiressl, krbsrvname and gsslib are omitted because they depend on
-- configure options
ALTER SERVER testserver1 OPTIONS (
- use_remote_explain 'false',
+ use_remote_estimate 'false',
fdw_startup_cost '123.456',
fdw_tuple_cost '0.123',
service 'value',
-- Now we should be able to run ANALYZE.
-- To exercise multiple code paths, we use local stats on ft1
--- and remote_explain mode on ft2.
+-- and remote-estimate mode on ft2.
ANALYZE ft1;
-ALTER FOREIGN TABLE ft2 OPTIONS (use_remote_explain 'true');
+ALTER FOREIGN TABLE ft2 OPTIONS (use_remote_estimate 'true');
-- ===================================================================
-- simple queries