{"record":{"id":"4adf62df8a6da34a","repo":"prestodb/presto","slug":"invalid-procedure-argument-4adf62","errorCode":"INVALID_PROCEDURE_ARGUMENT","errorMessage":"input partition column names doesn't match actual partition column names","messagePattern":"input partition column names doesn't match actual partition column names","errorType":"error_code","errorClass":"PrestoException","httpStatus":null,"severity":"error","filePath":"presto-hive/src/main/java/com/facebook/presto/hive/CreateEmptyPartitionProcedure.java","lineNumber":115,"sourceCode":"    public void createEmptyPartition(ConnectorSession session, String schema, String table, List<Object> partitionColumnNames, List<Object> partitionValues)\n    {\n        try (ThreadContextClassLoader ignored = new ThreadContextClassLoader(getClass().getClassLoader())) {\n            doCreateEmptyPartition(session, schema, table, partitionColumnNames, partitionValues);\n        }\n    }\n\n    private void doCreateEmptyPartition(ConnectorSession session, String schema, String table, List<Object> partitionColumnNames, List<Object> partitionValues)\n    {\n        TransactionalMetadata hiveMetadata = hiveMetadataFactory.get();\n\n        HiveInsertTableHandle hiveInsertTableHandle = (HiveInsertTableHandle) hiveMetadata.beginInsert(session, new HiveTableHandle(schema, table));\n\n        List<String> actualPartitionColumnNames = hiveInsertTableHandle.getInputColumns().stream()\n                .filter(HiveColumnHandle::isPartitionKey)\n                .map(HiveColumnHandle::getName)\n                .collect(toImmutableList());\n        if (!Objects.equals(partitionColumnNames, actualPartitionColumnNames)) {\n            throw new PrestoException(INVALID_PROCEDURE_ARGUMENT, \"input partition column names doesn't match actual partition column names\");\n        }\n\n        List<String> partitionStringValues = partitionValues.stream()\n                .map(String.class::cast)\n                .collect(toImmutableList());\n\n        if (metastore.getPartition(new MetastoreContext(\n                        session.getIdentity(),\n                        session.getQueryId(),\n                        session.getClientInfo(),\n                        session.getClientTags(),\n                        session.getSource(),\n                        getMetastoreHeaders(session),\n                        false,\n                        HiveColumnConverterProvider.DEFAULT_COLUMN_CONVERTER_PROVIDER,\n                        session.getWarningCollector(),\n                        session.getRuntimeStats()),\n                schema,","sourceCodeStart":97,"sourceCodeEnd":133,"githubUrl":"https://github.com/prestodb/presto/blob/55bb57d202de3b926896fa966c2c4a44c779634e/presto-hive/src/main/java/com/facebook/presto/hive/CreateEmptyPartitionProcedure.java#L97-L133","documentation":"Procedure-argument validation: the partition column names supplied to create_empty_partition do not equal the table's actual partition column set (order or names differ), so the target partition cannot be identified.","triggerScenarios":"Thrown at presto-hive/src/main/java/com/facebook/presto/hive/CreateEmptyPartitionProcedure.java:115 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["List the table's partition columns (SHOW CREATE TABLE) and pass them exactly","Fix ordering or spelling of the names argument"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"55bb57d202de3b926896fa966c2c4a44c779634e","analyzedAt":"2026-09-04T12:50:26.162Z","contentChangedAt":"2026-09-04T12:50:26.162Z","schemaVersion":2},"datasetVersion":"2026-09-11T21:17:09.523Z"}