Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package steampipe for openSUSE:Factory checked in at 2026-02-17 16:51:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/steampipe (Old) and /work/SRC/openSUSE:Factory/.steampipe.new.1977 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "steampipe" Tue Feb 17 16:51:40 2026 rev:15 rq:1333473 version:2.3.5 Changes: -------- --- /work/SRC/openSUSE:Factory/steampipe/steampipe.changes 2025-12-17 17:38:00.203771637 +0100 +++ /work/SRC/openSUSE:Factory/.steampipe.new.1977/steampipe.changes 2026-02-17 16:53:33.170992878 +0100 @@ -1,0 +2,8 @@ +Mon Feb 09 09:50:29 UTC 2026 - Felix Niederwanger <[email protected]> + +- Update to version 2.3.5: + * v2.3.5 + * Fix autocomplete regression: suggestions disappear when typing table name after 'from ' closes #4928 (#4929) + * Update golang.org/x/crypto to fix security vulnerabilities + +------------------------------------------------------------------- Old: ---- steampipe-2.3.4.obscpio New: ---- steampipe-2.3.5.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ steampipe.spec ++++++ --- /var/tmp/diff_new_pack.jXLOEj/_old 2026-02-17 16:53:37.835187558 +0100 +++ /var/tmp/diff_new_pack.jXLOEj/_new 2026-02-17 16:53:37.835187558 +0100 @@ -17,7 +17,7 @@ Name: steampipe -Version: 2.3.4 +Version: 2.3.5 Release: 0 Summary: Query various APIs and services via SQL language License: AGPL-3.0-only ++++++ _service ++++++ --- /var/tmp/diff_new_pack.jXLOEj/_old 2026-02-17 16:53:37.883189562 +0100 +++ /var/tmp/diff_new_pack.jXLOEj/_new 2026-02-17 16:53:37.895190063 +0100 @@ -2,7 +2,7 @@ <service name="obs_scm" mode="manual"> <param name="url">https://github.com/turbot/steampipe.git</param> <param name="scm">git</param> - <param name="revision">v2.3.4</param> + <param name="revision">v2.3.5</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="changesgenerate">enable</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.jXLOEj/_old 2026-02-17 16:53:37.919191065 +0100 +++ /var/tmp/diff_new_pack.jXLOEj/_new 2026-02-17 16:53:37.927191399 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/turbot/steampipe.git</param> - <param name="changesrevision">a236e2ca368e09d30c2df550c2f53e52bdfd730d</param></service></servicedata> + <param name="changesrevision">a4b708bcc1939d72853932b78db51ba8d92227ac</param></service></servicedata> (No newline at EOF) ++++++ steampipe-2.3.4.obscpio -> steampipe-2.3.5.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/steampipe-2.3.4/CHANGELOG.md new/steampipe-2.3.5/CHANGELOG.md --- old/steampipe-2.3.4/CHANGELOG.md 2025-12-16 16:57:55.000000000 +0100 +++ new/steampipe-2.3.5/CHANGELOG.md 2026-02-06 08:59:35.000000000 +0100 @@ -1,3 +1,10 @@ +## v2.3.5 [2026-02-06] +_Bug fixes_ +- Fix autocomplete regression where suggestions disappear when typing a table name after `from `. ([#4928](https://github.com/turbot/steampipe/issues/4928)) + +_Dependencies_ +- Updated `golang.org/x/crypto` package to remediate security vulnerabilities. + ## v2.3.4 [2025-12-16] _Bug fixes_ - Fix database client deadlocks caused by concurrent session map access during connection pool cleanup. ([#4917](https://github.com/turbot/steampipe/issues/4917)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/steampipe-2.3.4/go.mod new/steampipe-2.3.5/go.mod --- old/steampipe-2.3.4/go.mod 2025-12-16 16:57:55.000000000 +0100 +++ new/steampipe-2.3.5/go.mod 2026-02-06 08:59:35.000000000 +0100 @@ -45,8 +45,8 @@ github.com/turbot/terraform-components v0.0.0-20250114051614-04b806a9cbed github.com/zclconf/go-cty v1.16.3 // indirect golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 - golang.org/x/sync v0.18.0 - golang.org/x/text v0.31.0 + golang.org/x/sync v0.19.0 + golang.org/x/text v0.33.0 google.golang.org/grpc v1.73.0 google.golang.org/protobuf v1.36.6 ) @@ -177,10 +177,10 @@ go.opentelemetry.io/proto/otlp v1.5.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.38.0 - golang.org/x/term v0.37.0 // indirect + golang.org/x/sys v0.40.0 + golang.org/x/term v0.39.0 // indirect golang.org/x/time v0.12.0 // indirect - golang.org/x/tools v0.38.0 // indirect + golang.org/x/tools v0.40.0 // indirect google.golang.org/api v0.227.0 // indirect google.golang.org/genproto v0.0.0-20250313205543-e70fdf4c4cb4 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250324211829-b45e905df463 // indirect @@ -224,9 +224,9 @@ go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/contrib/detectors/gcp v1.35.0 // indirect go.uber.org/mock v0.4.0 // indirect - golang.org/x/crypto v0.45.0 // indirect - golang.org/x/mod v0.29.0 // indirect - golang.org/x/net v0.47.0 // indirect + golang.org/x/crypto v0.47.0 // indirect + golang.org/x/mod v0.31.0 // indirect + golang.org/x/net v0.48.0 // indirect ) require ( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/steampipe-2.3.4/go.sum new/steampipe-2.3.5/go.sum --- old/steampipe-2.3.4/go.sum 2025-12-16 16:57:55.000000000 +0100 +++ new/steampipe-2.3.5/go.sum 2026-02-06 08:59:35.000000000 +0100 @@ -1349,8 +1349,8 @@ golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= -golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q= -golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4= +golang.org/x/crypto v0.47.0 h1:V6e3FRj+n4dbpw86FJ8Fv7XVOql7TEwpHapKoMJ/GO8= +golang.org/x/crypto v0.47.0/go.mod h1:ff3Y9VzzKbwSSEzWqJsJVBnWmRwRSHt/6Op5n9bQc4A= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1413,8 +1413,8 @@ golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA= -golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w= +golang.org/x/mod v0.31.0 h1:HaW9xtz0+kOcWKwli0ZXy79Ix+UW/vOfmWI5QVd2tgI= +golang.org/x/mod v0.31.0/go.mod h1:43JraMp9cGx1Rx3AqioxrbrhNsLl2l/iNAvuBkrezpg= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1477,8 +1477,8 @@ golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= -golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= -golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= +golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU= +golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1530,8 +1530,8 @@ golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= -golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= +golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1624,8 +1624,8 @@ golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= -golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= +golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -1640,8 +1640,8 @@ golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= -golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU= -golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254= +golang.org/x/term v0.39.0 h1:RclSuaJf32jOqZz74CkPA9qFuVTX7vhLlpfj/IGWlqY= +golang.org/x/term v0.39.0/go.mod h1:yxzUCTP/U+FzoxfdKmLaA0RV1WgE0VY7hXBwKtY/4ww= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1662,8 +1662,8 @@ golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= -golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= -golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= +golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE= +golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1735,8 +1735,8 @@ golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ= -golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs= +golang.org/x/tools v0.40.0 h1:yLkxfA+Qnul4cs9QA3KnlFu0lVmd8JJfoq+E41uSutA= +golang.org/x/tools v0.40.0/go.mod h1:Ik/tzLRlbscWpqqMRjyWYDisX8bG13FrdXp3o4Sr9lc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/steampipe-2.3.4/pkg/interactive/interactive_client_test.go new/steampipe-2.3.5/pkg/interactive/interactive_client_test.go --- old/steampipe-2.3.4/pkg/interactive/interactive_client_test.go 2025-12-16 16:57:55.000000000 +0100 +++ new/steampipe-2.3.5/pkg/interactive/interactive_client_test.go 2026-02-06 08:59:35.000000000 +0100 @@ -587,9 +587,10 @@ // // This is important for autocomplete - when a user types "from " (with a space), // the system should recognize they are about to enter a table name and enable -// table suggestions. +// table suggestions. It should also remain true while typing a table name so +// that autocomplete can filter suggestions as the user types. // -// Bug: #4810 +// Bug: #4810, #4928 func TestGetQueryInfo_FromDetection(t *testing.T) { tests := []struct { name string @@ -598,16 +599,16 @@ expectedEditTable bool }{ { - name: "just_from", + name: "just_from_with_space", input: "from ", expectedTable: "", - expectedEditTable: true, // Should be true - user is about to enter table name + expectedEditTable: true, }, { - name: "from_with_table", + name: "from_typing_table", input: "from my_table", expectedTable: "my_table", - expectedEditTable: false, // Not editing, already entered + expectedEditTable: true, // Still editing - prevWord is "from" }, { name: "from_keyword_only", @@ -615,6 +616,12 @@ expectedTable: "", expectedEditTable: false, }, + { + name: "from_table_done", + input: "from my_table ", + expectedTable: "my_table", + expectedEditTable: false, // Done editing - prevWord is now "my_table" + }, } for _, tt := range tests { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/steampipe-2.3.4/pkg/interactive/interactive_helpers.go new/steampipe-2.3.5/pkg/interactive/interactive_helpers.go --- old/steampipe-2.3.4/pkg/interactive/interactive_helpers.go 2025-12-16 16:57:55.000000000 +0100 +++ new/steampipe-2.3.5/pkg/interactive/interactive_helpers.go 2026-02-06 08:59:35.000000000 +0100 @@ -17,17 +17,12 @@ return &queryCompletionInfo{ Table: table, - EditingTable: isEditingTable(text, prevWord), + EditingTable: isEditingTable(prevWord), } } -func isEditingTable(text string, prevWord string) bool { - // Only consider it editing table if: - // 1. The previous word is "from" - // 2. The text ends with a space (meaning cursor is after "from ", not in the middle of typing a table name) - endsWithSpace := len(text) > 0 && text[len(text)-1] == ' ' - var editingTable = prevWord == "from" && endsWithSpace - return editingTable +func isEditingTable(prevWord string) bool { + return prevWord == "from" } func getTable(text string) string { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/steampipe-2.3.4/pkg/interactive/interactive_helpers_test.go new/steampipe-2.3.5/pkg/interactive/interactive_helpers_test.go --- old/steampipe-2.3.4/pkg/interactive/interactive_helpers_test.go 2025-12-16 16:57:55.000000000 +0100 +++ new/steampipe-2.3.5/pkg/interactive/interactive_helpers_test.go 2026-02-06 08:59:35.000000000 +0100 @@ -324,59 +324,53 @@ func TestIsEditingTable(t *testing.T) { tests := []struct { name string - text string prevWord string expected bool }{ { - name: "from keyword with trailing space", - text: "from ", + name: "from keyword", prevWord: "from", expected: true, }, { - name: "from keyword without trailing space", - text: "from", - prevWord: "from", - expected: false, - }, - { name: "not from keyword", - text: "select ", prevWord: "select", expected: false, }, { name: "empty string", - text: "", prevWord: "", expected: false, }, { name: "FROM uppercase", - text: "FROM ", prevWord: "FROM", expected: false, }, { name: "whitespace", - text: " from ", prevWord: " from ", expected: false, }, + { + name: "table name after from", + prevWord: "aws_s3_bucket", + expected: false, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - result := isEditingTable(tt.text, tt.prevWord) + result := isEditingTable(tt.prevWord) if result != tt.expected { - t.Errorf("isEditingTable(%q, %q) = %v, want %v", tt.text, tt.prevWord, result, tt.expected) + t.Errorf("isEditingTable(%q) = %v, want %v", tt.prevWord, result, tt.expected) } }) } } -// TestGetQueryInfo tests the getQueryInfo function (passing cases only) +// TestGetQueryInfo tests the getQueryInfo function +// Bug: #4928 - autocomplete suggestions disappear when typing table name after 'from ' func TestGetQueryInfo(t *testing.T) { tests := []struct { name string @@ -391,11 +385,35 @@ expectedEditing: true, }, { - name: "table specified", + name: "typing table name after from", + input: "select * from aws", + expectedTable: "aws", + expectedEditing: true, + }, + { + name: "typing partial table name", + input: "select * from aws_s3", + expectedTable: "aws_s3", + expectedEditing: true, + }, + { + name: "typing qualified table name", + input: "select * from aws.aws_s3_bucket", + expectedTable: "aws.aws_s3_bucket", + expectedEditing: true, + }, + { + name: "table specified with trailing space", input: "select * from users ", expectedTable: "users", expectedEditing: false, }, + { + name: "past table into where clause", + input: "select * from users where", + expectedTable: "users", + expectedEditing: false, + }, { name: "not at from clause", input: "select * ", ++++++ steampipe.obsinfo ++++++ --- /var/tmp/diff_new_pack.jXLOEj/_old 2026-02-17 16:53:39.471255847 +0100 +++ /var/tmp/diff_new_pack.jXLOEj/_new 2026-02-17 16:53:39.487256515 +0100 @@ -1,5 +1,5 @@ name: steampipe -version: 2.3.4 -mtime: 1765900675 -commit: a236e2ca368e09d30c2df550c2f53e52bdfd730d +version: 2.3.5 +mtime: 1770364775 +commit: a4b708bcc1939d72853932b78db51ba8d92227ac ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/steampipe/vendor.tar.gz /work/SRC/openSUSE:Factory/.steampipe.new.1977/vendor.tar.gz differ: char 13, line 1
