Open knodi opened 9 years ago
is there a specific version of postgres that this can be compiled against?
i could really use this functionality, but am getting the same errors with postgres 9.3, and ubuntu.
thanks!
aha, it looks like ExplainOnePlan
and OpernameGetCandidates
changed arguments as part of 9.4 - testing a change that could work for prior to 9.4, will let you know if successful.
change unsuccessful. may look further into it later.
is there a chance of getting this to work with 9.3 out of the box?
Hi All, Sorry for not answering earlier - I'm on the other side of the ocean :) The code currently compiles against the development version - there were added parameters which caused it to break.
Sorry for that. I moved the code from an internal GIT repo so i lost my version tags (9.2, 9.3 & 9.4) I'll try to add the required "#if" to support 9.4 & 9.3 - it's not a lot of places, so i hope i could get it out over the weekend...
disclaimer: I'm new to both PG development and git so i find it a little hard keeping track of versions plus adding new stuff in the extension - If anyone have suggestions how to best do it, I'm all ears :)
using the #if syntax, while not optimal, tends to work. i appreciate your response, and look forward to using this extension.
Thanks for any and all effort, cohenjo
Hi, I've added the necessary #if - It now works for 9.3.9, 9.4.4 and the current devel branch. I should note that internal APIs tend to change even between minor versions so it's possible that it might not work for 9.3.7 or something like this.
I'd appreciate if you could try again and tell me if it fixed the compilation issues.
compiles on 9.3.2 (the most current we have in production), but crashes:
(a whole lot of logs) ...
DEBUG: IND ADV: compare_candidates: ENTER
DEBUG: IDX_ADV: candidate compare returns: 22
DEBUG: IND ADV: compare_candidates: ENTER
DEBUG: IDX_ADV: candidate compare returns: 15
DEBUG: IND ADV: compare_candidates: ENTER
DEBUG: IDX_ADV: candidate compare returns: -1259
DEBUG: IDX_ADV: so far we have: 3
DEBUG: IND ADV: log_candidates: enter
DEBUG: IND ADV: so far: : |3| { 38883_(0), 38883_(7), 38883_(22) }
DEBUG: IDX_ADV: free current candidate lists
DEBUG: IDX_ADV: free current candidate list1
DEBUG: IDX_ADV: free current candidate list2
DEBUG: IND ADV: log_candidates: enter
DEBUG: IND ADV: merged-list: |6| { 38883_(0), 38883_(7), 38883_(22), 40142_(0), 40142_(2), 40142_(4) }
DEBUG: IND ADV: merge_candidates: EXIT
DEBUG: expand_inherited_candidates: Enter - length: 6
DEBUG: expand_inherited_candidates: inh expending
The connection to the server was lost. Attempting reset: Failed.
this was the same behavior i got when i tried myself to get it working on 9.3.2.
I'd appreciate if you could post your sql and table definition so I could debug.
unfortunately, it's a very proprietary application, so i cannot post what you request, but i will work to get you a crashing example that i can share.
Hi Jerry, Thanks, I'd appreciate if you could create a generalized SQL sample that crashes. PG Yum repository (I develop on Fedora) only holds 9.3.6 and above - I'll try to look for earlier version to see if I could spot anything on simple test cases.
Again, if you could point me in your error direction it will be helpful :) Regards,
i compiled from source - still looking, but most likely won't have a good crash case until i get back to the office tomorrow.
this is a query that causes the crash:
EXPLAIN SELECT DISTINCT ON ("trigger_key") "triggers".*
FROM "triggers"
INNER JOIN "tags" ON ("tags"."trigger_id" = "triggers"."id")
WHERE (("triggers"."application_id" = ?)
AND ("triggers"."client_id" = ?)
AND (upper(substring("triggers"."client_id", 1, 1)) = ?)
AND ("tags"."client_id" = ?)
AND (upper(substring("tags"."client_id", 1, 1)) = ?))
both the tags
and triggers
table are partitioned on the UPPER(SUBSTRING(client_id, 1, 1))
Hi, 2 more items for my ever growing todo list :)
glad to be of help :)
colin@pisces ~/pg_idx_advisor $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.2-19ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
colin@pisces ~/pg_idx_advisor $ pg_config BINDIR = /usr/lib/postgresql/9.3/bin DOCDIR = /usr/share/doc/postgresql-doc-9.3 HTMLDIR = /usr/share/doc/postgresql-doc-9.3 INCLUDEDIR = /usr/include/postgresql PKGINCLUDEDIR = /usr/include/postgresql INCLUDEDIR-SERVER = /usr/include/postgresql/9.3/server LIBDIR = /usr/lib PKGLIBDIR = /usr/lib/postgresql/9.3/lib LOCALEDIR = /usr/share/locale MANDIR = /usr/share/postgresql/9.3/man SHAREDIR = /usr/share/postgresql/9.3 SYSCONFDIR = /etc/postgresql-common PGXS = /usr/lib/postgresql/9.3/lib/pgxs/src/makefiles/pgxs.mk CONFIGURE = '--with-tcl' '--with-perl' '--with-python' '--with-pam' '--with-openssl' '--with-libxml' '--with-libxslt' '--with-tclconfig=/usr/lib/x86_64-linux-gnu/tcl8.6' '--with-includes=/usr/include/tcl8.6' 'PYTHON=/usr/bin/python' '--mandir=/usr/share/postgresql/9.3/man' '--docdir=/usr/share/doc/postgresql-doc-9.3' '--sysconfdir=/etc/postgresql-common' '--datarootdir=/usr/share/' '--datadir=/usr/share/postgresql/9.3' '--bindir=/usr/lib/postgresql/9.3/bin' '--libdir=/usr/lib/' '--libexecdir=/usr/lib/postgresql/' '--includedir=/usr/include/postgresql/' '--enable-nls' '--enable-integer-datetimes' '--enable-thread-safety' '--enable-debug' '--disable-rpath' '--with-ossp-uuid' '--with-gnu-ld' '--with-pgport=5432' '--with-system-tzdata=/usr/share/zoneinfo' 'CFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIC -pie -I/usr/include/mit-krb5 -DLINUX_OOM_SCORE_ADJ=0 -fno-omit-frame-pointer' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -L/usr/lib/mit-krb5 -L/usr/lib/x86_64-linux-gnu/mit-krb5' '--with-krb5' '--with-gssapi' '--with-ldap' 'CPPFLAGS=-D_FORTIFY_SOURCE=2' CC = gcc CPPFLAGS = -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2 -I/usr/include/tcl8.6 CFLAGS = -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIC -pie -I/usr/include/mit-krb5 -DLINUX_OOM_SCORE_ADJ=0 -fno-omit-frame-pointer -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g CFLAGS_SL = -fpic LDFLAGS = -L../../../src/common -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -L/usr/lib/mit-krb5 -L/usr/lib/x86_64-linux-gnu/mit-krb5 -Wl,--as-needed LDFLAGS_EX = LDFLAGS_SL = LIBS = -lpgport -lpgcommon -lxslt -lxml2 -lpam -lssl -lcrypto -lkrb5 -lcom_err -lgssapi_krb5 -lz -ledit -lcrypt -ldl -lm VERSION = PostgreSQL 9.3.8
colin@pisces ~/pg_idx_advisor $ make gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIC -pie -I/usr/include/mit-krb5 -DLINUX_OOM_SCORE_ADJ=0 -fno-omit-frame-pointer -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -fpic -I. -I./ -I/usr/include/postgresql/9.3/server -I/usr/include/postgresql/internal -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2 -I/usr/include/tcl8.6 -c -o src/idx_adviser.o src/idx_adviser.c src/idx_adviser.c:272:1: warning: variably modified ‘_compile_assert_array’ at file scope [enabled by default] compile_assert( ((Cost)-1) < 0 ); ^ src/idx_adviser.c: In function ‘index_adviser’: src/idx_adviser.c:362:3: error: too many arguments to function ‘OpernameGetCandidates’ for( opnosResult = OpernameGetCandidates( supop, '\0' , true); ^ In file included from src/idx_adviser.h:17:0, from src/idx_adviser.c:37: /usr/include/postgresql/9.3/server/catalog/namespace.h:78:26: note: declared here extern FuncCandidateList OpernameGetCandidates(List _names, char oprkind); ^ src/idx_adviser.c: In function ‘planner_callback’: src/idx_adviser.c:640:15: warning: variable ‘new_plan’ set but not used [-Wunused-but-set-variable] PlannedStmt new_plan; ^ src/idx_adviser.c: In function ‘ExplainOneQuery_callback’: src/idx_adviser.c:716:2: error: too many arguments to function ‘ExplainOnePlan’ ExplainOnePlan( actual_plan, into, stmt, queryString, params, &planduration); ^ In file included from src/idx_adviser.c:43:0: /usr/include/postgresql/9.3/server/commands/explain.h:76:13: note: declared here extern void ExplainOnePlan(PlannedStmt plannedstmt, IntoClause into, ^ src/idx_adviser.c:740:4: error: too many arguments to function ‘ExplainOnePlan’ ExplainOnePlan( new_plan, into, stmt, queryString, params, &planduration); ^ In file included from src/idx_adviser.c:43:0: /usr/include/postgresql/9.3/server/commands/explain.h:76:13: note: declared here extern void ExplainOnePlan(PlannedStmt plannedstmt, IntoClause into, ^ src/idx_adviser.c: In function ‘get_relation_info_callback’: src/idx_adviser.c:841:33: warning: assignment makes integer from pointer without a cast [enabled by default] info->canreturn = (bool ) palloc(sizeof(bool) * ncolumns); ^ src/idx_adviser.c:938:5: warning: implicit declaration of function ‘ChangeVarNodes’ [-Wimplicit-function-declaration] ChangeVarNodes((Node ) info->indexprs, 1, varno, 0); ^ src/idx_adviser.c:980:5: warning: passing argument 1 of ‘not_clause’ from incompatible pointer type [enabled by default] if(not_clause(opclause)) ^ In file included from src/utils.h:36:0, from src/idx_adviser.h:19, from src/idx_adviser.c:37: /usr/include/postgresql/9.3/server/optimizer/clauses.h:37:13: note: expected ‘struct Node ’ but argument is of type ‘struct OpExpr ’ extern bool not_clause(Node clause); ^ src/idx_adviser.c: In function ‘mark_used_candidates’: src/idx_adviser.c:1602:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] const bool used = (idxcd->idxoid == idxScan->indexid); ^ src/idx_adviser.c:1622:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] const bool used = (idxcd->idxoid == idxScan->indexid); ^ src/idx_adviser.c:1644:5: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] const bool used = idxcd->idxoid == bmiScan->indexid; ^ src/idx_adviser.c: In function ‘scan_query’: src/idx_adviser.c:1867:11: warning: passing argument 1 of ‘scan_query’ from incompatible pointer type [enabled by default] rangeTableStack)); ^ src/idxadviser.c:1839:14: note: expected ‘const struct Query * const’ but argument is of type ‘struct Node * const’ static List scan_query( const Query* const query, ^ src/idx_adviser.c:1895:8: warning: passing argument 1 of ‘scan_generic_node’ from incompatible pointer type [enabled by default] rangeTableStack)); ^ src/idx_adviser.c:78:14: note: expected ‘const struct Node * const’ but argument is of type ‘struct List * const’ static List* scan_generic_node( const Node* const root, ^ src/idx_adviser.c: In function ‘index_candidates_walker’: src/idx_adviser.c:2066:25: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] RelClause* rc = NULL; ^ src/idx_adviser.c:2070:25: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] char _varname = get_relid_attribute_name(rte->relid, e->varattno); ^ src/idx_adviser.c:2072:4: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] char token_str = strdup(idxadv_columns); ^ src/idx_adviser.c:2096:37: warning: passing argument 1 of ‘makePredicateClause’ from incompatible pointer type [enabled by default] rc->predicate = lappend(rc->predicate,(Expr )makePredicateClause((Expr ) root, (Const) s, (Var) f)); ^ src/idx_adviser.c:111:14: note: expected ‘struct OpExpr ’ but argument is of type ‘struct Expr ’ static Expr_ makePredicateClause(OpExpr* root,Const* constArg, Var* VarArg); ^ src/idxadviser.c:2098:37: warning: passing argument 1 of ‘makePredicateClause’ from incompatible pointer type [enabled by default] rc->predicate = lappend(rc->predicate,(Expr )makePredicateClause((Expr ) root, (Const) f, (Var) s)); ^ src/idxadviser.c:111:14: note: expected ‘struct OpExpr ’ but argument is of type ‘struct Expr ’ static Expr makePredicateClause(OpExpr* root,Const* constArg, Var* VarArg); ^ src/idxadviser.c:2110:37: warning: passing argument 1 of ‘makePredicateClause’ from incompatible pointer type [enabled by default] rc->predicate = lappend(rc->predicate,(Expr )makePredicateClause((Expr ) root, (Const) s, (Var) f)); ^ src/idx_adviser.c:111:14: note: expected ‘struct OpExpr ’ but argument is of type ‘struct Expr ’ static Expr_ makePredicateClause(OpExpr* root,Const* constArg, Var* VarArg); ^ src/idxadviser.c:2112:37: warning: passing argument 1 of ‘makePredicateClause’ from incompatible pointer type [enabled by default] rc->predicate = lappend(rc->predicate,(Expr )makePredicateClause((Expr ) root, (Const) f, (Var) s)); ^ src/idxadviser.c:111:14: note: expected ‘struct OpExpr ’ but argument is of type ‘struct Expr ’ static Expr makePredicateClause(OpExpr* root,Const* constArg, Var* VarArg); ^ src/idx_adviser.c:2156:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 7 has type ‘double’ [-Wformat=] elog( DEBUG3 , "index candidate - here %d %d %d %d %d",RelationNeedsWAL(base_rel),!IsSystemRelation(base_rel),expr->varattno,base_rel->rd_rel->relpages,base_rel->rd_rel->reltuples); ^ src/idx_adviser.c:2288:6: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] char _varname = get_attname(rte->relid, ((Var )func_var)->varattno); ^ src/idx_adviser.c:2290:7: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘char ’ [-Wformat=] elog(ERROR, "cache lookup failed for attribute %d of relation %u",varname, rte->relid); ^ src/idx_adviser.c:2218:16: warning: unused variable ‘ind_elm’ [-Wunused-variable] IndexElem *ind_elm = palloc0(sizeof(IndexElem)); ^ src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Invalid’ not handled in switch [-Wswitch] switch( nodeTag( root ) ) ^ src/idx_adviser.c:1996:2: warning: enumeration value ‘T_IndexInfo’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ExprContext’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ProjectionInfo’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_JunkFilter’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ResultRelInfo’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_EState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_TupleTableSlot’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Plan’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Result’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ModifyTable’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Append’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_MergeAppend’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_RecursiveUnion’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_BitmapAnd’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_BitmapOr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Scan’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_SeqScan’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_IndexScan’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_IndexOnlyScan’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_BitmapIndexScan’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_BitmapHeapScan’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_TidScan’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_SubqueryScan’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_FunctionScan’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ValuesScan’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CteScan’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_WorkTableScan’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ForeignScan’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Join’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_NestLoop’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_MergeJoin’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_HashJoin’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Material’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Sort’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Group’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Agg’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_WindowAgg’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Unique’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Hash’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_SetOp’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_LockRows’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Limit’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_NestLoopParam’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_PlanRowMark’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_PlanInvalItem’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_PlanState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ResultState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ModifyTableState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AppendState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_MergeAppendState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_RecursiveUnionState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_BitmapAndState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_BitmapOrState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ScanState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_SeqScanState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_IndexScanState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_IndexOnlyScanState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_BitmapIndexScanState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_BitmapHeapScanState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_TidScanState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_SubqueryScanState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_FunctionScanState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ValuesScanState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CteScanState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_WorkTableScanState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ForeignScanState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_JoinState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_NestLoopState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_MergeJoinState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_HashJoinState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_MaterialState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_SortState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_GroupState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AggState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_WindowAggState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_UniqueState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_HashState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_SetOpState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_LockRowsState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_LimitState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Alias’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_RangeVar’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Expr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Const’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Param’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Aggref’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_WindowFunc’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ArrayRef’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_NamedArgExpr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_DistinctExpr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_NullIfExpr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ScalarArrayOpExpr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_SubLink’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_SubPlan’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlternativeSubPlan’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_FieldSelect’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_FieldStore’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_RelabelType’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CoerceViaIO’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ArrayCoerceExpr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ConvertRowtypeExpr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CollateExpr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CaseExpr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CaseWhen’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CaseTestExpr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ArrayExpr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_RowExpr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_RowCompareExpr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CoalesceExpr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_MinMaxExpr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_XmlExpr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_NullTest’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_BooleanTest’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CoerceToDomain’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CoerceToDomainValue’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_SetToDefault’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CurrentOfExpr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_TargetEntry’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_RangeTblRef’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_JoinExpr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_FromExpr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_IntoClause’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ExprState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_GenericExprState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_WholeRowVarExprState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AggrefExprState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_WindowFuncExprState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ArrayRefExprState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_FuncExprState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ScalarArrayOpExprState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_BoolExprState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_SubPlanState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlternativeSubPlanState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_FieldSelectState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_FieldStoreState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CoerceViaIOState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ArrayCoerceExprState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ConvertRowtypeExprState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CaseExprState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CaseWhenState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ArrayExprState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_RowExprState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_RowCompareExprState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CoalesceExprState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_MinMaxExprState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_XmlExprState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_NullTestState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CoerceToDomainState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_DomainConstraintState’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_PlannerInfo’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_PlannerGlobal’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_RelOptInfo’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_IndexOptInfo’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ParamPathInfo’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Path’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_IndexPath’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_BitmapHeapPath’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_BitmapAndPath’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_BitmapOrPath’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_NestPath’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_MergePath’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_HashPath’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_TidPath’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ForeignPath’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AppendPath’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_MergeAppendPath’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ResultPath’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_MaterialPath’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_UniquePath’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_EquivalenceClass’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_EquivalenceMember’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_PathKey’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_RestrictInfo’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_PlaceHolderVar’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_SpecialJoinInfo’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_LateralJoinInfo’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AppendRelInfo’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_PlaceHolderInfo’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_MinMaxAggInfo’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_PlannerParamItem’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_MemoryContext’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AllocSetContext’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Value’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Integer’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Float’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_String’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_BitString’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Null’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_List’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_IntList’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_OidList’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_PlannedStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_InsertStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_DeleteStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_UpdateStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_SelectStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterTableStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterTableCmd’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterDomainStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_SetOperationStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_GrantStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_GrantRoleStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterDefaultPrivilegesStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ClosePortalStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ClusterStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CopyStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreateStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_DefineStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_DropStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_TruncateStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CommentStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_FetchStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_IndexStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreateFunctionStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterFunctionStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_DoStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_RenameStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_RuleStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_NotifyStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ListenStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_UnlistenStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_TransactionStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ViewStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_LoadStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreateDomainStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreatedbStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_DropdbStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_VacuumStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ExplainStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreateTableAsStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreateSeqStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterSeqStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_VariableSetStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_VariableShowStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_DiscardStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreateTrigStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreatePLangStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreateRoleStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterRoleStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_DropRoleStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_LockStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ConstraintsSetStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ReindexStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CheckPointStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreateSchemaStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterDatabaseStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterDatabaseSetStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterRoleSetStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreateConversionStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreateCastStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreateOpClassStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreateOpFamilyStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterOpFamilyStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_PrepareStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ExecuteStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_DeallocateStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_DeclareCursorStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreateTableSpaceStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_DropTableSpaceStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterObjectSchemaStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterOwnerStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_DropOwnedStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ReassignOwnedStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CompositeTypeStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreateEnumStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreateRangeStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterEnumStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterTSDictionaryStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterTSConfigurationStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreateFdwStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterFdwStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreateForeignServerStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterForeignServerStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreateUserMappingStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterUserMappingStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_DropUserMappingStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterTableSpaceOptionsStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_SecLabelStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreateForeignTableStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreateExtensionStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterExtensionStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterExtensionContentsStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreateEventTrigStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AlterEventTrigStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_RefreshMatViewStmt’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_A_Expr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ColumnRef’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ParamRef’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_A_Const’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_FuncCall’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_A_Star’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_A_Indices’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_A_Indirection’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_A_ArrayExpr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ResTarget’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_TypeCast’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CollateClause’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_SortBy’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_WindowDef’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_RangeSubselect’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_RangeFunction’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_TypeName’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ColumnDef’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_IndexElem’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_Constraint’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_DefElem’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_RangeTblEntry’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_SortGroupClause’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_WindowClause’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_PrivGrantee’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_FuncWithArgs’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_AccessPriv’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CreateOpClassItem’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_TableLikeClause’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_FunctionParameter’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_LockingClause’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_RowMarkClause’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_XmlSerialize’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_WithClause’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_CommonTableExpr’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_IdentifySystemCmd’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_BaseBackupCmd’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_StartReplicationCmd’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_TimeLineHistoryCmd’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_TriggerData’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_EventTriggerData’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_ReturnSetInfo’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_WindowObjectData’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_TIDBitmap’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_InlineCodeBlock’ not handled in switch [-Wswitch] src/idx_adviser.c:1996:2: warning: enumeration value ‘T_FdwRoutine’ not handled in switch [-Wswitch] src/idx_adviser.c: In function ‘scan_generic_node’: src/idx_adviser.c:2379:34: warning: passing argument 1 of ‘query_or_expression_tree_walker’ discards ‘const’ qualifier from pointer target type [enabled by default] 0); ^ In file included from src/utils.h:35:0, from src/idx_adviser.h:19, from src/idx_adviser.c:37: /usr/include/postgresql/9.3/server/nodes/nodeFuncs.h:57:13: note: expected ‘struct Node ’ but argument is of type ‘const struct Node * const’ extern bool query_or_expression_tree_walker(Node node, bool (_walker) (), ^ src/idx_adviser.c: In function ‘merge_candidates’: src/idx_adviser.c:2516:12: warning: variable ‘prev2’ set but not used [-Wunused-but-set-variable] ListCell _prev2; ^ src/idx_adviser.c: In function ‘expand_inherited_candidates’: src/idx_adviser.c:2631:3: warning: implicit declaration of function ‘find_inheritance_children’ [-Wimplicit-function-declaration] inhOIDs = find_inheritance_children(cand->reloid, lockmode); ^ src/idx_adviser.c:2631:11: warning: assignment makes pointer from integer without a cast [enabled by default] inhOIDs = find_inheritance_children(cand->reloid, lockmode); ^ src/idx_adviser.c: At top level: src/idx_adviser.c:2694:13: warning: ‘expand_inherited_rel_clauses’ was used with no prototype before its definition [-Wmissing-prototypes] static void expand_inherited_rel_clauses() ^ src/idx_adviser.c: In function ‘expand_inherited_rel_clauses’: src/idx_adviser.c:2710:11: warning: assignment makes pointer from integer without a cast [enabled by default] inhOIDs = find_inheritance_children(cand->reloid, lockmode); ^ src/idx_adviser.c: In function ‘create_virtual_indexes’: src/idx_adviser.c:3046:48: warning: pointer/integer type mismatch in conditional expression [enabled by default] idxadv_text_pattern_ops?op_class[i] = 10049:NULL; ^ src/idx_adviser.c:3060:4: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘char ’ [-Wformat=] elog( DEBUG3, "col: %d, attrno: %d, opclass: %d", cand->varname[i],cand->varattno[i],op_class[i]); ^ src/idx_adviser.c:3081:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] Relation relation = heap_open( cand->reloid, AccessShareLock ); ^ src/idx_adviser.c: In function ‘makePredicateClause’: src/idx_adviser.c:3281:28: warning: passing argument 4 of ‘make_opclause’ from incompatible pointer type [enabled by default] root->opcollid, root->inputcollid); ^ In file included from src/utils.h:36:0, from src/idx_adviser.h:19, from src/idx_adviser.c:37: /usr/include/postgresql/9.3/server/optimizer/clauses.h:31:14: note: expected ‘struct Expr ’ but argument is of type ‘struct Var ’ extern Expr make_opclause(Oid opno, Oid opresulttype, bool opretset, ^ src/idx_adviser.c:3281:28: warning: passing argument 5 of ‘make_opclause’ from incompatible pointer type [enabled by default] root->opcollid, root->inputcollid); ^ In file included from src/utils.h:36:0, from src/idx_adviser.h:19, from src/idx_adviser.c:37: /usr/include/postgresql/9.3/server/optimizer/clauses.h:31:14: note: expected ‘struct Expr ’ but argument is of type ‘struct Const ’ extern Expr make_opclause(Oid opno, Oid opresulttype, bool opretset, ^ src/idx_adviser.c: In function ‘build_index_tlist’: src/idx_adviser.c:3320:33: warning: implicit declaration of function ‘SystemAttributeDefinition’ [-Wimplicit-function-declaration] att_tup = SystemAttributeDefinition(indexkey, ^ src/idx_adviser.c:3320:41: warning: assignment makes pointer from integer without a cast [enabled by default] att_tup = SystemAttributeDefinition(indexkey, ^ make: _* [src/idx_adviser.o] Error 1 colin@pisces ~/pg_idx_advisor $