[Feature Request] Support for Debian (repository)

Hello!
After asking other projects to add their builds to Debian's repository:
OpenSnitch
https://github.com/evilsocket/opensnitch/issues/798
KDiskMark
https://github.com/JonMagon/KDiskMark/issues/110
I would like to ask this one too as it seems great to me and I would like to have it directly into Debian's repository for quick and easy install / reinstall and upgrade!
From what I've heard the queue for accepting new packages is quite long, so it's better to start the process sooner than later.
I understand that you don't have the resources to add support for all Linux distributions, but Debian is one of the biggest and most popular distributions out there:
Ranked 4th on DistroWatch and GamingOnLinux:
https://distrowatch.com/
https://www.gamingonlinux.com/users/statistics/#LinuxDistributionsCombined-top
And it has one of the largest repository of packages (63127 on stable and 69473 on unstable)
https://pkgs.org/
So, can you please try to put this there too?
Thank you!

BTW, I asked the GPU-viewer project the same thing as I would love to see both projects in Debian's repository:
https://github.com/arunsivaramanneo/GPU-Viewer/issues/74
Maybe you can help each other with this task, even though I assume you can also ask the developers of the other two for help.

Should ITP requests be sent by the application developer?

Should ITP requests be sent by the application developer?

I don't know.
But I tried to look how the other two projects did it after asking them about this.
I followed the link in this comment:
https://github.com/evilsocket/opensnitch/issues/798#issuecomment-1382183103
While the owner seems to be indeed the developer of OpenSnitch, but the requester seems to be somebody else, which after reading those message there got me to this reply:
https://github.com/evilsocket/opensnitch/issues/304#issuecomment-748457182
And the message above it which seem so be a user with nickname @lamby .
Maybe he can answer this question, if he gets a notification from here.
But for the KDiskMark, project I see that the developer himself of that project created the request as he says here:
https://github.com/JonMagon/KDiskMark/issues/110#issuecomment-1356719906
And if you look into that link (request) somebody says that it likes his idea and wants to help.
So, until now it looks to me that an application developer can send this kind of request and somebody will answer, eventually with some instructions or offer to help.

I will help package it by Debian developers, but I will not send an ITP request myself.
I already provide a deb package, also we can install amdgpu_top with cargo install amdgpu_top.

I will help package it by Debian developers, but I will not send an ITP request myself. I already provide a deb package, also we can install amdgpu_top with cargo install amdgpu_top.

That's ok, thank you!


Can't get rank of Array Types

I notice that property "ClrType.IsArray" indicates whether a ClrType is array type or not. As I tested, it recognizes "int[,]" as an array type, as expected.
The problem is that I found no method like "System.Type.GetArrayRank()" to get the rank of array types.
There is also no way to access an array of 2 or higher rank.

Sorry I found a class ClrArray that satisfies.
No other problem then.


Convert ZCL attributes from strings when writing

When writing attributes via the ZCL cluster management dialog, strings aren't currently converted into their correct type. I believe this is a regression.
We'll need to figure out a generic way to do string conversion for complex types, like arrays and structs.

Hi there - what's needed to push this one forward, as I'm struggling with broken device settings that would be resolved by this? Happy to help out if there's anything I can do :-)

I've not had time to write unit tests for this change so if you'd like to merged, 100% test coverage would be nice 😄

Love to help, but I’m not that familiar with the unit test system in use - if you’ve got a hint as to where to get started I’ll have a look though! :-)

Love to help, but I’m not that familiar with the unit test system in use - if you’ve got a hint as to where to get started I’ll have a look though! :-)

Maybe you can look at the current tests:

https://github.com/zigpy/zha/blob/dev/tests/test_application_helpers.py


Debugger line highlighter not updating when number of lines in file being debugged changes

VSCode Version: Code 1.7.2 (7ba55c5860b152d999dda59393ca3ebeb1b5c85f, 2016-11-21T22:14:18.217Z)
OS Version: Linux x64 4.4.0-53-generic
Extensions:

Extension
Author
Version

rainbow-brackets
2gua
0.0.6

output-colorizer
IBM
0.0.8

indenticator
SirTori
0.2.1

code-gnu-global
austin
0.2.1

codecover
bradleymeck
1.1.0

python
donjayamanne
0.5.5

code-runner
formulahendry
0.6.3

cs-syntax-visualizer
itn3000
0.0.2

Hg
jake-coltman
0.0.4

clangcomplete
kube
0.0.5

vscode-clang
mitaki28
0.2.1

cpptools
ms-vscode
0.9.3

csharp
ms-vscode
1.5.3

sublime-keybindings
ms-vscode
1.8.0

indent-rainbow
oderwat
0.4.1

vscode-icons
robertohuertasm
4.1.0

trailing-spaces
shardulm94
0.2.11

shader
slevesque
0.2.2

cmake
twxs
0.0.15

cmake-tools
vector-of-bool
0.8.6

clang-format
xaver
1.0.0

Steps to Reproduce:

Run debugger (I'm currently using python, but I think this is language agnostic)
Edit the file you're debugging to change the number of lines above the line the debugger is on (I used another text editor, but I think I've seen this occur if I edit the file using VSCode)
Now the debugging line indicator should be displaced from the actual line that is being debugged by a number of lines equal to the number of lines inserted

The VS Code debugger ('node') does not yet support 'live edit'.
This means that whenever you edit source while a debug session is active, the debugger is not aware of the source change and line and column locations are not displayed correctly.
To make the user aware of this we show breakpoints in grey after a source edit.
@isidorn currently the yellow current line is adjusted after lines are inserted or deleted. This is confusing because the user thinks that the debugger has picked up the changes (which it didn't).
And another 'step' makes the current line jump back to the original location. I suggest that we do not adjust the current line when the editor is dirty.
@roblourens I noticed that 'node2' shows some erratic behaviour when inserting lines while a debug session is active. Are you already trying to support 'live edit'?

@weinand the yellow current line is implemented using editor decorations and this is just how editor decorations work - namely they are tied to the location in the edior and as that location changes the decorations automatically update.
Also not adjusting a current line would have the downside of making it confuzing for adapters that do support live editor.
Closing as will not fix

@isidorn if the current implementation does not work for us, then we will have fix this on our end.
If we start supporting live editing, then we will have to address your second argument.

No, I'm not doing anything to support live edit.

node2 doesn't look any more erratic than node-debug to me. It's what I expect, if I insert a line, then the highlight is off by a line.


Race Condition when referencing KMS Key in Filesystem composite

What happened?
I am trying to create a composite crossplane resource consisting of an EFS filesystem component that references a KMS key. The key will be created in advance, so that I can reference it in my EFS filesystem for encryption. On first sight, this works as expected. The key is created and its ARN is added to the status field of the composite resource. But when I look into the AWS Management console, then I see that the EFS filesystem is created with a reference to the default aws/elasticfilesystem KMS key instead of the one that is created by crossplane. When I then delete the filesystem with kubectl delete, the filesystem will be recreated with the correct KMS key reference. It seems as if there is some sort of timing issue when the KMS key is initially created. Could you please evaluate this?
How can we reproduce it?
The below snippet shows the composition yaml:

apiVersion: apiextensions.crossplane.io/v1
kind: Composition
metadata:
  name: sample-efs
  labels:
    crossplane.io/xrd: elasticfilesystems.some.api.group
spec:
  compositeTypeRef:
    apiVersion: some.api.group/v1alpha1
    kind: ElasticFilesystem
  resources:
    - name: key
      base:
        apiVersion: kms.aws.crossplane.io/v1alpha1
        kind: Key
        spec:
          forProvider:
            region:
            policy:
          providerConfigRef:
            name: aws-provider
      patches:
        - type: ToCompositeFieldPath
           fromFieldPath: "status.atProvider.arn"
           toFieldPath: "status.kmsKeyArn"
    - name: filesystem
      base:
        apiVersion: efs.aws.crossplane.io/v1alpha1
        kind: FileSystem
        spec:
          forProvider:
            encrypted: true
            kmsKeyID:
            performanceMode:
            region:
          providerConfigRef:
            name: aws-provider
      patches:
        - fromFieldPath: "status.kmsKeyArn"
          toFieldPath: "spec.forProvider.kmsKeyID"

This is the code of the corresponding resource definition:

apiVersion: apiextensions.crossplane.io/v1
kind: CompositeResourceDefinition
metadata:
  name: elasticfilesystems.some.api.group
spec:
  group: some.api.group
  names:
    kind: ElasticFilesystem
    plural: elasticfilesystems
  claimNames:
    kind: ElasticFilesystemClaim
    plural: elasticfilesystemclaims
  versions:
    - name: v1alpha1
      served: true
      referenceable: true
      schema:
        openAPIV3Schema:
          type: object
          properties:
            spec:
              type: object
              properties:
                parameters:
                  type: object
                  properties:
                    region:
                      type: string
                      enum: ["eu-west-1", "eu-central-1", "us-east-1"]
                    performanceMode:
                      type: string
                      enum: ["generalPurpose", "maxIO"]
                  required:
                    - region
                    - performanceMode
              required:
                - parameters
            status:
              type: object
              properties:
                kmsKeyArn:
                  type: string

What environment did it happen in?
Crossplane version: 1.6.2
AWS provider version: 0.24.1
Kubernetes version: 1.21

Some parts of the KMS API are eventual consistent: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-eventual-consistency
Maybe that's the issue here?

@mithie did you tested to use Ref/Selectors for kmsKeyId ? In our setup can't see the issue when using:
<EMAIL_ADDRESS>or
<EMAIL_ADDRESS>

Hi @haarchri , yes I tried that (kmsKeyIdRef) out and it works as expected. Though, shouldn't it work as well when I am  using kmsKeyID? If there is any sort of restriction when using this property I think it should at least be documented.

with Ref/Selector we waiting till the KMS Key is available thing this does the trink - and saved you the patch

Think for EFS and KMS the stuff is working - @babilen i will have a look for your referenced issue for sqs

with Ref/Selector we waiting till the KMS Key is available thing this does the trink - and saved you the patch

Yes, that is true. but it is not documented that using the Id instead won't work and why. Maybe this is a general issue and if so I would expect that it is documented in the spec. Or maybe I just overlooked something. But adding a short comment/explanation to this property might save a lot of time doing trial and error. Also, why are you waiting when you are using the Ref/Selector attributes and why not when using the component Id?

I'm running into a similar issue when trying to create an encrypted Queue.
Just out of curiosity, how did you make kmsKeyIdRef work, @mithie ?

@babilen , in the filesystem composition I am defining the kmsKeyIdRef:
    - name: filesystem
      base:
        apiVersion: efs.aws.crossplane.io/v1alpha1
        kind: FileSystem
        spec:
          forProvider:
            encrypted: true
            kmsKeyIdRef:
              name:
      ...
      patches:
        - fromFieldPath: "status.kmsKeyName"
          toFieldPath: "spec.forProvider.kmsKeyIdRef[name]"

After the key is created I write the key name into the status.kmsKeyName field of my custom component, so that I can reference it within the patch above.
  resources:
    - name: key
      base:
        apiVersion: kms.aws.crossplane.io/v1alpha1
        kind: Key
       ...
      patches:
        - type: ToCompositeFieldPath
          fromFieldPath: "metadata.name"
          toFieldPath: "status.kmsKeyName"


join() api does not exist anymore

The examples in:
https://github.com/lightstep/lightstep-tracer-javascript/blob/master/doc/cookbook.md
use tracer.join, which was removed in v0.10
https://github.com/opentracing/opentracing-javascript#v09x-to-v010x

Thanks! I'll update the docs to use the extract() semantics that were recently added to OpenTracing.


Fix OctetStreamtmp upload file cleanup while req aborted

while req emit the aborted event,OctetStream will not handle the tmp opened upload file release,this will cause file handle leak while long time run.

Thanks


Add support for PS sharding in compute

refer #5508
replaces #5837
Problem
Summary of changes
Checklist before requesting a review

[ ] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
[ ] If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

[ ] Do not forget to reformat commit message to not include the above checklist

Two things before merging:

Please check in with Heikki: he was a reviewer on the previous PR
Please write a proper description, as this will end up  in  the commit message

Two things before merging:

Please check in with Heikki: he was a reviewer on the previous PR
Please write a proper description, as this will end up  in  the commit message

Done

This also changes a lot of elog(...) calls to neon_log(...). Please do that as a separate PR as well, for same reasons.

https://github.com/neondatabase/neon/pull/6313

Please separate the locking changes around reloading postgresql.conf to a separate PR. That'll make both this and the new PR easier to review.

https://github.com/neondatabase/neon/pull/6314

Is this ready for another round of review?

Is this ready for another round of review?

Yes, I rebased it with main

This PR overwrites a lot of the changes that were made in #6314, and moves code around, making it again hard to see what the real changes are. I'll spend some time to move things back, to make this easier to review.

How to test this PR?

How to test this PR?

There's a circular dependency: this PR depends on the changes in the rest of the stack for testing (https://github.com/neondatabase/neon/pull/6380), and they depend on this PR to be able to test sharding.  So something has to merge without tests.

This PR overwrites a lot of the changes that were made in #6314, and moves code around, making it again hard to see what the real changes are. I'll spend some time to move things back, to make this easier to review.

Ok, I added a commit that reverts the overwriting of #6314 changes, making this much smaller. It compiles, but I have done zero testing. @knizhnik can you please try this out and fix whatever I broke?
I'll add some review comments explaining the changes I made

There are unresolved conversations which prevents merge and which can not be located and so resolved because of force push

Strange, I can see conversations when I scroll up (sometimes github collapses part of the history and you have  to click a divider to expand it):


Instead of hiding the bar, it can be hidden in the css and show in the allscripts.js.

This is my fix, if you have a better idea, please tell me.

This looks fine. Can you rebase your changes?

Of course, sorry :)


Format code using 'cargo fmt' & add rustfmt.toml

Thanks for your PR, but I don't want rustfmt right now.


How to express the compose mixin in typescript

I'm trying to express a the result compsed Stamp in typescript.
import stampit from "stampit";

interface Value extends stampit.Stamp {
  value: any
  ({ value }: { value: any })
}

interface Readable extends Value {
  read(): any
}

interface Writable extends Readable {
  write(value: string): void
}

const Value: Value = stampit({
  init({value}: { value: any }) {
    this.value = value
  }
})

const Readable: Readable = stampit(Value,{
  methods: {
    read() {
      return this.value
    }
  }
})

const Writable: Writable = stampit(Readable, {
  methods: {
    write(value: any) {
      this.value = value
    }
  }
})

let machine = Writable({ value: 41 })

However in doing so I get the following error messages:
Type 'Stamp' is not assignable to type 'Value'.
  Property 'value' is missing in type 'Stamp'.

Type 'Stamp' is not assignable to type 'Readable'.
  Property 'read' is missing in type 'Stamp'.

Type 'Stamp' is not assignable to type 'Writable'.
  Property 'write' is missing in type 'Stamp'.

Which makes sense because stampit() returns a stampit.Stamp which isn't aware of the properties and methods that are mixed in. I'm wondering though since a stamp could mixin anything shouldn't the type definitions take this into account. Or am I going about this the wrong way?
What I'm looking to do is create an interface to describe the composed mixin stampit() returns.
Martien

That is the tricky one but you can try to talk on that matter here https://gitter.im/Microsoft/TypeScript

Yea, full-blown Typescript support missing for stamps is something that forced me to leave this concept when I started using TypeScript. Unfortunately, I am not that well versed in these advanced and dynamic types to figure out how it should work. Perhaps there might be some inspiration in mobx-state-tree which is written in TypeScript and does these kinds of crazy compositions. It's not perfect either, but it mostly works.

I've updated the example because figured out that stampit() returns a factory function and the factory function returns an instance. That only partly solves my problem it seems...

I've figured it out, I'm closing this but I have adjusted the example for future reference.
Martien


[1.21.1 Neo] Crafting Terminal autofill from REI not working

Pretty much what the title says. REI reports the container as incompatible. I saw that there's specific REI integration in this mod so I'm reporting it here.

Log: https://mclo.gs/CqLiSpu

Oh yeah, versions:
NeoForge: 21.1.57
REI: 16.0.783
TSS: 2.0.9

Search synchronization also does not work

Noticed this as well, this is likely an REI issue, as I've noticed many other issues with REI as well.


Re-export qingke-rt::entry

Without this, I believe it is not possible for users to use qingke-rt themselves, because the qingke-rt crate defines global symbols which the linker does not like.

Could you provide your Cargo.toml dependency and fn main config?
qingke-rt is designed to be used with ch32-hal, so a re-export is not necessary.

https://github.com/barafael/scurrying-beetle

With the following modification, everything compiles normally:
diff --git a/Cargo.toml b/Cargo.toml
index b45c2d3..9a329af 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -4,11 +4,13 @@ version = "0.1.0"
 edition = "2021"

 [dependencies]
-ch32-hal = { git = "https://github.com/barafael/ch32-hal", features = [
+ch32-hal = { git = "https://github.com/ch32-rs/ch32-hal", features = [
     "ch32v003f4u6",
     "embassy",
     "time-driver-tim2",
+    "rt"
 ] }
+qingke-rt = "0.2.0"

 embassy-executor = { version = "0.5.0", features = [
     "nightly",
diff --git a/src/main.rs b/src/main.rs
index 734ca01..df7057b 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -33,7 +33,7 @@ bind_interrupts!(
     }
 );

-#[embassy_executor::main(entry = "ch32_hal::entry")]
+#[embassy_executor::main(entry = "qingke_rt::entry")]
 async fn main(_spawner: Spawner) -> ! {

great, it's like you said! Thanks :) closing


Not working with "does not extend anything and does not have any code" warning

It seems like this extension doesn't work; I've tested in apostrophe v3.63.3 and v4.1.1 following the instructions.
In both cases, it ends with this warning:
⚠
 It looks like you may have made a mistake in your code:
The module rich-text-color does not extend anything and does not have any code.

This usually means that you:

1. Forgot to "extend" another module
2. Configured a module that comes from npm without npm installing it
3. Simply haven't written your "index.js" yet

If you really want a module with no code, set the ignoreNoCodeWarning option
to true for this module.

Is this extension still working? Is there anything I need to be aware of when setting up this extension?

the solution is that the readme says to add this line to app.js
bundle: [ '@bodonkey/rich-text-enhancement' ],
when in fact you need to make 'bundle' plural, and everything will work fine:
bundles: [ '@bodonkey/rich-text-enhancement' ],

Thanks! Sorry for the confusion.


fix ServiceLoader can NOT search some SPI implementation of JDK

Fix #<146>.

Test cases  failed in JDK7. Repeated  resources should be wiped out in BizClassLoaderTest


Add an index on document_type

The format column had an index, but it hasn’t been created for the
new document_type index. This is being filtered on by the linkables
endpoint now used by Whitehall, but is slow to query for policies.
Explain before: http://explain.depesz.com/s/HVYa
Explain after: http://explain.depesz.com/s/9XY

This has been manually added in production, but the schema_migration row has not yet been added.

:+1: for intent.

This migration has now been faked, or marked as run in production.


MySQL migration creation bug

Bug description
Error occurred while doing initial MySQL database migration creation:
  prisma:tryLoadEnv Environment variables loaded from /Users/user/Projects/project-v3/.env +0ms
Environment variables loaded from .env
Prisma schema loaded from prisma/schema.prisma
Datasource "db": MySQL database "project" at "localhost:3306"

  prisma:migrateEngine:rpc starting migration engine with binary: /Users/user/Projects/project-v3/node_modules/@prisma/engines/migration-engine-darwin +0ms
  prisma:migrateEngine:rpc SENDING RPC CALL {"id":1,"jsonrpc":"2.0","method":"devDiagnostic","params":{"migrationsDirectoryPath":"/Users/user/Projects/project-v3/prisma/migrations"}} +4ms
  prisma:migrateEngine:stderr Feb 23 21:49:07.108  INFO migration_engine: Starting migration engine RPC server git_hash="3c463ebd78b1d21d8fdacdd27899e280cf686223" +0ms
  prisma:migrateEngine:stderr Feb 23 21:49:07.121  INFO quaint::single: Starting a mysql connection. +13ms
  prisma:migrateEngine:stderr Feb 23 21:49:07.126  INFO DevDiagnostic:calculate_drift:sql_schema_from_migration_history: quaint::single: Starting a mysql connection. +5ms
  prisma:migrateEngine:stderr Feb 23 21:49:07.227  INFO DevDiagnostic:validate_migrations:sql_schema_from_migration_history: quaint::single: Starting a mysql connection. +101ms
  prisma:migrateEngine:rpc {
  prisma:migrateEngine:rpc   jsonrpc: '2.0',
  prisma:migrateEngine:rpc   error: {
  prisma:migrateEngine:rpc     code: 4466,
  prisma:migrateEngine:rpc     message: 'An error happened. Check the data field for details.',
  prisma:migrateEngine:rpc     data: {
  prisma:migrateEngine:rpc       is_panic: false,
  prisma:migrateEngine:rpc       message: 'Migration `20210223133504_` failed to apply cleanly to a temporary database. \n' +
  prisma:migrateEngine:rpc         'Error:\n' +
  prisma:migrateEngine:rpc         "Database error: Error querying the database: Server error: `ERROR 42000 (1067): Invalid default value for 'created_at''\n" +
  prisma:migrateEngine:rpc         '   0: sql_migration_connector::flavour::mysql::sql_schema_from_migration_history\n' +
  prisma:migrateEngine:rpc         '             at migration-engine/connectors/sql-migration-connector/src/flavour/mysql.rs:275\n' +
  prisma:migrateEngine:rpc         '   1: sql_migration_connector::sql_database_migration_inferrer::validate_migrations\n' +
  prisma:migrateEngine:rpc         '             at migration-engine/connectors/sql-migration-connector/src/sql_database_migration_inferrer.rs:70\n' +
  prisma:migrateEngine:rpc         '   2: migration_core::api::DevDiagnostic\n' +
  prisma:migrateEngine:rpc         '             at migration-engine/core/src/api.rs:79',
  prisma:migrateEngine:rpc       meta: [Object],
  prisma:migrateEngine:rpc       error_code: 'P3006'
  prisma:migrateEngine:rpc     }
  prisma:migrateEngine:rpc   },
  prisma:migrateEngine:rpc   id: 1
  prisma:migrateEngine:rpc } +128ms
Error: Error: P3006

Migration `20210223133504_` failed to apply cleanly to a temporary database.
Error:
Database error: Error querying the database: Server error: `ERROR 42000 (1067): Invalid default value for 'created_at''
   0: sql_migration_connector::flavour::mysql::sql_schema_from_migration_history
             at migration-engine/connectors/sql-migration-connector/src/flavour/mysql.rs:275
   1: sql_migration_connector::sql_database_migration_inferrer::validate_migrations
             at migration-engine/connectors/sql-migration-connector/src/sql_database_migration_inferrer.rs:70
   2: migration_core::api::DevDiagnostic
             at migration-engine/core/src/api.rs:79

    at Object.<anonymous> (/Users/user/Projects/project-v3/node_modules/prisma/build/index.js:54905:26)
    at MigrateEngine.handleResponse (/Users/user/Projects/project-v3/node_modules/prisma/build/index.js:54780:38)
    at LineStream.<anonymous> (/Users/user/Projects/project-v3/node_modules/prisma/build/index.js:54865:18)
    at LineStream.emit (events.js:314:20)
    at LineStream.EventEmitter.emit (domain.js:483:12)
    at addChunk (_stream_readable.js:297:12)
    at readableAddChunk (_stream_readable.js:272:9)
    at LineStream.Readable.push (_stream_readable.js:213:10)
    at LineStream.Transform.push (_stream_transform.js:152:32)
    at LineStream._pushBuffer (/Users/user/Projects/project-v3/node_modules/prisma/build/index.js:54617:19)

How to reproduce
Run DEBUG="*" ./node_modules/.bin/prisma migrate dev --preview-feature.
Expected behavior
Initial MySQL database migration creation should be successful.
Prisma information
schema.prisma:
model Address {
  id              Int       @id @default(autoincrement())
  created_at      DateTime  @default(now()) @db.Timestamp(0)
  created_by      Int?
  updated_at      DateTime? @default(now()) @db.Timestamp(0)
  updated_by      Int?
}

Sample of generated migration SQL:
-- CreateTable
CREATE TABLE `address` (
    `id` INTEGER NOT NULL AUTO_INCREMENT,
    `created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
    `created_by` INTEGER,
    `updated_at` TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP(3),
    `updated_by` INTEGER,
    PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Generated SQL syntax for created_at and updated_at fields is invalid.
More information about correct MySQL syntax can be found here: https://dev.mysql.com/doc/refman/5.7/en/timestamp-initialization.html.
DEFAULT CURRENT_TIMESTAMP(3) should be DEFAULT CURRENT_TIMESTAMP or DEFAULT CURRENT_TIMESTAMP(0).
Environment & setup

OS: Mac OS 10.15.7
Database: MySQL 5.7.32
Node.js version: 12.20.2
Prisma version: 2.17.0

Hi! It does look like a bug indeed, scheduled some time to fix this.

PR is open here: https://github.com/prisma/prisma-engines/pull/1681 — should be merged in the next few days, and the fix will land in prisma@dev.

Hi,
I've run into the same problem, I have the schema like this:
model xx {
  id          Int       @id @default(autoincrement()) @db.UnsignedInt
  xx String    @db.VarChar(255)
  xx DateTime  @db.Timestamp(0)
  xx String    @db.VarChar(1000)
  xx String    @unique @db.VarChar(250)
  xx DateTime  @db.Timestamp(0) @default(now())

  @@map(name: "xx")
  @@index([xx, xx])
}

model yy {
  id          Int       @id @default(autoincrement()) @db.UnsignedInt
  yy          String    @db.VarChar(255)
  yy          DateTime  @db.Timestamp(0)
  problem     DateTime  @db.Timestamp(0)
  yy          Int

  @@map(name: "yy")
}

Both models have 2x DateTime, but in the 1. one there is a default value.
When I run the migration (dev) the 1. model creates the table, but the 2. does not - throws an error:
Database error code: 1067

Database error:
Invalid default value for 'problem'

So, after adding @default(now()) to the problem field, it has passed.
But as you can see there is no default value for the other fields, and they pass.
Environment:

prisma: 2.26.0
mysql: 5.7
node: v14.17.0

@ipamer Open a new issue for this, we will have a look into this separately.

Happy to look at the issue you will create for this, with full information so we can reproduce, debug and hopefully fix what you are experiencing. Thanks.

Did anyone know work around for this? I am still facing this issue.

Open a new issue please and fill the full issue template so we have the necessary data. Thanks.


ORA-12154: TNS:could not resolve the connect identifier specified

Dears ,
i've created a docker image from oracle instant client for both versions "19 && <IP_ADDRESS>" but i'm always receiving the below error
ORA-12154: TNS:could not resolve the connect identifier specified.
i've copied the tnsnames.ora sqlnet.ora into  /usr/lib/oracle/12.2/client64/lib/network/admin/.
Image build command : docker build --pull -t oracle/instantclient:12 .
Run command : docker run -ti --rm oracle/instantclient:12 sqlplus  username@DBNAME
SQL*Plus: Release <IP_ADDRESS>.0 Production on Mon Jun 29 14:21:45 2020
Copyright (c) 1982, 2016, Oracle.  All rights reserved.
Enter password:
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
Docker file
FROM oraclelinux:7-slim
ADD oracle-instantclient*.rpm /tmp/
COPY tnsnames.ora sqlnet.ora /usr/lib/oracle/12.2/client64/lib/network/admin/
RUN  yum -y install /tmp/oracle-instantclient*.rpm &&
yum  -y install iputils &&
yum  -y install vim &&
rm -rf /var/cache/yum &&
rm -f /tmp/oracle-instantclient*.rpm &&
echo /usr/lib/oracle/12.2/client64/lib > /etc/ld.so.conf.d/oracle-instantclient12.2.conf &&
ldconfig
ENV PATH=$PATH:/usr/lib/oracle/12.2/client64/bin
ENV ORACLE_HOME /usr/lib/oracle/12.2/client64
ENV TNS_ADMIN /usr/lib/oracle/12.2/client64/lib/network/admin
ENV LD_LIBRARY_PATH /usr/lib/oracle/12.2/client64/lib
CMD ["sqlplus", "-v"]

Please make sure that in sqlnet.ora the parameter NAMES.DIRECTORY_PATH includes TNSNAMES.
Use the utility TNSPING to help you diagnose the problem.  The output from the utility will tell you which sqlnet.ora is used and that will give you an indication where it is looking for tnsnames.ora.

@mostafamahmoud2015, your DBNAME TNS name cannot be resolved. Did you add the parameter NAMES.DIRECTORY_PATH as suggested by @onmp?

@gvenzl @onmp @cjbj   I am facing the same issue. Please find the docker file below,

FROM ghcr.io/oracle/oraclelinux8-instantclient:21

RUN sqlplus username/password@'hostname:port/dbname

I'm getting the following error.

SQL*Plus: Release <IP_ADDRESS>.0 - Production on Tue Feb 7 10:38:31 2023
Version <IP_ADDRESS>.0

Copyright (c) 1982, 2022, Oracle.  All rights reserved.

ERROR:
ORA-12545: Connect failed because target host or object does not exist

I don't have anything under network/admin except the Readme file. Should I need to create the tnsnames.ora and sqlnet.ora manually? If so, please help me with the contents of it.
Note : The same sqlplus command works in local machine without any additional settings. Only fails inside the docker.


ValueError: Unsupported signal: 2

For a complicated, multi-threaded application that uses zmq, I get the following error when I Ctrl-C the application that I started using poe to run the task "poetry run python .\\main.py"
Traceback (most recent call last):
  File "C:\Users\dmwyatt\AppData\Local\Programs\Python\Python39\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\dmwyatt\AppData\Local\Programs\Python\Python39\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\dmwyatt\AppData\Local\pypoetry\Cache\virtualenvs\win-backup-exclude-MbZQpObE-py3.9\Scripts\poe.exe\__main__.py", line 7, in <module>
  File "C:\Users\dmwyatt\AppData\Local\pypoetry\Cache\virtualenvs\win-backup-exclude-MbZQpObE-py3.9\lib\site-packages\poethepoet\__init__.py", line 32, in main
    result = app(cli_args=sys.argv[1:])
  File "C:\Users\dmwyatt\AppData\Local\pypoetry\Cache\virtualenvs\win-backup-exclude-MbZQpObE-py3.9\lib\site-packages\poethepoet\app.py", line 52, in __call__
    return self.run_task() or 0
  File "C:\Users\dmwyatt\AppData\Local\pypoetry\Cache\virtualenvs\win-backup-exclude-MbZQpObE-py3.9\lib\site-packages\poethepoet\app.py", line 80, in run_task
    return self.task.run(
  File "C:\Users\dmwyatt\AppData\Local\pypoetry\Cache\virtualenvs\win-backup-exclude-MbZQpObE-py3.9\lib\site-packages\poethepoet\task\base.py", line 142, in run
    return self._handle_run(context, extra_args, env)
  File "C:\Users\dmwyatt\AppData\Local\pypoetry\Cache\virtualenvs\win-backup-exclude-MbZQpObE-py3.9\lib\site-packages\poethepoet\task\cmd.py", line 39, in _handle_run
    return context.get_executor(env, self.options.get("executor")).execute(cmd)
  File "C:\Users\dmwyatt\AppData\Local\pypoetry\Cache\virtualenvs\win-backup-exclude-MbZQpObE-py3.9\lib\site-packages\poethepoet\executor\poetry.py", line 31, in execute
    return self._execute_cmd(cmd, input)
  File "C:\Users\dmwyatt\AppData\Local\pypoetry\Cache\virtualenvs\win-backup-exclude-MbZQpObE-py3.9\lib\site-packages\poethepoet\executor\poetry.py", line 64, in _execute_cmd
    return self._exec_via_subproc(
  File "C:\Users\dmwyatt\AppData\Local\pypoetry\Cache\virtualenvs\win-backup-exclude-MbZQpObE-py3.9\lib\site-packages\poethepoet\executor\base.py", line 134, in _exec_via_subproc
    proc.communicate(input)
  File "C:\Users\dmwyatt\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 1126, in communicate
    self.wait()
  File "C:\Users\dmwyatt\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 1189, in wait
    return self._wait(timeout=timeout)
  File "C:\Users\dmwyatt\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 1470, in _wait
    result = _winapi.WaitForSingleObject(self._handle,
  File "C:\Users\dmwyatt\AppData\Local\pypoetry\Cache\virtualenvs\win-backup-exclude-MbZQpObE-py3.9\lib\site-packages\poethepoet\executor\base.py", line 129, in handle_signal
    proc.send_signal(signum)
  File "C:\Users\dmwyatt\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 1545, in send_signal
    raise ValueError("Unsupported signal: {}".format(sig))
ValueError: Unsupported signal: 2

Other notes

Other sorts of tasks like format = "black ." run just fine, so it has something to do with how poe is running my application.
If I don't use poe to run my application it exits just fine without a traceback.
The last things my application does when exiting via a try...finally block is terminating the zmq context and closing several sockets...but removing those actions doesn't solve this traceback popping up.
I can try to come up with a minimal reproduction, but I expect that to be difficult so I wanted to see if anyone had any ideas first.

Hi @dmwyatt, thanks for the feedback.
I made a quick investigation, and it looks like this is an issue with how SIGTERM signals work on windows (i.e. they don't), reference: https://stackoverflow.com/questions/47306805/signal-sigterm-not-received-by-subprocess-on-windows
I don't really know much about windows, and the links from that discussion on stack overflow seem to suggest that it's non-trivial to get this to work properly on windows. So since I don't have a proper windows dev environment to hand, I'll need some help with this one. The relevant code is here.

Hi, I just got hit with the issue trying to run a "docker compose up" through poe on windows.
It looks like from the send_signal implementation for windows that there're only a few signals you can send to a subproc:
def send_signal(self, sig):
    """Send a signal to the process."""
    # Don't signal a process that we know has already died.
    if self.returncode is not None:
        return
    if sig == signal.SIGTERM:
        self.terminate()
    elif sig == signal.CTRL_C_EVENT:
        os.kill(self.pid, signal.CTRL_C_EVENT)
    elif sig == signal.CTRL_BREAK_EVENT:
        os.kill(self.pid, signal.CTRL_BREAK_EVENT)
    else:
        raise ValueError("Unsupported signal: {}".format(sig))

Considering this, I managed to make my use case work by hacking the SIGINT handler handle_signal to send a SIGTERM signal instead to the subprocess. My subprocess (docker compose up) and poe are all terminating gracefully.
With a check on the platform first, that could be one way to solve it, though I have no idea if and how it would work on  a more general basis.

Actually, it might be better to send a CTRL_C_EVENT than a SIGTERM.
So the code modification could look like this:
  # signal pass through
  def handle_signal(signum, _frame):
      # sigint is not handled on windows
      signum = signal.CTRL_C_EVENT if self._is_windows else signum
      proc.send_signal(signum)

  old_signal_handler = signal.signal(signal.SIGINT, handle_signal)

Hi @JCapul,
Thanks for the investigation. That sounds reasonable. I'll add this to be TODO list for the next release. Or feel free to open a PR for it :)

The fix is now available in 0.17.1
Thanks for the support @JCapul !


Fix error caused by empty response to updates to renewal-info resource (ARI)

win-acme's fork of ACMESharpCore expects a non-empty response for updates to the renewal-info resource.
However, Let's Encrypt responds with an empty body, which actually seems to conform to section 4.2 of draft-ietf-acme-ari-00.
As a result, the following error is reported during renewal:
Error updating renewal info: The input does not contain any JSON tokens. Expected the input to start with a valid JSON token, when isFinalBlock is true. Path: $ | LineNumber: 0 | BytePositionInLine: 0.

This pull request modifies AcmeProtocolClient.UpdateRenewalInfo() to not expect the HTTP response to have a non-empty body.
Please expect a follow-up pull request to the win-acme repository due to the updated submodule reference and the change in the signature of UpdateRenewalInfo().
Related to win-acme/win-acme#2353.

Thanks for helping out!


Is it possible to control Sony MCX-500 video controller with this?

No, there is no support for SWP08 in the Sony MCX-500


name + password handler for get_token

As per discussion on Discord we won't be adding getting users based on name.


Add description of the firstweekofyear argument

Docs Build status updates of commit 8efe2ef:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Language/Reference/User-Interface-Help/datediff-function.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Laravel 7 Support?

Will this package work with laravel 7?

up

not working with laravel 7. please fix this.

not working with laravel 7. please fix this.

Looks like https://github.com/DariusIII/tmdb-laravel working with Laravel 7. I'm trying on local


Ability to parse a single hardcoded cvs-file into multiple tables with loose relationships.

It would be nice if the editor could do this.
For instance, if I have a huge cvs-file with the following duplicate data and hardcoded relationships  – the editor can separate this into multiple tables with loose relationships.
col1 | col2 | col3
------------------
0, Hello, World
1, Hello, World
2, Foo, Bar
3, Foo, Bar

will become 3 tables with
Table 1
col1 | col2 | col3
------------------
0, 0, 0
1, 0, 0
2, 1, 1
3, 1, 1

Table 2 (relationship to Table 1 col2)
col1 | col2
------------------
0, Hello
1, Foo

Table 3 (relationship to Table 1 col3)
col1 | col2
------------------
0, World
1, Bar

@MKGitHub we agree that having some sort of editor import functionality would be cool, we just haven't gotten to it yet. As to your particular request for that sort of hypernormalization -- it would be possible to do that with a relatively small amount of code, but I'm not sure it'd be necessary with Realm -- Realm stores relationships as links, so there's nothing like the cost of a SQL JOIN to traverse relationships.
Hope that helps!


Issues Generating  Background GeneSet

I am trying to generate a background geneset for homo sapiens. I am currently trying to run GOATOOLS from jupyter notebook, but I am running into issues with the instructions from the "background_genes_ncbi.py" notebook.
Specifically, I cannot get understand how to execute this ( $ scripts/ncbi_gene_results_to_python.py gene_result.txt -o genes_ncbi_10090_proteincoding.py
gene_result.txt genes_ncbi_10090_proteincoding.py
26058 lines READ:  gene_result.txt
26033 geneids WROTE: genes_ncbi_10090_proteincoding.py ) in the command prompt within anadaconda.
The documentation should consider additional information or screenshots to improve the clarity of this package.

Thank you for your interest in GOA Tools and for taking the time to write. I was busy completing my PhD (now done) and so had been delayed for your issue.
Please take a look at the updated notebook and comment if there is anything else that you would specifically like to see.
Thank you so much again for taking your time to alert us to this issue. Addressing your ideas certainly will improve GOA Tools for a multitude of researchers.


[SPARK-20694][DOCS][SQL] Document DataFrameWriter partitionBy, bucketBy and sortBy in SQL guide

What changes were proposed in this pull request?

Add Scala, Python and Java examples for partitionBy, sortBy and bucketBy.
Add Bucketing, Sorting and Partitioning section to SQL Programming Guide
Remove bucketing from Unsupported Hive Functionalities.

How was this patch tested?
Manual tests, docs build.

Test build #76748 has started for PR 17938 at commit 20c7ca6.

Test build #76748 has finished for PR 17938 at commit 20c7ca6.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/76748/
Test PASSed.

@HyukjinKwon Sounds good. SPARK-20694.
Should we document the difference between buckets (metastore based) and partitions (file system based)? The latter one could by done by referencing Partition Discover.

(I think I am not supposed to decide this and probably the best is the confirmation from a commiter)

@cloud-fan @tejasapatil Could you please help review this PR?

Test build #76813 has started for PR 17938 at commit a14296a.

Test build #76813 has finished for PR 17938 at commit a14296a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/76813/
Test PASSed.

Test build #76825 has started for PR 17938 at commit 7bf4bbc.

Test build #76825 has finished for PR 17938 at commit 7bf4bbc.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/76825/
Test FAILed.

Test build #76828 has started for PR 17938 at commit cc1bfcf.

Test build #76830 has started for PR 17938 at commit 606f1e3.

Test build #76830 has finished for PR 17938 at commit 606f1e3.

This patch fails Python style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/76830/
Test FAILed.

Test build #76828 has finished for PR 17938 at commit cc1bfcf.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/76828/
Test PASSed.

Test build #76831 has started for PR 17938 at commit a7aff81.

Test build #76831 has finished for PR 17938 at commit a7aff81.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/76831/
Test PASSed.

Merged build finished. Test PASSed.

@zero323 Could you also document SQL interface for creating bucket and partition tables in this PR?

@gatorsmile Sure, but I assume you mean only PARTITION BY, right? I don't think that CLUSTER BY or  SORT BY is supported in SQL (should it be supported after  #17644 is resolved?).

Test build #76867 has started for PR 17938 at commit c4d7856.

Test build #76867 has finished for PR 17938 at commit c4d7856.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/76867/
Test PASSed.

@zero323 We already support it for data source tables. Below is just an example.
CREATE TABLE tbl(a INT, b INT) USING parquet CLUSTERED BY (a) SORTED BY (b) INTO 5 BUCKETS")

@gatorsmile  Huh...  in that case it looks like parser (?) needs a little bit of work, unless of course following are features.

Omitting USING doesn't work
CREATE TABLE user_info_bucketed(user_id BIGINT, firstname STRING, lastname STRING)
CLUSTERED BY(user_id) INTO 256 BUCKETS

with:
Error in query:
Operation not allowed: CREATE TABLE ... CLUSTERED BY(line 1, pos 0)

== SQL ==
CREATE TABLE user_info_bucketed(user_id BIGINT, firstname STRING, lastname STRING)
^^^
CLUSTERED BY(user_id) INTO 256 BUCKETS

Omitting USING adding PARTITION BY with column not present in the main clause (valid Hive DDL) doesn't work:
CREATE TABLE user_info_bucketed(user_id BIGINT, firstname STRING, lastname STRING)
PARTITIONED BY (department STRING)
CLUSTERED BY(user_id) INTO 256 BUCKETS

with
Error in query:
Operation not allowed: CREATE TABLE ... CLUSTERED BY(line 1, pos 2)

== SQL ==
  CREATE TABLE user_info_bucketed(user_id BIGINT, firstname STRING, lastname STRING)
--^^^
  PARTITIONED BY (department STRING)
  CLUSTERED BY(user_id) INTO 256 BUCKETS

PARTITION BY alone works:
CREATE TABLE user_info_bucketed(user_id BIGINT, firstname STRING, lastname STRING)
PARTITIONED BY (department STRING)

PARTITION BY with USING when partition column is in the main spec works:
CREATE TABLE user_info_bucketed(
 user_id BIGINT, firstname STRING, lastname STRING, department STRING)
USING parquet
PARTITIONED BY (department)

CLUSTERED BY +  PARTITION BY with USING when partition column is in the main spec works:
CREATE TABLE user_info_bucketed(
   user_id BIGINT, firstname STRING, lastname STRING, department STRING)
USING parquet
PARTITIONED BY (department)
CLUSTERED BY(user_id) INTO 256 BUCKETS

PARTITION BY when parition column is in the main spec, USING omitted:
CREATE TABLE user_info_bucketed(
 user_id BIGINT, firstname STRING, lastname STRING, department STRING)
PARTITIONED BY (department)

with:
Error in query:
mismatched input ')' expecting {'SELECT', 'FROM', 'ADD', 'AS', 'ALL', 'DISTINCT', 'WHERE', 'GROUP', 'BY', 'GROUPING', 'SETS', 'CUBE', 'ROLLUP', 'ORDER', 'HAVING', 'LIMIT', 'AT', 'OR', 'AND', 'IN', NOT, 'NO', 'EXISTS', 'BETWEEN', 'LIKE', RLIKE, 'IS', 'NULL', 'TRUE', 'FALSE', 'NULLS', 'ASC', 'DESC', 'FOR', 'INTERVAL', 'CASE', 'WHEN', 'THEN', 'ELSE', 'END', 'JOIN', 'CROSS', 'OUTER', 'INNER', 'LEFT', 'SEMI', 'RIGHT', 'FULL', 'NATURAL', 'ON', 'LATERAL', 'WINDOW', 'OVER', 'PARTITION', 'RANGE', 'ROWS', 'UNBOUNDED', 'PRECEDING', 'FOLLOWING', 'CURRENT', 'FIRST', 'AFTER', 'LAST', 'ROW', 'WITH', 'VALUES', 'CREATE', 'TABLE', 'VIEW', 'REPLACE', 'INSERT', 'DELETE', 'INTO', 'DESCRIBE', 'EXPLAIN', 'FORMAT', 'LOGICAL', 'CODEGEN', 'COST', 'CAST', 'SHOW', 'TABLES', 'COLUMNS', 'COLUMN', 'USE', 'PARTITIONS', 'FUNCTIONS', 'DROP', 'UNION', 'EXCEPT', 'MINUS', 'INTERSECT', 'TO', 'TABLESAMPLE', 'STRATIFY', 'ALTER', 'RENAME', 'ARRAY', 'MAP', 'STRUCT', 'COMMENT', 'SET', 'RESET', 'DATA', 'START', 'TRANSACTION', 'COMMIT', 'ROLLBACK', 'MACRO', 'IGNORE', 'IF', 'DIV', 'PERCENT', 'BUCKET', 'OUT', 'OF', 'SORT', 'CLUSTER', 'DISTRIBUTE', 'OVERWRITE', 'TRANSFORM', 'REDUCE', 'USING', 'SERDE', 'SERDEPROPERTIES', 'RECORDREADER', 'RECORDWRITER', 'DELIMITED', 'FIELDS', 'TERMINATED', 'COLLECTION', 'ITEMS', 'KEYS', 'ESCAPED', 'LINES', 'SEPARATED', 'FUNCTION', 'EXTENDED', 'REFRESH', 'CLEAR', 'CACHE', 'UNCACHE', 'LAZY', 'FORMATTED', 'GLOBAL', TEMPORARY, 'OPTIONS', 'UNSET', 'TBLPROPERTIES', 'DBPROPERTIES', 'BUCKETS', 'SKEWED', 'STORED', 'DIRECTORIES', 'LOCATION', 'EXCHANGE', 'ARCHIVE', 'UNARCHIVE', 'FILEFORMAT', 'TOUCH', 'COMPACT', 'CONCATENATE', 'CHANGE', 'CASCADE', 'RESTRICT', 'CLUSTERED', 'SORTED', 'PURGE', 'INPUTFORMAT', 'OUTPUTFORMAT', DATABASE, DATABASES, 'DFS', 'TRUNCATE', 'ANALYZE', 'COMPUTE', 'LIST', 'STATISTICS', 'PARTITIONED', 'EXTERNAL', 'DEFINED', 'REVOKE', 'GRANT', 'LOCK', 'UNLOCK', 'MSCK', 'REPAIR', 'RECOVER', 'EXPORT', 'IMPORT', 'LOAD', 'ROLE', 'ROLES', 'COMPACTIONS', 'PRINCIPALS', 'TRANSACTIONS', 'INDEX', 'INDEXES', 'LOCKS', 'OPTION', 'ANTI', 'LOCAL', 'INPATH', 'CURRENT_DATE', 'CURRENT_TIMESTAMP', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 3, pos 30)

== SQL ==
    CREATE TABLE user_info_bucketed(
      user_id BIGINT, firstname STRING, lastname STRING, department STRING)
    PARTITIONED BY (department)
------------------------------^^^

Test build #76899 has started for PR 17938 at commit b5babf6.

When you omit USING, it's hive style CREATE TABLE syntax, which is very different from Spark. We should encourage users to use the spark style CREATE TABLE syntax and only document it(with USING statement).

Test build #76899 has finished for PR 17938 at commit b5babf6.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/76899/
Test PASSed.

Test build #76900 has started for PR 17938 at commit 92fb3b3.

@cloud-fan Thanks for the clarification. Just a thought - shouldn't we either support it consistently or don't support at all? Current behaviour is quite confusing and I don't think that documentation alone will cut it.

Test build #76900 has finished for PR 17938 at commit 92fb3b3.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/76900/
Test PASSed.

Merged build finished. Test PASSed.

we are going to support bucketing in hive style CREATE TABLE syntax soon.

In the current 2.2 docs, we already updated all the syntax to CREATE TABLE ... USING.... This is the new change delivered in 2.2
Thus, it is OK to document like what you just committed. Let me review them carefully now. Thanks for your work!

LGTM except a few minor comments.
cc @tejasapatil @cloud-fan

Test build #76905 has started for PR 17938 at commit 65ac310.

Test build #76905 has finished for PR 17938 at commit 65ac310.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/76905/
Test PASSed.

Test build #76911 has started for PR 17938 at commit 3a8b6e9.

Test build #76911 has finished for PR 17938 at commit 3a8b6e9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/76911/
Test PASSed.

Will merge it when my minor comment is resolved.
Thanks for working on it!

Test build #77436 has started for PR 17938 at commit bea0676.

Test build #77436 has finished for PR 17938 at commit bea0676.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/77436/
Test PASSed.

Thanks @gatorsmile


Vivian edit sync v next

Thanks for the feedback! Ready for a re-review.

Made the requested changes, ready for a re-review.

Ready for another review. Also @sbaskaran please review 🙂 thanks!

@philium @vquach2404 What is the purpose of this sample when we already have Offline edit and sync which does almost same things and bit more. They both use same data too

@saratchandrakarumuri Thanks for your feedback, I have made changes accordingly. Regarding your question about the purpose of this sample, this question was addressed in the sample design description: "this is more complex with the popup and multiple layers, and some SDK teams do not yet have an editable popup. It would be good to show a very simple sample that takes a single point layer offline, allows you to tap on the feature, then tap somewhere else to move its geometry, then a sync button will become enabled after editing a feature."

@saratchandrakarumuri I've implemented changes. Please re-review! Thank you!

Selection is not rendering on selecting the first feature. It works as expected for all eventual selections

All the issues except for this are fixed. I am still able to repro this

All the issues except for this are fixed. I am still able to repro this

@saratchandrakarumuri  do you mean the first feature you select is not highlighted? And what steps do you take to repro this?

do you mean the first feature you select is not highlighted? And what steps do you take to repro this?

@vquach2404 Just generate the geodatabase, select any feature. selection is not displayed for that feature. Once you move that a new location and then select another feature, now you can see the selection rendered as expected. I have attached a gif in previous comments showing this behavior

@nixta I just merged your PR and made a small change to the name of the button title variable. I appreciate your help, thank you!

@sbaskaran @nixta Please review once more so I can merge after getting everyone's approval. Thank you 🙂

Couple more comments, @vquach2404

@sbaskaran implemented those changes!

@sbaskaran is this good to merge?

@ldanzinger There are a couple of open questions. I've marked others as Resolved.


feat: adding data_cache_config to postgresql module

/gcburn

/gcbrun

PR is ready to be merge. Need Approval

Waiting for PR #523 to merge.

/gcbrun

@nityanavali1 according to documentation this feature is only available for mysql.
data_cache_enabled - (Optional) Whether data cache is enabled for the instance. Defaults to false Can only be used with MYSQL.

@nityanavali1 according to documentation this feature is only available for mysql.
data_cache_enabled - (Optional) Whether data cache is enabled for the instance. Defaults to false Can only be used with MYSQL.

PR for updating doc is merged https://github.com/GoogleCloudPlatform/magic-modules/pull/9241 and the feature is GA available for postgres now.

@nityanavali1 according to documentation this feature is only available for mysql.
data_cache_enabled - (Optional) Whether data cache is enabled for the instance. Defaults to false Can only be used with MYSQL.

Documentation update is released and will take some time to reflect the changes. PR for updating terraform doc is merged Update documentation and add test case for data cache setting as it is available for postgres now GoogleCloudPlatform/magic-modules#9241 and the feature is GA available for postgres now.

@imrannayer Can you approve this change based on above comments?

@nityanavali1 can you plz enable this feature in this example so we can test this feature?
Also do you know why postgres page is disabled in official doc

@nityanavali1 can you plz enable this feature in this example so we can test this feature? Also do you know why postgres page is disabled in official doc

The official docs will be updated on Nov 8. Although the rollout is 100% complete for this feature. As of today customers can go ahead and create postgres instances with data cache enabled https://screenshot.googleplex.com/8fvJsiEDJmQ3TWm. If the recommendation is to wait till docs update. Will do so.
In either cases do I need to perform this

can you plz enable this feature in this example so we can test this feature?

@nityanavali1 thanks for confirming the feature. You pass the value in example as part of your PR. It will work fine during the test for your PR.

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun


undefined method `protocol=' for #<PDFKit::Configuration

It seems that README is misleading:
config.protocol = 'http'

while this is not part of Configuration:
class PDFKit
  class Configuration
    attr_accessor :meta_tag_prefix, :default_options, :root_url

and neither used by Middleware:
    def translate_relative_protocols(body, env)
      protocol = "#{env['rack.url_scheme']}://"

Same applies to master.
Is there a good reason for this option to exist?

Besides working around wkhtmltopdf's Exit with code 1 due to network error: ProtocolUnknownError issue.

@pirj  - Also having this problem. @danbernier would you know what may have changed?

I'm not sure - it may have been an error on my part. I'm looking into the specs now.

I took a closer look at the code, and I'm pretty sure I botched that README update - like @pirj pointed out, protocol isn't a configuration option. Hard to say for certain, since it was a while ago, and my memory is fuzzy, but that's how it looks. Apologies for that.
I'll submit a PR to fix the README. @pirj, I'd suggest you open an issue/submit a PR if you'd like the functionality added.

@danbernier  - Thanks.


Handle middleware error resolutions when resolving node queries.

Fixes #83
Previously, if middleware had put an error result into the resolution,
querying a node would result in an error because of a missing pattern
match for Absinthe.Relay.Node.resolve_with_global_id/2. This pull
request introduces a test with a minimal schema/query necessary to
trigger the error, and a simple addition of the missing function head
necessary to restore expected behavior.

Hit me up with any changes you'd like to see style-wise or if I have missed something not covered by tests. My approach was to make the least amount of changes necessary to squash the error described in #83.


Sentinl for Kibana 6.x supported

No issues to report, just looking to see if the Kibana 6.x would support Sentinl or if anyone has tried? I did not see anything in open posts for it and just wanted to inquire.

Removed index: watcher_alarms will break sentinl, and not possible to re-create it.

@reilee why would you do that? By the way, SENTINL creates its indices on startup. If it doesn't check why in the logs.

hi @burandobata - what sentinl release version did you use for kibana 6.0.1 and how did you get around the version check during install? did you manually extract the 5.x or 6.x release and modified the package.json file?

hey can you explain exactly how you got around the version check did you download the files and recompiled them and what if any changes did you make to get around the version check

Hi,
I'm also get sentinl working with ELK 6.1. Only kibana version required was changed in package.json
All working fine exclude sending alarms by SMTP. If anyone doing same please confirm that emails working or any work around. Possible this problem not related to sentinl directly.

hey @ssi0202
so i followed this instruction from the README.md
git clone https://github.com/sirensolutions/sentinl
cd sentinl && npm install && gulp package --version=6.1.0
/opt/kibana/bin/kibana-plugin install file://`pwd`/target/gulp/sentinl.zip

note the version flag

arh cool ill try that thanks

anyh way do do this easy on a windows machine?

Same query : As mentioned in Release notes, 6.0.X release is a ALPHA RELEASE. When the GA is coming up ? Any idea ?

We're working on smoothing out the edges but the plans for 6.x are bigger than just being compatible. We do not have an ETA yet but happy to form a group of early testers to expedite the work if anyone is willing.

JFYI: I had built sentinl for latest kibana 6.2.1 and elastic 6.2.1 and using it as beta in our project. It's working fine :) of course I'm using only basic functionality watchers and email actions. Next planned step using anomaly detection based on alarms. BTW documentation needs many and many corrections and details.

@ij3net open-source power to the rescue, please submit documentation corrections, suggestions and improvements so we can keep growing faster and stronger ;)

@panuinth you are sure sentinl still not ready to 6.2. But I'm working on it :)
https://github.com/ij3net/sentinl/commit/0037120a78b933925c4f4db7e2a3b4867fcf9b06
And here issue related exactly to Rejecting mapping update to [watcher] as the final mapping would have more than 1 type error https://github.com/sirensolutions/sentinl/issues/257

I am too (see https://github.com/sirensolutions/sentinl/compare/branch-6.0...ebuildy:branch-6.0?expand=1).
Also, Kibana is moving to React components via their UI framework https://elastic.github.io/eui/, this could reduce lot of code!

Fantastic! Thank you @ebuildy and @ij3net for getting your hands dirty - SENTINL does need more contributors to bloom and keep its momentum up! The plan for 6.x is to drop a lot of the UI code currently used, and migrate to the native components in now offers, possibly going entirely API headless. Please do feel free to open PRs with your ongoing work and we'll be happy to cooperate/advise to reach a global coverage.

I am browsing your code source, and it's an amazing project!
The code is really clean so it's a pleasure to work with, I can spend some days on it since we plan to use it at Qwant.com.

For instance, using the uid Modal, about page could give:

(branch https://github.com/sirensolutions/sentinl/compare/branch-6.0...ebuildy:refactor/about?expand=1)

Hey !
I can't contribute to this project since I'm not a developper...
But I'm willing to test it and report bugs.
I'm currently running elk v6.1.1

@Sylvain-69 you can try
bin/kibana-plugin install https://github.com/ij3net/sentinl/releases/download/6.1.1/sentinl-6.1.1.zip
It's my testing build with fixes for elastic and kibana 6.x
Please note it's very very alpha but it's working for me with kibana 6.2.1

@ij3net not sure you need to zip node_modules dir as well, I tried with Kibana builder and the final zip is only 6Mo (https://github.com/ebuildy/sentinl/releases/tag/tag-6.0.0)

@ebuildy , I think the correct @ij3net way for Kibana 6.2.1 is :

bin/kibana-plugin install https://github.com/ij3net/sentinl/releases/download/6.2.1/sentinl-6.2.1.zip

Here the @ij3net sentinl releases : https://github.com/ij3net/sentinl/releases
By the way, thank you all for your incredible cooperation. I hope to have some day that level to also add my grain of sand :D


Include Reg into microk8s

As suggested in this thread, reg will be a good addition to enable users to easily interact with local registry

@ktsakalozos , the tests are failing any idea why?

@etheleon thank you for this PR. I left a few comments. It would be great if you could somehow add a test for this addon. Here is how to do that:

In https://github.com/ubuntu/microk8s/blob/master/tests/test-addons.py#L65 and https://github.com/ubuntu/microk8s/blob/master/tests/test-upgrade.py#L92 enable reg along with the registry.
In https://github.com/ubuntu/microk8s/blob/master/tests/validators.py#L163 use the reg binary to do any operation on the private registry. An ls should return the my-busybox image, right?

If you follow the instruction and build MicroK8s from source https://github.com/ubuntu/microk8s#building-from-source you should see that you do not have a microk8s.reg command in your path. The reason is you are missing an entry into snapcraft.yaml like this one: https://github.com/ubuntu/microk8s/blob/master/snapcraft.yaml#L66 and the corresponding wrapper script like this one: https://github.com/ubuntu/microk8s/blob/master/microk8s-resources/wrappers/microk8s-linkerd.wrapper
It would have been better if the fist time you try the microk8s.req command the wrapper would download the binary then. This way you would not need the microk8s.enable reg step. What do you think?

@ktsakalozos Thanks for the detailed write up on writing the test! Let me get started on it! :)

snapcraft: add reg as app
validator: include validator for reg

tags busybox
push to local registry
assets presence of image
deletes tag

microk8s.reg wrapper: installs reg if binary not found
microk8s.enable reg: installs reg (might be duplicate)

@etheleon are you able to see this: https://travis-ci.org/ubuntu/microk8s/builds/534665856?utm_source=github_status&utm_medium=notification  ?
I believe you are missing an import.
       validate_reg()
      NameError: global name 'validate_reg' is not defined

@etheleon now we have:
>       output = (subprocess
                  .run(['reg', 'ls', '-f', 'localhost:32000'], stdout=subprocess.PIPE)
                  .stdout
                  .decode('utf-8')
                  .split("\n"))
E       AttributeError: 'module' object has no attribute 'run'

I should document how to run the tests locally, (they are run with pytest).

Closing this PR due to inactivity.


fix: missing dependency in mv_deleteviyafolder

:tada: This PR is included in version 4.18.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


fix: models.Query is not defined

Is the current code broken for you? It looks like it's not needed.

@xrmx current code is
from superset.models import core as models
but Query is not in core.py, but in sql_lab.py
That file is part of the test code, not under coverage, so may be less important.

I see, maybe we can just remove the unused methods instead?

@xrmx, removed. I didn't realized they are not actually used.


Please merge two submissions with identical structures, CHEBI:192778 and CHEBI:192816

Hi Adnan,
Some time ago, I submitted two compounds that turns out to have the same structure, namely CHEBI:192816 (2S)-naringenin 4',7-dimethyl ether and CHEBI:1928778 (2S)-5-hydroxy-4',7-dimethoxyflavanone.
The problem was not caught by the submission tool as the duplicate structure check did not work at the time, and actually still does not work. Only last week did I have a case where a duplicate structure was not detected, luckily the name was also duplicated, and that was.
But I would be happy if you could merge the two above compounds to avoid any confusion.
Best,
Kristian

Now merged. Thanks


Fixing certifiate -> certificate in Pages domain

There is a typo in the Pages domain options. As a result, the API  returns a 400 error:
{
 "error": "user_provided_certificate, user_provided_key provide all or none of parameters"
}

@svanharmelen Could you create a new release to unblock https://github.com/gitlabhq/terraform-provider-gitlab/pull/1026?


Cannot open Radar

I have this error while i try to import module.
AttributeError: module 'soccerplots' has no attribute 'radar_chart'

I think you dont have the latest version of soccerplots. The latest version is 1.0.0
You can check the version by running the following line:
import soccerplots
soccerplots.__version__

To update you can use(in your terminal): pip install soccerplots --upgrade

I think you dont have the latest version of soccerplots. The latest version is 1.0.0
You can check the version by running the following line:
import soccerplots
soccerplots.__version__

To update you can use(in your terminal): pip install soccerplots --upgrade


the status is a dead giveaway of the spawn times

we may want to not have the status just update at the beginning of spawning loop 💀
these times match perfectly with cat stand btw

stalker behaviour

yep basically

can you not fix it for a bit so I can get some really good catch times though


Add java unlimited security policy

SUMMARY

ISSUE TYPE

Feature Idea

COMPONENT NAME

ANSIBLE VERSION

CONFIGURATION

OS / ENVIRONMENT

STEPS TO REPRODUCE

EXPECTED RESULTS

ACTUAL RESULTS

Merged to master - https://github.com/lean-delivery/ansible-role-java/pull/31

Closing as fixed


POL-650 Clean up post-migration dead code

Reviews are OK though 😄

@josejulio This PR is ready for a review and a merge :white_check_mark:

Maybe we should wait for the official end of the Org ID migration on prod before merging :thinking:


2D DMTet

DMTet is shown for an example in 2D here: https://nv-tlabs.github.io/DMTet/. Is the implementation available in kaolin and where to find it?

Hi @catio24 , this is just for visualization, AFAIK there is no 2D DMTet. Closing


[Statistics/Overall Season/API] Integrate Calculation of Key Metrics to the Leaderboards

Feature Request

At the time of creating this issue, there now exists a leaderboard view on OpenTracks to log and compare a user's stats with others based on total vertical, distance and ski days. However, the data used is completely fabricated as there is no implementation for the aggregation of these specific metrics to be able to compare.

Proposed Solution

Integrate the service functions of aggregating all-time stats into the leaderboard for total vert, distance crossed and ski days entered.

Completeness Requirements

The metrics for total vertical, distance crossed and ski days are used to display these metrics per user

Additional context

We intend to replace the test data with real data (provided by Group 13) through the completion of Issue #67.

Some stats that a leaderboard would compare against is outlined in #79. Of interest in this issue would be Distance & Highest/Lowest Elevation


Conflict with PlanBuild mod

Hi! There is a conflict with PlanBuild mod.
https://valheim.thunderstore.io/package/MathiasDecrock/PlanBuild/
When opening the construction menu, the name and cost of objects are not displayed and an error is thrown in logs:
System.ThrowHelper.ThrowArgumentOutOfRangeException (System.ExceptionArgument argument, System.ExceptionResource resource) (at <695d1cc93cca45069c528c15c9fdd749>:0) System.ThrowHelper.ThrowArgumentOutOfRangeException () (at <695d1cc93cca45069c528c15c9fdd749>:0) Player.GetAvailableBuildPiecesInCategory (Piece+PieceCategory cat) (at <035307060cbb4b30b916cd82ebd80490>:0)

Thanks for the report. This isn't something I can reproduce with my setup, please send your full log file from BepInEx/LogOutput.log as well as your HammerTime config.
By default the PlanBuild is not enabled in HammerTime, since it will not work when moving the pieces to the vanilla hammer because it uses the hammer for special functions. But this doesn't seem to be your issue anyway.

As I cannot reproduce this, I will close it for now. If you have new information, feel free to open this issue again or create a new one.


Redshift avg returning 1 or 0

Hey there,
I seem to be having issues getting correct avg values returned in Redshift.
When we try to get the avg of a binary metric, Redshift returns either 1 or 0. Ideally, these metrics should be stored as a boolean value; however, I think we'd still have an issue since the measure_avg casts to 1 or 0 for boolean values, instead of 1.0 or 0.0.
Related stackoverflow thread: Redshift Avg not returning decimals
Is there some way that we can something like this so it works in Redshift?:

{%- if dbt_profiler.is_numeric_dtype(data_type) and not dbt_profiler.is_struct_dtype(data_type) -%}
    avg({{ adapter.quote(column_name) }} :: float)
{%- elif dbt_profiler.is_logical_dtype(data_type) -%}
    avg(case when {{ adapter.quote(column_name) }} then 1.0 else 0.0 end)
{%- else -%}
    cast(null as {{ dbt.type_numeric() }})
{%- endif -%}

Maybe create a different version of this macro to use only with the dbt-redshift adapter? I'm not sure how to do that, but would help in contributing with some guidance!

@stevenconnorg Hi! Thanks for reporting this. There is indeed a way to create a custom version of measure_avg for Redshift only. Macros that work differently in different databases are called cross-database macros. Under the hood, dbt dispatches macro calls to the database adapter (e.g., redshift) you are using; if there's an adapter specific version of the macro available then that is used but if not, a default implementation for the macro is used. Here's an example: https://docs.getdbt.com/reference/dbt-jinja-functions/dispatch#a-simple-example
So, what we need here is a redshift__measure_avg macro that customizes the avg logic for Redshift. I'd very much like if you could contribute this yourself and I'll help you out as needed. What do you think? :)

@stumelius -- thanks for the help! I've linked a PR that will add this functionality. Let me know if you need anything else from me atm!

@stevenconnorg FYI https://github.com/data-mie/dbt-profiler/releases/tag/0.8.1


Tables with empty keys and without keys

The manual says as follows:

If a table has no key property, then it contains no look-up table, just a default action—i.e., the associated lookup table is always the empty map.

I'm wondering if it also includes key = { }. I think literally it doesn't. It only means tables without the key property.

These should be equivalent

@mbudiu-vmw Okay. Then ley's say it in the spec.

Just to state the obvious, it could instead be that a table with key = {} can be in three configurations:

A single entry whose key is the empty tuple,
No entries and no default action defined in the program or set by the control plane (so implicitly NoAction),
No entries and a default action defined in the program or set by the control plane.

Currently, the syntax doesn't allow defining an entry with empty tuple.

Except for tables with const entries, this is a P4Runtime question, not a P4 Language question.

If it's said there's no look-up table, then there are no entries, for both const and non-const. But if we don't say it, I agree that the control plane can have entries for key = { }

I think we can go either way:

Decide that key = {} is the same as no key property.
Decide that key = {} is a lookup table with only one possible entry.
Either one is coherent. I have a slight preference for the latter, as it seems more coherent.

(I don't think this is a big deal in practical programs...)

It matters for practical programs. Practical programs do use key = { } or keyless (I'm not sure which one should be preferred) to encode a "direct action" table, so the name of the table is given by the program instead of the compiler.
    table tbl_clear_index {
        actions = {
            act_clear_index();
        }
        default_action = act_clear_index();
        size = 1;
    }

Of course. What I meant is that I don't know if having both no-key and empty-key tables (with different semantics) is important in practical programs.

It seems difficult to imagine that allowing key = {} tables to have a single entry that is an "empty key" provides any additional power in the language.  Whether you can add such an entry or not, as long as the default action is not declared const, the runtime can change the behavior of a miss on the table any time it wants to, just as it could for a hit entry.

I guess, the question is: should the spec explicitly state that not specifying the key at all is totally equivalent to specifying an empty key or these constructs are not equivalent and the rest is left to the implementation.
There might be one subtle difference between them, but today's front end does not allow us to see it (and that might be a good thing, actually) :)
Imagine two tables:
table t1 {
    actions = { a; }
    const default_action = a();
}

table t2 = {
    key = { }
    actions = { a };
    const default_action = a();
    const entries = {
        _ : a();
    }
}

Obviously, the first question is whether the table t2 is legit (and specifically the question will be about its const entries). Today's frontend believes that it is not, therefore making the discussion a little easier:
$ ~/tools/p4_test.sh empty_key.p4
empty_key.p4(86): [--Werror=type-error] error: Entry
            _ : a();
            ^^^^^^^
  ---- Actual error:
  Tuples with different sizes 0 vs 1
  ---- Originating from:
  empty_key.p4(86): Table entry has type 'tuple<>' which is not the expected type 'tuple<_>'
              _ : a();
              ^

In other words, if we state that a table with an empty key can have no entries ever, then I think that we will be in our full right to declare that no key and en empty key are the same thing. It will also mean that, indeed, the only result after applying the table with  no key is a miss, confirming the correctness of what the spec states today.
If, however, we find that it is OK for _ to match on anything, including the the values of the type tuple<>, then applying table t1 will always result in execution of the action a()and amiss, whereas applying the table t2should always result in execution of the actiona()and ahit`.

It seems difficult to imagine that allowing key = {} tables to have a single entry that is an "empty key" provides any additional power in the language. Whether you can add such an entry or not, as long as the default action is not declared const, the runtime can change the behavior of a miss on the table any time it wants to, just as it could for a hit entry.

Yes. For this, I think the only behavior that is changed is hit or miss, right? But it matters for the formalization. We need to know when key = {}, if the control plane can add entries. That's not the same mechanism as the default action.

Would collecting the current behavior of P4Runtime API, Barefoot API, and TDI in this area help provide guidance here?  For example, if for all of them the behavior of a table with key = {} and a table with no key attribute at all was "no key can be added, not even an 'empty key'", that would seem to be consistent with a future spec revision explicitly saying that these two kinds of tables are equivalent, and will always experience a miss when they are applied.

@mbudiu-vmw @vgurevich So what's the current behavior of the compiler? In
    const entries = {
        _ : a();
    }

does it allow _ to be any kind, including tuple<>, tuple<_>, tuple<_, _>, etc.?

The type of _ is Type_Dontcare, also written as _, and it unifies with anything.

The latest version of p4-test still complains:
$ ~/tools/p4_test.sh empty_key.p4
empty_key.p4(86): [--Werror=type-error] error: Entry
            _ : a();
            ^^^^^^^
  ---- Actual error:
  Tuples with different sizes 0 vs 1
  ---- Originating from:
  empty_key.p4(86): Table entry has type 'tuple<>' which is not the expected type 'tuple<_>'
              _ : a();
              ^

empty_key_psa.p4.txt

One thing that I can say is that that Tofino implementation treats tables with no key and with an empty key identically both at the compiler and at the API lieve.. @jafingerhut plans to test BMv2 implementation and if we found that they are treated the same way too, I think it might be reasonable just to codify it in the spec that key = {} is the same as not specifying the key at all.

That is because no one wants to review the fix in https://github.com/p4lang/p4c/pull/3444

@mbudiu-vmw -- as per my previous message, it might actually not be a bad thing that we reject the program above -- in fact is strengthens the case for treating  the "empty" key as "no key"

@mbudiu-vmw  My point is that the way the compiler is today, it allows us to answer the question posed in this issue very easily. Once you merge the fix, the answer will be different, because it will open a new possibility :)

For the test given by @vgurevich
$ ~/tools/p4_test.sh empty_key.p4
empty_key.p4(86): [--Werror=type-error] error: Entry
            _ : a();
            ^^^^^^^
  ---- Actual error:
  Tuples with different sizes 0 vs 1
  ---- Originating from:
  empty_key.p4(86): Table entry has type 'tuple<>' which is not the expected type 'tuple<_>'
              _ : a();
              ^

I think the error message here hints that _ also doesn't work for tuple<_, _>. Please let me know if that's true for p4_test.

With Mihai's fix, p4test would accept the P4 program mention above and represent
  table t {
    key = {}
    actions = { a; }
    const entries = {
      _ : a();
    }
  }

as
table t {
    key = {}
    actions = {
        a();
        @defaultonly NoAction();
    }
    const entries = {
            default : a();
    }
    default_action = NoAction();
}

Qinshi,
I’m not exactly sure if this is what you are asking, but I believe an
underscore in an error message like this means any single type (and not
multiple types).
-N
On Wed, Jul 20, 2022 at 7:24 PM Qinshi Wang @.***>
wrote:

For the test given by @vgurevich https://github.com/vgurevich
$ ~/tools/p4_test.sh empty_key.p4
empty_key.p4(86): [--Werror=type-error] error: Entry
_ : a();
^^^^^^^
---- Actual error:
Tuples with different sizes 0 vs 1
---- Originating from:
empty_key.p4(86): Table entry has type 'tuple<>' which is not the expected type 'tuple<_>'
_ : a();
^
I think the error message here hints that _ also doesn't work for tuple<_,
_>. Please let me know if that's true for p4_test.
—
Reply to this email directly, view it on GitHub
https://github.com/p4lang/p4-spec/issues/1120#issuecomment-1190863823,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAOCFURJC2B4QT22TGP6MC3VVCDBTANCNFSM53TRVMFA
.
You are receiving this because you commented.Message ID:
@.***>

Yes. The error message indicates that if you want a wildcard for tuple<_, _>, you need to write _, _ instead of _. And if you want a wildcard for tuple<>, you need to write zero _'s which is not allowed in the syntax. So I'm asking whether this behavior is consistent with the spec and with what people think.

_ will unify with any type, including tuple<>.
tuple<_> will unify with a tuple of any type.
I guess that _,_ is in this context a literal with type tuple<_,_>.

Sorry, I do not have the code handy to show right now, but with a fairly simple P4 program and using --p4runtime-files to generate P4Info files for a table with key = {} and with no key property at all, they generate the same P4Info file, and even the same BMv2 JSON file for simple_switch.

The discussion conclusion in the LDWG is that an empty key is the same as no key. @jafingerhut should submit a PR against the spec.


State history

This is very much work-in-progress. Just sharing for awareness and potential feedback.
The new interface in this PR supports component state storage independent from specification. This simplifies/isolates the logic for state handling. The new interface supports historical states, which will be useful for debugging. Isolated state storage also means that we may be able to support remote state storage, which is important for stacks shared between multiple users in a deployment scenario.
The intention is that many controller actions should be able to operate entirely on state without component specifications. This means that existing controllers might have to change to copy some additional information into the state to make that possible. This will help with recovering from bad specs (#270).
This PR is safe to land, but isn't necessarily worth it to do so, since the new state storage interface isn't actually in use yet. To avoid complex multi-stage migrations, I'll probably storm forward with the new component storage step as well, before merging or after merging, but before switching over.
To be clear: This is step 1, extracted from a very large refactor.

Concepts need to evolve here. This component state store might actually be better as a resources store. The idea is that "component state" is roughly the most-recent/current "resource" assigned to the component. This is usually not an important distinction, but in the future, there may be two simultaneous resources for a component. For example, when deploying a new version to replace an old version with zero downtime.

Closing this, as I'm basically going to rework all of the internals. May reuse a bunch of this code at some point, we'll see.


Edit user #33

Still need to test in postman

Good work @wrfhowell - way to go for catching up with the codebase so quickly + keeping the PR small to make it easier to review.
--
idk if u had the chance to run the code locally with SAM but if not we can work that out. Same with DB setup for planetscale. these two will be needed to run and test locally. if u have set this up ignore the last two sentences then :))

@aryang13 u gotta review again after "change requested"

looks good to me. @wrfhowell did you test it in postman?

yea, meant to merge it on saturdya


Make geiser-chicken-required-modules customizable

Some people (such as myself) may not want to start with these modules (or any) by default.

thanks @dieggsy, it looks good to me. @dleslie do you think we can merge this one?

Without those modules the geiser module will not work. IE, apropos is critical.

@dleslie what exactly won't work? I set this to nil and (on first impression) it seems like what I want. I still get eldoc, completion, and eval functionality?

Then the modules are still being loaded by the use statements. :)

Perhaps what you found is some dead code that can be removed?

Not sure - it also makes my repl look cleaner and helps me avoid some warnings about re-importing in the REPL, e.g. when evaling:
(use numbers
     srfi-1
     srfi-13
     utils
     (prefix linear-algebra linalg-)
     srfi-113
     srfi-128
     srfi-19
     combinatorics)

Warnings in question:
Note: re-importing already imported identifier: current-time

Note: re-importing already imported identifier: time?

Note: re-importing already imported identifier: seconds->time

Note: re-importing already imported identifier: time->seconds

Interesting.
Are prefix imports working with completion for you?

@dleslie I don't think prefix imports ever worked with completion for me, unless something has changed recently... I can test

Oh, just tested. They do seem to be.

I don't expect that they will, they're a hack of Chicken's reader, AFAICT, and apropos has been completely unaware of them. But it's been many versions of apropos since I last tested.

Oh nice! Hurray for dependency improvements.

So, maybe we can just get rid of this geiser-chicken-required-modules altogether?

@dleslie It does seem that way - if you know the ins and outs of the code and expected behavior, you should probably test to make sure I'm not just missing something really big...

Sure, in the meantime, I'll squash and merge your change. Thanks!

@dleslie on the other hand, if it's unneeded maybe we should keep geiser-chicken-required-modules but default it to nil, so people can automatically load additional modules they always want.

@dleslie, i've rolled down the merge and re-done it via the triggers from the official geiser repo, so that all mirrors of the repo are in sync.


Fetch upstream

Replace this line with a description of your change (and screenshots/screenrecordings if applicable).

bro you're supposed to replace the line with a description


Airmail cask

Ref: #5655
there seems to be several instances of casks where there's a HEAD. Does this not qualify to be in the cask system for any reason? Frankly, I want to have this beta installed, and I'm sure others do too. It's much easier to use casks for this, and it's definitely inline with the spirit of casks / homebrew where it should be easy to download the apps.

Does this not qualify to be in the cask system for any reason?

I'm not sure what you mean exactly, Airmail was moved to caskroom/versions:
https://github.com/caskroom/homebrew-versions/pull/349

Oh I see now. I wasn't aware of the existence of this project. What's the reason of separating them?   It doesn't appear that the versions is publicized anywhere, so how is one supposed to know?

It doesn't appear that the versions is publicized anywhere, so how is one supposed to know?

It’s in adding_a_cask, CONTRIBUTING, and USAGE.

Maybe move additional taps into the README would be useful. The other versions at least really affects how it's used

@danielb2 Truth is most people who can’t find a particular thing in the documentation say it should be more visible elsewhere. If we did that every time, every document would have every piece of information in the project. This is not a common issue, so not worth adding to the README. If there were more people with this problem, we’d consider it.
https://github.com/caskroom/homebrew-cask/issues/16732 is a better solution, anyway.

Agreed on that being a better solution. And understood about the README


Investigation and Resolution of Newly Added Extra Types in SDS Components

Support Channel Issue: https://czi-sci.slack.com/archives/C032S43KKFV/p1684536524081589
In recent observations, it has come to our attention that the addition of five new types ("nonce" | "rev" | "rel" | "autoFocus" | "content") to the SDS components has resulted in operational difficulties for the product teams.
In order to mitigate the problems faced by the product teams, a comprehensive investigation was conducted to identify the underlying cause. After careful analysis, it was determined that temporarily omitting these types would allow the CZID team to proceed with using the updated version of SDS without encountering any hindrances. ( #501 )
It is important to note, however, that this temporary solution does not provide a permanent resolution to the problem. Therefore, it is crucial that we prioritize the resolution of this bug and restore the omitted types in order to rectify the issue effectively.

#733
All manual types have been removed in the mentioned PR and thoroughly tested on both the Single-Cell and CZID portals.


Update README.md

Adds Reactive Search repository, edits description of Reactive Maps repository, edits dejavu's description.

Cool, thank you @siddharthlatest for the updates!


Alphabetic column order table generation breaks Entity Framework Code-First principle

Entity Framework Beta 8 Code-first creates SQL Server table columns from a POCO class not in the order they appear in, as was the case in EF6 but in in alphabetic order. (apart the primary key)
This breaks the fundamental principle of Code-First.
The order of the SQL Server table columns should be the same order the properties appear in the POCO class.

This one is interesting... in EF6.x you theoretically get the order things are defined in the class but in actual fact it depends on what processor you run on. We saw plenty of cases where the model would change between x86/x64... this causes all sorts of headaches because it can have very subtle effects on conventions etc. and result in a different model between processors.
The other data point is that column ordering only works for the initial table creation. After that, columns are always added to the end of the table.
If you want to change the ordering though... you can just re-arrange things in the generated migration. That is explicit, and columns will be created in the order they are listed in the create table call. And we know it won't change, since the API calls are explicitly listed in code.

Thank you very much for all your great work Rowan! We are anxiously waiting for a fully baked version.
The Framework should work for me, not the other way around.
Developer should be able to control the generated code and overwrite column ordering by generator.
Are we ordering because we cannot fix an x86/x64 issue? Let's fix it :-)

@IvanFarkas you can change the order of columns in the database by re-arranging things in the migration. We have no way of getting properties in the order they are defined in the class. You usually get them in that order on x86 on Full .NET... and often on x64 too. But as we support more platforms etc. these guarantees just get less and less.
Another place where something like a column order attribute falls down is if you change the order... since this is not supported by most relational database. Or if you try to add a new property and specify the column should be somewhere in the middle of existing columns... also not supported. Of course you can kind of fake it by doing a table re-build... but that's not a realistic solution for a decent size production database.
To us, it seems the right time to specify column order is when the table is created (in the migration).

@rowanmiller Thank you very much for the thorough explanation.
It seems to me that EF7 is a paradigm shift where we gain a lot and lose some.
It's nice to know that db strategies and infrastructure works the same way on a massive Azure cluster and on Raspberry Pi 2 Model B.
On the other hand, given the explained limitations, can we still do something only for the initial code generation? All new columns will be appended.

Use [Order(n)] attributes.
Code post processor to order columns as they are in POCO.

Thank you again for your great work.

@rowanmiller Great progress with EF Core 1.1. I love your EF Core 1.1 articles:

EF Core 1.1: Run Reverse Engineer from Code
EF Core 1.1 Pluralization in Reverse Engineer

Unfortunately could not get the Pluralization to work. I'd love to :-)
Using VS 2017 RC4 26206.0
Install-Package Inflector returns this error:
Install-Package : Package Inflector 1.0.0 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Inflector 1.0.0 supports:

net35 (.NETFramework,Version=v3.5)
net40 (.NETFramework,Version=v4.0)
net45 (.NETFramework,Version=v4.5)
winrt45 (WinRT,Version=v4.5)

@IvanFarkas there isn't native support for this. You could look at extending the internal services of reverse engineer to achieve this, but you'd be digging into internal APIs that may change between releases.

@IvanFarkas Inflector is just used to do the pluralization, but looks like it doesn't support .NET Core. You could easily swap it out for any other pluralization service - it is only used in two places in the code.

@rowanmiller Thx for the quick replies.
One more issue.
CustomRelationalScaffoldingModelFactory.GetEntityTypeName(TableModel table) never gets called.
services.AddSingleton<IScaffoldingModelFactory, CustomRelationalScaffoldingModelFactory>(); registration adds it to the services, but no effect.

@IvanFarkas can you elaborate on what you mean by "never gets called if I run the command line app."?
BTW I just updated the post with a link to the source code file for Inflector. The package won't install for .NET Core, but the code compiles just fine if you drop it in (and it's just one file).

@rowanmiller Sorry Rowan. My fault.
I integrated the Pluralization Code into the Run Reverse Engineer console app.
Running the console app GetEntityTypeName() is not called.

The console app is creating the service collection manually, so the code would look like this...
            // Add base services for scaffolding
            var serviceCollection = new ServiceCollection()
                .AddScaffolding()
                .AddLogging();

            // Replace customized services
            services.AddSingleton<IScaffoldingModelFactory, CustomRelationalScaffoldingModelFactory>();
            services.AddSingleton<DbContextWriter, CustomDbContextWriter>();
            services.AddSingleton<ConfigurationFactory, CustomConfigurationFactory>();


Update plugin to work in current environment

I found that my plugin no longer worked. I've updated it to follow what appear to be more modern conventions and confirmed that it works in my current setup.

Thanks for fixing this!