abonnement Unibet Coolblue
pi_150690613
MySQL 5.7: InnoDB Intrinsic Tables
The MySQL Optimizer sometimes needs a temporary data-store during query processing, for storing intermediate results. Before MySQL 5.7, this need was serviced exclusively using a combination of the HEAP/MEMORY storage engine (for smaller tables) and the MyISAM storage engine (for larger tables). You can find more information on when disk based temporary tables (MyISAM or InnoDB) are used instead of MEMORY tables here.

The InnoDB storage engine has been the default engine used for user tables since MySQL 5.6, but MyISAM was still used for internal disk based temporary tables (for some related notes, see this excellent blog post by Jaime Crespo). This legacy behavior lead to many headaches, both for our users and for our developers. For example, see Stewart Smith’s excellent write up on some of the related problems. In order to address the related issues in MySQL 5.7, we’ve had to do a lot of work within both InnoDB and the Optimizer to lay the groundwork for what we’ll talk about next. You can read about all of the related 5.7 work leading up to this point here.

Optimizer Switches to InnoDB Instrinsic Tables
InnoDB is our MVCC ACID compliant storage engine, and as part of our larger effort to decouple the MyISAM storage engine from MySQL itself so that it becomes an optional engine, starting with MySQL 5.7.6 InnoDB is now the default storage engine used for internal disk based temporary tables. The engine used can be controlled using the new internal_tmp_disk_storage_engine server option.

In our efforts to make this change in MySQL 5.7.6, we have made changes to InnoDB so that it performs as good or better (often far better) than MyISAM when used for internal disk based temporary tables. To fulfill this use-case, we created a new type of table within InnoDB called intrinsic tables, which have relaxed MVCC and ACID semantics. These tables are a special type of temporary InnoDB table that do not perform any UNDO or REDO logging (REDO logging is disabled for all temporary InnoDB tables). As the name suggests, these tables are meant for internal use only and thus can only be used by an internal MySQL module such as the Optimizer. In other words, end-users will not be able to explicitly create these new types of tables (they are also not visible in the innodb_temp_table_info table). We will, however, leverage this new type of table for future end-user focused work. So stay tuned!

[…]


When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
  maandag 16 maart 2015 @ 11:24:39 #177
187069 slacker_nl
Sicko pur sang
pi_150690913
quote:
0s.gif Op zondag 15 maart 2015 21:21 schreef robin007bond het volgende:

[..]

Oh, ik bedoelde niet als je een array meegeeft als parameter van een functie (de vraag is alleen of je niet liever een object meegeeft in plaats van een array, maar dat terzijde). De builder-pattern vind ik eerlijk gezegd geschikter dan een functie maken die allerlei config-opties vereist in een array.

Maar ik bedoelde meer dus dit:
[ code verwijderd ]

Jij zou dat ook echt zo doen? :o
Of je nou named parameters of niet gebruikt, maakt niet uit of je wel/geen objecten gebruikt in je calls.

Maar in functies heb ik die stijl niet nodig, in perl kan je het zo doen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sub foo {
    my ($self, $foo, $bar, undef, $baz,) = @_;
}

$self->foo($foo, $bar, 'Ignore me', $object->baz);

# Deze is ook wel fijn
sub foo {
    my $self = shift;
    my %named = @_;
}

$self->foo(
    foo => $foo_object,
    baz => $baz_object,
);
In theory there is no difference between theory and practice. In practice there is.
pi_150698573
Wellicht is hier iemand die me kan helpen.

Ik werk via MS Acces met een Databank. Sinds kort heb ik beetje kennis van SQL, maar hier kom ik even niet uit. Ik heb een tabel met daarin een datum, ik wil graag 2 maanden bij deze datum optellen. Ik kom op internet alleen de DateAdd functie tegen, maar op de een of andere manier werkt het niet.

Ik heb het volgende ingevoerd:

DateAdd("m",2, [ Date ] )

Acces geeft de foutcode: De syntax van de expressie die u hebt opgegeven, is ongeldig. Er ontbreekt een operand of operator, u hebt een ongeldig teken of ongeldige komma opgegeven of u hebt de tekst in de expressie niet tussen aanhalingstekens geplaatst.
  maandag 16 maart 2015 @ 16:43:26 #179
187069 slacker_nl
Sicko pur sang
pi_150702421
quote:
0s.gif Op maandag 16 maart 2015 15:04 schreef Crohnjurist het volgende:
DateAdd("m",2, [ Date ] )
denk dat dit het moet zijn:
1DateAdd("m", 2,  [Date]) 

Volgens mij pikt ie de spaties rond "Date" niet.
In theory there is no difference between theory and practice. In practice there is.
pi_150727100
quote:
0s.gif Op maandag 16 maart 2015 16:43 schreef slacker_nl het volgende:

[..]

denk dat dit het moet zijn:
[ code verwijderd ]

Volgens mij pikt ie de spaties rond "Date" niet.
Nee, sorry, ik had die spaties alleen hier toegevoegd, omdat het anders niet zichtbaar is op fok!..

Maar het werkt dus nog steeds niet, nog een ander idee hoe ik twee maanden kan toevoegen? Misschien een andere functie ipv DateAdd?
  dinsdag 17 maart 2015 @ 10:02:31 #181
187069 slacker_nl
Sicko pur sang
pi_150727268
quote:
0s.gif Op dinsdag 17 maart 2015 09:57 schreef Crohnjurist het volgende:

[..]

Nee, sorry, ik had die spaties alleen hier toegevoegd, omdat het anders niet zichtbaar is op fok!..

Maar het werkt dus nog steeds niet, nog een ander idee hoe ik twee maanden kan toevoegen? Misschien een andere functie ipv DateAdd?
Nope, ik doe niet aan Access (het is ook wat offtopic voor dit topic overigens).
In theory there is no difference between theory and practice. In practice there is.
pi_150727320
quote:
0s.gif Op dinsdag 17 maart 2015 10:02 schreef slacker_nl het volgende:

[..]

Nope, ik doe niet aan Access (het is ook wat offtopic voor dit topic overigens).
Jammer! Nee dat begreep ik al, maar aangezien dit het dichtst in de buurt komt qua topic wat er al is, dacht ik ik vraag het maar gewoon even, voor hetzelfde geld had iemand het wel geweten ;)
pi_150733619
quote:
14s.gif Op zondag 15 maart 2015 16:14 schreef Tijn het volgende:

[..]

Nee hoor, in Javascript is het ook geen probleem.
[ code verwijderd ]

Dit werkt gewoon :)
Heb hier eerder ook een issue mee gehad, oudere versies van IE vinden het niet leuk, nieuwere vallen hier niet over.
Trailing comma is recent in JS toegestaan als ik het goed is.


Edit: ok, spuit elf met een late reactie :@

[ Bericht 8% gewijzigd door Darkomen op 17-03-2015 14:06:06 ]
pi_150733818
quote:
0s.gif Op dinsdag 17 maart 2015 09:57 schreef Crohnjurist het volgende:

[..]

Nee, sorry, ik had die spaties alleen hier toegevoegd, omdat het anders niet zichtbaar is op fok!..

Maar het werkt dus nog steeds niet, nog een ander idee hoe ik twee maanden kan toevoegen? Misschien een andere functie ipv DateAdd?
Moeten het niet single quotes zijn voor de maand aanduiding, dus 'm' in plaats van "m"?
Verder neem ik aan dat je een veld genaamd Date hebt en dat daar altijd een geldige datumwaarde in zit?
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_150734108
quote:
0s.gif Op dinsdag 17 maart 2015 10:03 schreef Crohnjurist het volgende:

[..]

Jammer! Nee dat begreep ik al, maar aangezien dit het dichtst in de buurt komt qua topic wat er al is, dacht ik ik vraag het maar gewoon even, voor hetzelfde geld had iemand het wel geweten ;)
Mwah, t is wel redelijk specifieke access syntax waar je problemen mee hebt. Ik zou een topic openen of kijken of het in een algemeen MS Office topic kan (als die er is)
pi_150734505
quote:
0s.gif Op dinsdag 17 maart 2015 13:51 schreef Monolith het volgende:

[..]

Moeten het niet single quotes zijn voor de maand aanduiding, dus 'm' in plaats van "m"?
Verder neem ik aan dat je een veld genaamd Date hebt en dat daar altijd een geldige datumwaarde in zit?
Mmm ik denk dat dat het probleem is, het veld genaamd Date is niet altijd ingevuld. Maar voor de dossiers die wel ingevuld zijn probeer ik dus twee maanden erbij te krijgen. Dit is dus niet mogelijk?
pi_150735010
quote:
0s.gif Op dinsdag 17 maart 2015 14:11 schreef Crohnjurist het volgende:

[..]

Mmm ik denk dat dat het probleem is, het veld genaamd Date is niet altijd ingevuld. Maar voor de dossiers die wel ingevuld zijn probeer ik dus twee maanden erbij te krijgen. Dit is dus niet mogelijk?
Je kunt vast een 'doe dit alleen als het veld niet leeg is' constructie hanteren, maar ik heb echt al meer dan 10 jaar niets met Access gedaan, dus dat zou ik niet direct weten.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_150735451
quote:
0s.gif Op dinsdag 17 maart 2015 14:29 schreef Monolith het volgende:

[..]

Je kunt vast een 'doe dit alleen als het veld niet leeg is' constructie hanteren, maar ik heb echt al meer dan 10 jaar niets met Access gedaan, dus dat zou ik niet direct weten.
Haha oké, in ieder geval bedankt tot zover!
  woensdag 18 maart 2015 @ 12:46:13 #189
230788 n8n
Pragmatisch
pi_150770207
werkt zoiets met php (en zo ja, wat is de juiste markup)?

$var = ( isset( $this-when-true ) : $or-else );
Specialization is for insects”.—Robert Heinlein
pi_150770324
quote:
7s.gif Op woensdag 18 maart 2015 12:46 schreef n8n het volgende:
werkt zoiets met php (en zo ja, wat is de juiste markup)?

$var = ( isset( $this-when-true ) : $or-else );
1$var = ( isset($test-variable) ? $this-when-true : $or-else );
------___------ 53
----.(___).---- 42
---(o\_!_/o)---
  woensdag 18 maart 2015 @ 12:57:06 #191
230788 n8n
Pragmatisch
pi_150770592
quote:
0s.gif Op woensdag 18 maart 2015 12:49 schreef Rockfire het volgende:

[..]
[ code verwijderd ]

$var = ( isset($this-when-true) ? $this-when-true : $or-else );

Zou zo zijn dan, is ook wat ik nu heb, ik hoopte dat het nog korter (droger) kon omdat ik het zo zinloos vind om eerst te checken of iets bestaat en dan apart de inhoud toe te wijzen. Mooier zou zijn als je $var = ( $this-when-true || false ); kon doen zonder dat php over z'n nek gaat omdat de variable niet bestaat.

Bedankt in elk geval, mysterie opgelost, kan ik weer verder
Specialization is for insects”.—Robert Heinlein
pi_150771378
quote:
14s.gif Op woensdag 18 maart 2015 12:57 schreef n8n het volgende:

[..]

$var = ( isset($this-when-true) ? $this-when-true : $or-else );

Zou zo zijn dan, is ook wat ik nu heb, ik hoopte dat het nog korter (droger) kon omdat ik het zo zinloos vind om eerst te checken of iets bestaat en dan apart de inhoud toe te wijzen. Mooier zou zijn als je $var = ( $this-when-true || false ); kon doen zonder dat php over z'n nek gaat omdat de variable niet bestaat.

Bedankt in elk geval, mysterie opgelost, kan ik weer verder
Veel korter dan een ternary operator krijg je een if-then-else statement niet. 'this-when-true' slaat ook niet ergens op. Wat je eigenlijk wilt is een 'default-if-null'-constructie.
Als je dat echt kort wilt, dan maak je er toch gewoon een functie van, zodat je $var = defaultIfNotSet(originalValue, defaultValue) kan hanteren?
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
  woensdag 18 maart 2015 @ 13:30:23 #193
91039 mstx
2x1/2 = 1/2 x 1/2
pi_150771693
quote:
0s.gif Op woensdag 18 maart 2015 13:21 schreef Monolith het volgende:
Als je dat echt kort wilt, dan maak je er toch gewoon een functie van, zodat je $var = defaultIfNotSet(originalValue, defaultValue) kan hanteren?
Volgens mij krijg je dan alsnog een notice als je een niet-gedefinieerde variabele aan die functie meegeeft.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_150772003
quote:
0s.gif Op woensdag 18 maart 2015 13:30 schreef mstx het volgende:

[..]

Volgens mij krijg je dan alsnog een notice als je een niet-gedefinieerde variabele aan die functie meegeeft.
Dat wel ja, maar ik weet niet of het erg is.
Het geeft wel weer aan hoe enorm slecht PHP in elkaar steekt. :')
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
  woensdag 18 maart 2015 @ 13:42:15 #195
91039 mstx
2x1/2 = 1/2 x 1/2
pi_150772134
quote:
0s.gif Op woensdag 18 maart 2015 13:38 schreef Monolith het volgende:

[..]

Dat wel ja, maar ik weet niet of het erg is.
Het geeft wel weer aan hoe enorm slecht PHP in elkaar steekt. :')
Wat is er precies slecht aan?
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_150772462
quote:
0s.gif Op woensdag 18 maart 2015 13:42 schreef mstx het volgende:

[..]

Wat is er precies slecht aan?
Het feit dat isset een functie is als elke andere. Echter, impliciet zit erin verborgen dat een notice wordt onderdrukt op het moment dat je een ongedefinieerde variabele als parameter aan deze specifieke functie meegeeft. Als je dit per se op deze manier wilt doen, dan moet je er een language construct van maken, geen functie met verborgen bij-effecten.
Ik ben sowieso al geen voorstander van het idee dat je variabelen kunt hanteren zonder dat je überhaupt weet of ze gedeclareerd zijn (los van de vraag of ze een waarde hebben), maar dat is een langslepend gevolg van het feit dat PHP van oorsprong een simpel scripttaaltje was met allerlei brakke globals.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_150773344
Vanaf PHP 5.3 kun je ook gebruiken:
$var = $this-when-true ?: $or-else;


[ Bericht 33% gewijzigd door Aether op 18-03-2015 14:14:18 ]
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
pi_150773500
quote:
0s.gif Op woensdag 18 maart 2015 13:49 schreef Monolith het volgende:

[..]

Het feit dat isset een functie is als elke andere. Echter, impliciet zit erin verborgen dat een notice wordt onderdrukt op het moment dat je een ongedefinieerde variabele als parameter aan deze specifieke functie meegeeft. Als je dit per se op deze manier wilt doen, dan moet je er een language construct van maken, geen functie met verborgen bij-effecten.
Ik ben sowieso al geen voorstander van het idee dat je variabelen kunt hanteren zonder dat je überhaupt weet of ze gedeclareerd zijn (los van de vraag of ze een waarde hebben), maar dat is een langslepend gevolg van het feit dat PHP van oorsprong een simpel scripttaaltje was met allerlei brakke globals.
:? Isset() ís een language construct.
pi_150773908
quote:
1s.gif Op woensdag 18 maart 2015 14:12 schreef KomtTijd... het volgende:

[..]

:? Isset() ís een language construct.
Oh ja, dat klopt. Het staat alleen in de docs onder 'variable handling function'.
Maar dan nog is het feit dat er een notice is voor het gebruik van niet gedefinieerde variabelen, die enkel wordt onderdrukt in dit soort constructs of als expliciet @$var in de defaultIfNotSet call natuurlijk.

[ Bericht 14% gewijzigd door Monolith op 18-03-2015 14:31:42 ]
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
  woensdag 18 maart 2015 @ 14:40:01 #200
12221 Tijn
Powered by MS Paint
pi_150774507
quote:
0s.gif Op woensdag 18 maart 2015 14:23 schreef Monolith het volgende:

[..]

Maar dan nog is het feit dat er een notice is voor het gebruik van niet gedefinieerde variabelen
Dat is erg? :?
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')