src/backend/cdb/cdbpath.c (40 lines): - line 159: * CBDB_PARALLEL_FIXME: - line 303: /* GPDB_96_MERGE_FIXME: When is a Motion path parallel-safe? I tried - line 355: /* GPDB_96_MERGE_FIXME: When is a Motion path parallel-safe? I tried - line 504: * FIXME: HashedOJ? - line 611: /* GPDB_96_MERGE_FIXME: When is a Motion path parallel-safe? I tried - line 618: * CBDB_PARALLEL_FIXME: - line 622: * TODO: Set parallel_safe to true for all locus. - line 685: /* GPDB_96_MERGE_FIXME: When is a Motion path parallel-safe? I tried - line 725: /* GPDB_96_MERGE_FIXME: When is a Motion path parallel-safe? I tried - line 768: /* GPDB_96_MERGE_FIXME: When is a Motion path parallel-safe? I tried - line 1571: * CBDB_FIXME: Consider Replicated locus. - line 1710: * TODO: Can this case be handled without introducing a bottleneck? - line 1775: * FIXME: do we need test other's movable? - line 1854: * FIXME: do we need to test inner's movable? - line 1874: * FIXME: do we need to test outer's movable? - line 1933: * FIXME: do we need to test other's movable? - line 1963: * FIXME: do we need to test movable? - line 1993: * FIXME: do we need to test movable? - line 2212: * TODO: how about distribute them both to ALL segments? - line 2233: * motion. Replicate one rel if possible. MPP TODO: Consider number of - line 2380: /* CBDB_PARALLEL_FIXME: is it possible to redistribute both ?*/ - line 2523: /* FIXME: also do this for other targetPolicyType? */ - line 2524: /* FIXME: also do this for all the subplans */ - line 3006: /* CBDB_PARALLEL_FIXME: reconsider the meaning of parallel_safe in GP parallel? */ - line 3065: /* CBDB_PARALLEL_FIXME: this may cause parallel CTE, not sure if it's right */ - line 3137: /* CBDB_PARALLEL_FIXME: Consider gather from SegmentGeneralWorkers. */ - line 3194: /* CBDB_PARALLEL_FIXME: Consider gather from SegmentGeneralWorkers. */ - line 3345: * CBDB_PARALLEL_FIXME: The inner path will be duplicately processed. - line 3426: /* CBDB_PARALLEL_FIXME: Should move to ReplicatedWorkers if parallel_aware */ - line 3452: /* CBDB_PARALLEL_FIXME: Should move to ReplicatedWorkers if parallel_aware */ - line 3488: * CBDB_PARALLEL_FIXME: - line 3503: /* CBDB_PARALLEL_FIXME: redistribute to partitioned? */ - line 3523: * CBDB_PARALLEL_FIXME: - line 3540: /* CBDB_PARALLEL_FIXME: Motion(N) from one segment to M Partitioned? */ - line 3555: * CBDB_PARALLEL_FIXME: - line 3594: /* CBDB_PARALLEL_FIXME: make ReplicatedWorkers when parallel-aware */ - line 3621: /* CBDB_PARALLEL_FIXME: make ReplicatedWorkers when parallel-aware */ - line 3665: /* CBDB_PARALLEL_FIXME: should we swap if parallel_aware? */ - line 3783: * TODO: how about distribute them both to ALL segments? - line 3804: * motion. Replicate one rel if possible. MPP TODO: Consider number of src/backend/gpopt/translate/CTranslatorDXLToScalar.cpp (24 lines): - line 262: // GPDB_91_MERGE_FIXME: collation - line 322: // GPDB_91_MERGE_FIXME: collation - line 376: // GPDB_91_MERGE_FIXME: collation - line 426: // GPDB_91_MERGE_FIXME: collation - line 456: // GPDB_91_MERGE_FIXME: collation - line 513: // GPDB_91_MERGE_FIXME: collation - line 555: // GPDB_91_MERGE_FIXME: collation - line 729: // GPDB_91_MERGE_FIXME: collation - line 771: // GPDB_91_MERGE_FIXME: collation - line 804: // GPDB_91_MERGE_FIXME: collation - line 1128: // TODO: eliminate param, it's not *really* used, and it's (short-term) leaked - line 1172: // GPDB_91_MERGE_FIXME: collation - line 1225: // GPDB_91_MERGE_FIXME: collation - line 1403: // GPDB_91_MERGE_FIXME: collation - line 1433: // GPDB_91_MERGE_FIXME: collation - line 1448: // GPDB_91_MERGE_FIXME: collation - line 1499: // GPDB_91_MERGE_FIXME: collation - line 1517: // GPDB_91_MERGE_FIXME: collation - line 1601: // GPDB_91_MERGE_FIXME: collation - line 1631: // GPDB_91_MERGE_FIXME: collation - line 1952: // GPDB_91_MERGE_FIXME: collation - line 2065: // GPDB_91_MERGE_FIXME: collation - line 2092: // GPDB_91_MERGE_FIXME: collation - line 2142: // GPDB_91_MERGE_FIXME: collation contrib/interconnect/proxy/ic_proxy_client.c (13 lines): - line 74: * TODO: a client only has one target, it's either a peer, or a loopback - line 127: /* TODO: statistics */ - line 272: * TODO: we believe the old one is shutting down, but what if not? - line 558: /* TODO: Will this really happen? */ - line 1101: * TODO: Fail to send the RESUME, should we retry instead of shutting - line 1200: /* FIXME: also save the callback */ - line 1209: /* TODO: callback? */ - line 1221: /* TODO: callback? */ - line 1232: /* FIXME: also save the callback */ - line 1274: /* TODO: drop out-of-date pkt directly */ - line 1275: /* TODO: verify the pkt is to client */ - line 1295: /* TODO: verify the pkts is to client */ - line 1373: /* FIXME: callback */ src/backend/optimizer/path/allpaths.c (12 lines): - line 66: // TODO: these planner gucs need to be refactored into PlannerConfig. - line 526: /* CBDB_PARALLEL_FIXME: Need to clear partial_pathlist before we enable OuterQuery locus in paralle mode */ - line 656: * CBDB_PARALLEL_FIXME: - line 794: /* CBDB_PARALLEL_FIXME: enable parallel outer query? */ - line 924: * CBDB_PARALLEL_FIXME: GPDB don't allow parallelism for relations that are system catalogs. - line 983: /* GPDB_96_MERGE_FIXME: other than the function itself, I guess this is like RTE_SUBQUERY... */ - line 1095: /* CBDB_PARALLEL_FIXME: update locus.parallel_workers? */ - line 1695: * CBDB_PARALLEL_FIXME: can't use parallel append if subpath - line 1796: * CBDB_PARALLEL_FIXME: it still cannot be opened after we deal with append. - line 1821: * CBDB_PARALLEL_FIXME: it still cannot be opened after we deal with append. - line 3735: /* CBDB_PARALLEL_FIXME: enable parallel outer query? */ - line 3856: /* CBDB_PARALLEL_FIXME: enable parallel outer query? */ src/backend/optimizer/util/pathnode.c (12 lines): - line 654: /* GPDB_13_MERGE_FIXME: With enable_seqscan as OFF, - line 1406: * CBDB_PARALLEL_FIXME: it still cannot be opened after we deal with append. - line 1812: * CBDB_PARALLEL_FIXME: The following three locus are not considering parallel for now. - line 1819: /* CBDB_PARALLEL_FIXME: Is there any chance replicated workers exist in append subpath? */ - line 1971: * CDB TODO: When the scans are not all partitioned alike, and the - line 2150: * CBDB_PARALLEL_FIXME: - line 3425: /* CBDB_PARALLEL_FIXME: Is it correct to set parallel workers here? */ - line 3536: numsegments = getgpsegmentCount(); /* FIXME */ - line 4134: * GPDB_92_MERGE_FIXME: Should we keep the pathkeys_contained_in calls? - line 4350: * CBDB_PARALLEL_FIXME: - line 4490: * CBDB_PARALLEL_FIXME: - line 6015: * GPDB_90_MERGE_FIXME: I've hacked a basic implementation of the above for src/backend/gpopt/translate/CTranslatorQueryToDXL.cpp (12 lines): - line 150: // GPDB_94_MERGE_FIXME: WITH CHECK OPTION views are not supported yet. - line 319: // GPDB_91_MERGE_FIXME: collation - line 409: // GPDB_92_MERGE_FIXME: CTAS is a UTILITY statement after upstream - line 1193: // CBDB_MERGE_FIXME: Support DML operations on partitioned tables - line 1196: // GPDB_12_MERGE_FIXME: Support DML operations on partitioned tables - line 1283: // CBDB_MERGE_FIXME: Support DML operations on partitioned tables - line 1286: // GPDB_12_MERGE_FIXME: Support DML operations on partitioned tables - line 3824: * GPDB_94_MERGE_FIXME: RangeTblEntry for functions can now contain multiple function calls. - line 3947: // TODO: Sept 09 2013, remove temporary fix (revert exception to assert) to avoid crash during algebrization - line 4219: // TODO: Remove is_grouping_col from this check once const projections in - line 4302: // TODO: Dec 28, 2012; figure out column's name - line 4406: // FIXME: The following assert is wrong for its semantics that may src/backend/commands/vacuum.c (10 lines): - line 1339: * TODO: We should only set the threshold if we are pruning on the - line 1855: /* GPDB_14_MERGE_FIXME: see comments in vac_update_datfrozenxid */ - line 2044: * Cherry-pick from GPDB FIXME: is it right for PG14? - line 2392: // FIXME: This fault point was roughly here before. It's kept here to keep - line 2400: // FIXME: what's the right level for AO tables? - line 2710: /* TODO: vacuum directory table's temp files */ - line 2734: * FIXME: for auto vacuum process on segments, it's in utility mode, - line 2840: * SINGLENODE_FIXME: - line 3186: /* GPDB_14_MERGE_FIXME: skip_toast is replaced by process_toast, need to check */ - line 3363: * CBDB_PARALLEL_FIXME: This is very hacky! src/backend/storage/ipc/procarray.c (10 lines): - line 1793: * GPDB_14_MERGE_FIXME: - line 1884: * GPDB_14_MERGE_FIXME: - line 2222: /* GPDB_14_MERGE_FIXME: don't change catalog_xmin*/ - line 2850: * GPDB_14_MERGE_FIXME: - line 2961: * GPDB_14_MERGE_FIXME: - line 3077: * GPDB_14_MERGE_FIXME: we re-rank the check order: - line 3089: * GPDB_14_MERGE_FIXME: - line 3094: * TODO: Maintain a xmins array in ProcGlobal for performance? - line 3254: * GPDB_14_MERGE_FIXME: use globalxmin to compute Globals. - line 3424: * GPDB_14_MERGE_FIXME: don't ignore LAZY VACUUM src/backend/gporca/libnaucrates/src/statistics/CHistogram.cpp (10 lines): - line 103: // FIXME: These assertions are sometimes hit and is indicitive of a bug, but - line 681: // TODO: legacy code, apply the Ramakrishnan and Gehrke method again on the entire table, - line 776: // TODO: 04/14/2012 : LASJ derivation is pretty aggressive. - line 792: // TODO: , June 6 2014, we currently only support join histogram computation - line 873: // TODO: Feb 24 2014, We currently only support creation of histogram for equi join - line 887: // TODO: , June 6 2014, we currently only support join histogram computation - line 1414: // TODO: 11/22/2013 - currently the NDV of a histogram could be 0 or a decimal number. - line 1633: // FIXME: This assertion is sometimes hit and is indicitive of a bug, but - line 1747: // FIXME: This assertion is sometimes hit and is indicitive of a bug, but - line 1763: // FIXME: the desired_num_buckets handling is broken for singleton buckets src/backend/tsearch/ts_locale.c (10 lines): - line 52: Oid collation = DEFAULT_COLLATION_OID; /* TODO */ - line 53: pg_locale_t mylocale = 0; /* TODO */ - line 68: Oid collation = DEFAULT_COLLATION_OID; /* TODO */ - line 69: pg_locale_t mylocale = 0; /* TODO */ - line 84: Oid collation = DEFAULT_COLLATION_OID; /* TODO */ - line 85: pg_locale_t mylocale = 0; /* TODO */ - line 100: Oid collation = DEFAULT_COLLATION_OID; /* TODO */ - line 101: pg_locale_t mylocale = 0; /* TODO */ - line 271: Oid collation = DEFAULT_COLLATION_OID; /* TODO */ - line 272: pg_locale_t mylocale = 0; /* TODO */ contrib/interconnect/proxy/ic_proxy_peer.c (9 lines): - line 56: * TODO: not using a fixed length array. - line 201: * FIXME: is it possible for a new peer to come before the legacy one - line 234: /* TODO: verify that it's really a placeholder */ - line 408: * TODO: if a peer disconnected, should we also disconnect all the relative - line 558: /* TODO: verify that old dbid and content are both set or invalid */ - line 667: * TODO: as we can't draw a clear line between handshake and data, it - line 811: /* TODO: increase ic_proxy_peer_contents[peer->content] */ - line 917: * TODO: it's better to separate the peer messages from the client messages - line 965: /* TODO: can we pass the delay directly? */ src/backend/gpopt/translate/CTranslatorDXLToPlStmt.cpp (9 lines): - line 1115: // FIXME: Remove this translation from BoolExpr to NullTest when ORCA gets rid of - line 1235: // GPDB_92_MERGE_FIXME: helluva hack - line 1708: // GPDB_91_MERGE_FIXME: collation - line 1824: // GPDB_91_MERGE_FIXME: collation - line 1844: // GPDB_91_MERGE_FIXME: collation - line 1925: // GPDB_91_MERGE_FIXME: collation - line 2816: * GPDB_14_MERGE_FIXME: TODO Deduplicate aggregates and transition functions in orca - line 4850: // GPDB_14_MERGE_FIXME: fix split update and missing partColsUpdated - line 6145: // TODO: Oct 29, 2012; see if entry already exists in the target list src/backend/cdb/cdbgroupingpaths.c (8 lines): - line 499: * GPDB_14_MERGE_FIXME: We have done some copy job in - line 1409: ctx->agg_partial_costs, /* FIXME */ - line 1520: ctx->agg_partial_costs, /* FIXME */ - line 1556: ctx->agg_partial_costs, /* FIXME */ - line 1625: ctx->agg_partial_costs, /* FIXME */ - line 1640: ctx->agg_partial_costs, /* FIXME */ - line 1678: ctx->agg_partial_costs, /* FIXME */ - line 1693: ctx->agg_partial_costs, /* FIXME */ src/backend/optimizer/plan/planner.c (8 lines): - line 509: * SINGLENODE_FIXME: We'll enable parallel in singlenode mode later. - line 589: * CBDB_PARALLEL_FIXME: - line 2529: * CBDB_PARALLEL_FIXME: should keep query_level > 1 in GPDB? - line 2557: /* CBDB_PARALLEL_FIXME: support parallel SCATTER BY? */ - line 4661: // FIXME: should we divide dNumHashGroups by numsegments? - line 5141: /* CBDB_PARALLEL_FIXME: should we consider parallel in distinct path? */ - line 5185: /* CBDB_PARALLEL_FIXME: should we consider parallel in distinct path? */ - line 5234: /* CBDB_PARALLEL_FIXME: should we consider parallel in distinct path? */ src/backend/commands/explain.c (7 lines): - line 551: * GPDB_92_MERGE_FIXME: it really should be an optimizer's responsibility - line 732: // GPDB_14_MERGE_FIXME: fix intoClause in optimizer - line 2266: /* GPDB_90_MERGE_FIXME: In GPDB, these are printed differently. But does that work - line 2667: // TODO: Maybe add show_foreignscan_info here? We'd need to populate the planstate - line 2759: /* TODO: Partitioning and ordering information */ - line 3485: * GPDB_90_MERGE_FIXME: handle rollup times printing - line 3621: * GPDB_90_MERGE_FIXME: The sort statistics are stored quite differently from src/backend/commands/copyfrom.c (7 lines): - line 181: * GPDB_114_MERGE_FIXME: last file of copy_from_dispatch_error has changed. - line 1090: /* FIXME: - line 1543: /* GPDB_14_MERGE_FIXME: Ret value process. */ - line 2011: * GPDB_12_MERGE_FIXME: We still have to perform the initialization - line 2455: * GPDB_12_MERGE_FIXME: We still have to perform the finishment - line 2994: /* GPDB_14_MERGE_FIXME: Ret value process. */ - line 4156: * GPDB_14_MERGE_FIXME: gpcontrib/gpmapreduce/src/mapred.c (6 lines): - line 1501: /* FIXME: non-yaml reducers */ - line 1797: /* FIXME: Lookup function in database */ - line 1830: * FIXME: deal with non-yaml map functions - line 1832: * FIXME: deal with KEY specifications - line 3564: XASSERT(finalizer); /* FIXME */ - line 3904: break; /* FIXME */ src/backend/cdb/cdbllize.c (5 lines): - line 170: * CBDB_PARALLEL_FIXME: Is HashedWorkers OK? - line 312: * TODO: This only handles a few cases. For example, INSERT INTO SELECT ... - line 809: /* CBDB_PARALLEL_FIXME: enable_material && */ - line 1008: // FIXME: Isn't it pointless to broadcast if it's already replicated? - line 1613: /* CBDB_PARALLEL_FIXME: should consider parallel_workers for parallel cursor? */ src/backend/executor/nodeRecursiveunion.c (5 lines): - line 95: * RECURSIVE_CTE_FIXME: It suppose plan->numCols should be 0 if we don't - line 151: * RECURSIVE_CTE_FIXME: It suppose plan->numCols should be 0 if we don't - line 215: * RECURSIVE_CTE_FIXME: It suppose plan->numCols should be 0 if we don't - line 270: * RECURSIVE_CTE_FIXME: It suppose plan->numCols should be 0 if we don't - line 346: * RECURSIVE_CTE_FIXME: It suppose plan->numCols should be 0 if we don't src/backend/executor/execMain.c (5 lines): - line 565: * TODO: eliminate aliens even on master, if not EXPLAIN ANALYZE - line 1961: /* CBDB_PARALLEL_FIXME: Is it necessary to save and recover this? */ - line 1965: /* CBDB_PARALLEL_FIXME: test whether mpp parallel style exists for subplan case */ - line 1968: /* CBDB_PARALLEL_FIXME: update TotalParallelWorkerNumberOfSlice for subplan, could it be possible? */ - line 2133: * GPDB_91_MERGE_FIXME: In Cloudberry, views are treated as non src/backend/commands/analyze.c (5 lines): - line 54: * TODO: explain how this works. - line 1063: * GPDB_92_MERGE_FIXME: In postgres it is sufficient to check the number of - line 1691: * GPDB_12_MERGE_FIXME: BlockNumber is uint32 and Number of tuples is uint64. - line 1722: * GPDB_14_MERGE_FIXME: pre-fetching is introduced in PG14. - line 1921: * GPDB_12_MERGE_FIXME: For AO/AOCO tables, blocknumber does not have a src/backend/optimizer/plan/createplan.c (5 lines): - line 3133: * GPDB_14_MERGE_FIXME: subpaths is removed from ModifyTablePath - line 3933: * FIXME: - line 5814: /* CBDB_PARALLEL_FIXME: - line 6913: /* FIXME: fix costing */ - line 8285: plan->qual = NIL; /* TODO */ gpMgmt/sbin/gpsegrecovery.py (5 lines): - line 22: # FIXME test for this cmdstr. also what should this cmdstr be ? - line 26: #FIXME this logger has to come after the init and is duplicated in all the 4 classes - line 44: except Exception as e: #TODO should this be ExecutionError? - line 50: # GPDB_12_MERGE_FIXME could we check it before? or let - line 108: #FIXME we may not need this class src/backend/executor/execUtils.c (4 lines): - line 1608: /* CBDB_PARALLEL_FIXME: QD process should never be parallel, do we need to plus factor? */ - line 1636: /* CBDB_PARALLEL_FIXME: QD parallel is disabled */ - line 1642: * CBDB_PARALLEL_FIXME: - line 2505: * FIXME: Sometimes the planner produces a plan with unused SubPlans, which src/backend/commands/copyto.c (4 lines): - line 406: /* GPDB_14_MERGE_FIXME: Ret value process. */ - line 1148: * DECLARE CURSOR and PREPARE.) XXX FIXME someday. - line 1476: /* GPDB_14_MERGE_FIXME: Ret value process. */ - line 2389: /* GPDB_14_MERGE_FIXME: Ret value process. */ src/backend/commands/matview.c (4 lines): - line 414: /* MATERIALIZED_VIEW_FIXME: Refresh MatView is not MPP-fied. */ - line 2226: CBDB_PG_15_FIXME: Here, we do not use the 4th argument of this function. - line 2994: /* CBDB_IVM_FIXME CBDB does not support multiple-write CTE. Revert to original - line 3024: /* CBDB_IVM_FIXME: use tuplestore to replace temp table. */ src/backend/replication/logical/snapbuild.c (4 lines): - line 235: * TODO: It's unclear whether that reasoning has much merit. Every - line 874: * TODO: It might make sense to keep the array sorted here instead of - line 897: /* TODO: Neater algorithm than just copying and iterating? */ - line 1637: * TODO: Do the fsync() via checkpoints/restartpoints, doing it here has src/include/nodes/pathnodes.h (4 lines): - line 81: * GPDB_15_MERGE_FIXME: upstream has a type UPPERREL_PARTIAL_DISTINCT, - line 84: * GPDB_14_MERGE_FIXME: upstream has a type UPPERREL_PARTIAL_GROUP_AGG, - line 483: * GPDB_13_MERGE_FIXME: this is currently used as a stack with - line 2921: * TODO Rename, perhaps to GroupedTargetEntry? (Also rename the variables of src/interfaces/ecpg/compatlib/informix.c (4 lines): - line 391: * TODO: have to take care of len here and create exponential notation if - line 530: /* TODO: take care of DBCENTURY environment variable */ - line 603: /* TODO: rewrite to Informix error codes */ - line 610: /* TODO: other Informix error codes missing */ src/backend/tcop/postgres.c (4 lines): - line 1261: * TODO need to log SELECT INTO as DDL - line 5673: elog(DEBUG1, "Message type %c received by from libpq, len = %d", firstchar, input_message.len); /* TODO: Remove this */ - line 5745: elog(DEBUG1, "Message type %c received by from libpq, len = %d", firstchar, input_message.len); /* TODO: Remove this */ - line 5897: elog(DEBUG1, "Message type %c received by from libpq, len = %d", firstchar, input_message.len); /* TODO: Remove this */ src/backend/utils/adt/xml.c (4 lines): - line 510: * TODO: xmlconcat needs to merge the notations and unparsed entities - line 945: * TODO: xmlChar is utf8-char, make proper tuning (initdb with enc!=utf8 and - line 1521: * TODO maybe libxml2's xmlreader is better? (do not construct DOM, - line 2653: /* FIXME: better targets */ src/backend/cdb/cdbsubselect.c (4 lines): - line 848: * TODO: improve this to keep old names around - line 1112: * CBDB_FIXME: this is more strict. - line 1253: * TODO: make this work for values scan someday. - line 1261: * GPDB_84_MERGE_FIXME: Confirm if we need to do special src/backend/commands/copy.c (4 lines): - line 87: /* GPDB_91_MERGE_FIXME: passing through a global variable like this is ugly */ - line 382: * GPDB_91_MERGE_FIXME: is it possible to get to this point in the code - line 470: * GPDB_91_MERGE_FIXME: ExecutorStart() is called in BeginCopyTo, - line 1172: * GPDB_91_MERGE_FIXME: SREH handling seems to be handled in a different src/backend/gporca/libnaucrates/src/statistics/CBucket.cpp (4 lines): - line 819: // TODO: , May 1 2013, distance function for data types such as bpchar/varchar - line 1323: // FIXME: These asserts currently trigger for some queries, - line 1335: // FIXME: These asserts currently trigger for some queries, - line 1349: /* FIXME: this assert currently triggers for some queries, see GPQP-74 contrib/interconnect/proxy/ic_proxy_iobuf.c (4 lines): - line 104: * TODO: libuv supports sending an array of buffers, so it is technically - line 126: /* TODO: do we need to flush if ibuf->len is 0? */ - line 290: * TODO: This used to be useful to improve the performance slightly, however as - line 344: /* TODO: should we flush if no data in the packet? */ contrib/pax_storage/src/cpp/access/pax_access_handle.cc (4 lines): - line 240: // FIXME: destroy CPaxInserter? - line 392: // FIXME: destroy CPaxInserter? - line 409: // FIXME: destroy CPaxInserter? - line 633: // FIXME: Only brin index uses partial index now. setup start_blockno src/backend/gporca/libgpdbcost/src/CCostModelGPDB.cpp (4 lines): - line 978: // TODO 2014-03-14 - line 1470: // TODO 2014-03-18 - line 1838: // TODO: 2014-02-01 - line 2418: // FIXME: macro this? src/backend/commands/explain_gp.c (4 lines): - line 779: * expand the SliceSummary array. CDB TODO: Always assign proper root slice - line 825: /* CBDB_PARALLEL_FIXME: reuse worker to store the stats of same slice */ - line 1244: * GPDB_12_MERGE_FIXME: Should we do the same for Sort stats nowadays? - line 1690: * FIXME: Only displayed in TEXT format src/backend/replication/logical/worker.c (3 lines): - line 1352: * TODO: FDW support - line 1512: * TODO: FDW support - line 1881: * TODO: FDW support src/backend/commands/copyfromparse.c (3 lines): - line 1007: * GPDB_91_MERGE_FIXME: these commented-out blocks (as well - line 1040: #if 0 /* GPDB_91_MERGE_FIXME: see above. */ - line 1062: #if 0 /* GPDB_91_MERGE_FIXME: see above. */ src/backend/cdb/motion/cdbmotion.c (3 lines): - line 756: /*** TODO - get chunks until end-of-stream comes in. ***/ - line 768: /*** TODO - do more than just complain! ***/ - line 778: TODO - Make sure there are no outstanding tuples in the src/backend/gporca/libgpopt/src/operators/CExpressionPreprocessor.cpp (3 lines): - line 2550: // TODO: 10/15/2015: if there is no grouping cols, we could remove the entire GbAgg and plug in a ConstTableGet instead - line 3123: // TODO: In order to support mixed pushable and non-pushable - line 3253: // FIXME: Tested on distribution columns. Validate this after DML on src/backend/commands/functioncmds.c (3 lines): - line 1328: false, /* GPDB_14_MERGE_FIXME: new added */ - line 1938: /* GPDB_14_MERGE_FIXME: except refetch procForm from new tup? */ - line 1985: * GPDB_14_MERGE_FIXME: we need to check the new procForm as the tup is updated. src/backend/executor/nodeModifyTable.c (3 lines): - line 170: /* GPDB_96_MERGE_FIXME: the subplan can be a Motion, so that the NULLs - line 2760: * GPDB_14_MERGE_FIXME: In here, we will extract wholerow junk attr only - line 2979: /* GPDB_14_MERGE_FIXME: contrib/interconnect/proxy/ic_proxy_router.c (3 lines): - line 78: * TODO: the new loopback packets can be handled in this round, too. - line 183: * TODO: this function is only called on exiting, so it's better to - line 215: * TODO: when callback is NULL, we could pass the packet immediately. src/backend/catalog/system_views.sql (3 lines): - line 975: * GPDB_13_MERGE_FIXME: - line 1072: -- FIXME: remove it after 0d0fdc75ae5b72d42be549e234a29546efe07ca2 - line 1138: /* GPDB_13_MERGE_FIXME: Do we need gp_stat_slru? */ src/backend/gpopt/gpdbwrappers.cpp (3 lines): - line 455: // GPDB_91_MERGE_FIXME: collation - line 1568: // GPDB_91_MERGE_FIXME: collation - line 2314: // GPDB_91_MERGE_FIXME: collation src/backend/gporca/libnaucrates/src/statistics/CStatsPredUtils.cpp (3 lines): - line 1121: // TODO: Support more cases in CStatsPredArrayCmp - line 1414: // TODO: May 15 2014, handle unsupported predicates for LASJ, LOJ and LS joins - line 1451: // TODO: 02/29/2012 replace with constraint property info once available src/backend/gpopt/translate/CQueryMutators.cpp (3 lines): - line 65: // TODO: remove temporary fix (revert exception to assert) to avoid crash during algebrization - line 421: // FIXME: we do not fix levelsup for GroupingFunc here, the translator - line 770: // TODO: Oct 14 2013, remove temporary fix (revert exception to assert) to avoid crash during algebrization src/backend/cdb/cdbplan.c (3 lines): - line 856: * TODO Figure out what's to do and handle this case. *************************************************** - line 920: * TODO is this right? //newrte->coldeflist = (List *) - line 1014: * TODO: Identify node types that should never appear in plan src/backend/access/appendonly/appendonlyam.c (3 lines): - line 1552: * TODO: instead of freeing resources here and reallocating them in initscan - line 1556: * GPDB_12_MERGE_FIXME: what to do with the new flags? - line 2678: aoInsertDesc->tempSpaceLen = aoInsertDesc->usableBlockSize / 8; /* TODO - come up with a src/backend/postmaster/autovacuum.c (3 lines): - line 1061: dbhash = hash_create("db hash", 20, &hctl, /* magic number here FIXME */ - line 1991: * FIXME: This comment is inaccurate / the code buggy. A snapshot that is - line 2873: /* FIXME: external TAM may have reloption other than StdRdOptions. */ src/backend/optimizer/prep/prepunion.c (3 lines): - line 598: bool partial_paths_valid = false; /* CBDB_PARALLEL_FIXME: temproary disable partial path */ - line 735: /* CBDB_PARALLEL_FIXME: we disable pg styple Gather/GatherMerge node */ - line 825: /* GPDB_96_MERGE_FIXME: We should use the new pathified upper planner contrib/interconnect/proxy/ic_proxy_backend.c (3 lines): - line 13: * TODO: at the moment the ic-tcp backend logic is reused by ic-proxy, in fact - line 64: * TODO: MotionConn is used by ic_tcp, currently ic_proxy still reuses the code of - line 442: /* TODO: remove conn after we decouple ic_proxy and ic_tcp */ src/backend/optimizer/plan/subselect.c (3 lines): - line 758: * TODO siva - I believe we should've pulled these up to be NL joins. - line 1559: * CDB TODO: Let it become an InitPlan, so its QEs can be recycled. - line 2906: * GPDB_94_MERGE_FIXME: should we do something about params in src/include/lib/simplehash.h (3 lines): - line 706: * TODO: This could be optimized to be one memcpy in many cases, - line 803: * TODO: we could stop search based on distance. If the current - line 901: /* TODO: return false; if distance too big */ src/backend/gpopt/translate/CTranslatorRelcacheToDXL.cpp (3 lines): - line 450: // CBDB_MERGE_FIXME: support expr ext stats in the feature - line 2479: // TODO: 03/01/2014 translate histogram into Orca even if sort - line 3052: // FIXME: RelationGetPartitionDesc() may call the internal function that src/backend/executor/spi.c (3 lines): - line 2241: * XXX TODO: This is extremely stupid. Most likely we only need a - line 3026: /** TODO: siva - can we ever reach this point? */ - line 3034: /* TODO Find a better way to indicate "returning". When PlannedStmt src/backend/optimizer/plan/aqumv.c (3 lines): - line 332: * TODO: keep ECs and adjust varno? - line 345: * AQUMV_FIXME: - line 377: parse->groupClause != NIL || /* TODO: GROUP BY */ src/backend/executor/nodeHash.c (3 lines): - line 844: /* CBDB_PARALLEL_FIXME: if we enable pg style parallel some day, we should reconsider it. */ - line 2642: /* CBDB_PARALLEL_FIXME: ExecHashTableExplainBatches if parallel_aware? */ - line 4103: * GPDB_14_MERGE_FIXME: Postgres uses work_mem to control the memory usage of a query operation(e.g. sort and hash table), contrib/interconnect/proxy/ic_proxy_main.c (3 lines): - line 105: /* TODO: it is better to only touch the states in peer.c */ - line 318: /* FIXME: do not unlink here */ - line 562: /* TODO: we could stop the timer if all the peers are connected */ gpMgmt/sbin/recovery_base.py (3 lines): - line 35: #TODO we may not need the verbose flag - line 68: # TODO: should we output the name of the exact file? - line 98: #TODO Do we need this except and can we set dbid to None or should we rely on item.recovery_info? src/backend/access/transam/xact.c (3 lines): - line 2315: * TODO: this sucks to have to allow this since its potentially very dangerous. - line 6190: * FIXME This may be incorrect --- Are there some locks we should keep? - line 7450: * GPDB_14_MERGE_FIXME: Do we need to call XLogFlush before dropping database src/include/catalog/gp_indexing.h (3 lines): - line 29: /* GPDB_14_MERGE_FIXME: not used in upstream anymore */ - line 81: /* GPDB_14_MERGE_FIXME: seems not directly used */ - line 90: /* GPDB_14_MERGE_FIXME: oid conflicts, assgin new */ gpcontrib/gp_exttable_fdw/extaccess.c (3 lines): - line 196: * SINGLENODE_FIXME: - line 418: * TODO: check if this space is automatically freed. if not, then see - line 1498: * on. TODO: this actually will override any errcontext that the user src/backend/access/aocs/aocsam_handler.c (3 lines): - line 983: * FIXME: for when we want CREATE UNIQUE INDEX CONCURRENTLY to work - line 1802: /* CBDB_FIXME: fixme after block directory support cherry-picked */ - line 1865: * GPDB_12_MERGE_FIXME: How to properly do a partial scan? Currently, gpcontrib/zstd/zstd_compression.c (2 lines): - line 106: /* FIXME: Change types to ZSTD::size_t */ - line 145: /* FIXME: Change types to ZSTD::size_t */ gpcontrib/pxf_fdw/pxf_fdw.c (2 lines): - line 369: /* TODO: make this a meaningful callback */ - line 514: * GPDB_91_MERGE_FIXME: this is almost certainly not the right src/backend/executor/nodeHashjoin.c (2 lines): - line 222: /* CBDB_PARALLEL_FIXME: When parallel is true and parallel_state is NULL */ - line 1962: * FIXME: could fix that now src/backend/gporca/scripts/fix_lookup_failure.py (2 lines): - line 18: # TODO: Add many more such MDIds - line 39: # TODO: Add many more such MDIds contrib/postgres_fdw/sql/mpp_gp2pg_postgres_fdw.sql (2 lines): - line 129: /* FIXME: Aggregates are not pushed down. - line 183: -- TODO: Now we don't support array_agg mpp pushdown. contrib/postgres_fdw/postgres_fdw.c (2 lines): - line 5886: * GPDB_13_MERGE_FIXME: For updable statement, different forked Backends by Master - line 5938: * GPDB_13_MERGE_FIXME: For updable statement, different forked Backends by Master src/backend/utils/mmgr/mcxt.c (2 lines): - line 91: * GPDB_94_MERGE_FIXME: Disabled temporarily, we were unsafe things in GPDB. - line 1026: // GPDB_94_MERGE_FIXME: same as AssertNotInCriticalSection src/backend/cdb/dispatcher/cdbgang_async.c (2 lines): - line 6: * GPDB_12_MERGE_FIXME: Like in cdbdisp_async.c, we should replace poll() - line 373: /* FTS_FIXME: remove cdbfts.c and query segment info from cdbutils.c, Also remove FtsNotifyProber*/ src/backend/catalog/index.c (2 lines): - line 1384: * CBDB_PARALLEL_FIXME: temporarily set ii_ParallelWorkers to -1 to disable parallel in bitmap index - line 3132: * SINGLENODE_FIXME: Disable parallel index building for now. src/backend/catalog/dependency.c (2 lines): - line 1305: * GPDB_14_MERGE_FIXME: specific for GPDB's pg_stat_last_* tables. - line 1306: * TODO: check more objects as api changed. src/backend/optimizer/plan/setrefs.c (2 lines): - line 244: * GPDB_92_MERGE_FIXME: In PG 9.2, there is a new varno 'INDEX_VAR'. - line 246: * GPDB_13_MERGE_FIXME: We should also handle varno = 0 introduced by generate_append_tlist. src/backend/gporca/libgpopt/src/operators/CPhysicalLimit.cpp (2 lines): - line 156: // FIXME: this method will (and should) _never_ be called - line 177: // TODO: - Mar 19, 2012; Cleanup: move this check to the caller src/backend/gporca/libgpopt/src/xforms/CSubqueryHandler.cpp (2 lines): - line 1498: // TODO: Synthesize the function attibutes of general operators, like - line 1669: // TODO: Handle the case where pexprInversePred == NULL gpcontrib/pxf_fdw/libchurl.c (2 lines): - line 460: * TODO: this means we are done. Should we do something with it? - line 643: /* TODO: do not hardcode the port here */ src/backend/gpopt/utils/COptTasks.cpp (2 lines): - line 221: // Execute a task using GPOS. TODO extend gpos to provide - line 1001: // CBDB_MERGE_FIXME: empty table after analyze still have no stats src/backend/optimizer/util/walkers.c (2 lines): - line 567: * TODO: Identify node types that should never appear in plan trees - line 858: * GPDB_91_MERGE_FIXME: collation src/backend/utils/adt/arrayfuncs.c (2 lines): - line 2209: * (XXX TODO: allow a corresponding behavior for multidimensional arrays) - line 2811: * (XXX TODO: allow a corresponding behavior for multidimensional arrays) src/backend/utils/adt/dbsize.c (2 lines): - line 462: * TODO: For non-heap relations, use table_relation_size instead. - line 553: // TODO directory table src/backend/gporca/libgpopt/src/base/CConstraintInterval.cpp (2 lines): - line 438: // TODO: - May 28, 2012; add support for other expression forms - line 604: // TODO: - May 28, 2012; add support for other expression forms src/backend/executor/nodeMotion.c (2 lines): - line 760: /* TODO: If neither sending nor receiving, don't bother to initialize. */ - line 1016: * TODO: For now, we don't flush the comm-layer. NO ERRORS DURING AMS!!! src/backend/executor/nodeWorktablescan.c (2 lines): - line 52: * RECURSIVE_CTE_FIXME: Double check we don't have backward scan required by - line 109: * RECURSIVE_CTE_FIXME: Make sure we don't require EXEC_FLAG_BACKWARD src/backend/access/transam/distributedlog.c (2 lines): - line 292: * GPDB_14_MERGE_FIXME: - line 796: * TODO: Turn off distributed logging during binary upgrade to avoid the src/backend/gporca/libgpopt/src/operators/CPhysicalSequence.cpp (2 lines): - line 330: // TODO: shardikar; Handle outer refs in the subtree correctly, by passing - line 412: // TODO: shardikar; Fix this implementation. Although CPhysicalSequence is src/backend/gporca/libgpopt/src/translate/CTranslatorExprToDXLUtils.cpp (2 lines): - line 125: // TODO: - May 10, 2012; replace the dummy implementation with a real one - line 724: // TODO: - Oct 15, 2014; unify src/backend/commands/cluster.c (2 lines): - line 213: /* GPDB_14_MERGE_FIXME: do we need the return value of cluster_rel to dispath ? */ - line 675: * GPDB_12_MERGE_FIXME: We use specific bool in abstract code. This should gpMgmt/sbin/gpsegsetuprecovery.py (2 lines): - line 11: #FIXME remove this class - line 103: #FIXME we may not need this class gpcontrib/pxf_fdw/pxf_filter.c (2 lines): - line 717: /* TODO: add check for supported operation */ - line 1206: /* TODO: test this edge case and its consequences */ src/backend/cdb/dispatcher/cdbdisp_async.c (2 lines): - line 7: * GPDB_12_MERGE_FIXME: We should switch to using WaitEventSetWait() instead - line 633: /* FTS_FIXME: need set a interval to replace fts_version */ src/backend/executor/nodeAgg.c (2 lines): - line 2069: /* GPDB_14_MERGE_FIXME: no use in GPDB, work_mem instead */ - line 2081: // GPDB_14_MERGE_FIXME: PG14 applies `hash_mem_multiplier` to increase the memory src/backend/catalog/namespace.c (2 lines): - line 3401: * FIXME: This function doesn't work or useful in GPDB (only useful for - line 4424: * GPDB_14_MERGE_FIXME: can't be removed here as before_shmem_exit_list src/backend/access/appendonly/appendonlyam_handler.c (2 lines): - line 738: * FIXME: for when we want CREATE UNIQUE INDEX CONCURRENTLY to work - line 1705: * GPDB_12_MERGE_FIXME: How to properly do a partial scan? Currently, src/backend/gpopt/translate/CTranslatorUtils.cpp (2 lines): - line 255: * GPDB_94_MERGE_FIXME: RangeTblEntry for functions can now contain multiple function calls. - line 264: * GPDB_94_MERGE_FIXME: Does WITH ORDINALITY work? It was new in 9.4. Add a check here, src/backend/cdb/cdbpathlocus.c (2 lines): - line 183: NULL, /* nullable_relids */ /* GPDB_94_MERGE_FIXME: is NULL ok here? */ - line 286: NULL, /* nullable_relids */ /* GPDB_94_MERGE_FIXME: is NULL ok here? */ src/backend/catalog/pg_constraint.c (2 lines): - line 1282: * to *constraintDeps. FIXME whenever not-null constraints get represented - line 1285: * GPDB_91_MERGE_FIXME: this does not seem to correctly reject invalid GROUPING src/backend/cdb/cdbmutate.c (2 lines): - line 406: /* GPDB_14_MERGE_FIXME: double check on following logics. */ - line 1870: * GPDB_90_MERGE_FIXME: Is that the right thing to do? Couldn't we src/include/storage/predicate_internals.h (2 lines): - line 275: * TODO SSI: If we always use the same fields for the same type of value, we - line 381: /* TODO SSI: Other types may be needed for index locking */ src/backend/gporca/clang-format.intent.yaml (2 lines): - line 71: # TODO: reflow comments - line 76: # TODO: break literal strings, once we resolve Wstring-concatenation src/backend/gporca/libgpopt/src/base/CConstraint.cpp (2 lines): - line 215: // TODO: - May 29, 2012: in case of an expr with no columns (e.g. 1 < 2), - line 509: // TODO: , May 28, 2012; add support for other cases besides (col cmp col) src/backend/access/transam/xlogutils.c (2 lines): - line 868: * TODO: The walsender has its own version of this, but it relies on the - line 955: * read the page header instead; FIXME someday. src/backend/utils/init/postinit.c (2 lines): - line 257: * FIXME: [fork/exec] Ugh. Is there a way around this overhead? - line 824: * FIXME: This comment is inaccurate / the code buggy. A snapshot that is src/backend/executor/nodeTableFunction.c (2 lines): - line 121: /* FIXME: should support both protocols */ - line 192: * TODO: This will allocate memory for each tuple, we should be able src/backend/utils/adt/selfuncs.c (2 lines): - line 5212: * operator we are estimating for. FIXME later. - line 6059: * GPDB_91_MERGE_FIXME: this is the second place we've added this. Does src/backend/utils/resource_manager/memquota.c (2 lines): - line 419: * TODO: Siva - employ binary search to find the right value. - line 910: /* RG FIXME: should we return statement_mem every time? */ src/backend/tsearch/wparser_def.c (2 lines): - line 300: Oid collation = DEFAULT_COLLATION_OID; /* TODO */ - line 301: pg_locale_t mylocale = 0; /* TODO */ src/backend/utils/adt/lockfuncs.c (2 lines): - line 246: * GPDB_84_MERGE_FIXME: Should we rewrite this in a different way now that we have - line 680: * GPDB_91_MERGE_FIXME: what to set these GPDB-specific fields to? src/backend/utils/misc/gpexpand.c (2 lines): - line 43: /* FIXME: how to fill the locktag? */ - line 149: /* FIXME: do not re-acquire the lock */ src/backend/utils/mmgr/portalmem.c (2 lines): - line 850: * GPDB_90_MERGE_FIXME: This was added in commit 7981c342, to prevent - line 1098: // GPDB_90_MERGE_FIXME: Not in READY portals. See comment in AtAbort_Portals. contrib/pax_storage/src/cpp/storage/pax.cc (2 lines): - line 213: // FIXME: In a transaction, after obtaining a block_id from - line 663: // TODO: update stats and visimap all in one catalog update src/backend/replication/syncrep.c (2 lines): - line 177: * TODO: Longer term goal is to remove hacks under IS_QUERY_DISPATCHER in - line 289: /* FTS_FIXME: Currently only assumes the existence of a single standby. src/backend/replication/logical/decode.c (2 lines): - line 165: /* GPDB_14_MERGE_FIXME: see pg_control.h, Compatible, Figure out whether 0xC0 already used? */ - line 1263: * GPDB_94_MERGE_FIXME: logical decoding hasn't been implemented for src/backend/cdb/cdbcopy.c (2 lines): - line 465: * GPDB_91_MERGE_FIXME: ugh, this is nasty. We shouldn't be calling - line 506: * CDB TODO: Can this occur? The libpq documentation says, "this src/backend/utils/mmgr/vmem_tracker.c (2 lines): - line 420: * TODO: - line 436: * TODO: src/backend/utils/misc/fstream/gfile.c (2 lines): - line 1109: * TODO: there may be side effects to setting the size to 0, - line 1112: * TODO: this hack could possibly now be removed after enabling src/backend/gporca/libgpopt/src/xforms/CDecorrelator.cpp (2 lines): - line 429: // TODO: 12/20/2012 - ; check for strictness of agg function - line 517: (COperator::EopLogicalLeftOuterJoin == opId); // TODO: LOJ Apply?? src/include/nodes/bitmapset.h (2 lines): - line 43: * TODO: enable 64-bit words for big-endian machine if possible - line 46: /* FIXME: tbm_bitmapword is specific 64-bit wide type used for src/backend/parser/parse_relation.c (2 lines): - line 1883: /* GPDB_94_MERGE_FIXME: What happens if you have 'coldeflist', and a DESCRIBE callback? */ - line 3917: * TODO: improve this code (and also errorMissingRTE) to mention using contrib/pax_storage/src/cpp/access/pax_scanner.cc (2 lines): - line 366: // FIXME: enable predicate pushdown can filter rows immediately without - line 382: // FIXME: shall we take these parameters into account? src/backend/gporca/server/src/unittest/gpopt/minidump/CICGTest.cpp (2 lines): - line 68: // TODO: - Jul 31st 2018; disabling it since new cost model picks up Indexed nested Loop Joi - line 73: // TODO: - 06/29/2015: the row estimate for 32-bit rhel is off in the 6th decimel place gpcontrib/orafce/convert.c (2 lines): - line 554: * TODO: Add converter for encodings. - line 637: * TODO: Add converter for encodings. src/backend/gpopt/translate/CTranslatorScalarToDXL.cpp (2 lines): - line 1454: // TODO: Feb 05 2015, remove temporary fix to avoid erroring out during execution - line 2128: // GPDB_96_MERGE_FIXME: Since upstream commit 9246af6799, the List can contain NULLs, src/backend/optimizer/plan/transform.c (2 lines): - line 323: // FIXME: does this need to be lateral? - line 402: /* GPDB_94_MERGE_FIXME: The SIRV transformation can't handle WITH ORDINALITY src/backend/tcop/utility.c (2 lines): - line 732: * SINGLENODE_FIXME: - line 1112: * SINGLENODE_FIXME: not sure if it's happening in single node, src/backend/gporca/libgpopt/src/operators/CLogicalIntersectAll.cpp (2 lines): - line 125: // TODO: Add the keys from outer and inner child - line 169: // TODO: Jan 8th 2012, add the stats for window operation src/backend/access/appendonly/appendonlyblockdirectory.c (2 lines): - line 404: * TODO: refactor the *_addCol* interface so that opening of - line 717: * FIXME: If we didn't find a suitable entry, why even use the last src/backend/cdb/cdbappendonlystoragewrite.c (2 lines): - line 271: // WALREP_FIXME: Pass isRedo == true, so that you don't get an error if it - line 1082: * TODO: this is a weak assumption. It doesn't account for the fact that src/backend/executor/execAmi.c (2 lines): - line 697: case T_TidRangeScan: /* GPDB_14_MERGE_FIXME: Does TidRangeScan support backward scan or call TargetListSupportsBackwardScan? */ - line 868: /* TODO: Add logic to shutdown the dynamic foreign scan for cases of parallel src/backend/gporca/libgpopt/src/translate/CTranslatorDXLToExpr.cpp (2 lines): - line 1831: // FIXME: Handle PARTITION BY clauses that cannot be capture using CDistributionSpecHashed - line 2819: // TODO: Aug 22 2011; In GPDB the opexpr can only have two children. However, in other src/backend/gporca/libgpopt/src/translate/CTranslatorExprToDXL.cpp (2 lines): - line 1610: // TODO: we assume that the index are always forward access for partition - line 1981: // TODO: Index only scans work on GiST and SP-GiST only for specific operators src/backend/utils/hyperloglog/gp_hyperloglog.c (2 lines): - line 771: /* TODO The requests for type info shouldn't be a problem (thanks to - line 1155: /* TODO The requests for type info shouldn't be a problem (thanks to src/backend/gporca/libgpopt/src/xforms/CXformUtils.cpp (2 lines): - line 861: // TODO: change this to is not false, get rid of pexprNullIndicator - line 3032: // FIXME: Consider removing the first column check for GIN as well src/backend/statistics/dependencies.c (1 line): - line 1241: * FIXME Maybe we should check if all the values are the same, and src/backend/optimizer/util/var.c (1 line): - line 676: NULL, // GPDB_84_MERGE_FIXME: Can arguments of Aggref contain PlaceHolderVars ? src/backend/access/heap/heaptoast.c (1 line): - line 297: * FIXME: Should we do something like this with memtuples on src/backend/optimizer/util/appendinfo.c (1 line): - line 945: * GPDB_14_MERGE_FIXME: We need wholerow when updating AO table using src/backend/replication/logical/launcher.c (1 line): - line 106: * FIXME: This comment is inaccurate / the code buggy. A snapshot that is src/backend/gporca/libgpos/include/gpos/error/CMessage.h (1 line): - line 63: // TODO: 6/29/2010: incorporate string class src/backend/gporca/libnaucrates/src/exception.cpp (1 line): - line 66: 0, // TODO: - Sep 30, 2010; add params: typename src/backend/cdb/cdbhash.c (1 line): - line 255: int result = 0; /* TODO: what is a good initialization value? src/common/archive.c (1 line): - line 111: /* GPDB_13_MERGE_FIXME: How to set GpIdentity for frontend? src/backend/gporca/server/src/unittest/gpopt/cost/CCostTest.cpp (1 line): - line 48: // TODO: : re-enable test after resolving exception throwing problem on OSX src/backend/optimizer/plan/initsplan.c (1 line): - line 1260: * GPDB_94_MERGE_FIXME: In GPDB, SEMI JOIN may come here, since src/backend/gporca/server/src/unittest/gpopt/engine/CEnumeratorTest.cpp (1 line): - line 59: // TODO: - Jan 26, 2013; enable q9 after figuring out why it does not finish src/backend/utils/misc/string_utils.c (1 line): - line 15: * (copied from bin/psql/stringutils.c - TODO: place to share FE and BE code?). src/backend/jit/llvm/llvmjit.c (1 line): - line 583: /* TODO: Unscientifically determined threshold */ src/backend/utils/resscheduler/resscheduler.c (1 line): - line 940: * GPDB_94_MERGE_FIXME: cannot do catalog lookups, if we're not in a src/backend/parser/parse_partition_gp.c (1 line): - line 602: /* FIXME: Cloud be possible when multiple multi-dimension? */ src/backend/gporca/libgpopt/include/gpopt/xforms/CXformImplementFullOuterMergeJoin.h (1 line): - line 16: // FIXME: This should derive from CXformImplementation, but there is an unrelated bug src/backend/parser/parse_coerce.c (1 line): - line 224: * GPDB_95_MERGE_FIXME: can this be removed? src/backend/catalog/aocatalog.c (1 line): - line 193: * TODO (How to generalize this?) src/backend/gporca/libgpos/include/gpos/memory/CAutoMemoryPool.h (1 line): - line 66: // FIXME: should mark this noexcept in non-assert builds contrib/pax_storage/src/cpp/storage/micro_partition_iterator.h (1 line): - line 41: // FIXME: add flags to control which part of metadata to fetch. src/include/utils/resscheduler.h (1 line): - line 43: * TODO: contrib/postgres_fdw/postgres_fdw.h (1 line): - line 22: /* GPDB_13_MERGE_FIXME: Do we still needs this patch? */ src/backend/executor/nodeMaterial.c (1 line): - line 104: * MPP TODO: Remove when a better solution is implemented. src/backend/gporca/server/src/unittest/gpopt/minidump/CCTETest.cpp (1 line): - line 31: // TODO: - 03/20/2014: the plan in this test keeps changing between runs src/backend/executor/nodeShareInputScan.c (1 line): - line 239: 10); /* maxKBytes FIXME */ src/backend/executor/nodeWindowAgg.c (1 line): - line 2977: // TODO: do some eager freeing here? src/backend/gporca/libnaucrates/src/md/CMDProviderGeneric.cpp (1 line): - line 40: // TODO: - Jan 25, 2012; those should not be tied to a particular system src/backend/statistics/mcv.c (1 line): - line 620: * TODO: Consider packing boolean flags (NULL) for each item into a single char src/backend/gporca/libgpos/include/gpos/memory/CCache.h (1 line): - line 181: // TODO: Once we mandate C++11, force type K to be moveable src/backend/utils/mb/mbutils.c (1 line): - line 461: * TODO: The conversion function interface is not great. Firstly, it src/backend/storage/lmgr/predicate.c (1 line): - line 2273: * TODO SSI: We should probably add additional GUCs to allow a maximum ratio src/backend/gpopt/translate/CMappingVarColId.cpp (1 line): - line 88: // TODO: Sept 09 2013, remove temporary fix (revert exception to assert) to avoid crash during algebrization src/include/port/atomics/generic-gcc.h (1 line): - line 158: /* FIXME: we can probably use a lower consistency model */ src/backend/utils/misc/fstream/fstream.c (1 line): - line 1071: /* TODO: need to do this more carefully for CSV, like in the read case */ gpcontrib/gpcloud/lib/http_parser.cpp (1 line): - line 2022: /* just ignore this shit. TODO check for overflow */ contrib/pax_storage/src/cpp/storage/micro_partition_iterator_manifest.cc (1 line): - line 242: // FIXME: The data size of manifest could be large, we may need to contrib/pax_storage/src/cpp/storage/filter/pax_sparse_filter.cc (1 line): - line 340: // FIXME: in scan key/stats be consistent is ok? src/backend/replication/logical/reorderbuffer.c (1 line): - line 2502: /* TODO: Encapsulate cleanup from the PG_TRY and PG_CATCH blocks */ src/backend/cdb/cdbfts.c (1 line): - line 190: /* FTS_TODO: NOTIFY unsupport for now */ src/backend/access/heap/vacuumlazy.c (1 line): - line 3542: /* GPDB_14_MERGE_FIXME: Don't support parallel vacuum now, we need to fix lock issues. */ src/backend/gporca/libnaucrates/src/parser/CParseHandlerCostModel.cpp (1 line): - line 139: // FIXME: Remove ICostModel::ECostModelType src/backend/postmaster/syslogger.c (1 line): - line 1618: * FIXME: I think if we didn't find '0', we should try to read some more bytes src/backend/postmaster/pgstat.c (1 line): - line 6: * TODO: - Separate collector, postmaster and backend stuff src/backend/gporca/libgpopt/src/operators/CPhysicalHashJoin.cpp (1 line): - line 607: // TODO: 02/21/2012 - ; source column may be mapped to multiple gpcontrib/orafce/sqlscan.c (1 line): - line 356: /* TODO: this is always defined, so inline it */ src/backend/commands/typecmds.c (1 line): - line 1676: /* GPDB_14_MERGE_FIXME: multirangeArray uses typeNamespace */ src/backend/storage/smgr/smgr.c (1 line): - line 198: * FIXME: For PAX_AM_OID, Cloudberry reserves this value for ORCA, a src/backend/gporca/libgpopt/src/operators/CPhysicalUnionAll.cpp (1 line): - line 333: // TODO: shardikar; This should check all the children, not only the outer child. src/backend/gporca/libgpopt/src/xforms/CXformDifference2LeftAntiSemiJoin.cpp (1 line): - line 62: // TODO: Oct 24th 2012, we currently only handle difference all src/backend/gporca/libgpopt/src/search/CGroup.cpp (1 line): - line 1928: // FIXME: Scenario exists where this group is child's duplicate gpcontrib/gp_exttable_fdw/gp_exttable_fdw.c (1 line): - line 646: ForwardScanDirection, /* FIXME: foreign scans don't support backward scans, I think? */ gpMgmt/sbin/gpoperation.py (1 line): - line 37: # TODO: Build an ExceptionCapsule that can return the traceback src/backend/gporca/libgpopt/src/operators/CPhysicalUnionAllFactory.cpp (1 line): - line 28: // TODO: May 2nd 2012; support compatible types src/backend/optimizer/path/pathkeys.c (1 line): - line 344: /* TODO: src/backend/gporca/libgpopt/src/operators/CNormalizer.cpp (1 line): - line 1050: // TODO: 01/13/2012 - ; predicate push down with set returning functions src/include/catalog/index.h (1 line): - line 215: /* GPDB_14_MERGE_FIXME: seems no used */ src/backend/commands/seclabel.c (1 line): - line 96: /* GPDB_14_MERGE_FIXME: Don't support following type now */ src/backend/gporca/libnaucrates/include/naucrates/dxl/operators/CDXLPhysicalAppend.h (1 line): - line 49: // TODO: - Apr 12, 2011; find a better name (and comments) for this variable src/backend/gporca/libnaucrates/include/naucrates/md/CMDTypeGenericGPDB.h (1 line): - line 73: // FIXME: we seem to only use m_gpdb_length here, why? src/backend/access/nbtree/nbtree.c (1 line): - line 363: * GPDB_14_MERGE_FIXME: the code of upstream assumes that src/backend/replication/logical/logical.c (1 line): - line 123: * TODO: We got to change that someday soon... src/backend/utils/activity/wait_event.c (1 line): - line 209: /* TODO: add case for PG_WAIT_PARALLEL_RETRIEVE_CURSOR? */ src/include/storage/smgr.h (1 line): - line 46: * FIXME: For PAX_AM_OID, Cloudberry reserves this value for ORCA, a src/backend/gporca/libgpopt/src/xforms/CXformDifferenceAll2LeftAntiSemiJoin.cpp (1 line): - line 61: // TODO: , Jan 8th 2013, we currently only handle difference all src/include/utils/gdd.h (1 line): - line 4: * TODO file description src/backend/gporca/libgpopt/src/operators/CPhysicalFullMergeJoin.cpp (1 line): - line 104: // TODO: Handle matching/ equivalent distribution spec (e.g using pdsRequired) src/backend/cdb/cdbpathtoplan.c (1 line): - line 63: /* CBDB_PARALLEL_FIXME: What if ReplicatedWorkers? */ src/backend/catalog/pg_type.c (1 line): - line 50: /* GPDB_14_MERGE_FIXME: Do we need to keep binary_upgrade_next_pg_type_oid src/backend/storage/page/bufpage.c (1 line): - line 1186: * TODO: tune the magic number here src/include/catalog/pg_control.h (1 line): - line 90: /* GPDB_14_MERGE_FIXME: Compatible, Figure out whether 0xC0 already used? */ src/backend/storage/ipc/ipci.c (1 line): - line 350: * TODO: only need to do this if we aren't the QD. for now we are just src/backend/gporca/libgpopt/src/operators/CPhysicalStreamAgg.cpp (1 line): - line 70: // TODO: 12/21/2011 - ; this seems broken: a colref must not embed src/backend/replication/walsender.c (1 line): - line 2659: // GPDB_13_MERGE_FIXME: If we want to support physical replication and src/Makefile.global.in (1 line): - line 549: # TODO: A similar grep command is used in contrib/pax_storage/src/cpp/access/pax_updater.cc (1 line): - line 56: // FIXME: set tmfd correctly. src/backend/gpopt/config/CConfigParamMapping.cpp (1 line): - line 85: // GPDB_91_MERGE_FIXME: I turned optimizer_minidump from bool into src/backend/optimizer/path/joinpath.c (1 line): - line 181: * clauses are joined. RECURSIVE_CTE_FIXME: Revisit this when we gain src/backend/access/gin/ginvalidate.c (1 line): - line 177: /* TODO: Check that only allowed strategy numbers exist */ src/backend/access/spgist/spgvalidate.c (1 line): - line 216: /* TODO: Check that only allowed strategy numbers exist */ src/backend/gporca/libgpopt/src/engine/CPartialPlan.cpp (1 line): - line 239: // TODO: 05/07/2014: remove artificial const 1.0 in CostSum() function src/include/commands/typecmds.h (1 line): - line 63: /* GPDB_13_MERGE_FIXME: We need to double check compatibility between src/include/utils/selfuncs.h (1 line): - line 51: /* GPDB_13_MERGE_FIXME: Need to investigate in GPDB. */ gpcontrib/orafce/datefce.c (1 line): - line 241: * TODO: It should be affected by NLS_TERRITORY. For example, src/backend/access/aocs/aocsam.c (1 line): - line 1494: * FIXME: reset other fields here. src/backend/gporca/libgpopt/src/operators/COrderedAggPreprocessor.cpp (1 line): - line 292: // MERGE_FIXME: use the COERCE_EXPLICIT_CAST src/backend/cdb/cdbvars.c (1 line): - line 234: * FIXME: at the moment: src/backend/gporca/libnaucrates/src/parser/CParseHandlerMDType.cpp (1 line): - line 331: // TODO: - Jan 30, 2012; add support for other types of mdids src/include/catalog/dependency.h (1 line): - line 339: // FIXME: unclear which arguments should pass src/fe_utils/print.c (1 line): - line 3299: * FIXME -- this is slightly bogus: it counts the number of contrib/pax_storage/src/cpp/manifest/manifest.c (1 line): - line 364: * FIXME: the length of the file path might be larger than 64 bytes, src/backend/access/aocs/aocs_compaction.c (1 line): - line 443: /* FIXME: Could not find a target segment. What now? */ src/backend/postmaster/postmaster.c (1 line): - line 5905: * FTS_TODO: support signal FTS to probe src/backend/storage/ipc/latch.c (1 line): - line 1061: /* FIXME: validate event mask */ src/backend/gporca/libgpopt/src/xforms/CXformUpdate2DML.cpp (1 line): - line 178: // TODO: - Oct 30, 2012; detect and handle AFTER triggers on update src/backend/access/gist/gistutil.c (1 line): - line 86: /* TODO: Consider fillfactor */ gpcontrib/orafce/putline.c (1 line): - line 25: * TODO: BUFSIZE_UNLIMITED to be truely unlimited (or INT_MAX), src/include/catalog/pg_attribute_encoding.h (1 line): - line 6: * GPDB_90_MERGE_FIXME: pg_attribute now has an attoptions field. We should src/backend/utils/time/sharedsnapshot.c (1 line): - line 646: /* FIXME: can we just reuse the src dsm handler? */ src/include/c.h (1 line): - line 644: * FIXME: Use hex later to save a bit memory. src/backend/gporca/libgpopt/src/operators/CLogicalDynamicGet.cpp (1 line): - line 378: // FIXME: why don't we also use the disjunctive constraints for DPE? src/backend/cdb/motion/htupfifo.c (1 line): - line 53: /* TODO: This can be faster if we didn't reuse code, but this will work. */ src/include/gpopt/translate/CDXLTranslateContext.h (1 line): - line 84: // TODO: antovl - Jan 26, 2011; remove this when Agg node in GPDB is fixed src/port/pqsignal.c (1 line): - line 49: * GPDB_13_MERGE_FIXME: Remove if-0 once StaticAssertDecl is added to the codebase. contrib/interconnect/proxy/ic_proxy_server.h (1 line): - line 31: * TODO: allocate the name buffer on demand. src/backend/utils/adt/array_selfuncs.c (1 line): - line 516: * TODO: this estimate probably could be improved by using the distinct src/backend/access/transam/multixact.c (1 line): - line 306: * better policy for flushing old cache entries would be.) FIXME actually src/backend/access/gist/gistvalidate.c (1 line): - line 180: /* TODO: Check that only allowed strategy numbers exist */ src/backend/gporca/libgpopt/src/operators/CPhysicalScalarAgg.cpp (1 line): - line 120: // TODO: , 06/20/2012: scalar agg produces one row, and hence it should satisfy any order; src/backend/gporca/libgpopt/src/operators/CPhysicalTVF.cpp (1 line): - line 288: // TODO: shardikar; If the executor materializes the function results, aren't src/backend/parser/analyze.c (1 line): - line 4110: * TODO: if future ORCA can emit LockRows plannode, src/backend/catalog/cdb_schema.sql (1 line): - line 10: -- TODO Error checking is rudimentary and needs improvment. src/backend/utils/etcd_lib/etcd.c (1 line): - line 1332: /*TODO: Since could not distinguish the following case with the same return error code, then not to implement failover function for lock API. src/include/gpopt/gpdbwrappers.h (1 line): - line 559: // GPDB_91_MERGE_FIXME: collation src/backend/gporca/libnaucrates/src/md/CDXLBucket.cpp (1 line): - line 191: // TODO: - Feb 13, 2012; implement src/backend/commands/vacuum_ao.c (1 line): - line 29: * are no other transactions running (TODO: or we're in "aggressive mode" and want src/backend/gporca/libgpopt/src/base/CFunctionProp.cpp (1 line): - line 64: // TODO: - Feb 10, 2014; enable the following line instead of the src/backend/storage/ipc/ipc.c (1 line): - line 472: * GPDB_14_MERGE_FIXME: src/backend/utils/resgroup/cgroup.c (1 line): - line 490: * RG_FIXME: Can we remove this? src/backend/optimizer/path/equivclass.c (1 line): - line 1269: * ordering would succeed. XXX FIXME: use a UNION-FIND algorithm similar src/include/utils/rel.h (1 line): - line 543: * FIXME: CBDB should not know the am oid of PAX. We put here because the kernel src/backend/gporca/libgpopt/src/operators/CScalarWindowFunc.cpp (1 line): - line 63: // TODO: , Aug 15, 2012; pull out properties of aggregate functions src/backend/access/transam/parallel.c (1 line): - line 1670: /* CBDB_PARALLEL_FIXME: limit for max slice */ src/pl/tcl/pltcl.c (1 line): - line 2566: * occur. FIXME someday. src/include/utils/snapshot.h (1 line): - line 139: * TODO: It's probably a good idea to split this struct using a NodeTag contrib/interconnect/tcp/ic_tcp.c (1 line): - line 2188: /* TODO: should pass interconnect_handle_t as arg? */ src/backend/gporca/server/src/unittest/gpopt/minidump/CMiniDumperDXLTest.cpp (1 line): - line 218: // TODO: - Feb 11, 2013; enable after fixing problems with serializing src/include/catalog/pg_proc.h (1 line): - line 163: * TODO: It would be nice if we could default prodataaccess to 'c' for all src/port/glob.c (1 line): - line 663: /* TODO: don't call for ENOENT or ENOTDIR? */ contrib/formatter/gpformatter.c (1 line): - line 324: /* TODO: check for nan? */ src/backend/optimizer/plan/joinpartprune.c (1 line): - line 117: /* SINGLENODE_FIXME: enable partition selector in the future? */ src/include/cdb/cdbappendonlyblockdirectory.h (1 line): - line 145: * FIXME: At times, we rely upon the values in this struct to be valid even src/backend/optimizer/path/costsize.c (1 line): - line 5467: false); /* GPDB_92_MERGE_FIXME: do we need damping? */ contrib/pax_storage/src/cpp/storage/vec_parallel_common.cc (1 line): - line 127: // TODO: convert arrow filter to pax filter src/backend/gporca/libgpopt/src/operators/CPhysicalJoin.cpp (1 line): - line 486: // TODO: shardikar; Implement a separate PrsDerive() for HashJoins since it gpcontrib/pxf_fdw/pxf_option.c (1 line): - line 188: * TODO: a PXF service can be running on port 80 behind a load- src/backend/access/nbtree/nbtinsert.c (1 line): - line 2682: * GPDB_14_MERGE_FIXME: when the original RELATION is AO RELATION, src/backend/gporca/libgpos/include/gpos/common/CRefCount.h (1 line): - line 60: // FIXME: should mark this noexcept in non-assert builds src/backend/gporca/libnaucrates/src/statistics/CStatisticsUtils.cpp (1 line): - line 558: // TODO: , Aug 1 2013 - another heuristic may be max(1, dDisinct * factor) src/backend/executor/nodeDynamicBitmapIndexscan.c (1 line): - line 124: // FIXME: no quals remapping? src/backend/commands/event_trigger.c (1 line): - line 1662: * FIXME this API isn't considering the possibility that an xact/subxact is src/backend/bootstrap/bootstrap.c (1 line): - line 41: #include "postmaster/postmaster.h" /* TODO: verify we need this still */ src/interfaces/ecpg/ecpglib/execute.c (1 line): - line 513: * arrays are not possible unless the column is an array, too FIXME: we do src/backend/gporca/libgpopt/src/operators/CLogicalDifferenceAll.cpp (1 line): - line 117: // TODO: Add keys on columns contributing to the setop from the outer child src/backend/gporca/libgpos/include/gpos/types.h (1 line): - line 11: // TODO: 03/15/2008; the seletion of basic types which then src/backend/gporca/libnaucrates/src/operators/CDXLPhysicalDML.cpp (1 line): - line 146: // TODO: - Oct 22, 2014; clean this code once the direct dispatch code for DML and SELECT is unified src/backend/gpopt/translate/CContextDXLToPlStmt.cpp (1 line): - line 391: // FIXME: It's quite unoptimal that this ever happens. src/backend/parser/parse_utilcmd.c (1 line): - line 1266: * GPDB_12_MERGE_FIXME: src/backend/catalog/pg_appendonly.c (1 line): - line 81: * GPDB_12_MERGE_FIXME: src/include/cdb/cdbtm.h (1 line): - line 141: * TODO: how is something an Entry db? fix this documentation src/backend/gporca/libgpopt/include/gpopt/operators/CLogicalIndexGet.h (1 line): - line 236: // TODO: March 26 2012; statistics derivation for indexes contrib/interconnect/udp/ic_udpifc.c (1 line): - line 3778: /* TODO: should pass interconnect_handle_t as arg? */ src/backend/executor/nodeSort.c (1 line): - line 125: /* GPDB_12_MERGE_FIXME: broken */ gpcontrib/pxf_fdw/pxf_bridge.c (1 line): - line 46: /* TODO: do we need to cleanup filter_str for foreign scan? */ src/backend/gporca/libgpopt/src/xforms/CXformIntersectAll2LeftSemiJoin.cpp (1 line): - line 72: // TODO: we currently only handle intersect all operators that contrib/pax_storage/src/cpp/storage/vec_parallel_pax.cc (1 line): - line 89: // TODO: refactor the iterator to support non-copy access, gpcontrib/gpmapreduce/src/parse.c (1 line): - line 1022: /* FIXME */ src/backend/utils/time/snapmgr.c (1 line): - line 2041: * FIXME: This branch is super iffy - but that should probably src/backend/utils/datumstream/datumstream.c (1 line): - line 1679: * FIXME: looks like at least one realloc() implementation can't handle src/include/access/appendonlywriter.h (1 line): - line 24: * TODO: may want to make this a guc instead (can only be set at gpinit time). src/backend/catalog/oid_dispatch.c (1 line): - line 1000: * GPDB_12_MERGE_FIXME: we have nowhere to put 'proargtypes' in the OidAssignment src/backend/gporca/libnaucrates/src/parser/CParseHandlerScalarBoolExpr.cpp (1 line): - line 92: // This is to support nested BoolExpr. TODO: - create a separate xml tag for boolean expression src/backend/cdb/cdbutil.c (1 line): - line 2092: /* FTS_TODO: support for cache expansion */ src/backend/commands/variable.c (1 line): - line 556: * GPDB_91_MERGE_FIXME: Prior to PostgreSQL 9.1, serializable isolation was src/backend/executor/nodeDynamicForeignscan.c (1 line): - line 162: * FIXME: should we use execute_attr_map_tuple instead? Seems like a contrib/interconnect/proxy/ic_proxy_addr.c (1 line): - line 10: * FIXME: currently that GUC can not be reloaded with "gpstop -u", so we must src/backend/gporca/libnaucrates/src/statistics/CFilterStatsProcessor.cpp (1 line): - line 44: // TODO June 13 2014, we currently only cap ndvs when we have a filter gpcontrib/gpcloud/include/gpcommon.h (1 line): - line 14: // TODO change to functions getgpsegmentId() and getgpsegmentCount() src/include/optimizer/cost.h (1 line): - line 169: /* GPDB_92_MERGE_FIXME: parameterized path for shared input scan? */ src/include/cdb/ic_proxy_bgworker.h (1 line): - line 4: * TODO file description src/backend/gporca/libgpopt/src/operators/CLogicalSetOp.cpp (1 line): - line 183: // TODO: 3/3/2012 - ; we can do better by remapping the keys between src/backend/gporca/libgpopt/src/xforms/CJoinOrder.cpp (1 line): - line 616: // FIXME: the following function is completely unused even for the purpose of src/backend/gporca/libgpopt/include/gpopt/operators/CLogicalConstTableGet.h (1 line): - line 138: // TODO: - Jan 11, 2013; compute constraints based on the gpMgmt/sbin/gpconfig_helper.py (1 line): - line 75: # TODO: does this work in the case of temp_conf_file containing spaces? gpcontrib/gpmapreduce/src/yaml_parse.y (1 line): - line 350: /* FIXME: error should refer to MAP/TRANSITION/... not FUNCTION */ contrib/pax_storage/src/cpp/catalog/pax_aux_table.cc (1 line): - line 124: // FIXME: temporary table in aux namespace is not supported yet. src/backend/access/appendonly/appendonly_compaction.c (1 line): - line 495: // TODO: need to evaluate performance impact of reporting with such granularity src/backend/gporca/libgpopt/include/gpopt/operators/CPhysicalHashJoin.h (1 line): - line 230: // TODO - ; 01/06/2014 contrib/interconnect/proxy/ic_proxy_pkt_cache.c (1 line): - line 17: * TODO: src/include/storage/buf_internals.h (1 line): - line 90: * GPDB_91_MERGE_FIXME: The argument in the previous note doesn't quite hold in src/interfaces/ecpg/include/ecpg-pthread-win32.h (1 line): - line 46: /* FIXME: destructor is never called in Win32. */ src/include/postmaster/syslogger.h (1 line): - line 63: * FIXME: After we follow the upstream way which is using dynamic lists src/include/catalog/pg_language.h (1 line): - line 74: /* GPDB_14_MERGE_FIXME: GP7 use name pg_language_lanname_index and seems meaning less */ src/backend/gporca/libgpopt/src/operators/CPhysicalAgg.cpp (1 line): - line 329: // TODO: - Mar 19, 2012; Cleanup: move this check to the caller src/backend/catalog/storage_directory_table.c (1 line): - line 49: * TODO: support ufile pending delete xlog src/backend/commands/createas.c (1 line): - line 460: * GPDB_92_MERGE_FIXME: it really should be an optimizer's responsibility src/include/nodes/plannodes.h (1 line): - line 426: /* CBDB_CHERRYPICK_FIXME: need enable it */ src/backend/catalog/catalog.c (1 line): - line 876: * GPDB_91_MERGE_FIXME: check again for a collision with a temp src/backend/executor/execExprInterp.c (1 line): - line 2038: // FIXME: A simple explain select * from foo join bar on foo.a=bar.b; where src/backend/executor/nodeSubplan.c (1 line): - line 1438: * CDB TODO: Is this needed following failure on QD? src/include/nodes/parsenodes.h (1 line): - line 1089: * code that is being actively worked on. FIXME someday. src/backend/gporca/libgpos/src/error/CMessageTable.cpp (1 line): - line 75: // TODO: 6/24/2010; raise approp. error for duplicate message src/backend/gporca/server/src/unittest/gpopt/csq/CCorrelatedExecutionTest.cpp (1 line): - line 89: // TODO: 06/15/2012; enable plan matching src/backend/executor/nodeDynamicBitmapHeapscan.c (1 line): - line 162: * FIXME: should we use execute_attr_map_tuple instead? Seems like a src/backend/gporca/libnaucrates/include/naucrates/md/CMDIdGPDB.h (1 line): - line 26: // TODO: - Feb 1, 2012; remove once system id is part of the mdid src/backend/gporca/libgpos/src/error/CMessage.cpp (1 line): - line 39: // TODO: 6/29/2010; incorporate string class src/backend/utils/adt/formatting.c (1 line): - line 4573: * GPDB_13_MERGE_FIXME: The IF branch is from the GPDB specific behavior. src/backend/gporca/libgpopt/src/xforms/CXformSplitLimit.cpp (1 line): - line 100: // TODO: , Feb 20, 2012, we currently only split limit with offset 0. src/backend/utils/misc/guc_gp.c (1 line): - line 3926: * GPDB_12_MERGE_FIXME: in order to make case DML_over_joins gpcontrib/gp_sparse_vector/gp_sfv.c (1 line): - line 89: * TODO: contrib/citext/citext--1.4.sql (1 line): - line 444: -- XXX TODO Ideally these would be implemented in C. gpcontrib/gp_replica_check/gp_replica_check.c (1 line): - line 592: /* TODO: Currently, we only scan the default tablespace */ src/backend/storage/lmgr/lwlock.c (1 line): - line 1586: * rely on atomic 64 bit reads/stores. TODO: On platforms with a way to src/backend/optimizer/path/indxpath.c (1 line): - line 828: * GPDB_92_MERGE_FIXME: Maybe we should remove this check to follow src/backend/storage/buffer/localbuf.c (1 line): - line 233: // GPDB_93_MERGE_FIXME: is this TODO comment still relevant? src/backend/optimizer/util/relnode.c (1 line): - line 2967: /* FIXME: consider some kind of caching? */ src/backend/gporca/libnaucrates/src/statistics/CJoinStatsProcessor.cpp (1 line): - line 109: // TODO: Feb 21 2014, for all join condition except for "=" join predicate gpcontrib/pxf_fdw/pxf_fragment.c (1 line): - line 111: * TODO: Add logic later to handle HDFS HA related exception src/backend/storage/lmgr/lock.c (1 line): - line 1640: * GPDB_96_MERGE_FIXME: src/backend/commands/queue.c (1 line): - line 942: * SINGLENODE_FIXME: Do we need support resource queue for utility mode. If so, src/backend/cdb/endpoint/cdbendpoint.c (1 line): - line 229: /* CBDB_PARALLEL_FIXME: CdbLocusType_SegmentGeneralWorkers */ src/include/utils/palloc.h (1 line): - line 57: * GPDB_93_MERGE_FIXME: This mechanism got broken. If this is resurrected and src/backend/gporca/libgpopt/src/xforms/CJoinOrderDPv2.cpp (1 line): - line 1412: // TODO: Transition off of bushy joins more gracefully, note that bushy src/backend/access/bitmap/bitmapattutil.c (1 line): - line 231: * CBDB_PARALLEL_FIXME: temporarily set ii_ParallelWorkers to -1 to disable parallel in bitmap index src/backend/gporca/libgpopt/src/operators/CExpressionUtils.cpp (1 line): - line 236: // TODO: , Feb 4 2015, we currently only handling EXISTS/NOT EXISTS/AND/OR src/backend/utils/gdd/gddfuncs.c (1 line): - line 64: /* FIXME: other types */ src/backend/nodes/equalfuncs.c (1 line): - line 3075: /* GPDB_90_MERGE_FIXME: should we be comparing encoding? */ src/backend/executor/nodeDynamicSeqscan.c (1 line): - line 151: * FIXME: should we use execute_attr_map_tuple instead? Seems like a