mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-04 00:02:52 -05:00 
			
		
		
		
	Use C99 designated initializers for some structs
These are just a few particularly egregious cases that were hard to read and write, and error prone because of many similar adjacent types. Discussion: https://www.postgresql.org/message-id/flat/4c9f01be-9245-2148-b569-61a8562ef190%402ndquadrant.com
This commit is contained in:
		
							parent
							
								
									75f7855369
								
							
						
					
					
						commit
						98afa68d93
					
				@ -199,27 +199,8 @@ typedef TransactionStateData *TransactionState;
 | 
			
		||||
 * transaction at all, or when in a top-level transaction.
 | 
			
		||||
 */
 | 
			
		||||
static TransactionStateData TopTransactionStateData = {
 | 
			
		||||
	0,							/* transaction id */
 | 
			
		||||
	0,							/* subtransaction id */
 | 
			
		||||
	NULL,						/* savepoint name */
 | 
			
		||||
	0,							/* savepoint level */
 | 
			
		||||
	TRANS_DEFAULT,				/* transaction state */
 | 
			
		||||
	TBLOCK_DEFAULT,				/* transaction block state from the client
 | 
			
		||||
								 * perspective */
 | 
			
		||||
	0,							/* transaction nesting depth */
 | 
			
		||||
	0,							/* GUC context nesting depth */
 | 
			
		||||
	NULL,						/* cur transaction context */
 | 
			
		||||
	NULL,						/* cur transaction resource owner */
 | 
			
		||||
	NULL,						/* subcommitted child Xids */
 | 
			
		||||
	0,							/* # of subcommitted child Xids */
 | 
			
		||||
	0,							/* allocated size of childXids[] */
 | 
			
		||||
	InvalidOid,					/* previous CurrentUserId setting */
 | 
			
		||||
	0,							/* previous SecurityRestrictionContext */
 | 
			
		||||
	false,						/* entry-time xact r/o state */
 | 
			
		||||
	false,						/* startedInRecovery */
 | 
			
		||||
	false,						/* didLogXid */
 | 
			
		||||
	0,							/* parallelModeLevel */
 | 
			
		||||
	NULL						/* link to parent state block */
 | 
			
		||||
	.state = TRANS_DEFAULT,
 | 
			
		||||
	.blockState = TBLOCK_DEFAULT,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 | 
			
		||||
@ -145,39 +145,87 @@ static List *insert_ordered_unique_oid(List *list, Oid datum);
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
static FormData_pg_attribute a1 = {
 | 
			
		||||
	0, {"ctid"}, TIDOID, 0, sizeof(ItemPointerData),
 | 
			
		||||
	SelfItemPointerAttributeNumber, 0, -1, -1,
 | 
			
		||||
	false, 'p', 's', true, false, false, '\0', false, true, 0
 | 
			
		||||
	.attname = {"ctid"},
 | 
			
		||||
	.atttypid = TIDOID,
 | 
			
		||||
	.attlen = sizeof(ItemPointerData),
 | 
			
		||||
	.attnum = SelfItemPointerAttributeNumber,
 | 
			
		||||
	.attcacheoff = -1,
 | 
			
		||||
	.atttypmod = -1,
 | 
			
		||||
	.attbyval = false,
 | 
			
		||||
	.attstorage = 'p',
 | 
			
		||||
	.attalign = 's',
 | 
			
		||||
	.attnotnull = true,
 | 
			
		||||
	.attislocal = true,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static FormData_pg_attribute a2 = {
 | 
			
		||||
	0, {"oid"}, OIDOID, 0, sizeof(Oid),
 | 
			
		||||
	ObjectIdAttributeNumber, 0, -1, -1,
 | 
			
		||||
	true, 'p', 'i', true, false, false, '\0', false, true, 0
 | 
			
		||||
	.attname = {"oid"},
 | 
			
		||||
	.atttypid = OIDOID,
 | 
			
		||||
	.attlen = sizeof(Oid),
 | 
			
		||||
	.attnum = ObjectIdAttributeNumber,
 | 
			
		||||
	.attcacheoff = -1,
 | 
			
		||||
	.atttypmod = -1,
 | 
			
		||||
	.attbyval = true,
 | 
			
		||||
	.attstorage = 'p',
 | 
			
		||||
	.attalign = 'i',
 | 
			
		||||
	.attnotnull = true,
 | 
			
		||||
	.attislocal = true,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static FormData_pg_attribute a3 = {
 | 
			
		||||
	0, {"xmin"}, XIDOID, 0, sizeof(TransactionId),
 | 
			
		||||
	MinTransactionIdAttributeNumber, 0, -1, -1,
 | 
			
		||||
	true, 'p', 'i', true, false, false, '\0', false, true, 0
 | 
			
		||||
	.attname = {"xmin"},
 | 
			
		||||
	.atttypid = XIDOID,
 | 
			
		||||
	.attlen = sizeof(TransactionId),
 | 
			
		||||
	.attnum = MinTransactionIdAttributeNumber,
 | 
			
		||||
	.attcacheoff = -1,
 | 
			
		||||
	.atttypmod = -1,
 | 
			
		||||
	.attbyval = true,
 | 
			
		||||
	.attstorage = 'p',
 | 
			
		||||
	.attalign = 'i',
 | 
			
		||||
	.attnotnull = true,
 | 
			
		||||
	.attislocal = true,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static FormData_pg_attribute a4 = {
 | 
			
		||||
	0, {"cmin"}, CIDOID, 0, sizeof(CommandId),
 | 
			
		||||
	MinCommandIdAttributeNumber, 0, -1, -1,
 | 
			
		||||
	true, 'p', 'i', true, false, false, '\0', false, true, 0
 | 
			
		||||
	.attname = {"cmin"},
 | 
			
		||||
	.atttypid = CIDOID,
 | 
			
		||||
	.attlen = sizeof(CommandId),
 | 
			
		||||
	.attnum = MinCommandIdAttributeNumber,
 | 
			
		||||
	.attcacheoff = -1,
 | 
			
		||||
	.atttypmod = -1,
 | 
			
		||||
	.attbyval = true,
 | 
			
		||||
	.attstorage = 'p',
 | 
			
		||||
	.attalign = 'i',
 | 
			
		||||
	.attnotnull = true,
 | 
			
		||||
	.attislocal = true,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static FormData_pg_attribute a5 = {
 | 
			
		||||
	0, {"xmax"}, XIDOID, 0, sizeof(TransactionId),
 | 
			
		||||
	MaxTransactionIdAttributeNumber, 0, -1, -1,
 | 
			
		||||
	true, 'p', 'i', true, false, false, '\0', false, true, 0
 | 
			
		||||
	.attname = {"xmax"},
 | 
			
		||||
	.atttypid = XIDOID,
 | 
			
		||||
	.attlen = sizeof(TransactionId),
 | 
			
		||||
	.attnum = MaxTransactionIdAttributeNumber,
 | 
			
		||||
	.attcacheoff = -1,
 | 
			
		||||
	.atttypmod = -1,
 | 
			
		||||
	.attbyval = true,
 | 
			
		||||
	.attstorage = 'p',
 | 
			
		||||
	.attalign = 'i',
 | 
			
		||||
	.attnotnull = true,
 | 
			
		||||
	.attislocal = true,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static FormData_pg_attribute a6 = {
 | 
			
		||||
	0, {"cmax"}, CIDOID, 0, sizeof(CommandId),
 | 
			
		||||
	MaxCommandIdAttributeNumber, 0, -1, -1,
 | 
			
		||||
	true, 'p', 'i', true, false, false, '\0', false, true, 0
 | 
			
		||||
	.attname = {"cmax"},
 | 
			
		||||
	.atttypid = CIDOID,
 | 
			
		||||
	.attlen = sizeof(CommandId),
 | 
			
		||||
	.attnum = MaxCommandIdAttributeNumber,
 | 
			
		||||
	.attcacheoff = -1,
 | 
			
		||||
	.atttypmod = -1,
 | 
			
		||||
	.attbyval = true,
 | 
			
		||||
	.attstorage = 'p',
 | 
			
		||||
	.attalign = 'i',
 | 
			
		||||
	.attnotnull = true,
 | 
			
		||||
	.attislocal = true,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
@ -187,9 +235,17 @@ static FormData_pg_attribute a6 = {
 | 
			
		||||
 * used in SQL.
 | 
			
		||||
 */
 | 
			
		||||
static FormData_pg_attribute a7 = {
 | 
			
		||||
	0, {"tableoid"}, OIDOID, 0, sizeof(Oid),
 | 
			
		||||
	TableOidAttributeNumber, 0, -1, -1,
 | 
			
		||||
	true, 'p', 'i', true, false, false, '\0', false, true, 0
 | 
			
		||||
	.attname = {"tableoid"},
 | 
			
		||||
	.atttypid = OIDOID,
 | 
			
		||||
	.attlen = sizeof(Oid),
 | 
			
		||||
	.attnum = TableOidAttributeNumber,
 | 
			
		||||
	.attcacheoff = -1,
 | 
			
		||||
	.atttypmod = -1,
 | 
			
		||||
	.attbyval = true,
 | 
			
		||||
	.attstorage = 'p',
 | 
			
		||||
	.attalign = 'i',
 | 
			
		||||
	.attnotnull = true,
 | 
			
		||||
	.attislocal = true,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const Form_pg_attribute SysAtt[] = {&a1, &a2, &a3, &a4, &a5, &a6, &a7};
 | 
			
		||||
 | 
			
		||||
@ -391,418 +391,222 @@ do { \
 | 
			
		||||
 | 
			
		||||
static const SchemaQuery Query_for_list_of_aggregates[] = {
 | 
			
		||||
	{
 | 
			
		||||
		/* min_server_version */
 | 
			
		||||
		110000,
 | 
			
		||||
		/* catname */
 | 
			
		||||
		"pg_catalog.pg_proc p",
 | 
			
		||||
		/* selcondition */
 | 
			
		||||
		"p.prokind = 'a'",
 | 
			
		||||
		/* viscondition */
 | 
			
		||||
		"pg_catalog.pg_function_is_visible(p.oid)",
 | 
			
		||||
		/* namespace */
 | 
			
		||||
		"p.pronamespace",
 | 
			
		||||
		/* result */
 | 
			
		||||
		"pg_catalog.quote_ident(p.proname)",
 | 
			
		||||
		/* qualresult */
 | 
			
		||||
		NULL
 | 
			
		||||
		.min_server_version = 110000,
 | 
			
		||||
		.catname = "pg_catalog.pg_proc p",
 | 
			
		||||
		.selcondition = "p.prokind = 'a'",
 | 
			
		||||
		.viscondition = "pg_catalog.pg_function_is_visible(p.oid)",
 | 
			
		||||
		.namespace = "p.pronamespace",
 | 
			
		||||
		.result = "pg_catalog.quote_ident(p.proname)",
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		/* min_server_version */
 | 
			
		||||
		0,
 | 
			
		||||
		/* catname */
 | 
			
		||||
		"pg_catalog.pg_proc p",
 | 
			
		||||
		/* selcondition */
 | 
			
		||||
		"p.proisagg",
 | 
			
		||||
		/* viscondition */
 | 
			
		||||
		"pg_catalog.pg_function_is_visible(p.oid)",
 | 
			
		||||
		/* namespace */
 | 
			
		||||
		"p.pronamespace",
 | 
			
		||||
		/* result */
 | 
			
		||||
		"pg_catalog.quote_ident(p.proname)",
 | 
			
		||||
		/* qualresult */
 | 
			
		||||
		NULL
 | 
			
		||||
		.catname = "pg_catalog.pg_proc p",
 | 
			
		||||
		.selcondition = "p.proisagg",
 | 
			
		||||
		.viscondition = "pg_catalog.pg_function_is_visible(p.oid)",
 | 
			
		||||
		.namespace = "p.pronamespace",
 | 
			
		||||
		.result = "pg_catalog.quote_ident(p.proname)",
 | 
			
		||||
	}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const SchemaQuery Query_for_list_of_datatypes = {
 | 
			
		||||
	/* min_server_version */
 | 
			
		||||
	0,
 | 
			
		||||
	/* catname */
 | 
			
		||||
	"pg_catalog.pg_type t",
 | 
			
		||||
	.catname = "pg_catalog.pg_type t",
 | 
			
		||||
	/* selcondition --- ignore table rowtypes and array types */
 | 
			
		||||
	"(t.typrelid = 0 "
 | 
			
		||||
	.selcondition = "(t.typrelid = 0 "
 | 
			
		||||
	" OR (SELECT c.relkind = " CppAsString2(RELKIND_COMPOSITE_TYPE)
 | 
			
		||||
	"     FROM pg_catalog.pg_class c WHERE c.oid = t.typrelid)) "
 | 
			
		||||
	"AND t.typname !~ '^_'",
 | 
			
		||||
	/* viscondition */
 | 
			
		||||
	"pg_catalog.pg_type_is_visible(t.oid)",
 | 
			
		||||
	/* namespace */
 | 
			
		||||
	"t.typnamespace",
 | 
			
		||||
	/* result */
 | 
			
		||||
	"pg_catalog.format_type(t.oid, NULL)",
 | 
			
		||||
	/* qualresult */
 | 
			
		||||
	"pg_catalog.quote_ident(t.typname)"
 | 
			
		||||
	.viscondition = "pg_catalog.pg_type_is_visible(t.oid)",
 | 
			
		||||
	.namespace = "t.typnamespace",
 | 
			
		||||
	.result = "pg_catalog.format_type(t.oid, NULL)",
 | 
			
		||||
	.qualresult = "pg_catalog.quote_ident(t.typname)",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const SchemaQuery Query_for_list_of_domains = {
 | 
			
		||||
	/* min_server_version */
 | 
			
		||||
	0,
 | 
			
		||||
	/* catname */
 | 
			
		||||
	"pg_catalog.pg_type t",
 | 
			
		||||
	/* selcondition */
 | 
			
		||||
	"t.typtype = 'd'",
 | 
			
		||||
	/* viscondition */
 | 
			
		||||
	"pg_catalog.pg_type_is_visible(t.oid)",
 | 
			
		||||
	/* namespace */
 | 
			
		||||
	"t.typnamespace",
 | 
			
		||||
	/* result */
 | 
			
		||||
	"pg_catalog.quote_ident(t.typname)",
 | 
			
		||||
	/* qualresult */
 | 
			
		||||
	NULL
 | 
			
		||||
	.catname = "pg_catalog.pg_type t",
 | 
			
		||||
	.selcondition = "t.typtype = 'd'",
 | 
			
		||||
	.viscondition = "pg_catalog.pg_type_is_visible(t.oid)",
 | 
			
		||||
	.namespace = "t.typnamespace",
 | 
			
		||||
	.result = "pg_catalog.quote_ident(t.typname)",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* Note: this intentionally accepts aggregates as well as plain functions */
 | 
			
		||||
static const SchemaQuery Query_for_list_of_functions[] = {
 | 
			
		||||
	{
 | 
			
		||||
		/* min_server_version */
 | 
			
		||||
		110000,
 | 
			
		||||
		/* catname */
 | 
			
		||||
		"pg_catalog.pg_proc p",
 | 
			
		||||
		/* selcondition */
 | 
			
		||||
		"p.prokind != 'p'",
 | 
			
		||||
		/* viscondition */
 | 
			
		||||
		"pg_catalog.pg_function_is_visible(p.oid)",
 | 
			
		||||
		/* namespace */
 | 
			
		||||
		"p.pronamespace",
 | 
			
		||||
		/* result */
 | 
			
		||||
		"pg_catalog.quote_ident(p.proname)",
 | 
			
		||||
		/* qualresult */
 | 
			
		||||
		NULL
 | 
			
		||||
		.min_server_version = 110000,
 | 
			
		||||
		.catname = "pg_catalog.pg_proc p",
 | 
			
		||||
		.selcondition = "p.prokind != 'p'",
 | 
			
		||||
		.viscondition = "pg_catalog.pg_function_is_visible(p.oid)",
 | 
			
		||||
		.namespace = "p.pronamespace",
 | 
			
		||||
		.result = "pg_catalog.quote_ident(p.proname)",
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		/* min_server_version */
 | 
			
		||||
		0,
 | 
			
		||||
		/* catname */
 | 
			
		||||
		"pg_catalog.pg_proc p",
 | 
			
		||||
		/* selcondition */
 | 
			
		||||
		NULL,
 | 
			
		||||
		/* viscondition */
 | 
			
		||||
		"pg_catalog.pg_function_is_visible(p.oid)",
 | 
			
		||||
		/* namespace */
 | 
			
		||||
		"p.pronamespace",
 | 
			
		||||
		/* result */
 | 
			
		||||
		"pg_catalog.quote_ident(p.proname)",
 | 
			
		||||
		/* qualresult */
 | 
			
		||||
		NULL
 | 
			
		||||
		.catname = "pg_catalog.pg_proc p",
 | 
			
		||||
		.viscondition = "pg_catalog.pg_function_is_visible(p.oid)",
 | 
			
		||||
		.namespace = "p.pronamespace",
 | 
			
		||||
		.result = "pg_catalog.quote_ident(p.proname)",
 | 
			
		||||
	}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const SchemaQuery Query_for_list_of_indexes = {
 | 
			
		||||
	/* min_server_version */
 | 
			
		||||
	0,
 | 
			
		||||
	/* catname */
 | 
			
		||||
	"pg_catalog.pg_class c",
 | 
			
		||||
	/* selcondition */
 | 
			
		||||
	.catname = "pg_catalog.pg_class c",
 | 
			
		||||
	.selcondition =
 | 
			
		||||
	"c.relkind IN (" CppAsString2(RELKIND_INDEX) ", "
 | 
			
		||||
	CppAsString2(RELKIND_PARTITIONED_INDEX) ")",
 | 
			
		||||
	/* viscondition */
 | 
			
		||||
	"pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	/* namespace */
 | 
			
		||||
	"c.relnamespace",
 | 
			
		||||
	/* result */
 | 
			
		||||
	"pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
	/* qualresult */
 | 
			
		||||
	NULL
 | 
			
		||||
	.viscondition = "pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	.namespace = "c.relnamespace",
 | 
			
		||||
	.result = "pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const SchemaQuery Query_for_list_of_procedures[] = {
 | 
			
		||||
	{
 | 
			
		||||
		/* min_server_version */
 | 
			
		||||
		110000,
 | 
			
		||||
		/* catname */
 | 
			
		||||
		"pg_catalog.pg_proc p",
 | 
			
		||||
		/* selcondition */
 | 
			
		||||
		"p.prokind = 'p'",
 | 
			
		||||
		/* viscondition */
 | 
			
		||||
		"pg_catalog.pg_function_is_visible(p.oid)",
 | 
			
		||||
		/* namespace */
 | 
			
		||||
		"p.pronamespace",
 | 
			
		||||
		/* result */
 | 
			
		||||
		"pg_catalog.quote_ident(p.proname)",
 | 
			
		||||
		/* qualresult */
 | 
			
		||||
		NULL
 | 
			
		||||
		.min_server_version = 110000,
 | 
			
		||||
		.catname = "pg_catalog.pg_proc p",
 | 
			
		||||
		.selcondition = "p.prokind = 'p'",
 | 
			
		||||
		.viscondition = "pg_catalog.pg_function_is_visible(p.oid)",
 | 
			
		||||
		.namespace = "p.pronamespace",
 | 
			
		||||
		.result = "pg_catalog.quote_ident(p.proname)",
 | 
			
		||||
	},
 | 
			
		||||
	{0, NULL}
 | 
			
		||||
	{
 | 
			
		||||
		/* not supported in older versions */
 | 
			
		||||
		.catname = NULL,
 | 
			
		||||
	}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const SchemaQuery Query_for_list_of_routines = {
 | 
			
		||||
	/* min_server_version */
 | 
			
		||||
	0,
 | 
			
		||||
	/* catname */
 | 
			
		||||
	"pg_catalog.pg_proc p",
 | 
			
		||||
	/* selcondition */
 | 
			
		||||
	NULL,
 | 
			
		||||
	/* viscondition */
 | 
			
		||||
	"pg_catalog.pg_function_is_visible(p.oid)",
 | 
			
		||||
	/* namespace */
 | 
			
		||||
	"p.pronamespace",
 | 
			
		||||
	/* result */
 | 
			
		||||
	"pg_catalog.quote_ident(p.proname)",
 | 
			
		||||
	/* qualresult */
 | 
			
		||||
	NULL
 | 
			
		||||
	.catname = "pg_catalog.pg_proc p",
 | 
			
		||||
	.viscondition = "pg_catalog.pg_function_is_visible(p.oid)",
 | 
			
		||||
	.namespace = "p.pronamespace",
 | 
			
		||||
	.result = "pg_catalog.quote_ident(p.proname)",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const SchemaQuery Query_for_list_of_sequences = {
 | 
			
		||||
	/* min_server_version */
 | 
			
		||||
	0,
 | 
			
		||||
	/* catname */
 | 
			
		||||
	"pg_catalog.pg_class c",
 | 
			
		||||
	/* selcondition */
 | 
			
		||||
	"c.relkind IN (" CppAsString2(RELKIND_SEQUENCE) ")",
 | 
			
		||||
	/* viscondition */
 | 
			
		||||
	"pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	/* namespace */
 | 
			
		||||
	"c.relnamespace",
 | 
			
		||||
	/* result */
 | 
			
		||||
	"pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
	/* qualresult */
 | 
			
		||||
	NULL
 | 
			
		||||
	.catname = "pg_catalog.pg_class c",
 | 
			
		||||
	.selcondition = "c.relkind IN (" CppAsString2(RELKIND_SEQUENCE) ")",
 | 
			
		||||
	.viscondition = "pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	.namespace = "c.relnamespace",
 | 
			
		||||
	.result = "pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const SchemaQuery Query_for_list_of_foreign_tables = {
 | 
			
		||||
	/* min_server_version */
 | 
			
		||||
	0,
 | 
			
		||||
	/* catname */
 | 
			
		||||
	"pg_catalog.pg_class c",
 | 
			
		||||
	/* selcondition */
 | 
			
		||||
	"c.relkind IN (" CppAsString2(RELKIND_FOREIGN_TABLE) ")",
 | 
			
		||||
	/* viscondition */
 | 
			
		||||
	"pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	/* namespace */
 | 
			
		||||
	"c.relnamespace",
 | 
			
		||||
	/* result */
 | 
			
		||||
	"pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
	/* qualresult */
 | 
			
		||||
	NULL
 | 
			
		||||
	.catname = "pg_catalog.pg_class c",
 | 
			
		||||
	.selcondition = "c.relkind IN (" CppAsString2(RELKIND_FOREIGN_TABLE) ")",
 | 
			
		||||
	.viscondition = "pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	.namespace = "c.relnamespace",
 | 
			
		||||
	.result = "pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const SchemaQuery Query_for_list_of_tables = {
 | 
			
		||||
	/* min_server_version */
 | 
			
		||||
	0,
 | 
			
		||||
	/* catname */
 | 
			
		||||
	"pg_catalog.pg_class c",
 | 
			
		||||
	/* selcondition */
 | 
			
		||||
	.catname = "pg_catalog.pg_class c",
 | 
			
		||||
	.selcondition =
 | 
			
		||||
	"c.relkind IN (" CppAsString2(RELKIND_RELATION) ", "
 | 
			
		||||
	CppAsString2(RELKIND_PARTITIONED_TABLE) ")",
 | 
			
		||||
	/* viscondition */
 | 
			
		||||
	"pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	/* namespace */
 | 
			
		||||
	"c.relnamespace",
 | 
			
		||||
	/* result */
 | 
			
		||||
	"pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
	/* qualresult */
 | 
			
		||||
	NULL
 | 
			
		||||
	.viscondition = "pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	.namespace = "c.relnamespace",
 | 
			
		||||
	.result = "pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const SchemaQuery Query_for_list_of_partitioned_tables = {
 | 
			
		||||
	/* min_server_version */
 | 
			
		||||
	0,
 | 
			
		||||
	/* catname */
 | 
			
		||||
	"pg_catalog.pg_class c",
 | 
			
		||||
	/* selcondition */
 | 
			
		||||
	"c.relkind IN (" CppAsString2(RELKIND_PARTITIONED_TABLE) ")",
 | 
			
		||||
	/* viscondition */
 | 
			
		||||
	"pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	/* namespace */
 | 
			
		||||
	"c.relnamespace",
 | 
			
		||||
	/* result */
 | 
			
		||||
	"pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
	/* qualresult */
 | 
			
		||||
	NULL
 | 
			
		||||
	.catname = "pg_catalog.pg_class c",
 | 
			
		||||
	.selcondition = "c.relkind IN (" CppAsString2(RELKIND_PARTITIONED_TABLE) ")",
 | 
			
		||||
	.viscondition = "pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	.namespace = "c.relnamespace",
 | 
			
		||||
	.result = "pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const SchemaQuery Query_for_list_of_constraints_with_schema = {
 | 
			
		||||
	/* min_server_version */
 | 
			
		||||
	0,
 | 
			
		||||
	/* catname */
 | 
			
		||||
	"pg_catalog.pg_constraint c",
 | 
			
		||||
	/* selcondition */
 | 
			
		||||
	"c.conrelid <> 0",
 | 
			
		||||
	/* viscondition */
 | 
			
		||||
	"true",						/* there is no pg_constraint_is_visible */
 | 
			
		||||
	/* namespace */
 | 
			
		||||
	"c.connamespace",
 | 
			
		||||
	/* result */
 | 
			
		||||
	"pg_catalog.quote_ident(c.conname)",
 | 
			
		||||
	/* qualresult */
 | 
			
		||||
	NULL
 | 
			
		||||
	.catname = "pg_catalog.pg_constraint c",
 | 
			
		||||
	.selcondition = "c.conrelid <> 0",
 | 
			
		||||
	.viscondition = "true",		/* there is no pg_constraint_is_visible */
 | 
			
		||||
	.namespace = "c.connamespace",
 | 
			
		||||
	.result = "pg_catalog.quote_ident(c.conname)",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* Relations supporting INSERT, UPDATE or DELETE */
 | 
			
		||||
static const SchemaQuery Query_for_list_of_updatables = {
 | 
			
		||||
	/* min_server_version */
 | 
			
		||||
	0,
 | 
			
		||||
	/* catname */
 | 
			
		||||
	"pg_catalog.pg_class c",
 | 
			
		||||
	/* selcondition */
 | 
			
		||||
	.catname = "pg_catalog.pg_class c",
 | 
			
		||||
	.selcondition =
 | 
			
		||||
	"c.relkind IN (" CppAsString2(RELKIND_RELATION) ", "
 | 
			
		||||
	CppAsString2(RELKIND_FOREIGN_TABLE) ", "
 | 
			
		||||
	CppAsString2(RELKIND_VIEW) ", "
 | 
			
		||||
	CppAsString2(RELKIND_PARTITIONED_TABLE) ")",
 | 
			
		||||
	/* viscondition */
 | 
			
		||||
	"pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	/* namespace */
 | 
			
		||||
	"c.relnamespace",
 | 
			
		||||
	/* result */
 | 
			
		||||
	"pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
	/* qualresult */
 | 
			
		||||
	NULL
 | 
			
		||||
	.viscondition = "pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	.namespace = "c.relnamespace",
 | 
			
		||||
	.result = "pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const SchemaQuery Query_for_list_of_relations = {
 | 
			
		||||
	/* min_server_version */
 | 
			
		||||
	0,
 | 
			
		||||
	/* catname */
 | 
			
		||||
	"pg_catalog.pg_class c",
 | 
			
		||||
	/* selcondition */
 | 
			
		||||
	NULL,
 | 
			
		||||
	/* viscondition */
 | 
			
		||||
	"pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	/* namespace */
 | 
			
		||||
	"c.relnamespace",
 | 
			
		||||
	/* result */
 | 
			
		||||
	"pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
	/* qualresult */
 | 
			
		||||
	NULL
 | 
			
		||||
	.catname = "pg_catalog.pg_class c",
 | 
			
		||||
	.viscondition = "pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	.namespace = "c.relnamespace",
 | 
			
		||||
	.result = "pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const SchemaQuery Query_for_list_of_tsvmf = {
 | 
			
		||||
	/* min_server_version */
 | 
			
		||||
	0,
 | 
			
		||||
	/* catname */
 | 
			
		||||
	"pg_catalog.pg_class c",
 | 
			
		||||
	/* selcondition */
 | 
			
		||||
	.catname = "pg_catalog.pg_class c",
 | 
			
		||||
	.selcondition =
 | 
			
		||||
	"c.relkind IN (" CppAsString2(RELKIND_RELATION) ", "
 | 
			
		||||
	CppAsString2(RELKIND_SEQUENCE) ", "
 | 
			
		||||
	CppAsString2(RELKIND_VIEW) ", "
 | 
			
		||||
	CppAsString2(RELKIND_MATVIEW) ", "
 | 
			
		||||
	CppAsString2(RELKIND_FOREIGN_TABLE) ", "
 | 
			
		||||
	CppAsString2(RELKIND_PARTITIONED_TABLE) ")",
 | 
			
		||||
	/* viscondition */
 | 
			
		||||
	"pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	/* namespace */
 | 
			
		||||
	"c.relnamespace",
 | 
			
		||||
	/* result */
 | 
			
		||||
	"pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
	/* qualresult */
 | 
			
		||||
	NULL
 | 
			
		||||
	.viscondition = "pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	.namespace = "c.relnamespace",
 | 
			
		||||
	.result = "pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const SchemaQuery Query_for_list_of_tmf = {
 | 
			
		||||
	/* min_server_version */
 | 
			
		||||
	0,
 | 
			
		||||
	/* catname */
 | 
			
		||||
	"pg_catalog.pg_class c",
 | 
			
		||||
	/* selcondition */
 | 
			
		||||
	.catname = "pg_catalog.pg_class c",
 | 
			
		||||
	.selcondition =
 | 
			
		||||
	"c.relkind IN (" CppAsString2(RELKIND_RELATION) ", "
 | 
			
		||||
	CppAsString2(RELKIND_MATVIEW) ", "
 | 
			
		||||
	CppAsString2(RELKIND_FOREIGN_TABLE) ")",
 | 
			
		||||
	/* viscondition */
 | 
			
		||||
	"pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	/* namespace */
 | 
			
		||||
	"c.relnamespace",
 | 
			
		||||
	/* result */
 | 
			
		||||
	"pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
	/* qualresult */
 | 
			
		||||
	NULL
 | 
			
		||||
	.viscondition = "pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	.namespace = "c.relnamespace",
 | 
			
		||||
	.result = "pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const SchemaQuery Query_for_list_of_tpm = {
 | 
			
		||||
	/* min_server_version */
 | 
			
		||||
	0,
 | 
			
		||||
	/* catname */
 | 
			
		||||
	"pg_catalog.pg_class c",
 | 
			
		||||
	/* selcondition */
 | 
			
		||||
	.catname = "pg_catalog.pg_class c",
 | 
			
		||||
	.selcondition =
 | 
			
		||||
	"c.relkind IN (" CppAsString2(RELKIND_RELATION) ", "
 | 
			
		||||
	CppAsString2(RELKIND_PARTITIONED_TABLE) ", "
 | 
			
		||||
	CppAsString2(RELKIND_MATVIEW) ")",
 | 
			
		||||
	/* viscondition */
 | 
			
		||||
	"pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	/* namespace */
 | 
			
		||||
	"c.relnamespace",
 | 
			
		||||
	/* result */
 | 
			
		||||
	"pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
	/* qualresult */
 | 
			
		||||
	NULL
 | 
			
		||||
	.viscondition = "pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	.namespace = "c.relnamespace",
 | 
			
		||||
	.result = "pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const SchemaQuery Query_for_list_of_tm = {
 | 
			
		||||
	/* min_server_version */
 | 
			
		||||
	0,
 | 
			
		||||
	/* catname */
 | 
			
		||||
	"pg_catalog.pg_class c",
 | 
			
		||||
	/* selcondition */
 | 
			
		||||
	.catname = "pg_catalog.pg_class c",
 | 
			
		||||
	.selcondition =
 | 
			
		||||
	"c.relkind IN (" CppAsString2(RELKIND_RELATION) ", "
 | 
			
		||||
	CppAsString2(RELKIND_MATVIEW) ")",
 | 
			
		||||
	/* viscondition */
 | 
			
		||||
	"pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	/* namespace */
 | 
			
		||||
	"c.relnamespace",
 | 
			
		||||
	/* result */
 | 
			
		||||
	"pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
	/* qualresult */
 | 
			
		||||
	NULL
 | 
			
		||||
	.viscondition = "pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	.namespace = "c.relnamespace",
 | 
			
		||||
	.result = "pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const SchemaQuery Query_for_list_of_views = {
 | 
			
		||||
	/* min_server_version */
 | 
			
		||||
	0,
 | 
			
		||||
	/* catname */
 | 
			
		||||
	"pg_catalog.pg_class c",
 | 
			
		||||
	/* selcondition */
 | 
			
		||||
	"c.relkind IN (" CppAsString2(RELKIND_VIEW) ")",
 | 
			
		||||
	/* viscondition */
 | 
			
		||||
	"pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	/* namespace */
 | 
			
		||||
	"c.relnamespace",
 | 
			
		||||
	/* result */
 | 
			
		||||
	"pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
	/* qualresult */
 | 
			
		||||
	NULL
 | 
			
		||||
	.catname = "pg_catalog.pg_class c",
 | 
			
		||||
	.selcondition = "c.relkind IN (" CppAsString2(RELKIND_VIEW) ")",
 | 
			
		||||
	.viscondition = "pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	.namespace = "c.relnamespace",
 | 
			
		||||
	.result = "pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const SchemaQuery Query_for_list_of_matviews = {
 | 
			
		||||
	/* min_server_version */
 | 
			
		||||
	0,
 | 
			
		||||
	/* catname */
 | 
			
		||||
	"pg_catalog.pg_class c",
 | 
			
		||||
	/* selcondition */
 | 
			
		||||
	"c.relkind IN (" CppAsString2(RELKIND_MATVIEW) ")",
 | 
			
		||||
	/* viscondition */
 | 
			
		||||
	"pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	/* namespace */
 | 
			
		||||
	"c.relnamespace",
 | 
			
		||||
	/* result */
 | 
			
		||||
	"pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
	/* qualresult */
 | 
			
		||||
	NULL
 | 
			
		||||
	.catname = "pg_catalog.pg_class c",
 | 
			
		||||
	.selcondition = "c.relkind IN (" CppAsString2(RELKIND_MATVIEW) ")",
 | 
			
		||||
	.viscondition = "pg_catalog.pg_table_is_visible(c.oid)",
 | 
			
		||||
	.namespace = "c.relnamespace",
 | 
			
		||||
	.result = "pg_catalog.quote_ident(c.relname)",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const SchemaQuery Query_for_list_of_statistics = {
 | 
			
		||||
	/* min_server_version */
 | 
			
		||||
	0,
 | 
			
		||||
	/* catname */
 | 
			
		||||
	"pg_catalog.pg_statistic_ext s",
 | 
			
		||||
	/* selcondition */
 | 
			
		||||
	NULL,
 | 
			
		||||
	/* viscondition */
 | 
			
		||||
	"pg_catalog.pg_statistics_obj_is_visible(s.oid)",
 | 
			
		||||
	/* namespace */
 | 
			
		||||
	"s.stxnamespace",
 | 
			
		||||
	/* result */
 | 
			
		||||
	"pg_catalog.quote_ident(s.stxname)",
 | 
			
		||||
	/* qualresult */
 | 
			
		||||
	NULL
 | 
			
		||||
	.catname = "pg_catalog.pg_statistic_ext s",
 | 
			
		||||
	.viscondition = "pg_catalog.pg_statistics_obj_is_visible(s.oid)",
 | 
			
		||||
	.namespace = "s.stxnamespace",
 | 
			
		||||
	.result = "pg_catalog.quote_ident(s.stxname)",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -43,37 +43,14 @@ static PyMethodDef PLy_cursor_methods[] = {
 | 
			
		||||
 | 
			
		||||
static PyTypeObject PLy_CursorType = {
 | 
			
		||||
	PyVarObject_HEAD_INIT(NULL, 0)
 | 
			
		||||
	"PLyCursor",				/* tp_name */
 | 
			
		||||
	sizeof(PLyCursorObject),	/* tp_size */
 | 
			
		||||
	0,							/* tp_itemsize */
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
	 * methods
 | 
			
		||||
	 */
 | 
			
		||||
	PLy_cursor_dealloc,			/* tp_dealloc */
 | 
			
		||||
	0,							/* tp_print */
 | 
			
		||||
	0,							/* tp_getattr */
 | 
			
		||||
	0,							/* tp_setattr */
 | 
			
		||||
	0,							/* tp_compare */
 | 
			
		||||
	0,							/* tp_repr */
 | 
			
		||||
	0,							/* tp_as_number */
 | 
			
		||||
	0,							/* tp_as_sequence */
 | 
			
		||||
	0,							/* tp_as_mapping */
 | 
			
		||||
	0,							/* tp_hash */
 | 
			
		||||
	0,							/* tp_call */
 | 
			
		||||
	0,							/* tp_str */
 | 
			
		||||
	0,							/* tp_getattro */
 | 
			
		||||
	0,							/* tp_setattro */
 | 
			
		||||
	0,							/* tp_as_buffer */
 | 
			
		||||
	Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_ITER,	/* tp_flags */
 | 
			
		||||
	PLy_cursor_doc,				/* tp_doc */
 | 
			
		||||
	0,							/* tp_traverse */
 | 
			
		||||
	0,							/* tp_clear */
 | 
			
		||||
	0,							/* tp_richcompare */
 | 
			
		||||
	0,							/* tp_weaklistoffset */
 | 
			
		||||
	PyObject_SelfIter,			/* tp_iter */
 | 
			
		||||
	PLy_cursor_iternext,		/* tp_iternext */
 | 
			
		||||
	PLy_cursor_methods,			/* tp_tpmethods */
 | 
			
		||||
	.tp_name = "PLyCursor",
 | 
			
		||||
	.tp_basicsize = sizeof(PLyCursorObject),
 | 
			
		||||
	.tp_dealloc = PLy_cursor_dealloc,
 | 
			
		||||
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_ITER,
 | 
			
		||||
	.tp_doc = PLy_cursor_doc,
 | 
			
		||||
	.tp_iter = PyObject_SelfIter,
 | 
			
		||||
	.tp_iternext = PLy_cursor_iternext,
 | 
			
		||||
	.tp_methods = PLy_cursor_methods,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
 | 
			
		||||
@ -34,37 +34,12 @@ static PyMethodDef PLy_plan_methods[] = {
 | 
			
		||||
 | 
			
		||||
static PyTypeObject PLy_PlanType = {
 | 
			
		||||
	PyVarObject_HEAD_INIT(NULL, 0)
 | 
			
		||||
	"PLyPlan",					/* tp_name */
 | 
			
		||||
	sizeof(PLyPlanObject),		/* tp_size */
 | 
			
		||||
	0,							/* tp_itemsize */
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
	 * methods
 | 
			
		||||
	 */
 | 
			
		||||
	PLy_plan_dealloc,			/* tp_dealloc */
 | 
			
		||||
	0,							/* tp_print */
 | 
			
		||||
	0,							/* tp_getattr */
 | 
			
		||||
	0,							/* tp_setattr */
 | 
			
		||||
	0,							/* tp_compare */
 | 
			
		||||
	0,							/* tp_repr */
 | 
			
		||||
	0,							/* tp_as_number */
 | 
			
		||||
	0,							/* tp_as_sequence */
 | 
			
		||||
	0,							/* tp_as_mapping */
 | 
			
		||||
	0,							/* tp_hash */
 | 
			
		||||
	0,							/* tp_call */
 | 
			
		||||
	0,							/* tp_str */
 | 
			
		||||
	0,							/* tp_getattro */
 | 
			
		||||
	0,							/* tp_setattro */
 | 
			
		||||
	0,							/* tp_as_buffer */
 | 
			
		||||
	Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,	/* tp_flags */
 | 
			
		||||
	PLy_plan_doc,				/* tp_doc */
 | 
			
		||||
	0,							/* tp_traverse */
 | 
			
		||||
	0,							/* tp_clear */
 | 
			
		||||
	0,							/* tp_richcompare */
 | 
			
		||||
	0,							/* tp_weaklistoffset */
 | 
			
		||||
	0,							/* tp_iter */
 | 
			
		||||
	0,							/* tp_iternext */
 | 
			
		||||
	PLy_plan_methods,			/* tp_tpmethods */
 | 
			
		||||
	.tp_name = "PLyPlan",
 | 
			
		||||
	.tp_basicsize = sizeof(PLyPlanObject),
 | 
			
		||||
	.tp_dealloc = PLy_plan_dealloc,
 | 
			
		||||
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
 | 
			
		||||
	.tp_doc = PLy_plan_doc,
 | 
			
		||||
	.tp_methods = PLy_plan_methods,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
 | 
			
		||||
@ -115,23 +115,17 @@ static PyMethodDef PLy_exc_methods[] = {
 | 
			
		||||
 | 
			
		||||
#if PY_MAJOR_VERSION >= 3
 | 
			
		||||
static PyModuleDef PLy_module = {
 | 
			
		||||
	PyModuleDef_HEAD_INIT,		/* m_base */
 | 
			
		||||
	"plpy",						/* m_name */
 | 
			
		||||
	NULL,						/* m_doc */
 | 
			
		||||
	-1,							/* m_size */
 | 
			
		||||
	PLy_methods,				/* m_methods */
 | 
			
		||||
	PyModuleDef_HEAD_INIT,
 | 
			
		||||
	.m_name = "plpy",
 | 
			
		||||
	.m_size = -1,
 | 
			
		||||
	.m_methods = PLy_methods,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static PyModuleDef PLy_exc_module = {
 | 
			
		||||
	PyModuleDef_HEAD_INIT,		/* m_base */
 | 
			
		||||
	"spiexceptions",			/* m_name */
 | 
			
		||||
	NULL,						/* m_doc */
 | 
			
		||||
	-1,							/* m_size */
 | 
			
		||||
	PLy_exc_methods,			/* m_methods */
 | 
			
		||||
	NULL,						/* m_reload */
 | 
			
		||||
	NULL,						/* m_traverse */
 | 
			
		||||
	NULL,						/* m_clear */
 | 
			
		||||
	NULL						/* m_free */
 | 
			
		||||
	PyModuleDef_HEAD_INIT,
 | 
			
		||||
	.m_name = "spiexceptions",
 | 
			
		||||
	.m_size = -1,
 | 
			
		||||
	.m_methods = PLy_exc_methods,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 | 
			
		||||
@ -29,19 +29,14 @@ static char PLy_result_doc[] = {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static PySequenceMethods PLy_result_as_sequence = {
 | 
			
		||||
	PLy_result_length,			/* sq_length */
 | 
			
		||||
	NULL,						/* sq_concat */
 | 
			
		||||
	NULL,						/* sq_repeat */
 | 
			
		||||
	PLy_result_item,			/* sq_item */
 | 
			
		||||
	NULL,						/* sq_slice */
 | 
			
		||||
	NULL,						/* sq_ass_item */
 | 
			
		||||
	NULL,						/* sq_ass_slice */
 | 
			
		||||
	.sq_length = PLy_result_length,
 | 
			
		||||
	.sq_item = PLy_result_item,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static PyMappingMethods PLy_result_as_mapping = {
 | 
			
		||||
	PLy_result_length,			/* mp_length */
 | 
			
		||||
	PLy_result_subscript,		/* mp_subscript */
 | 
			
		||||
	PLy_result_ass_subscript,	/* mp_ass_subscript */
 | 
			
		||||
	.mp_length = PLy_result_length,
 | 
			
		||||
	.mp_subscript = PLy_result_subscript,
 | 
			
		||||
	.mp_ass_subscript = PLy_result_ass_subscript,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static PyMethodDef PLy_result_methods[] = {
 | 
			
		||||
@ -55,37 +50,15 @@ static PyMethodDef PLy_result_methods[] = {
 | 
			
		||||
 | 
			
		||||
static PyTypeObject PLy_ResultType = {
 | 
			
		||||
	PyVarObject_HEAD_INIT(NULL, 0)
 | 
			
		||||
	"PLyResult",				/* tp_name */
 | 
			
		||||
	sizeof(PLyResultObject),	/* tp_size */
 | 
			
		||||
	0,							/* tp_itemsize */
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
	 * methods
 | 
			
		||||
	 */
 | 
			
		||||
	PLy_result_dealloc,			/* tp_dealloc */
 | 
			
		||||
	0,							/* tp_print */
 | 
			
		||||
	0,							/* tp_getattr */
 | 
			
		||||
	0,							/* tp_setattr */
 | 
			
		||||
	0,							/* tp_compare */
 | 
			
		||||
	0,							/* tp_repr */
 | 
			
		||||
	0,							/* tp_as_number */
 | 
			
		||||
	&PLy_result_as_sequence,	/* tp_as_sequence */
 | 
			
		||||
	&PLy_result_as_mapping,		/* tp_as_mapping */
 | 
			
		||||
	0,							/* tp_hash */
 | 
			
		||||
	0,							/* tp_call */
 | 
			
		||||
	&PLy_result_str,			/* tp_str */
 | 
			
		||||
	0,							/* tp_getattro */
 | 
			
		||||
	0,							/* tp_setattro */
 | 
			
		||||
	0,							/* tp_as_buffer */
 | 
			
		||||
	Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,	/* tp_flags */
 | 
			
		||||
	PLy_result_doc,				/* tp_doc */
 | 
			
		||||
	0,							/* tp_traverse */
 | 
			
		||||
	0,							/* tp_clear */
 | 
			
		||||
	0,							/* tp_richcompare */
 | 
			
		||||
	0,							/* tp_weaklistoffset */
 | 
			
		||||
	0,							/* tp_iter */
 | 
			
		||||
	0,							/* tp_iternext */
 | 
			
		||||
	PLy_result_methods,			/* tp_tpmethods */
 | 
			
		||||
	.tp_name = "PLyResult",
 | 
			
		||||
	.tp_basicsize = sizeof(PLyResultObject),
 | 
			
		||||
	.tp_dealloc = PLy_result_dealloc,
 | 
			
		||||
	.tp_as_sequence = &PLy_result_as_sequence,
 | 
			
		||||
	.tp_as_mapping = &PLy_result_as_mapping,
 | 
			
		||||
	.tp_str = &PLy_result_str,
 | 
			
		||||
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
 | 
			
		||||
	.tp_doc = PLy_result_doc,
 | 
			
		||||
	.tp_methods = PLy_result_methods,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
 | 
			
		||||
@ -38,37 +38,12 @@ static PyMethodDef PLy_subtransaction_methods[] = {
 | 
			
		||||
 | 
			
		||||
static PyTypeObject PLy_SubtransactionType = {
 | 
			
		||||
	PyVarObject_HEAD_INIT(NULL, 0)
 | 
			
		||||
	"PLySubtransaction",		/* tp_name */
 | 
			
		||||
	sizeof(PLySubtransactionObject),	/* tp_size */
 | 
			
		||||
	0,							/* tp_itemsize */
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
	 * methods
 | 
			
		||||
	 */
 | 
			
		||||
	PLy_subtransaction_dealloc, /* tp_dealloc */
 | 
			
		||||
	0,							/* tp_print */
 | 
			
		||||
	0,							/* tp_getattr */
 | 
			
		||||
	0,							/* tp_setattr */
 | 
			
		||||
	0,							/* tp_compare */
 | 
			
		||||
	0,							/* tp_repr */
 | 
			
		||||
	0,							/* tp_as_number */
 | 
			
		||||
	0,							/* tp_as_sequence */
 | 
			
		||||
	0,							/* tp_as_mapping */
 | 
			
		||||
	0,							/* tp_hash */
 | 
			
		||||
	0,							/* tp_call */
 | 
			
		||||
	0,							/* tp_str */
 | 
			
		||||
	0,							/* tp_getattro */
 | 
			
		||||
	0,							/* tp_setattro */
 | 
			
		||||
	0,							/* tp_as_buffer */
 | 
			
		||||
	Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,	/* tp_flags */
 | 
			
		||||
	PLy_subtransaction_doc,		/* tp_doc */
 | 
			
		||||
	0,							/* tp_traverse */
 | 
			
		||||
	0,							/* tp_clear */
 | 
			
		||||
	0,							/* tp_richcompare */
 | 
			
		||||
	0,							/* tp_weaklistoffset */
 | 
			
		||||
	0,							/* tp_iter */
 | 
			
		||||
	0,							/* tp_iternext */
 | 
			
		||||
	PLy_subtransaction_methods, /* tp_tpmethods */
 | 
			
		||||
	.tp_name = "PLySubtransaction",
 | 
			
		||||
	.tp_basicsize = sizeof(PLySubtransactionObject),
 | 
			
		||||
	.tp_dealloc = PLy_subtransaction_dealloc,
 | 
			
		||||
	.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
 | 
			
		||||
	.tp_doc = PLy_subtransaction_doc,
 | 
			
		||||
	.tp_methods = PLy_subtransaction_methods,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user