Open alculquicondor opened 7 years ago
Here's the list of all parsenodes
and primnodes
. I just grabbed all typedef struct
s from the headers, so let me know if I need to prune this list down.
parsenodes
A_ArrayExpr
A_Const
A_Expr
A_Indices
A_Indirection
A_Star
AccessPriv
AlterCollationStmt
AlterDatabaseSetStmt
AlterDatabaseStmt
AlterDefaultPrivilegesStmt
AlterDomainStmt
AlterEnumStmt
AlterEventTrigStmt
AlterExtensionContentsStmt
AlterExtensionStmt
AlterFdwStmt
AlterForeignServerStmt
AlterFunctionStmt
AlterObjectDependsStmt
AlterObjectSchemaStmt
AlterOpFamilyStmt
AlterOperatorStmt
AlterOwnerStmt
AlterPolicyStmt
AlterPublicationStmt
AlterRoleSetStmt
AlterRoleStmt
AlterSeqStmt
AlterSubscriptionStmt
AlterSystemStmt
AlterTSConfigurationStmt
AlterTSDictionaryStmt
AlterTableCmd
AlterTableMoveAllStmt
AlterTableSpaceOptionsStmt
AlterTableStmt
AlterUserMappingStmt
CallContext
CallStmt
CheckPointStmt
ClosePortalStmt
ClusterStmt
CollateClause
ColumnDef
ColumnRef
CommentStmt
CommonTableExpr
CompositeTypeStmt
Constraint
ConstraintsSetStmt
CopyStmt
CreateAmStmt
CreateCastStmt
CreateConversionStmt
CreateDomainStmt
CreateEnumStmt
CreateEventTrigStmt
CreateExtensionStmt
CreateFdwStmt
CreateForeignServerStmt
CreateForeignTableStmt
CreateFunctionStmt
CreateOpClassItem
CreateOpClassStmt
CreateOpFamilyStmt
CreatePLangStmt
CreatePolicyStmt
CreatePublicationStmt
CreateRangeStmt
CreateRoleStmt
CreateSchemaStmt
CreateSeqStmt
CreateStatsStmt
CreateStmt
CreateSubscriptionStmt
CreateTableAsStmt
CreateTableSpaceStmt
CreateTransformStmt
CreateTrigStmt
CreateUserMappingStmt
CreatedbStmt
DeallocateStmt
DeclareCursorStmt
DefElem
DefineStmt
DeleteStmt
DiscardStmt
DoStmt
DropOwnedStmt
DropRoleStmt
DropStmt
DropSubscriptionStmt
DropTableSpaceStmt
DropUserMappingStmt
DropdbStmt
ExecuteStmt
ExplainStmt
FetchStmt
FuncCall
FunctionParameter
GrantRoleStmt
GrantStmt
GroupingSet
ImportForeignSchemaStmt
IndexElem
IndexStmt
InferClause
InlineCodeBlock
InsertStmt
ListenStmt
LoadStmt
LockStmt
LockingClause
MultiAssignRef
NotifyStmt
ObjectWithArgs
OnConflictClause
ParamRef
PartitionCmd
PartitionElem
PartitionRangeDatum
PartitionSpec
PrepareStmt
Query
RangeFunction
RangeSubselect
RangeTableFunc
RangeTableFuncCol
RangeTableSample
RangeTblEntry
RangeTblFunction
RawStmt
ReassignOwnedStmt
RefreshMatViewStmt
ReindexStmt
RenameStmt
ReplicaIdentityStmt
ResTarget
RoleSpec
RowMarkClause
RuleStmt
SecLabelStmt
SelectStmt
SetOperationStmt
SortBy
SortGroupClause
TableLikeClause
TableSampleClause
TransactionStmt
TriggerTransition
TruncateStmt
TypeCast
TypeName
UnlistenStmt
UpdateStmt
VacuumRelation
VacuumStmt
VariableSetStmt
VariableShowStmt
ViewStmt
WindowClause
WindowDef
WithCheckOption
WithClause
XmlSerialize
primnodes
Aggref
Alias
AlternativeSubPlan
ArrayCoerceExpr
ArrayExpr
ArrayRef
BoolExpr
BooleanTest
CaseExpr
CaseTestExpr
CaseWhen
CoalesceExpr
CoerceToDomain
CoerceToDomainValue
CoerceViaIO
CollateExpr
Const
ConvertRowtypeExpr
CurrentOfExpr
Expr
FieldSelect
FieldStore
FromExpr
FuncExpr
GroupingFunc
InferenceElem
IntoClause
JoinExpr
MinMaxExpr
NamedArgExpr
NextValueExpr
NullTest
OnConflictExpr
OpExpr
Param
PartitionPruneInfo
PartitionPruneStep
PartitionPruneStepCombine
PartitionPruneStepOp
RangeTblRef
RangeVar
RelabelType
RowCompareExpr
RowExpr
SQLValueFunction
ScalarArrayOpExpr
SetToDefault
SubLink
SubPlan
TableFunc
TargetEntry
Var
WindowFunc
XmlExpr
I lost track of the nodes that are still missing to implement. I would appreciate if somebody can obtain the list of nodes missing from here https://github.com/postgres/postgres/blob/master/src/include/nodes/parsenodes.h https://github.com/postgres/postgres/blob/master/src/include/nodes/primnodes.h
Feel free to send PRs. Don't forget to add tests. If everything is done, we can finally release 1.0 (feel free to do that PR too).
Refs #6