From 0cb0f9303d46766a7b19f8fa9668c9a3594ab641 Mon Sep 17 00:00:00 2001 From: "Namhyeon, Go" Date: Mon, 23 Jun 2025 17:36:03 +0900 Subject: [PATCH] ESENT: fix the index creation failure #277 --- .../WelsonJS.Launcher/InstancesForm.cs | 1 - .../WelsonJS.Launcher/MetadataStore.cs | 16 +++++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/WelsonJS.Toolkit/WelsonJS.Launcher/InstancesForm.cs b/WelsonJS.Toolkit/WelsonJS.Launcher/InstancesForm.cs index 53b72ee..d78509f 100644 --- a/WelsonJS.Toolkit/WelsonJS.Launcher/InstancesForm.cs +++ b/WelsonJS.Toolkit/WelsonJS.Launcher/InstancesForm.cs @@ -15,7 +15,6 @@ namespace WelsonJS.Launcher private string entryFileName; private string scriptName; private const string timestampFormat = "yyyy-MM-dd HH:mm:ss"; - private static MetadataStore metadataStore; public InstancesForm() { diff --git a/WelsonJS.Toolkit/WelsonJS.Launcher/MetadataStore.cs b/WelsonJS.Toolkit/WelsonJS.Launcher/MetadataStore.cs index bfef1fa..c6547a7 100644 --- a/WelsonJS.Toolkit/WelsonJS.Launcher/MetadataStore.cs +++ b/WelsonJS.Toolkit/WelsonJS.Launcher/MetadataStore.cs @@ -105,20 +105,22 @@ namespace WelsonJS.Launcher Api.JetAddColumn(_session, tableid, col.Name, coldef, null, 0, out _); } - string indexName = "primary"; - string indexKey = $"+{_primaryKey}\0\0"; // Primary key ASC + string indexKey = $"+{_primaryKey.Name}\0"; + int keyLength = Encoding.ASCII.GetByteCount(indexKey + "\0"); // double null-terminated + string fullKeyDescription = indexKey + "\0"; Api.JetCreateIndex( _session, tableid, - indexName, + "primary", CreateIndexGrbit.IndexPrimary | CreateIndexGrbit.IndexUnique, - indexKey, - indexKey.Length, - 100); + fullKeyDescription, + keyLength, + 100 + ); - Api.JetCloseTable(_session, tableid); Api.JetCommitTransaction(_session, CommitTransactionGrbit.None); + Api.JetCloseTable(_session, tableid); } private void CacheColumns()