mirror of
https://github.com/postgres/postgres.git
synced 2025-07-18 17:42:25 +03:00
Support range data types.
Selectivity estimation functions are missing for some range type operators, which is a TODO. Jeff Davis
This commit is contained in:
@ -3055,6 +3055,17 @@ _copyCreateEnumStmt(CreateEnumStmt *from)
|
||||
return newnode;
|
||||
}
|
||||
|
||||
static CreateRangeStmt *
|
||||
_copyCreateRangeStmt(CreateRangeStmt *from)
|
||||
{
|
||||
CreateRangeStmt *newnode = makeNode(CreateRangeStmt);
|
||||
|
||||
COPY_NODE_FIELD(typeName);
|
||||
COPY_NODE_FIELD(params);
|
||||
|
||||
return newnode;
|
||||
}
|
||||
|
||||
static AlterEnumStmt *
|
||||
_copyAlterEnumStmt(AlterEnumStmt *from)
|
||||
{
|
||||
@ -4297,6 +4308,9 @@ copyObject(void *from)
|
||||
case T_CreateEnumStmt:
|
||||
retval = _copyCreateEnumStmt(from);
|
||||
break;
|
||||
case T_CreateRangeStmt:
|
||||
retval = _copyCreateRangeStmt(from);
|
||||
break;
|
||||
case T_AlterEnumStmt:
|
||||
retval = _copyAlterEnumStmt(from);
|
||||
break;
|
||||
|
@ -1438,6 +1438,15 @@ _equalCreateEnumStmt(CreateEnumStmt *a, CreateEnumStmt *b)
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalCreateRangeStmt(CreateRangeStmt *a, CreateRangeStmt *b)
|
||||
{
|
||||
COMPARE_NODE_FIELD(typeName);
|
||||
COMPARE_NODE_FIELD(params);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalAlterEnumStmt(AlterEnumStmt *a, AlterEnumStmt *b)
|
||||
{
|
||||
@ -2826,6 +2835,9 @@ equal(void *a, void *b)
|
||||
case T_CreateEnumStmt:
|
||||
retval = _equalCreateEnumStmt(a, b);
|
||||
break;
|
||||
case T_CreateRangeStmt:
|
||||
retval = _equalCreateRangeStmt(a, b);
|
||||
break;
|
||||
case T_AlterEnumStmt:
|
||||
retval = _equalAlterEnumStmt(a, b);
|
||||
break;
|
||||
|
Reference in New Issue
Block a user