From 8af20d62778b44fc5bfe91f2f8fe7991ffc09bb9 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 29 Aug 2018 08:36:30 +0200 Subject: [PATCH 1/2] Use C99 designated initializers for some structs --- src/backend/access/transam/xact.c | 23 +- src/backend/catalog/heap.c | 98 ++++-- src/bin/psql/tab-complete.c | 434 ++++++++------------------- src/pl/plpython/plpy_cursorobject.c | 39 +-- src/pl/plpython/plpy_planobject.c | 37 +-- src/pl/plpython/plpy_plpymodule.c | 22 +- src/pl/plpython/plpy_resultobject.c | 57 +--- src/pl/plpython/plpy_subxactobject.c | 37 +-- 8 files changed, 242 insertions(+), 505 deletions(-) diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index cd8270d5fb..875be180fe 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -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, }; /* diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c index ac5a677c5f..ecbe88569f 100644 --- a/src/backend/catalog/heap.c +++ b/src/backend/catalog/heap.c @@ -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}; diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index bb696f8ee9..97dfd01b5e 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -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} + { + .min_server_version = 0, + .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)", }; diff --git a/src/pl/plpython/plpy_cursorobject.c b/src/pl/plpython/plpy_cursorobject.c index e32bc568bc..45ac25b2ae 100644 --- a/src/pl/plpython/plpy_cursorobject.c +++ b/src/pl/plpython/plpy_cursorobject.c @@ -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 diff --git a/src/pl/plpython/plpy_planobject.c b/src/pl/plpython/plpy_planobject.c index 390b4e90d4..96ea24cbcf 100644 --- a/src/pl/plpython/plpy_planobject.c +++ b/src/pl/plpython/plpy_planobject.c @@ -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 diff --git a/src/pl/plpython/plpy_plpymodule.c b/src/pl/plpython/plpy_plpymodule.c index c55cd959c2..23e49e4b75 100644 --- a/src/pl/plpython/plpy_plpymodule.c +++ b/src/pl/plpython/plpy_plpymodule.c @@ -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, }; /* diff --git a/src/pl/plpython/plpy_resultobject.c b/src/pl/plpython/plpy_resultobject.c index ca70e25689..92670865a6 100644 --- a/src/pl/plpython/plpy_resultobject.c +++ b/src/pl/plpython/plpy_resultobject.c @@ -31,19 +31,16 @@ 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 */ - PLy_result_slice, /* sq_slice */ - NULL, /* sq_ass_item */ - PLy_result_ass_slice, /* sq_ass_slice */ + .sq_length = PLy_result_length, + .sq_item = PLy_result_item, + .sq_slice = PLy_result_slice, + .sq_ass_slice = PLy_result_ass_slice, }; 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[] = { @@ -57,37 +54,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 diff --git a/src/pl/plpython/plpy_subxactobject.c b/src/pl/plpython/plpy_subxactobject.c index 331d2b859c..53fd36edba 100644 --- a/src/pl/plpython/plpy_subxactobject.c +++ b/src/pl/plpython/plpy_subxactobject.c @@ -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, }; -- 2.18.0