OSDN Git Service

ParseScanMethodをPostgreSQL9.1に対応した。
[pghintplan/pg_hint_plan.git] / pg_hint_plan.c
index 12f88fb..b398018 100644 (file)
@@ -1033,8 +1033,10 @@ ParseScanMethod(PlanHint *plan, Query *parse, char *keyword, const char *str)
         * する。
         */
        if (strcmp(keyword, HINT_INDEXSCAN) == 0 ||
-               strcmp(keyword, HINT_BITMAPSCAN) == 0 ||
-               strcmp(keyword, HINT_INDEXONLYSCAN) == 0)
+#if PG_VERSION_NUM >= 90200
+               strcmp(keyword, HINT_INDEXONLYSCAN) == 0 ||
+#endif
+               strcmp(keyword, HINT_BITMAPSCAN) == 0)
        {
                skip_space(str);
                while (*str != ')' && *str != '\0')
@@ -1094,13 +1096,13 @@ ParseScanMethod(PlanHint *plan, Query *parse, char *keyword, const char *str)
        if (plan->nscan_hints == 0)
        {
                plan->max_scan_hints = HINT_ARRAY_DEFAULT_INITSIZE;
-               plan->scan_hints = palloc(sizeof(JoinHint *) * plan->max_scan_hints);
+               plan->scan_hints = palloc(sizeof(ScanHint *) * plan->max_scan_hints);
        }
        else if (plan->nscan_hints == plan->max_scan_hints)
        {
                plan->max_scan_hints *= 2;
                plan->scan_hints = repalloc(plan->scan_hints,
-                                                               sizeof(JoinHint *) * plan->max_scan_hints);
+                                                               sizeof(ScanHint *) * plan->max_scan_hints);
        }
        plan->scan_hints[plan->nscan_hints] = hint;
        plan->nscan_hints++;