{"record":{"id":"c3c4ef3d7a10e441","repo":"pentaho/pentaho-kettle","slug":"error-table-0-doesn-t-existing-in-luciddb","errorCode":null,"errorMessage":"Error: Table {0} doesn't existing in LucidDB","messagePattern":"Error: Table (.+?) doesn't existing in LucidDB","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"critical","filePath":"plugins/lucid-db-streaming-loader/core/src/main/java/org/pentaho/di/trans/steps/luciddbstreamingloader/LucidDBStreamingLoader.java","lineNumber":141,"sourceCode":"        return false;\n      }\n\n      if ( first ) {\n\n        first = false;\n\n        // For anything other than Custom operations, check to see if the table exists\n        if ( meta.getOperation() != LucidDBStreamingLoaderMeta.OPERATION_CUSTOM ) {\n          if ( log.isDebug() ) {\n            logDebug( \"Connected to LucidDB\" );\n          }\n          String qualifiedTableName =\n            meta.getDatabaseMeta().getQuotedSchemaTableCombination(\n              environmentSubstitute( meta.getSchemaName() ), environmentSubstitute( meta.getTableName() ) );\n\n          if ( !data.db.checkTableExists( qualifiedTableName ) ) {\n\n            throw new KettleException( \"Error: Table \" + qualifiedTableName + \" doesn't existing in LucidDB\" );\n\n          }\n        }\n\n        String sql = meta.getDMLStatement( this, getInputRowMeta() );\n        PreparedStatement ps = data.db.prepareSQL( sql );\n\n        if ( log.isDebug() ) {\n          logDebug( \"Executing sql statements...\" );\n        }\n\n        data.sqlRunner = new SqlRunner( data, ps );\n        data.sqlRunner.start();\n\n        if ( log.isDebug() ) {\n          logDebug( \"Remote rows is up now...\" );\n        }\n","sourceCodeStart":123,"sourceCodeEnd":159,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/plugins/lucid-db-streaming-loader/core/src/main/java/org/pentaho/di/trans/steps/luciddbstreamingloader/LucidDBStreamingLoader.java#L123-L159","documentation":"Before streaming rows, LucidDBStreamingLoader optionally verifies the target table exists via data.db.checkTableExists(qualifiedTableName); if absent it throws KettleException 'Error: Table {qualifiedTableName} doesn't existing in LucidDB'. The loader requires a pre-existing table to attach its streaming UDX.","triggerScenarios":"processRow runs with 'truncate table' / existence-check enabled and the schema-qualified table (environmentSubstitute(schema) + environmentSubstitute(table)) does not exist in the LucidDB database.","commonSituations":"Table never created or dropped; wrong schema name; connected to the wrong LucidDB instance/catalog; variables in schema/table names substitute to different values per environment; case-sensitive schema/table naming.","solutions":["Create the target table in LucidDB (e.g. via SQL: CREATE TABLE schema.table (...)) before running the transformation","Verify the LucidDB connection points to the expected database/catalog","Check that schema/table variables resolve to the intended names (log environmentSubstitute results)","Fix case/quote handling in the schema and table names"],"exampleFix":"// before: table missing\n// after: create it first\nString sql = \"CREATE TABLE \" + qualifiedTableName + \" (id INT, name VARCHAR(100))\";\ndata.db.execStatement(sql);","handlingStrategy":"validation","validationCode":"DatabaseMeta dbMeta = meta.getDatabaseMeta();\nString qualified = dbMeta.getQuotedSchemaTableCombination(schema, table);\nif (!db.checkTableExists(qualified)) {\n  throw new KettleException(\"Create table \" + qualified + \" before running the loader\");\n}","typeGuard":null,"tryCatchPattern":"try {\n  loader.processRow();\n} catch (KettleException e) {\n  if (e.getMessage().contains(\"doesn't existing in LucidDB\")) {\n    logError(\"Create the target table in LucidDB first\");\n  }\n  throw e;\n}","preventionTips":["Create the target table as a prerequisite step in the job","Use DDL scripts managed alongside transformations","Verify schema/table variable values per environment"],"tags":["luciddb","database","missing-table"],"backgroundTag":"entity-not-found","analyzedSha":"f3058517a153da500bf4551f46d79b91bf8ec552","analyzedAt":"2026-09-13T14:04:16.340Z","contentChangedAt":"2026-09-13T14:04:16.340Z","schemaVersion":2},"datasetVersion":"2026-09-20T23:17:15.980Z"}